Use when creating or modifying skills. Defines skill file structure, naming conventions, and integration patterns.
/plugin marketplace add craigtkhill/stdd-agents/plugin install stdd-agents@stdd-agentsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Skills in for Agents provide reusable workflows and guidelines. This skill documents how to properly create new skills.
These skills are designed to be Agentic Terminal User Interface (ATUI) agnostic. They live in the dotfolders for the agentic application examples include.
.claude/
.codex/
.gemini/
.opencode/
Henceforth, we will use .atui/ as shorthand
Every skill must have:
.atui/skills/skill-name/
├── SKILL.md (REQUIRED - main skill file with frontmatter)
├── supporting-file.md (optional)
└── templates/ (optional)
Every SKILL.md must start with YAML frontmatter:
---
name: skill-name
description: Brief description of what this skill does and when to use it
---
Frontmatter Rules:
name: Lowercase letters, numbers, hyphens only (max 64 chars)description: Explain WHAT it does + WHEN to use it (max 1024 chars)After frontmatter, elicit the human to add the skill instructions in markdown:
DO:
DON'T:
Examples:
create-skilltest-driven-developmentwrite-commit-messageCreate_Skilltest driven developmentThe description is critical for skill discovery and invocation.
Purpose: Help Claude decide whether to READ the skill, not to contain the rules themselves.
Format: "Use when [specific trigger]. Defines [what's inside]."
Guidelines:
Skills can include additional files referenced from SKILL.md:
For Python testing: See [PYTHON.md](PYTHON.md)
For JavaScript testing: See [JAVASCRIPT.md](JAVASCRIPT.md)
Common Supporting Files:
PYTHON.md, JAVASCRIPT.md)TEMPLATE.md, templates/spec-template.md)EXAMPLES.md)scripts/helper.py)Additionally register skills to the projects AGENTS.md file.
When creating a new skill:
.atui/skills/skill-name/SKILL.md with YAML frontmattername field (lowercase, hyphens, max 64 chars)description field (WHAT + WHEN, max 1024 chars)/help✅ Always include frontmatter - SKILL.md must start with YAML frontmatter
✅ Write clear descriptions - Description must explain WHAT and WHEN
✅ Use correct filename - Must be SKILL.md (uppercase)
✅ Use proper naming - Use lowercase letters and hyphens for separation
✅ Be specific - Clearly define when to use the skill
✅ Keep content generic - Do not make guidelines specific to the current project but Make SKILL.md and supporting files reusable across projects
✅ Separate language specifics - Put language/tech-specific details in separate files (PYTHON.md, RUST.md, etc.)
✅ Provide complete templates - Include full templates, not partial ones
✅ Prioritize clear descriptions - Avoid examples or use generic examples only when necessary for clarity
✅ Work in small steps - Only implement what was requested, collaborate incrementally in small steps with the user
✅ Use positive framing - Describe what to do rather than what not to do when writing guidelines but use negatives when it provides extra clarity
Skills can reference other skills:
**Use the `specification` skill for writing specifications.**
**Use the `test-driven-development` skill for writing tests.**
This creates workflows that combine multiple skills.
After creating a skill:
/help to verify it's discoveredOfficial documentation: https://code.claude.com/docs/en/skills.md
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.