Claude Code Skillforge SOP
Execution Rules
- Fetch all URLs and search all marketplaces in parallel using concurrent tool calls.
read_url_content, search_web, view_content_chunk are non-destructive — execute without user approval.
- Only pause at steps marked (CHECKPOINT).
Step 0: Update Check
Fetch https://raw.githubusercontent.com/lijinnair/claude-code-skillforge/main/VERSION silently. Compare the remote version with the local version (5.11.0). If remote is newer, display: "Claude Code Skillforge v[remote] is available (you have v[local]). Run git -C [skill-path] pull to update." where [skill-path] is the detected install location. Then proceed normally — do not block execution.
Step 1: Sync Live Best Practices (CHECKPOINT)
Fetch live documentation before any user interaction.
- Fetch ALL 5 URLs in parallel:
https://code.claude.com/docs/en/
https://code.claude.com/docs/en/skills
https://code.claude.com/docs/en/hooks
https://antigravity.google/docs/home
https://antigravity.google/docs/skills
- All succeed: Synthesize best practices, present summary. Say: "Here are the latest best practices. Proceed?" Wait for confirmation.
- Any fail: State which URLs failed. Display cached knowledge version and date. Say: "I can proceed using built-in knowledge (Version: [X], Last Updated: [Date]). Continue or retry?" Do not proceed until the user chooses.
Step 1.5: Mode Detection
Determine the user's intent:
- Build Mode — User provides a new skill idea, workflow, or says "build", "create", "new". → Proceed to Step 2.
- Upgrade Mode — User provides an existing SKILL.md, pastes skill content, or says "upgrade", "audit", "fix", "optimize", "review". → Proceed to Step U1.
- Scan Mode — User says "scan", "check my skills", "health check", "audit my skills". → Proceed to Step S1.
If ambiguous, ask: "Are you building a new skill, upgrading an existing one, or scanning your installed skills?"
Step 2: Intake & Scoping
Collect from the user:
- Name: kebab-case, preferring gerund form (e.g.,
analyzing-seo-pages, formatting-commits). Noun form acceptable if gerund is awkward. Constraints: max 64 characters, lowercase letters/numbers/hyphens only. If omitted, Claude uses the directory name.
- Category:
dev | marketing | seo | document | data | ops
- Scope: Personal (
~/.claude/skills/) for all projects, or Project (.claude/skills/) for this repo only — project skills can be committed to version control for team sharing. Antigravity: ~/.gemini/antigravity/skills/.
- Triggers: Activation words or phrases
- Inputs: Context, files, or arguments needed at runtime
- Output: Expected deliverable
- Tools: Bash, URL fetch, file read, MCP servers (use
ServerName:tool_name format), or context: fork + agent:?
Step 2.5: Discovery Check
Search ALL 10 sources in parallel before building from scratch:
- Smithery —
https://smithery.ai/skills?q=[skill-name]
- SkillsMP —
https://skillsmp.com/search?q=[skill-name]
- SkillsLLM —
https://skillsllm.com/search?q=[skill-name]
- SkillHub —
https://skill-marketplace.com/search?q=[skill-name]
- Antigravity Skill Vault —
https://github.com/search?q=[skill-name]+topic:antigravity-skill
- Awesome Skills —
https://github.com/sickn33/antigravity-awesome-skills CATALOG.md
- GitHub Topics —
https://github.com/search?q=[skill-name]+topic:claude-code-skill
- Composio —
https://composio.dev/search?q=[skill-name]
- AI Templates —
https://www.aitmpl.com/skills?q=[skill-name]
- Awesome Claude Skills —
https://github.com/ComposioHQ/awesome-claude-skills/search?q=[skill-name]
Results:
- No match: Proceed to Step 3.
- Match found (CHECKPOINT): Present Discovery Report (name, source, stars, description). Ask: (A) Customise existing, or (B) Build new? Wait for choice.
- Sources failed: Note unreachable sources in the report. Use whatever succeeded. If ALL 10 fail, proceed to Step 3.
Step 3: Front Matter Engineering
Use ONLY officially recognized fields: name, description, disable-model-invocation, user-invocable, allowed-tools, model, context, agent, argument-hint, hooks. Do NOT add custom fields like license, metadata, category, version, or generated-by. All fields are optional; only description is recommended.
- Name (optional — defaults to directory name): ≤64 chars, lowercase letters/numbers/hyphens only.
- Description (recommended — defaults to first paragraph if omitted): Start with 3rd-person verb ("Analyzes...", "Generates..."). Include what the skill does AND when to use it with 3–5 trigger phrases. Keep concise.
- Invocation:
disable-model-invocation: true for workflows with side effects you control (deploy, commit, send). user-invocable: false for background knowledge users shouldn't invoke directly. Omit both for auto-discover.
- Argument hint: Add
argument-hint: [hint] if the skill accepts arguments (e.g., argument-hint: [url]).
- Subagent execution: Add
context: fork to run in an isolated subagent. Add agent: [type] to specify which subagent runs (Explore, Plan, general-purpose, or any custom agent from .claude/agents/). Omit agent: to default to general-purpose.
- Tool restriction: Add
allowed-tools to limit which tools Claude can use without per-use approval when the skill is active.
Step 4: SOP Translation
Convert the workflow into numbered imperative steps.
- Each step starts with a command verb ("Extract...", "Analyze...", "Compile...").
- Runtime substitutions available in skill content:
$ARGUMENTS — all arguments passed when invoking the skill
$ARGUMENTS[N] or $N — access argument by 0-based index (e.g., $0, $1)
${CLAUDE_SKILL_DIR} — absolute path to the skill's directory; use this to reference bundled scripts portably regardless of cwd (e.g., python ${CLAUDE_SKILL_DIR}/scripts/run.py)
${CLAUDE_SESSION_ID} — current session ID; useful for session-specific logs or files
!`command` — shell command whose output is injected into the skill before Claude sees it (e.g., !`gh pr diff`)
Authoring patterns — apply where appropriate:
- Degrees of freedom: Match specificity to task fragility. High freedom → text instructions. Medium → pseudocode. Low → exact scripts.
- Feedback loops: Add validation steps (e.g., "Run validator → fix errors → repeat").
- Template pattern: Define output format explicitly. Strict templates for data/API outputs; flexible templates when adaptation is useful.
- Examples pattern: Provide input/output pairs where output quality depends on demonstrated style or format.
- Conditional workflow: For decision points, branch explicitly: "Creating new? → Creation workflow. Editing existing? → Editing workflow."
- Checklist pattern: For complex multi-step workflows, provide a copyable checklist Claude can track progress against.
- Verifiable intermediates: For batch/destructive operations, use plan-validate-execute: create plan file → validate with script → execute after validation passes.
- Defaults over options: Provide one recommended approach with an escape hatch, not multiple equivalent choices.
- MCP tools: Reference with fully qualified names:
ServerName:tool_name.
- Progressive Disclosure: Do not embed data only needed for one path — link to it or load it conditionally.
- No time-sensitive info: Do not include information that will become outdated.
Step 5: Scaffold Generation
Output the mkdir command for the chosen scope:
- Personal (Claude):
mkdir -p ~/.claude/skills/[skill-name]
- Project (Claude):
mkdir -p .claude/skills/[skill-name] (commit to git for team sharing)
- Antigravity:
mkdir -p ~/.gemini/antigravity/skills/[skill-name]
Priority when names conflict: enterprise > personal > project. Plugin skills use plugin-name:skill-name namespace and cannot conflict with other scopes.
Scripts (if applicable):
- Offload deterministic logic to
scripts/. Scripts must handle errors explicitly — do not punt errors to Claude. Document all configuration constants with justification (no "voodoo constants").
- List required packages with install commands (e.g.,
pip install pypdf). Do not assume packages are pre-installed.
References:
- Keep references one level deep from SKILL.md — avoid chains like SKILL.md → advanced.md → details.md.
- Add a table of contents to reference files longer than 100 lines.
- Use forward slashes only in all file paths (
reference/guide.md, not reference\guide.md).
Follow with the complete SKILL.md code block.
Step 6: Validate & Deliver
Run this checklist internally — fix any failures before delivering output.
Core quality
Code & scripts (if applicable)
Post-delivery recommendations
After delivering the skill, recommend the user:
Deliver: Sync status → checklist results → mkdir command → full SKILL.md code block → post-delivery testing recommendations.
Then say: "Tip: Have other skills? Say 'Upgrade this skill' with any SKILL.md, or 'Scan my skills' for a full health check."
Consult examples/ for reference outputs and evaluations/ for test prompt templates.
Upgrade Path
Step U1: Ingest Existing Skill
Read the provided SKILL.md. Parse front matter fields and body sections. Identify the target ecosystem (Claude Code or Antigravity) from the file path or content.
Step U2: Diagnostic Audit (CHECKPOINT)
Run the full 27-item validation checklist (from Step 6) against the existing skill. For each item, report:
- Pass — Meets current best practices
- Warning — Works but could be improved
- Fail — Violates current best practices
Present the diagnostic report. Say: "Here's the audit. Shall I upgrade this skill?" Wait for confirmation.
Step U3: Upgrade & Fix
Apply all fixes:
- Rewrite non-standard front matter to use only recognized fields.
- Remove fabricated constraints (e.g., "no reserved words", "no XML tags" in names/descriptions — these are not in the spec).
- Restructure body into imperative steps if needed.
- Apply relevant authoring patterns from Step 4.
- Enforce progressive disclosure (move embedded data to references).
- Fix naming conventions, description format, and invocation flags.
- Replace hardcoded script paths with
${CLAUDE_SKILL_DIR}/scripts/....
Preserve the skill's original intent and domain logic — only change structure and compliance.
Step U4: Deliver Upgraded Skill
Output:
- Change summary — Bulleted list of what was fixed and why.
- Upgraded
SKILL.md — Full code block ready to replace the original.
- Post-upgrade recommendations — Same as Step 6 post-delivery.
Then say: "Tip: Want to check your other skills? Say 'Scan my skills' for a full health report."
Scan Path
Step S1: Discover Skills
Scan the user's skill directories:
- Claude Code personal:
~/.claude/skills/*/SKILL.md
- Claude Code project:
.claude/skills/*/SKILL.md (current working directory)
- Antigravity:
~/.gemini/antigravity/skills/*/SKILL.md
If both directories exist, scan both. List all discovered skills. If no skills found, say: "No skills found in the default directories. Provide a path to scan."
Step S2: Quick Audit
For each discovered skill, run these key checks:
- Only standard front matter fields used
- Name ≤64 chars, lowercase+hyphens only (if provided)
- Description starts with 3rd-person verb (if provided)
- Body < 500 lines
- Steps begin with imperative verbs
${CLAUDE_SKILL_DIR} used for any bundled script references (not hardcoded paths)
Step S3: Health Report
Output a summary table:
| Skill |
Ecosystem |
Checks Passed |
Issues |
Top Issue |
Sort by most issues first. Then say: "Run 'Upgrade [skill-name]' on any skill to fix its issues."
1---2name: claude-code-skillforge3description: Generates highly optimized Agent Skills for both native Claude Code and the Antigravity system, according to official best practices and the "Progressive Disclosure" strategy. Use when the user wants to build a new skill, turn a workflow into a skill, upgrade an existing skill to latest best practices, audit a skill for compliance, or structure agent instructions for either ecosystem.4---56# Claude Code Skillforge SOP78## Execution Rules9- Fetch all URLs and search all marketplaces **in parallel** using concurrent tool calls.10- `read_url_content`, `search_web`, `view_content_chunk` are non-destructive — execute without user approval.11- Only pause at steps marked **(CHECKPOINT)**.1213## Step 0: Update Check14Fetch `https://raw.githubusercontent.com/lijinnair/claude-code-skillforge/main/VERSION` silently. Compare the remote version with the local version (`5.11.0`). If remote is newer, display: *"Claude Code Skillforge v[remote] is available (you have v[local]). Run `git -C [skill-path] pull` to update."* where `[skill-path]` is the detected install location. Then proceed normally — do not block execution.1516## Step 1: Sync Live Best Practices (CHECKPOINT)17Fetch live documentation before any user interaction.18191. **Fetch ALL 5 URLs in parallel:**20 - `https://code.claude.com/docs/en/`21 - `https://code.claude.com/docs/en/skills`22 - `https://code.claude.com/docs/en/hooks`23 - `https://antigravity.google/docs/home`24 - `https://antigravity.google/docs/skills`252. **All succeed:** Synthesize best practices, present summary. Say: *"Here are the latest best practices. Proceed?"* Wait for confirmation.263. **Any fail:** State which URLs failed. Display cached knowledge version and date. Say: *"I can proceed using built-in knowledge (Version: [X], Last Updated: [Date]). Continue or retry?"* Do not proceed until the user chooses.2728## Step 1.5: Mode Detection29Determine the user's intent:30- **Build Mode** — User provides a new skill idea, workflow, or says "build", "create", "new". → Proceed to Step 2.31- **Upgrade Mode** — User provides an existing SKILL.md, pastes skill content, or says "upgrade", "audit", "fix", "optimize", "review". → Proceed to Step U1.32- **Scan Mode** — User says "scan", "check my skills", "health check", "audit my skills". → Proceed to Step S1.3334If ambiguous, ask: *"Are you building a new skill, upgrading an existing one, or scanning your installed skills?"*3536## Step 2: Intake & Scoping37Collect from the user:38- **Name:** kebab-case, preferring gerund form (e.g., `analyzing-seo-pages`, `formatting-commits`). Noun form acceptable if gerund is awkward. **Constraints:** max 64 characters, lowercase letters/numbers/hyphens only. If omitted, Claude uses the directory name.39- **Category:** `dev` | `marketing` | `seo` | `document` | `data` | `ops`40- **Scope:** Personal (`~/.claude/skills/`) for all projects, or Project (`.claude/skills/`) for this repo only — project skills can be committed to version control for team sharing. Antigravity: `~/.gemini/antigravity/skills/`.41- **Triggers:** Activation words or phrases42- **Inputs:** Context, files, or arguments needed at runtime43- **Output:** Expected deliverable44- **Tools:** Bash, URL fetch, file read, MCP servers (use `ServerName:tool_name` format), or `context: fork` + `agent:`?4546## Step 2.5: Discovery Check47Search **ALL 10 sources in parallel** before building from scratch:48491. Smithery — `https://smithery.ai/skills?q=[skill-name]`502. SkillsMP — `https://skillsmp.com/search?q=[skill-name]`513. SkillsLLM — `https://skillsllm.com/search?q=[skill-name]`524. SkillHub — `https://skill-marketplace.com/search?q=[skill-name]`535. Antigravity Skill Vault — `https://github.com/search?q=[skill-name]+topic:antigravity-skill`546. Awesome Skills — `https://github.com/sickn33/antigravity-awesome-skills` CATALOG.md557. GitHub Topics — `https://github.com/search?q=[skill-name]+topic:claude-code-skill`568. Composio — `https://composio.dev/search?q=[skill-name]`579. AI Templates — `https://www.aitmpl.com/skills?q=[skill-name]`5810. Awesome Claude Skills — `https://github.com/ComposioHQ/awesome-claude-skills/search?q=[skill-name]`5960**Results:**61- **No match:** Proceed to Step 3.62- **Match found (CHECKPOINT):** Present Discovery Report (name, source, stars, description). Ask: *(A) Customise existing, or (B) Build new?* Wait for choice.63- **Sources failed:** Note unreachable sources in the report. Use whatever succeeded. If ALL 10 fail, proceed to Step 3.6465## Step 3: Front Matter Engineering66Use ONLY officially recognized fields: `name`, `description`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `model`, `context`, `agent`, `argument-hint`, `hooks`. Do NOT add custom fields like `license`, `metadata`, `category`, `version`, or `generated-by`. All fields are optional; only `description` is recommended.67- **Name** *(optional — defaults to directory name):* ≤64 chars, lowercase letters/numbers/hyphens only.68- **Description** *(recommended — defaults to first paragraph if omitted):* Start with 3rd-person verb ("Analyzes...", "Generates..."). Include what the skill does AND when to use it with 3–5 trigger phrases. Keep concise.69- **Invocation:** `disable-model-invocation: true` for workflows with side effects you control (deploy, commit, send). `user-invocable: false` for background knowledge users shouldn't invoke directly. Omit both for auto-discover.70- **Argument hint:** Add `argument-hint: [hint]` if the skill accepts arguments (e.g., `argument-hint: [url]`).71- **Subagent execution:** Add `context: fork` to run in an isolated subagent. Add `agent: [type]` to specify which subagent runs (`Explore`, `Plan`, `general-purpose`, or any custom agent from `.claude/agents/`). Omit `agent:` to default to `general-purpose`.72- **Tool restriction:** Add `allowed-tools` to limit which tools Claude can use without per-use approval when the skill is active.7374## Step 4: SOP Translation75Convert the workflow into numbered imperative steps.76- Each step starts with a command verb ("Extract...", "Analyze...", "Compile...").77- **Runtime substitutions** available in skill content:78 - `$ARGUMENTS` — all arguments passed when invoking the skill79 - `$ARGUMENTS[N]` or `$N` — access argument by 0-based index (e.g., `$0`, `$1`)80 - `${CLAUDE_SKILL_DIR}` — absolute path to the skill's directory; use this to reference bundled scripts portably regardless of cwd (e.g., `python ${CLAUDE_SKILL_DIR}/scripts/run.py`)81 - `${CLAUDE_SESSION_ID}` — current session ID; useful for session-specific logs or files82 - `` !`command` `` — shell command whose output is injected into the skill before Claude sees it (e.g., `` !`gh pr diff` ``)8384**Authoring patterns** — apply where appropriate:85- **Degrees of freedom:** Match specificity to task fragility. High freedom → text instructions. Medium → pseudocode. Low → exact scripts.86- **Feedback loops:** Add validation steps (e.g., "Run validator → fix errors → repeat").87- **Template pattern:** Define output format explicitly. Strict templates for data/API outputs; flexible templates when adaptation is useful.88- **Examples pattern:** Provide input/output pairs where output quality depends on demonstrated style or format.89- **Conditional workflow:** For decision points, branch explicitly: "Creating new? → Creation workflow. Editing existing? → Editing workflow."90- **Checklist pattern:** For complex multi-step workflows, provide a copyable checklist Claude can track progress against.91- **Verifiable intermediates:** For batch/destructive operations, use plan-validate-execute: create plan file → validate with script → execute after validation passes.92- **Defaults over options:** Provide one recommended approach with an escape hatch, not multiple equivalent choices.93- **MCP tools:** Reference with fully qualified names: `ServerName:tool_name`.94- **Progressive Disclosure:** Do not embed data only needed for one path — link to it or load it conditionally.95- **No time-sensitive info:** Do not include information that will become outdated.9697## Step 5: Scaffold Generation98Output the `mkdir` command for the chosen scope:99- Personal (Claude): `mkdir -p ~/.claude/skills/[skill-name]`100- Project (Claude): `mkdir -p .claude/skills/[skill-name]` *(commit to git for team sharing)*101- Antigravity: `mkdir -p ~/.gemini/antigravity/skills/[skill-name]`102103**Priority when names conflict:** enterprise > personal > project. Plugin skills use `plugin-name:skill-name` namespace and cannot conflict with other scopes.104105**Scripts** (if applicable):106- Offload deterministic logic to `scripts/`. Scripts must handle errors explicitly — do not punt errors to Claude. Document all configuration constants with justification (no "voodoo constants").107- List required packages with install commands (e.g., `pip install pypdf`). Do not assume packages are pre-installed.108109**References:**110- Keep references one level deep from SKILL.md — avoid chains like SKILL.md → advanced.md → details.md.111- Add a table of contents to reference files longer than 100 lines.112- Use forward slashes only in all file paths (`reference/guide.md`, not `reference\guide.md`).113114Follow with the complete `SKILL.md` code block.115116## Step 6: Validate & Deliver117Run this checklist internally — fix any failures before delivering output.118119### Core quality120- [ ] Only standard front matter fields used (no `license`, `metadata`, `category`, `version`, `generated-by`)121- [ ] Name ≤64 chars, lowercase+hyphens only (if provided)122- [ ] Body < 500 lines123- [ ] Description starts with 3rd-person verb (if provided)124- [ ] Description has 3+ trigger phrases and includes "Use when..." (if provided)125- [ ] Invocation flags set correctly (`disable-model-invocation` / `user-invocable`)126- [ ] `agent:` field set when `context: fork` is used (if needed)127- [ ] All steps begin with imperative verb128- [ ] Correct `mkdir` path for chosen scope (personal / project / Antigravity)129- [ ] `${CLAUDE_SKILL_DIR}` used for any bundled script references130- [ ] No time-sensitive information131- [ ] Consistent terminology throughout132- [ ] Examples are concrete, not abstract133- [ ] Progressive disclosure used appropriately134- [ ] Workflows have clear steps135- [ ] References are one level deep from SKILL.md136137### Code & scripts (if applicable)138- [ ] Scripts handle errors explicitly (no punting to Claude)139- [ ] No voodoo constants (all values justified)140- [ ] Required packages listed with install commands141- [ ] Scripts have clear documentation142- [ ] No Windows-style paths (forward slashes only)143- [ ] Validation/verification steps for critical operations144- [ ] Feedback loops for quality-critical tasks145- [ ] MCP tools use fully qualified `ServerName:tool_name` format146147### Post-delivery recommendations148After delivering the skill, recommend the user:149- [ ] Test with Haiku, Sonnet, and Opus150- [ ] Create 3+ evaluation scenarios with expected behaviors151- [ ] Test with real usage scenarios before sharing152153**Deliver:** Sync status → checklist results → `mkdir` command → full `SKILL.md` code block → post-delivery testing recommendations.154155Then say: *"Tip: Have other skills? Say 'Upgrade this skill' with any SKILL.md, or 'Scan my skills' for a full health check."*156157Consult `examples/` for reference outputs and `evaluations/` for test prompt templates.158159## Upgrade Path160161### Step U1: Ingest Existing Skill162Read the provided SKILL.md. Parse front matter fields and body sections. Identify the target ecosystem (Claude Code or Antigravity) from the file path or content.163164### Step U2: Diagnostic Audit (CHECKPOINT)165Run the full 27-item validation checklist (from Step 6) against the existing skill. For each item, report:166- Pass — Meets current best practices167- Warning — Works but could be improved168- Fail — Violates current best practices169170Present the diagnostic report. Say: *"Here's the audit. Shall I upgrade this skill?"* Wait for confirmation.171172### Step U3: Upgrade & Fix173Apply all fixes:174- Rewrite non-standard front matter to use only recognized fields.175- Remove fabricated constraints (e.g., "no reserved words", "no XML tags" in names/descriptions — these are not in the spec).176- Restructure body into imperative steps if needed.177- Apply relevant authoring patterns from Step 4.178- Enforce progressive disclosure (move embedded data to references).179- Fix naming conventions, description format, and invocation flags.180- Replace hardcoded script paths with `${CLAUDE_SKILL_DIR}/scripts/...`.181182Preserve the skill's original intent and domain logic — only change structure and compliance.183184### Step U4: Deliver Upgraded Skill185Output:1861. **Change summary** — Bulleted list of what was fixed and why.1872. **Upgraded `SKILL.md`** — Full code block ready to replace the original.1883. **Post-upgrade recommendations** — Same as Step 6 post-delivery.189190Then say: *"Tip: Want to check your other skills? Say 'Scan my skills' for a full health report."*191192## Scan Path193194### Step S1: Discover Skills195Scan the user's skill directories:196- Claude Code personal: `~/.claude/skills/*/SKILL.md`197- Claude Code project: `.claude/skills/*/SKILL.md` *(current working directory)*198- Antigravity: `~/.gemini/antigravity/skills/*/SKILL.md`199200If both directories exist, scan both. List all discovered skills. If no skills found, say: *"No skills found in the default directories. Provide a path to scan."*201202### Step S2: Quick Audit203For each discovered skill, run these key checks:204- Only standard front matter fields used205- Name ≤64 chars, lowercase+hyphens only (if provided)206- Description starts with 3rd-person verb (if provided)207- Body < 500 lines208- Steps begin with imperative verbs209- `${CLAUDE_SKILL_DIR}` used for any bundled script references (not hardcoded paths)210211### Step S3: Health Report212Output a summary table:213214| Skill | Ecosystem | Checks Passed | Issues | Top Issue |215|---|---|---|---|---|216217Sort by most issues first. Then say: *"Run 'Upgrade [skill-name]' on any skill to fix its issues."*