Imported from rene404/workflow-skills (
skills/write-skill/SKILL.md). Install upstream withnpx skills add rene404/workflow-skills --skill write-skill. Copyright stays with the author.
When to create a skill
A skill is worth creating when:
- The workflow recurs across tasks or projects.
- The steps are non-obvious and easy to get wrong.
- There is a clear trigger phrase (what the user says to invoke it).
- It is general enough to work outside the current task's context.
Do not create a skill for a one-time operation, a project-specific script, or something that is already covered by an existing skill.
Process
1. Define the skill
Answer these before writing a single line:
- Name: kebab-case identifier (matches directory name)
- Trigger: What does the user say or do that should invoke this skill?
- Problem: What failure mode or inefficiency does this skill prevent?
- Scope: What is explicitly out of scope for this skill?
- Related skills: What skills does this complement or hand off to?
2. Write the description
The description is the only thing the agent reads when deciding whether to load this skill.
Rules:
- Max 1,024 characters.
- Written in third person.
- Must include explicit "Use when..." trigger phrases.
- Must include "Do NOT use when..." anti-triggers if ambiguity exists.
- Be specific — vague descriptions cause incorrect activation.
Template:
[What the skill does in one sentence]. Use when [explicit triggers]. Do NOT use when [anti-triggers].
3. Write SKILL.md
---
name: [kebab-case]
description: [description from Step 2]
argument-hint: [optional — what argument the user can pass]
---
## [Philosophy or purpose — one line]
[Brief philosophy statement]
## [Main section]
[Numbered steps or phases]
## Rules / Anti-patterns
[What NOT to do — at least 2–3 explicit rules]
## Related
- `/skill-name` — [relationship]
4. Create the directory
skills/[skill-name]/SKILL.md
The layout is flat — one directory per skill, no category folders. Supporting
files (formats, templates, references) live beside SKILL.md in the same folder.
No manifest edit is needed. Claude Code discovers skills/ automatically, so
.claude-plugin/plugin.json carries no skills key at all. The Codex and Cursor
manifests point at the directory once ("skills": "./skills/") — they never list
individual skills. Adding a per-skill path to any manifest is a bug, not a step.
What does need updating when a skill is added:
README.md— the skill list under "What's in the box"CHANGELOG.md— an entry under[Unreleased]- the version in all four manifests, if you are cutting a release (see
AGENTS.md)
5. Test the description
Read the description aloud. Ask: "If I were the agent and only saw this text, would I know exactly when to use this skill and when not to?" If no, rewrite.
Checklist
- Name is kebab-case and matches the directory
- Description has explicit "Use when..." triggers
- Description has "Do NOT use when..." if needed
- SKILL.md has a philosophy/purpose statement
- SKILL.md has numbered phases or steps
- SKILL.md has at least 2 anti-pattern rules
- SKILL.md has a "Related" section
- Directory created at
skills/[skill-name]/(flat — no category folder) -
README.mdskill list updated -
CHANGELOG.mdentry added under[Unreleased]
Related
/plan— if the skill requires companion scripts or supporting files/review— review the skill file before committing