Static validator for the Agent-Native CLI Convention.
Status: Beta · v0.7.0 · Pre-1.0
| Milestone | Status |
|---|---|
| SKILL.md parser + validation (30 checks) | Complete |
| CLI with human + JSON output | Complete |
| GitHub repo support + batch scan | Complete |
| Homebrew distribution | Complete |
| Skills scanner (15 agents) | Complete |
| Init, doctor commands | Complete |
| Token counting + budget visualization | Complete |
| Audit (hooks, MCP, skills, environment) | Complete |
| Context window budget overview | Complete |
| Config diff between directories | Complete |
| CI integration (GitHub Action + badge) | Complete |
Pre-1.0: check names and JSON output structure may change between minor versions.
A CLI that checks whether a tool's repo follows ANCC — the six requirements that make CLI tools agent-native.
- Not a runtime test harness (does not run the target tool)
- Not a linter for code quality
- Not a registry or index
- Not a framework
brew install ppiankov/tap/ancc
Or via Go:
go install github.com/ppiankov/ancc/cmd/ancc@latest
ancc is itself ANCC-compliant. Single binary, deterministic output, structured JSON, bounded jobs.
Agents: read docs/SKILL.md for install, commands, JSON parsing patterns, and exit codes.
Key pattern for agents: ancc validate . --format json returns machine-parseable validation results.
ancc skills and ancc doctor include each detected agent's enforcement posture, documented autonomy capabilities, and an informational compound caution when prompt-disabling autonomy is paired with advisory or unverified enforcement. These cautions do not change exit codes.
The companion ANCC conventions define nine governed conventions across Behavior, Execution, Spend, and Time, including enforcement-provenance for evidence-backed guardrail claims.
ancc validate .
ancc validate --format json .
ancc validate --badge .
ancc init
ancc init --name mytool --force
ancc skills .
ancc skills --tokens .
ancc skills --budget 128000 .
ancc audit
ancc audit --agent claude-code
ancc context .
ancc context --agent claude-code --tokens
ancc diff /path/to/project-a /path/to/project-b
ancc diff . ../other-project --tokens
ancc scan ~/dev/
ancc doctor
| Check | What it validates | Severity |
|---|---|---|
skill-md-exists |
SKILL.md present at repo root | fail |
skill-md-install |
Install section documented | fail |
skill-md-commands |
Commands section with subcommands | fail |
skill-md-flags |
Flags including --format json |
fail |
skill-md-json-output |
JSON output schema shown | fail |
skill-md-exit-codes |
Exit codes documented | fail |
skill-md-not-do |
"What this does NOT do" section | fail |
skill-md-parsing |
Parsing examples provided | fail |
has-init-command |
Init command documented | fail |
has-doctor-command |
Doctor command documented | warn |
has-binary-release |
Binary release assets | warn |
json-examples-valid |
JSON examples parse correctly | warn |
exit-codes-numeric |
Exit codes are numeric | warn |
commands-not-placeholder |
Commands are not placeholder names | warn |
install-has-command |
Install section contains a command | warn |
0— all checks pass1— one or more checks fail2— warnings only, no failures
cmd/ancc/main.go -- entry point
internal/
cli/ -- Cobra commands, output formatting
validator/ -- check orchestration, results
skillmd/ -- SKILL.md parser
skills/ -- agent config scanner
ancc detects 15 agents: claude-code, cline, cursor, opencode, codex, qwen, openclaw, windsurf, aider, continue, copilot, kilocode, vibe, goose, antigravity.
Each detected agent reports an enforcement posture: enforcing, advisory, or unverified. Advisory posture is informational and teaches which evidence is valid for security probes.
Detected agents can also report documented autonomy modes, such as flags or settings that can reduce approval prompts. Autonomy is a capability fact sourced from docs, not proof that a guardrail is enforced.
When a documented autonomy mode is paired with advisory or unverified enforcement, output includes compound_caution plus a text caution. This is a mirror for operator attention, not a failing gate.
See docs/SKILL.md for full config paths per agent.
Add ANCC validation to any repo with one workflow file:
# .github/workflows/ancc.yml
name: ANCC
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ppiankov/ancc/.github/action@v0.7.0
with:
checks: validate
fail-on-warn: falseOr generate a badge: ancc validate . --badge
- Static validation only — does not install or execute the target tool
- GitHub release check requires network access
- SKILL.md section matching is heading-based, not semantic