brew install ppiankov/tap/ancc
Or via Go:
go install github.com/ppiankov/ancc/cmd/ancc@latest
ancc init my-tool
Creates docs/SKILL.md with all required sections pre-filled. The template passes all structural validation checks out of the box.
ancc init generates documentation only — use it when you already have a tool and want to add ANCC compliance. For a complete project from scratch (Go binary, Makefile, CI, tests, SKILL.md), use ancc scaffold my-tool --type scanner instead.
Edit docs/SKILL.md. Replace placeholder content with real data:
ancc validate .
Expected output:
skill-md-exists pass SKILL.md found
skill-md-install pass Install section found
skill-md-commands pass 4 command(s) documented
skill-md-not-do pass "What this does NOT do" section found
not-do-min-items pass not-do section has 3 items
scope-pressure pass 4 commands, 5 sections
...
Summary: 30 checks, 28 pass, 0 fail, 2 warn
Fix any fail results. Warnings are recommendations — address them when ready.
Implement my-tool doctor --format json with the standard schema:
{
"status": "healthy",
"checks": [
{"name": "config", "status": "pass", "message": "config valid"},
{"name": "database", "status": "pass", "message": "reachable"}
]
}
my-tool doctor --format json | jq '.status'
Verify the tool can report its own health. An agent uses this to decide whether to trust the tool's output.