create-agent-skills — Claude Code skill: what it does, how to install
A mentoring skill for writing and refining agent skills: SKILL.md structure, router pattern, progressive disclosure.
npx skills add glittercowboy/taches-cc-resources --skill create-agent-skills -a claude-codeWhat create-agent-skills does
This skill teaches how to build skills. The core idea is that a skill is a prompt, and SKILL.md is always loaded when the skill runs, so essential principles belong there while detail moves into separate folders. For bigger skills it describes a router: SKILL.md asks what you want to do, then routes to the matching workflow.
Folders are split by purpose: workflows/ for step-by-step procedures, references/ for domain knowledge, templates/ for output structures you copy and fill, scripts/ for code run as-is. The body should use semantic XML tags instead of markdown headings, and SKILL.md is meant to stay under 500 lines.
Ten workflows ship with it: create from scratch, audit an existing skill, verify content is still accurate, add a workflow, reference, template or script, and upgrade a simple skill to the router pattern. It asks clarifying questions only when needed, so expect a question about the task type first. Worth installing if you already write your own skills and want them to follow one shape.
What it helps with
- build a new skill from scratch step by step
- audit an existing SKILL.md against best practices
- add a workflow, reference, template or script to a skill
- convert a simple skill into the router pattern
- decide what belongs in SKILL.md and what goes into references
Example prompts for the agent
- help me create a new skill for database migrations
- audit the skill at
.claude/skills/deploy/SKILL.md - add a workflow for config checks to this skill
How to install create-agent-skills
1Skills CLI (Vercel)
npx skills add glittercowboy/taches-cc-resources --skill create-agent-skills -a claude-code2Manually: put the files in place
~/.claude/skills/create-agent-skills/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/create-agent-skills/
1Skills CLI (Vercel)
npx skills add glittercowboy/taches-cc-resources --skill create-agent-skills -a codex2Manually: put the files in place
.agents/skills/create-agent-skills/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add glittercowboy/taches-cc-resources --skill create-agent-skills -a cursor2Manually: put the files in place
.cursor/skills/create-agent-skills/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install glittercowboy/taches-cc-resources create-agent-skills2Manually: put the files in place
.github/skills/create-agent-skills/SKILL.md1Skills CLI (Vercel)
npx skills add glittercowboy/taches-cc-resources --skill create-agent-skills -a gemini-cli2Platform CLI
gemini skills install https://github.com/glittercowboy/taches-cc-resources --path skills/create-agent-skillsManually: put the files in place
.devin/skills/create-agent-skills/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add glittercowboy/taches-cc-resources --skill create-agent-skills -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about create-agent-skills
How do I install create-agent-skills in Claude?
Run npx skills add glittercowboy/taches-cc-resources --skill create-agent-skills -a claude-code. The skill then lives at ~/.claude/skills/create-agent-skills/SKILL.md.
What does create-agent-skills do?
It guides you through creating and refining skills: SKILL.md structure, the router pattern, the workflows/references/templates/scripts folders, and YAML frontmatter requirements.
How is the router pattern different from a simple skill?
A simple skill is one file with an objective, quick start, process and success criteria. A router adds an intake question and a routing table that points to separate workflows.
Source text
SKILL.md · MIT
---
name: create-agent-skills
description: Expert guidance for creating, writing, building, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices.
---
<essential_principles>
## How Skills Work
Skills are modular, filesystem-based capabilities that provide domain expertise on demand. This skill teaches how to create effective skills.
### 1. Skills Are Prompts
All prompting best practices apply. Be clear, be direct, use XML structure. Assume Claude is smart - only add context Claude doesn't have.
### 2. SKILL.md Is Always Loaded
When a skill is invoked, Claude reads SKILL.md. Use this guarantee:
- Essential principles go in SKILL.md (can't be skipped)
- Workflow-specific content goes in workflows/
- Reusable knowledge goes in references/
### 3. Router Pattern for Complex Skills
```
skill-name/
├── SKILL.md # Router + principles
├── workflows/ # Step-by-step procedures (FOLLOW)
├── references/ # Domain knowledge (READ)
├── templates/ # Output structures (COPY + FILL)
└── scripts/ # Reusable code (EXECUTE)
```
SKILL.md asks "what do you want to do?" → routes to workflow → workflow specifies which references to read.
**When to use each folder:**
- **workflows/** - Multi-step procedures Claude follows
- **references/** - Domain knowledge Claude reads for context
- **templates/** - Consistent output structures Claude copies and fills (plans, specs, configs)
- **scripts/** - Executable code Claude runs as-is (deploy, setup, API calls)
### 4. Pure XML Structure
No markdown headings (#, ##, ###) in skill body. Use semantic XML tags:
```xml
<objective>...</objective>
<process>...</process>
<success_criteria>...</success_criteria>
```
Keep markdown formatting within content (bold, lists, code blocks).
### 5. Progressive Disclosure
SKILL.md under 500 lines. Split detailed content into reference files. Load only what's needed for the current workflow.
</essential_principles>
<intake>
What would you like to do?
1. Create new skill
2. Audit/modify existing skill
3. Add component (workflow/reference/template/script)
4. Get guidance
**Wait for response before proceeding.**
</intake>
<routing>
| Response | Next Action | Workflow |
|----------|-------------|----------|
| 1, "create", "new", "build" | Ask: "Task-execution skill or domain expertise skill?" | Route to appropriate create workflow |
| 2, "audit", "modify", "existing" | Ask: "Path to skill?" | Route to appropriate workflow |
| 3, "add", "component" | Ask: "Add what? (workflow/reference/template/script)" | workflows/add-{type}.md |
| 4, "guidance", "help" | General guidance | workflows/get-guidance.md |
**Progressive disclosure for option 1 (create):**
- If user selects "Task-execution skill" → workflows/create-new-skill.md
- If user selects "Domain expertise skill" → workflows/create-domain-expertise-skill.md
**Progressive disclosure for option 3 (add component):**
- If user specifies workflow → workflows/add-workflow.md
- If user specifies reference → workflows/add-reference.md
- If user specifies template → workflows/add-template.md
- If user specifies script → workflows/add-script.md
**Intent-based routing (if user provides clear intent without selecting menu):**
- "audit this skill", "check skill", "review" → workflows/audit-skill.md
- "verify content", "check if current" → workflows/verify-skill.md
- "create domain expertise", "exhaustive knowledge base" → workflows/create-domain-expertise-skill.md
- "create skill for X", "build new skill" → workflows/create-new-skill.md
- "add workflow", "add reference", etc. → workflows/add-{type}.md
- "upgrade to router" → workflows/upgrade-to-router.md
**After reading the workflow, follow it exactly.**
</routing>
<quick_reference>
## Skill Structure Quick Reference
**Simple skill (single file):**
```yaml
---
name: skill-name
description: What it does and when to use it.
---
<objective>What this skill does</objective>
<quick_start>Immediate actionable guidance</quick_start>
<process>Step-by-step procedure</process>
<success_criteria>How to know it worked</success_criteria>
```
**Complex skill (router pattern):**
```
SKILL.md:
<essential_principles> - Always applies
<intake> - Question to ask
<routing> - Maps answers to workflows
workflows/:
<required_reading> - Which refs to load
<process> - Steps
<success_criteria> - Done when...
references/:
Domain knowledge, patterns, examples
templates/:
Output structures Claude copies and fills
(plans, specs, configs, documents)
scripts/:
Executable code Claude runs as-is
(deploy, setup, API calls, data processing)
```
</quick_reference>
<reference_index>
## Domain Knowledge
All in `references/`:
**Structure:** recommended-structure.md, skill-structure.md
**Principles:** core-principles.md, be-clear-and-direct.md, use-xml-tags.md
**Patterns:** common-patterns.md, workflows-and-validation.md
**Assets:** using-templates.md, using-scripts.md
**Advanced:** executable-code.md, api-security.md, iteration-and-testing.md
</reference_index>
<workflows_index>
## Workflows
All in `workflows/`:
| Workflow | Purpose |
|----------|---------|
| create-new-skill.md | Build a skill from scratch |
| create-domain-expertise-skill.md | Build exhaustive domain knowledge base for build/ |
| audit-skill.md | Analyze skill against best practices |
| verify-skill.md | Check if content is still accurate |
| add-workflow.md | Add a workflow to existing skill |
| add-reference.md | Add a reference to existing skill |
| add-template.md | Add a template to existing skill |
| add-script.md | Add a script to existing skill |
| upgrade-to-router.md | Convert simple skill to router pattern |
| get-guidance.md | Help decide what kind of skill to build |
</workflows_index>
<yaml_requirements>
## YAML Frontmatter
Required fields:
```yaml
---
name: skill-name # lowercase-with-hyphens, matches directory
description: ... # What it does AND when to use it (third person)
---
```
Name conventions: `create-*`, `manage-*`, `setup-*`, `generate-*`, `build-*`
</yaml_requirements>
<success_criteria>
A well-structured skill:
- Has valid YAML frontmatter
- Uses pure XML structure (no markdown headings in body)
- Has essential principles inline in SKILL.md
- Routes directly to appropriate workflows based on user intent
- Keeps SKILL.md under 500 lines
- Asks minimal clarifying questions only when truly needed
- Has been tested with real usage
</success_criteria>
© glittercowboy · MIT · glittercowboy/taches-cc-resources