- name
- skill-authoring
- description
- Write Agent Skills that comply with the agentskills.io specification. WHEN: "create a skill", "new skill", "write a skill", "skill template", "skill structure", "review skill", "skill PR", "skill compliance", "SKILL.md format", "skill frontmatter", "skill best practices". DO NOT USE FOR: general documentation. INVOKES: vally CLI.
- license
- MIT
- metadata
- {"author":"Microsoft","version":"1.0.0"}
- compatibility
- copilot-chat
# Skill Authoring Guide
This skill helps write Agent Skills that comply with the agentskills.io specification by defining valid frontmatter, structure, and routing patterns, while guiding authors toward compliant `SKILL.md` files, supporting references, and local validation with the vally CLI.
## Triggers
USE FOR: write Agent Skills that comply with the agentskills.io specification; skill template; skill structure; review skill; skill PR; skill compliance; SKILL.md format; skill frontmatter; skill best practices
WHEN: "create a skill", "new skill", "write a skill", "skill template", "skill structure", "review skill", "skill PR", "skill compliance", "SKILL.md format", "skill frontmatter", "skill best practices"
DO NOT USE FOR: general documentation
## Rules
- `name`: 1-64 chars, lowercase + hyphens, match directory
- `description`: inline double-quoted, ≤60 words, ≤1024 chars
- Use `WHEN:` with quoted trigger phrases (preferred over `USE FOR:`)
- SKILL.md: <500 tokens (soft), <5000 (hard)
- references/\*.md: <1000 tokens each
## Structure
- `SKILL.md` (required) — Frontmatter + instructions
- `references/` (optional) — Detailed docs, loaded on demand
- `scripts/` (optional) — Executable code
## Formatting
- run `npm ci` in `.github/skills` to install dependencies
- run `npm run format` to auto-format markdown and yaml files using Prettier
## Progressive Disclosure
Metadata loads at startup. SKILL.md on activation. References load when linked via markdown link.
## MCP Tools
| Tool | Purpose |
| ---- | ------------------------------- |
| None | CLI-only; uses local file tools |
**CLI fallback:** Primary mode is CLI-based. No MCP servers required.
## Steps
1. Create skill directory with `SKILL.md`
2. Add frontmatter: `name`, `description`, `license`
3. Run `vally lint {skill-name}` to validate
## Examples
- "Create a new skill for code review"
- "Review my skill for compliance"
## Troubleshooting
If `vally lint` reports broken links, verify reference file paths match exactly.
## References
- [Guidelines](references/guidelines.md) — Writing and structure
- [Validation](references/validation.md) — Checks and procedures
- [Reference Guide](references/reference-guide.md) — Budgets, loading, checklist
View on GitHub