Skills now migrate from hand-authored plugin.json to Microsoft APM (apm.yml + .apm/) per ADR-0015/issue #89. skill-author's write location switches accordingly: walk up from the destination to the nearest ancestor apm.yml declaring a type: field (skipping type:-less marketplace-only manifests) and scaffold into <package-root>/.apm/skills/ <name>/. Standalone authoring (no apm.yml/.git anywhere, e.g. ~/.agents/skills/) is unchanged — only the old plugin.json-based path is replaced, not standalone mode. Refs: #89
3.1 KiB
skill-author
Author and refine skills conforming to the agentskills.io specification — create new skills from scratch or apply improvement signals to existing ones.
What it does
Routes to one of two flows based on context: if no skill directory exists at the target path, it scaffolds the directory from annotated templates, fills in SKILL.md and supporting files, and validates the result. If an existing skill directory and improvement signals are both present, it groups those signals by root cause and applies targeted edits, then re-validates. In both flows, bumps the skill's metadata.version when present (minor for create, patch for improve).
Before you start
- Run
/grill-meto resolve design decisions before creating a new skill - Collect domain research, examples, and constraints
- Know the skill name (kebab-case) and destination path
Placement
scripts/new-skill.sh resolves the mode automatically by walking up from the given path — see SKILL.md Step 1 for the full algorithm.
| Mode | Path | Chosen when |
|---|---|---|
| Standalone | <path>/<name>/ |
No apm.yml with a top-level type: field is found walking up from <path>, before hitting .git or the filesystem root |
| Package (APM) | <package-root>/.apm/skills/<name>/ |
A type-bearing apm.yml is found at or above <path> — <path> just needs to be somewhere inside the package |
If the destination resolves inside an APM package, read references/deployment-modes.md — self-containment rules apply to apm compile output the same way they applied to plugin cache isolation.
Usage
/skill-author
Files
| File | Purpose |
|---|---|
README.md |
Human-readable overview of the skill and its files |
SKILL.md |
Skill instructions for agents |
scripts/new-skill.sh |
Walks up from the given path to resolve package vs standalone mode, then copies annotated templates to the resolved destination |
references/deployment-modes.md |
APM package vs standalone differences and self-containment/cache-isolation rules (loaded on demand) |
references/scripts.md |
Package runners, inline dependency patterns, and full script contract (loaded on demand) |
references/sources.md |
Upstream research sources and which skill files each contributed to |
assets/templates/SKILL.md |
Annotated SKILL.md template |
assets/templates/README.md |
Annotated README template for the new skill |
assets/templates/scripts/README.md |
Placeholder for bundled scripts |
assets/templates/references/README.md |
Placeholder for reference docs |
assets/templates/references/sources.md |
Sources provenance template for new skills |
assets/templates/assets/README.md |
Placeholder for static assets |
assets/templates/tests/README.md |
Placeholder for test files |
tests/new-skill.bats |
Bats test suite for scripts/new-skill.sh |
tests/README.md |
Setup instructions for bats-support and bats-assert test dependencies |