Guides creation, refinement, and best practices for Claude Code Skills including SKILL.md structure, router patterns, workflows, references, XML formatting, and progressive disclosure.
npx claudepluginhub tanmoy1139/compounding-engineering-plugin --plugin compounding-engineeringThis skill uses the workspace's default tool permissions.
<essential_principles>
references/api-security.mdreferences/be-clear-and-direct.mdreferences/common-patterns.mdreferences/core-principles.mdreferences/executable-code.mdreferences/iteration-and-testing.mdreferences/recommended-structure.mdreferences/skill-structure.mdreferences/use-xml-tags.mdreferences/using-scripts.mdreferences/using-templates.mdreferences/workflows-and-validation.mdtemplates/router-skill.mdtemplates/simple-skill.mdworkflows/add-reference.mdworkflows/add-script.mdworkflows/add-template.mdworkflows/add-workflow.mdworkflows/audit-skill.mdworkflows/create-domain-expertise-skill.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides TDD-style skill creation: pressure scenarios as tests, baseline agent failures, write docs to enforce compliance, verify with RED-GREEN-REFACTOR.
<essential_principles>
Skills are modular, filesystem-based capabilities that provide domain expertise on demand. This skill teaches how to create effective skills.
All prompting best practices apply. Be clear, be direct, use XML structure. Assume Claude is smart - only add context Claude doesn't have.
When a skill is invoked, Claude reads SKILL.md. Use this guarantee:
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:
No markdown headings (#, ##, ###) in skill body. Use semantic XML tags:
<objective>...</objective>
<process>...</process>
<success_criteria>...</success_criteria>
Keep markdown formatting within content (bold, lists, code blocks).
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?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):
Progressive disclosure for option 3 (add component):
Intent-based routing (if user provides clear intent without selecting menu):
After reading the workflow, follow it exactly. </routing>
<quick_reference>
Simple skill (single file):
---
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>
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>
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>
Required fields:
---
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: