MUST load this skill when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices. Create, audit, and maintain AI agent skills.
Create, audit, and maintain AI agent skills. Use when user asks to create, modify, or review SKILL.md files. Routes to specific workflows for skill creation, editing, auditing, or verification.
/plugin marketplace add Git-Fg/thecattoolkit/plugin install git-fg-thecattoolkit@Git-Fg/thecattoolkitThis skill inherits all available tools. When active, it can use any tool Claude has access to.
assets/templates/domain-expertise.mdassets/templates/minimal.mdassets/templates/progressive-disclosure.mdassets/templates/reference-file.mdassets/templates/router-pattern.mdassets/templates/task-execution.mdexamples/domain-expertise-skill.mdexamples/progressive-disclosure-skill.mdexamples/references/FORMS.mdexamples/references/OCR.mdexamples/references/TABLES.mdexamples/simple-skill-example.mdexamples/xml-router-skill-example.mdreferences/api-security.mdreferences/architecture-standards.mdreferences/be-clear-and-direct.mdreferences/common-patterns.mdreferences/cross-platform.mdreferences/executable-code.mdreferences/iteration-and-testing.mdUser specifically asks to create, audit, or modify a Skill (SKILL.md).
User asks to create an Agent or Command. User asks for general coding help.
This skill uses the following directory structure:
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:
For complex skills, use this structure:
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.
Folder usage:
Use markdown headings for structure (#, ##, ###). Reserve XML only for highly structured elements like routing decisions:
# Objective
What this skill does
# Process
Step-by-step procedure
# Success Criteria
How to know it worked
Keep markdown formatting within content (bold, lists, code blocks). XML reserved for complex routing logic in router pattern skills.
SKILL.md under 500 lines. Split detailed content into reference files. Load only what's needed for the current workflow.
Skills are passive cookbooks, not interactive wizards. Route based on input semantics, not user menu selections.
This skill routes directly to workflows based on the intent detected in the initial task or calling context. No interactive questions are asked.
<foundational_knowledge>
BEFORE executing ANY workflow in this skill, you MUST read these files:
references/architecture-standards.md - Architecture standards, design principles, and validation checklistreferences/system-standards.md - System standards with component-specific audit checklistsWHY: These files contain the axioms, validation rules, and quality standards that govern ALL skill operations. Skipping them leads to:
EXECUTION RULE: Read foundational knowledge IMMEDIATELY upon skill invocation, before routing or workflow execution. This is non-negotiable. </foundational_knowledge>
<routing> ## Intent-Based RoutingAnalyze the task description or calling context to determine the appropriate workflow:
| Intent Detected | Route To Workflow |
|---|---|
| "create skill", "build new skill", "new skill", "create a skill" | workflows/create.md |
| "create domain expertise", "exhaustive knowledge base", "domain expertise skill" | workflows/create-domain-expertise-skill.md |
| "audit", "check skill", "review", "verify quality" | workflows/audit.md |
| "verify content", "check if current", "validate" | workflows/verify-skill.md |
| "edit skill", "modify skill", "update skill", "enhance skill" | workflows/edit.md |
| "add workflow", "add reference", "add template", "add script" | workflows/add-{type}.md |
| "upgrade to router", "convert to router pattern" | workflows/upgrade-to-router.md |
| "help", "guidance", "what should I do?" | workflows/get-guidance.md |
Execution Rule: Route immediately to the matching workflow without asking clarifying questions. If the intent is ambiguous, default to workflows/get-guidance.md for general guidance.
After routing, follow the workflow exactly. </routing>
Simple skill (single file):
---
name: skill-name
description: What it does and when to use it.
---
# Objective
What this skill does
# Quick Start
Immediate actionable guidance
# Process
Step-by-step procedure
# Success Criteria
How to know it worked
Example: Simple skill like "process-pdfs" has single SKILL.md with objective, quick start (extract with pdfplumber), and 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)
Example: Router skill like "create-plans" uses intent-based routing to delegate to create-brief, create-roadmap, or plan-phase workflows.
For comprehensive XML/Markdown decision guidelines, see:
Quick Reference:
For detailed patterns, examples, and guidelines, see:
references/architecture-standards.md - MASTER LIBRARY: Consolidated architecture standards, design principles, structure requirements, and validation checklistreferences/system-standards.md - System standards with component-specific audit checklists (Skills, Agents, Hooks, Commands)references/xml-markdown-decision-framework.md - Complete guide to XML/Markdown patterns (Pure Markdown, Hybrid XML/Markdown, Full XML deprecation)references/permissions-guide.md - Comprehensive permissions documentation for Agent Skills (allowed-tools field, pre-approval)references/recommended-structure.md - Recommended directory structure for different skill typesreferences/router-pattern-examples.md - XML router pattern examples and best practicesreferences/be-clear-and-direct.md - Writing clear instructionsreferences/common-patterns.md - Common skill patternsreferences/workflows-and-validation.md - Workflow designreferences/using-templates.md - Template usage guidereferences/using-scripts.md - Script integrationreferences/executable-code.md - Code execution patternsreferences/api-security.md - API security considerationsreferences/iteration-and-testing.md - Testing skillsreferences/cross-platform.md - Cross-platform compatibility (Claude Code, Roo Code, OpenCode)references/progressive-disclosure.md - Progressive disclosure design patternexamples/progressive-disclosure-skill.md - Skill with references for advanced topics (pdf-processing)
examples/references/OCR.md - OCR for scanned PDFsexamples/references/TABLES.md - Table extraction patternsexamples/references/FORMS.md - PDF form handlingexamples/domain-expertise-skill.md - Comprehensive knowledge base (react-patterns)examples/simple-skill-example.md - Simple task-execution skill (commit-messages)examples/xml-router-skill-example.md - XML router pattern with intent-based routing (project-analysis)Skill templates in assets/templates/:
assets/templates/minimal.md - Minimal SKILL.md templateassets/templates/task-execution.md - Task-execution skill templateassets/templates/progressive-disclosure.md - Progressive disclosure with referencesassets/templates/domain-expertise.md - Domain expertise knowledge baseassets/templates/router-pattern.md - Router pattern with intent-based routingassets/templates/reference-file.md - Reference document template for references/ subdirectoryWHY: Templates ensure consistent structure, YAML frontmatter standards, and progressive disclosure best practices.
workflows/create.md - Build a skill from scratchworkflows/create-domain-expertise-skill.md - Build exhaustive domain knowledge baseworkflows/edit.md - Modify or enhance an existing skillworkflows/audit.md - Analyze skill against best practicesworkflows/verify-skill.md - Check if content is still accurateworkflows/add-workflow.md - Add a workflow to existing skillworkflows/add-reference.md - Add a reference to existing skillworkflows/add-template.md - Add a template to existing skillworkflows/add-script.md - Add a script to existing skillworkflows/upgrade-to-router.md - Convert simple skill to router patternworkflows/get-guidance.md - Help decide what kind of skill to buildRequired 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-*
Skills may reference tools in their workflows. Use this comprehensive list for reference.
⚠️ WARNING: Use these tools ONLY when explicitly required by the user's request. Do not add them to skills by default.
MCP tools from configured MCP servers can also be specified. Format: mcp__server__tool
Skills should be treated as black boxes by default.
When Claude invokes a skill via the Skill tool:
⚠️ CRITICAL: Think carefully before linking skills to slash commands or subagents.
Risks of Over-Integration:
| Integration Type | Risk | When Acceptable |
|---|---|---|
| Skill → Slash Command | Duplication, maintenance burden | Skill is complex, frequently used, needs explicit trigger |
| Skill → Subagent | Circular dependencies, context confusion | Subagent needs specialized tools different from main conversation |
| Skill → Skill | Circular dependency hell | Almost never - use reference files instead |
Why Overengineering is Dangerous:
When Integration IS Appropriate:
Default Rule: Keep skills independent. Use references/ for shared knowledge, not cross-skill calls.
These are instructions for how the workflows in this skill should operate:
All workflows MUST start with an "Intake & Context" step that gathers:
What already exists:
What dependencies are involved:
What patterns are in use:
Why this change is being made:
Rationale: Without context intake, workflows make assumptions that lead to:
These are the criteria used to audit skills. Follow them to ensure your skill passes quality checks:
Required fields:
Strong language requirements:
Progressive disclosure:
Required sections:
Heading hierarchy:
Description quality:
| Pattern | Why It Matters | Fix |
|---|---|---|
| Missing objective | Unclear purpose | Add objective section |
| Wrong POV | Inconsistent | Use third person |
| Vague triggers | Won't invoke | Add specific trigger keywords |
| Bloat (>500 lines) | Hard to scan | Move details to references/ |
| No success criteria | Can't verify completion | Add clear success criteria |
| Deep references | Hard to maintain | Flatten to one level |
| Generic role | No specialization | Specify domain and expertise |
| Missing constraints | Can go out of scope | Add MUST/NEVER boundaries |
Simple skills (<100 lines):
Complex skills:
Delegation skills:
A well-structured skill:
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.