--- 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