Create a Custom Skill
Skills are structured instructions that guide your AI assistant through repeatable workflows. Each skill is a SKILL.md file with YAML frontmatter and markdown sections.
Skill Structure
Section titled “Skill Structure”A skill lives in its own directory under .claude/skills/ (project-level) or is distributed from src/rai_cli/skills_base/ (framework-level).
.claude/skills/ my-custom-skill/ SKILL.mdRequired Frontmatter
Section titled “Required Frontmatter”Every SKILL.md starts with YAML frontmatter:
---name: rai-my-skilldescription: > One-paragraph description of what this skill does and when to use it.
license: MIT
metadata: raise.work_cycle: utility # utility | epic | story | session raise.frequency: as-needed # always | as-needed | once raise.fase: "0" # ShuHaRi phase raise.prerequisites: "" # Required prior skills raise.next: "" # Suggested next skill raise.gate: "" # Gate to check before running raise.adaptable: "true" # Can be customized per project raise.version: "2.1.0" # Framework version raise.visibility: public # public | private---Required Sections
Section titled “Required Sections”After frontmatter, include these markdown sections:
- Purpose — What the skill does and why it exists
- Context — When to use, when to skip, inputs needed, time boxing
- Steps — Numbered steps with
<verification>blocks after each - Output — What artifacts the skill produces
- Quality Checklist — Verification criteria as a checkbox list
Verification Blocks
Section titled “Verification Blocks”Each step should end with a verification gate:
### Step 1: Do the Thing
Instructions for this step.
<verification>Expected outcome that confirms step completion.</verification>
<if-blocked>What to do if this step fails.</if-blocked>Naming Conventions
Section titled “Naming Conventions”Skill names follow {domain}-{action} pattern:
rai-story-start— story domain, start actionrai-debug— utility domain, single actionrai-discover-scan— discovery domain, scan action
Validate a name before creating:
rai skill check-name my-skill-nameScaffold a Skill
Section titled “Scaffold a Skill”Use the CLI to generate the skeleton:
rai skill scaffold my-custom-skillThis creates the directory and a SKILL.md template with all required sections.
Skill Sets
Section titled “Skill Sets”Skill sets let teams customize which skills are active:
# List available skill setsrai skill set list
# Create a custom setrai skill set create my-team-set
# Compare setsrai skill set diff default my-team-setValidate
Section titled “Validate”Check that your skill meets structural requirements:
rai skill validate my-custom-skillThis verifies frontmatter fields, required sections, and naming conventions.