| name | write-a-skill |
| description | Creates reusable SKILL.md-based agent skills through requirements, drafting, and user review; use to formalize a workflow or add a new agent capability. |
| allowed-tools | Read Grep Glob Bash Write Edit |
| compatibility | Universal — creates skills compatible with Claude Code, Codex, Gemini CLI, and other agent platforms. The description field is the most critical element as it is what agents see when deciding to activate a skill.
|
| metadata | {"tags":"skill-creation, agent-skills, documentation, reusability, skill-design","platforms":"Claude, ChatGPT, Gemini, Codex","version":"1.0","source":"mattpocock/skills"} |
Write a Skill
Create structured agent skills with proper documentation.
When to use this skill
- Formalizing a workflow into a reusable, shareable skill
- Building new agent capabilities from scratch
- Documenting existing patterns so agents can discover and use them
Critical design principle
The description field is the only thing your agent sees when deciding which skill to load.
Write descriptions that:
- Clearly state what the skill does
- Include specific triggers: "Use when [context]"
- Have a 1024-character maximum
- Are precise enough that the agent knows whether to activate
Process
Phase 1 — Gather requirements
Understand:
- What task or workflow does this skill formalize?
- What are the trigger conditions (when should an agent activate this)?
- What are the boundaries (what does this skill NOT do)?
- What platforms should this work on?
- Does this overlap with existing skills?
Phase 2 — Draft the skill
Create SKILL.md as the core file. Keep it under 100 lines.
Split into additional files when:
- SKILL.md exceeds ~100 lines
- Content covers distinct domains users won't always need
- Examples would clutter the core instructions
Supported supporting files:
REFERENCE.md — detailed reference content
EXAMPLES.md — concrete examples
scripts/ — deterministic utility scripts
Phase 3 — Review with user
Present the draft. Validate:
- Description accurately triggers on the right requests?
- Instructions are clear and complete?
- Boundaries prevent misuse?
- Supporting files are needed or is SKILL.md sufficient?
SKILL.md template (jeo-skills format)
---
name: skill-name
description: >
One-paragraph description of what this skill does and when to use it.
Include trigger conditions: "Use when [specific context]."
allowed-tools: Read Grep Glob Bash Write Edit
compatibility: >
Platform and context compatibility notes. What it pairs with.
metadata:
tags: tag1, tag2, tag3, tag4
platforms: Claude, ChatGPT, Gemini, Codex
version: "1.0"
source: your-github/repo
---
Brief intro paragraph.
- Condition 1
- Condition 2
- Route-out 1 → use `other-skill`
- Route-out 2 → use `other-skill`
[ ]
Quality checklist
Examples
- Example: Apply this skill to a small scope first, then scale to full scope after validation passes.
Best practices
- Keep outputs deterministic and auditable.
- Prefer small reversible changes over broad risky edits.
- Record assumptions explicitly.
References
- Project standards:
.agent-skills/skill-standardization/SKILL.md
- Validator script:
.agent-skills/skill-standardization/scripts/validate_skill.sh