skill-doc-authoring
About skill-doc-authoring
skill-doc-authoring guides agents in creating a single, actionable `SKILL.md` that is likely to trigger for the right requests. It focuses on trigger wording, concrete procedures, and file-contract validation.
Key features
- 01Write descriptions with clear triggers
- 02Structure the skill body
- 03Specify frontmatter and file naming
- 04Provide validation and dry-run steps
- 05Identify common documentation anti-patterns
Use cases
- 01Create an Agent skill document
- 02Improve a skill that rarely triggers
- 03Turn vague steps into verifiable actions
- 04Check `SKILL.md` format requirements
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ composio-community/ opencode-skills --skill skill-doc-authoringAfter installing, type/skill-doc-authoringin Claude Code to confirm it loaded.
Details
From the project READMESkill Doc Authoring
Produce a single valid SKILL.md that an agent will actually trigger and follow. The two failure modes this prevents: skills that never fire (weak description) and skills that fire but don't help (vague body).
File contract
- Directory name and
name:MUST match, lowercase, hyphens only, ≤ 64 chars. - Filename MUST be exactly
SKILL.md(case-sensitive). - Frontmatter has exactly two keys:
name,description.description≤ 1024 chars.
skills/<skill-name>/SKILL.md
The description is the trigger
The agent decides whether to load the skill from the description alone. Write it in third person, lead with what it does, then "Use when …" with concrete user phrasings and situations. Include the trigger words a user would actually type.
- Weak:
Workflow for handling data. - Strong:
Validate and clean CSV exports before import. Use when the user uploads a CSV, mentions "dirty data", or asks to "prep this for the database".
State when not to use it if a sibling skill is close — overlapping triggers cause the wrong skill to fire.
Body structure
Write for an agent with no project context. Concise, imperative, decision-oriented.
# Title
One-line purpose.
## When to use # + when not to
## Procedure / The loop # numbered, concrete, with commands
## Quality bar # how to know it's done right
## Anti-patterns # the tempting wrong moves
Rules:
- Imperative voice ("Run X", "Verify Y"), not "the agent should consider".
- Every step is verifiable or has a concrete command/example.
- Cut "Notes", "Overview" padding, and restatements. If a line doesn't change what the agent does, delete it.
- Put long reference material (schemas, tables, scripts) in sibling files and link them; keep
SKILL.mdskimmable (aim < ~200 lines).
Procedure
- Extract the real procedure from the user (the SOP, the steps they actually take, the decisions and their criteria).
- Identify triggers: what does someone say/do right before this skill is needed?
- Draft the description (trigger test: would it fire on those phrasings? would it not fire on unrelated ones?).
- Write the body to the structure above.
- Validate: filename, name/dir match, frontmatter keys, description length.
- Dry-run mentally: give the skill to a context-free agent on 2–3 sample requests — does it know exactly what to do?
Anti-patterns
- Generic skeleton (Overview → "This skill enables…" → bulleted nouns → Notes) that fits any topic and helps with none.
- Description that describes the domain but never says when to fire.
- Restating general best practice the model already knows instead of the user's specific procedure.
- One giant
SKILL.mdwhere a script + a short doc would serve better.