How to Customize the Clone-Website Skill for Different AI Coding Agents

You customize the clone-website skill by editing the single source-of-truth file at .claude/skills/clone-website/SKILL.md and running node scripts/sync-skills.mjs to propagate changes across all supported AI coding platforms.

The ai-website-cloner-template repository by JCodesMore implements a deterministic synchronization pipeline that lets you maintain one canonical skill definition while automatically generating platform-specific formats for Claude, Cursor, Gemini, Amazon Q, and others. This architecture eliminates configuration drift and ensures every AI coding agent receives identical logical instructions regardless of their native file format requirements.

Understanding the Single Source of Truth Architecture

The repository uses a two-tier configuration system where platform-agnostic instructions live in one location and platform-specific wrappers are generated deterministically.

The Canonical Skill Definition

The file .claude/skills/clone-website/SKILL.md contains the complete, authoritative definition of the /clone-website command. This markdown file includes YAML front-matter describing the skill name, description, argument hints, and user-invocable status, followed by the prompt body that instructs the AI how to perform website cloning.

When you need to change behavior—whether updating the reverse-engineering workflow or adding new flags like --dry-run—you edit only this file. The body uses the $ARGUMENTS placeholder to represent user input, which the sync script later substitutes with platform-appropriate syntax.

The Sync Script Pipeline

The Node.js script at scripts/sync-skills.mjs parses the canonical skill, extracts the front-matter and body, and writes nine platform-specific files across different directories. According to the source code, the script handles format conversions such as:

The script performs string replacements to adapt placeholders—for example, converting $ARGUMENTS to {{args}} for Gemini's template syntax—ensuring each AI coding agent receives instructions in its native dialect without manual duplication.

Step-by-Step: How to Customize the Clone-Website Skill for Different AI Coding Agents

Follow this workflow to modify the skill and propagate changes across all supported platforms.

1. Edit the Canonical Skill

Open .claude/skills/clone-website/SKILL.md and modify the markdown, front-matter, or $ARGUMENTS placeholders. For example, to add a dry-run option:

---
name: clone-website
description: Reverse-engineer any site with optional dry-run validation
argument-hint: "<url1> [<url2> ...] [--dry-run]"
user-invocable: true
---

# Clone Website

You are about to reverse-engineer **$ARGUMENTS** using the stack defined in `AGENTS.md`...

2. Run the Sync Script

Execute the synchronization script to regenerate all platform files:

node scripts/sync-skills.mjs

The script outputs progress showing each platform file being regenerated:


Syncing clone-website skill to all platforms...
  Source: .claude/skills/clone-website/SKILL.md

  ✓ .codex/skills/clone-website/SKILL.md
  ✓ .cursor/commands/clone-website.md
  ✓ .gemini/commands/clone-website.toml
  ...
Done! 9 platform command files generated from source skill.

3. Commit the Generated Files

The generated files in directories like .cursor/commands/, .gemini/commands/, and .amazonq/cli-agents/ are the actual files consumed by each AI coding agent. Commit these to version control so agents can fetch the repository without needing to run the build script themselves.

Adding Support for New AI Coding Platforms

To extend the clone-website skill to a proprietary or newly released AI coding agent, extend the sync script with a new output format.

First, create the target directory structure (e.g., .myagent/cli-agents/). Then add a new write call to scripts/sync-skills.mjs:

// 10. MyAgent — JSON definition with custom field "category"
write(
  '.myagent/cli-agents/clone-website.json',
  JSON.stringify(
    {
      name: 'clone-website',
      description: shortDesc,
      prompt: noArgs(body),
      category: 'website-cloner',
      fileContext: ['AGENTS.md', 'docs/research/**']
    },
    null,
    2
  ) + '\n'
);

Running node scripts/sync-skills.mjs now produces .myagent/cli-agents/clone-website.json with the custom category field included, ready for your new agent to consume.

Platform-Specific Customization Techniques

When you customize the clone-website skill for different AI coding agents, you may need to accommodate varying syntax requirements or capability limitations.

Handling Different Argument Syntax

Different agents use different templating syntax for user arguments. The sync script already handles the Gemini conversion ($ARGUMENTS → {{args}}). For new platforms requiring different syntax—such as %ARGS% or ${input}—add a substitution function in scripts/sync-skills.mjs:

const customBody = body.replace(/\$ARGUMENTS/g, '%ARGS%');

Platform-Specific Descriptions

To prepend usage notes for specific agents—for example, adding a warning about URL length limits for a particular IDE—extend the write call for that platform to inject a header:

const prefixedBody = `# Note: This agent requires HTTPS URLs\n\n${body}`;

write('.customagent/commands/clone-website.md', prefixedBody);

Limiting Functionality Per Platform

If an AI coding agent does not support parallel URL processing, add a conditional block in the sync script that truncates the body before writing:

const limitedBody = agentName === 'restricted-agent' 
  ? body.replace(/multiple URLs/g, 'a single URL') 
  : body;
write(`.restricted-agent/skills/clone-website.md`, limitedBody);

Summary

  • Single source of truth: Edit only .claude/skills/clone-website/SKILL.md to change the skill behavior for all platforms simultaneously.
  • Deterministic generation: Run scripts/sync-skills.mjs to convert the canonical markdown into platform-specific formats (TOML for Gemini, JSON for Amazon Q, etc.).
  • Version control: Commit generated files in .cursor/, .gemini/, and other platform directories so agents can consume them directly without build steps.
  • Extensibility: Add new AI coding platforms by extending the sync script with custom write calls that transform the canonical body into the required format.

Frequently Asked Questions

Can I modify a generated platform file directly without editing the source?

You can edit generated files directly, but those changes will be overwritten the next time you run scripts/sync-skills.mjs. To make permanent customizations for a specific platform, modify the sync script to apply post-processing transformations (such as string replacements or header injection) before the write call executes.

How do I add a new argument placeholder beyond $ARGUMENTS?

Define the new placeholder in .claude/skills/clone-website/SKILL.md using a distinct syntax like $NEW_PARAM. Then extend scripts/sync-skills.mjs to handle substitutions for each target platform—for example, converting $NEW_PARAM to {{new_param}} for Gemini or removing it entirely for agents that don't support that feature.

Will the sync script work if I add new front-matter fields to SKILL.md?

Yes. The script reads the entire front-matter block and passes relevant fields (like name, description, and argument-hint) to platform-specific generators. If you add custom fields, update the script's platform generators to utilize them—for instance, mapping a new category field to a JSON property for specific agents.

How do I exclude a platform from receiving the updated skill?

Remove or comment out the corresponding write call in scripts/sync-skills.mjs. The script only generates files for platforms explicitly defined in its pipeline, so omitting a platform prevents that directory from being updated while leaving other platform files intact.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →