Help us improve
Share bugs, ideas, or general feedback.
From core
This skill should be used when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices. It provides expert guidance for creating, writing, building, and refining Claude Code skills.
npx claudepluginhub rbozydar/rbw-claude-code --plugin coreHow this skill is triggered — by the user, by Claude, or both
Slash command
/core:create-agent-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<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.mdGuides creation, refinement, and best practices for Claude Code Skills including SKILL.md structure, router patterns, workflows, references, XML formatting, and progressive disclosure.
Guides creation of new Claude Code skills from scratch, covering SKILL.md anatomy, YAML frontmatter best practices, trigger phrases, and optional resources like scripts. Triggers on 'create a skill', 'new skill', 'scaffold skill'.
Create, improve, and test SKILL.md files to extend Claude Code with project-specific knowledge and reusable workflows.
Share bugs, ideas, or general feedback.
<essential_principles>
Skills are modular, filesystem-based capabilities that provide domain expertise on demand. This skill teaches how to create effective skills.
Skills are prompts. All prompting best practices apply. Be clear, be direct, use XML structure. Assume Claude is smart -- only add context Claude does not have.
SKILL.md is always loaded. When a skill is invoked, Claude reads SKILL.md. Essential principles go in SKILL.md (cannot be skipped), workflow-specific content goes in workflows/, reusable knowledge goes in references/.
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 to do, routes to workflow, workflow specifies which references to read.
Pure XML structure. Use semantic XML tags (<objective>, <process>, <success_criteria>), not markdown headings in the skill body. Keep markdown formatting within content (bold, lists, code blocks).
Progressive disclosure. SKILL.md under 500 lines. Split detailed content into reference files. Load only what is needed for the current workflow.
</essential_principles>
What needs to be done?
Wait for response before proceeding.
| Response | Action |
|---|---|
| 1, "create", "new", "build" | Ask: "Task-execution skill or domain expertise skill?" then route to appropriate create workflow |
| 2, "audit", "modify", "existing" | Ask: "Path to skill?" then route to appropriate workflow |
| 3, "add", "component" | Ask: "Add what? (workflow/reference/template/script)" then route to workflows/add-{type}.md |
| 4, "guidance", "help" | workflows/get-guidance.md |
Intent-based routing (if user provides clear intent without menu selection):
After reading the workflow, follow it exactly.
<quick_reference>
Simple skill (single file):
---
name: skill-name
description: What it does and when to use it (third person).
---
<objective>What this skill does</objective>
<process>Step-by-step procedure</process>
<success_criteria>How to know it worked</success_criteria>
Complex skill (router pattern):
SKILL.md: <essential_principles> + <intake> + <routing>
workflows/: <required_reading> + <process> + <success_criteria>
references/: Domain knowledge, patterns, examples
templates/: Output structures to copy and fill
scripts/: Executable code to run as-is
</quick_reference>
<templates_index>
Templates in templates/:
| Template | Use Case |
|---|---|
| simple-skill.md | Single-file skill template |
| router-skill.md | Multi-workflow router skill template |
</templates_index>
<reference_index>
References in references/:
</reference_index>
<workflows_index>
Workflows in workflows/:
| Workflow | Purpose |
|---|---|
| create-new-skill.md | Build a skill from scratch |
| create-domain-expertise-skill.md | Build exhaustive domain knowledge base |
| 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 frontmatter fields:
---
name: skill-name # lowercase-with-hyphens, matches directory
description: ... # What it does AND when to use it (third person)
---
Naming conventions: create-*, manage-*, setup-*, generate-*, build-*
</yaml_requirements>
<success_criteria>
A well-structured skill:
</success_criteria>