with one click
write-a-skill-with-instructions
// Create or edit agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, edit, or build a new skill.
// Create or edit agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, edit, or build a new skill.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | write-a-skill-with-instructions |
| description | Create or edit agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, edit, or build a new skill. |
| metadata | {"internal":true} |
Determine domain - ask user if unclear:
frappe, sap, typst, engineering)?authored/; domain skills group in authored/<domain>/Read applicable instructions - check if any exist:
authored/<domain>/AUTHORING.md ā domain-specific authoring conventions (if skill has a domain)skills/<skill-name>/AUTHORING.md ā skill-specific guidance (placed alongside SKILL.md)Scaffold with pnpm write-skill - run:
pnpm write-skill <skill-name> [--domain <domain>]
This creates the skill structure: SKILL.md, meta.json, etc.
Gather requirements - ask user about:
Draft the skill - create/update:
Review with user - present draft and ask:
Check skill type - review skills/<skill-name>/meta.json:
type: "authored" ā safe to edit directlytype: "synced" ā managed by Sync; edits will be lost on next pnpm syncRead applicable instructions - check if any exist:
authored/<domain>/AUTHORING.md ā domain-specific conventions (if skill has a domain)skills/<skill-name>/AUTHORING.md ā skill-specific guidance (placed alongside SKILL.md)Make targeted updates - edit:
Review changes - ensure:
skill-name/
āāā SKILL.md # Main instructions (required)
āāā AUTHORING.md # Authoring guidance (optional, placed alongside SKILL.md)
āāā REFERENCE.md # Detailed docs (if needed)
āāā EXAMPLES.md # Usage examples (if needed)
āāā meta.json # Skill metadata (auto-generated)
āāā scripts/ # Utility scripts (if needed)
āāā helper.js
A SKILL.md file starts with YAML frontmatter and contains clear, progressive disclosure:
---
name: skill-name
description: Brief description of capability. Use when [specific triggers].
---
# Skill Name
## Quick start
[Minimal working example]
## Workflows
[Step-by-step processes with checklists for complex tasks]
## Advanced features
[Link to separate files: See [REFERENCE.md](REFERENCE.md)]
The frontmatter description is the only thing the agent sees when deciding which skill to load. It's surfaced in the system prompt alongside all other installed skills. Your agent reads these descriptions and picks the relevant skill based on the user's request.
Goal: Give the agent just enough info to know:
Format:
Good example:
Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction.
Bad example:
Helps with documents.
The bad example gives the agent no way to distinguish this from other document skills.
Add utility scripts when:
Scripts save tokens and improve reliability vs generated code.
Split into separate files when:
After drafting, verify: