Help us improve
Share bugs, ideas, or general feedback.
From stdd-agents
Use when creating or modifying skills. Defines skill file structure, naming conventions, and integration patterns.
npx claudepluginhub craigtkhill/stdd-agents --plugin stdd-agentsHow this skill is triggered — by the user, by Claude, or both
Slash command
/stdd-agents:create-skillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Skills in for Agents provide reusable workflows and guidelines. This skill documents how to properly create new skills.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
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 `specifying-requirements` 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