<!-- SYNC:shared-protocol-duplication-policy -->[IMPORTANT] Use
TaskCreateto break ALL work into small tasks BEFORE starting.
<!-- /SYNC:shared-protocol-duplication-policy --> <!-- SYNC:output-quality-principles -->Shared Protocol Duplication Policy — Inline protocol content in skills (wrapped in
<!-- SYNC:tag -->) is INTENTIONAL duplication. Do NOT extract, deduplicate, or replace with file references. AI compliance drops significantly when protocols are behind file-read indirection. To update: edit.claude/skills/shared/sync-inline-versions.mdfirst, then grepSYNC:protocol-nameand update all occurrences.
<!-- /SYNC:output-quality-principles -->Output Quality — Token efficiency without sacrificing quality.
- No inventories/counts — AI can
grep | wc -l. Counts go stale instantly- No directory trees — AI can
glob/ls. Use 1-line path conventions- No TOCs — AI reads linearly. TOC wastes tokens
- No examples that repeat what rules say — one example only if non-obvious
- Lead with answer, not reasoning. Skip filler words and preamble
- Sacrifice grammar for concision in reports
- Unresolved questions at end, if any
Quick Summary
Goal: Create new Claude Code skills with proper structure or scan/fix invalid skill headers across the catalog.
Workflow:
- Clarify — Gather purpose, trigger keywords, tools needed via AskUserQuestion
- Check Existing — Glob for similar skills, avoid duplication
- Scaffold — Create directory + SKILL.md with frontmatter + Quick Summary
- Add SYNC blocks — Include relevant protocol checklists from
sync-inline-versions.md - Validate — Run frontmatter + header validation
- Enhance — Call
/prompt-enhanceon the new SKILL.md for attention anchoring quality
Key Rules:
- Every SKILL.md MUST ATTENTION include
## Quick Summary(Goal/Workflow/Key Rules) within first 30 lines - Single-line
descriptionwith[Category]prefix and trigger keywords - SKILL.md under 500 lines; use
references/for detail - Shared protocols MUST ATTENTION be inlined via
<!-- SYNC:tag -->blocks, NEVER file references - MUST ATTENTION call
/prompt-enhanceon new/updated skills as final quality pass
Modes
| Mode | Trigger | Action |
| -------------- | -------------------------------------------------- | ------------------------------------- |
| Create | $ARGUMENTS describes a new skill | Create skill following workflow below |
| Scan & Fix | $ARGUMENTS mentions scan, fix, validate, invalid | Run validation across all skills |
SKILL.md Schema Reference
Frontmatter Fields (all optional)
---
name: my-skill # Lowercase, hyphens. Max 64 chars. Default: directory name.
description: '[Category] What it does. Triggers on: keyword1, keyword2.' # MUST ATTENTION be single-line
argument-hint: '[issue-number]' # Autocomplete hint for arguments
disable-model-invocation: false # true = user-only (/name), Claude cannot auto-invoke
user-invocable: true # false = hidden from / menu, Claude-only auto-invoke
context: inline # inline (default) or fork (isolated subagent)
agent: general-purpose # Subagent type when context: fork
model: opus-4-5 # Model override. Default: session model
allowed-tools: 'Read, Grep, Glob' # Comma-separated tool restrictions
version: 1.0.0 # Project convention (non-official)
---
Invocation Control Matrix
| Setting | User Invokes | Claude Invokes | Description |
| -------------------------------- | ------------ | -------------- | ------------------------------------------- |
| Default | Yes | Yes | Description in context; loads on invocation |
| disable-model-invocation: true | Yes | No | User-only. Not in context until invoked |
| user-invocable: false | No | Yes | Hidden from menu. Claude auto-invokes |
Variable Substitution
| Variable | Description |
| ---------------------- | --------------------------------------- |
| $ARGUMENTS | All arguments passed to skill |
| $ARGUMENTS[N] / $N | Specific argument by 0-based index |
| ${CLAUDE_SESSION_ID} | Current session ID |
| !`command` | Execute shell command before skill runs |
Key Rules
- Single-line
description(multi-line YAML breaks catalog parsing) - Include trigger keywords in description for auto-activation
- Use
[Category]prefix (e.g.,[Frontend],[Planning],[AI & Tools]) - SKILL.md under 500 lines; use
references/for detail - Descriptions loaded at 2% of context window (~16,000 chars)
- Include "ultrathink" in skill content to enable extended thinking mode
Mode 1: Create Skill
Workflow
- Clarify — If requirements unclear, use
AskUserQuestionfor: purpose, auto vs user-invoked, trigger keywords, tools needed - Check Existing — Glob
.claude/skills/*/SKILL.mdfor similar skills. Avoid duplication. - Create Directory —
.claude/skills/{skill-name}/SKILL.md - Write Frontmatter — Follow schema from
## SKILL.md Schema Referencesection above - Write Instructions — Concise, actionable, progressive disclosure
- Add SYNC Blocks — Identify which shared protocols apply to this skill. Read
.claude/skills/shared/sync-inline-versions.mdand copy relevant<!-- SYNC:tag -->blocks inline. Common protocols:understand-code-first,evidence-based-reasoning,output-quality-principles - Add Closing Reminders — Echo top rules at bottom with
:reminderSYNC blocks for recency anchoring - Add References — Move detailed docs to
references/directory if content >200 lines - Add Scripts — Create
scripts/for executable helpers if needed - Validate — Run frontmatter validation (see Mode 2 single-file check)
- Enhance — Call
/prompt-enhanceon the finished SKILL.md for AI attention anchoring quality
Frontmatter Template
---
name: { kebab-case-name }
description: '[Category] What it does. Triggers on: keyword1, keyword2.'
---
Skill Attention Structure (MUST ATTENTION follow)
[Frontmatter]
[SYNC protocol blocks — top attention zone]
[## Quick Summary — Goal/Workflow/Key Rules]
[Detailed instructions — middle zone]
[## Closing Reminders — bottom attention zone with :reminder SYNC blocks]
Why: AI attention is strongest at TOP and BOTTOM (primacy-recency effect). Place critical rules in both zones. See /prompt-enhance for research-backed principles.
SYNC Tag Protocol for New Skills
- Read
.claude/skills/shared/sync-inline-versions.md— canonical source for all protocol checklists - Identify which protocols the skill needs (e.g., investigation skills need
understand-code-first+evidence-based-reasoning) - Copy the checklist content between
<!-- SYNC:tag -->open/close tags at the TOP of the skill - Add 1-line
:reminderversions at the BOTTOM inside Closing Reminders - NEVER use
MUST ATTENTION READ shared/file references — always inline
Rules
- SKILL.md is instructions, not documentation. Teach Claude HOW to do the task.
- Single-line
description(multi-line YAML breaks catalog parsing) - Description must include trigger keywords for auto-activation
- Use
[Category]prefix in description (e.g.,[Frontend],[Planning],[AI & Tools]) - Keep SKILL.md under 500 lines; use
references/for detail - Progressive disclosure: frontmatter → SKILL.md summary → reference files
- Token efficiency: every line must earn its place
Mode 2: Scan & Fix Invalid Skills
What It Validates
| Check | Rule | Severity |
| -------------------------- | ---------------------------------------------- | -------- |
| Frontmatter exists | Must have --- delimiters | Error |
| Description single-line | No literal newlines in description value | Error |
| Description not empty | Must have description for discoverability | Warning |
| Name format | Lowercase, hyphens, max 64 chars | Error |
| No unknown official fields | Flag fields not in official schema | Info |
| Description has category | Should start with [Category] | Warning |
| File size | SKILL.md should be <500 lines | Warning |
| Quick Summary exists | Must have ## Quick Summary in first 30 lines | Warning |
| SYNC tag balance | Every open tag must have matching close tag | Error |
Scan Workflow
- Discover — Glob
.claude/skills/*/SKILL.mdfor all skills - Parse — Read first 20 lines of each file, extract frontmatter
- Validate — Check each rule above
- Report — List issues grouped by severity (Error > Warning > Info)
- Fix — If user confirms, fix Error-level issues automatically
Validate Script
node .claude/skills/skill-create/scripts/validate-skills.cjs # Report only
node .claude/skills/skill-create/scripts/validate-skills.cjs --fix # Report + auto-fix
Requirements
<user-prompt>$ARGUMENTS</user-prompt>
Closing Reminders
- IMPORTANT MUST ATTENTION break work into small todo tasks using
TaskCreateBEFORE starting - IMPORTANT MUST ATTENTION inline shared protocols via
<!-- SYNC:tag -->blocks — NEVER useMUST ATTENTION READ shared/file references - IMPORTANT MUST ATTENTION call
/prompt-enhanceon new/updated skills as final attention-anchoring quality pass - IMPORTANT MUST ATTENTION include
## Quick Summarywithin first 30 lines of every SKILL.md - IMPORTANT MUST ATTENTION add Closing Reminders section with
:reminderSYNC blocks at bottom of every skill - IMPORTANT MUST ATTENTION follow SKILL.md Schema Reference (inlined above) for official frontmatter fields <!-- SYNC:shared-protocol-duplication-policy:reminder -->
- IMPORTANT MUST ATTENTION follow duplication policy: inline protocols are INTENTIONAL, never extract to file references <!-- /SYNC:shared-protocol-duplication-policy:reminder --> <!-- SYNC:output-quality-principles:reminder -->
- IMPORTANT MUST ATTENTION follow output quality principles: token efficiency, lead with answer, no filler <!-- /SYNC:output-quality-principles:reminder -->