Files
skills/skills/axi-review/SKILL.md
alexion 1caf18d72d feat: add axi-review skill
Review a CLI against the 10 canonical AXI principles black-box: run a
staged battery of read and write probes against a user-provided target,
judge each principle strictly against axi.md, and emit a report-card
table.

Ships as SKILL.md plus AXI-PRINCIPLES.md (per-principle rubric with
probes and PASS/PARTIAL/FAIL criteria) and REPORT-FORMAT.md (the
single-table card format and verdict vocabulary).

Claude-Session: https://claude.ai/code/session_015uc7R6zNYZpCxFWJMXrxwh
2026-07-22 23:22:27 -04:00

3.9 KiB

name, description
name description
axi-review Review a CLI for conformance to the 10 AXI (Agent eXperience Interface) principles by running it black-box and scoring each principle on a report card. Use when asked to review, audit, check, or measure a CLI's AXI conformance, or when "AXI principles", "Agent eXperience Interface", or axi.md is named.

axi-review

Review a CLI against the 10 canonical AXI principles by running it and judging what it emits. The review is black-box: the tool's observed output is the evidence, and source is consulted only where a facet cannot be triggered by running the tool. It writes by default, so it creates real artifacts in a target you provide.

The rubric lives in AXI-PRINCIPLES.md — one entry per principle, each with the probe to run and its PASS/PARTIAL/FAIL criteria. The card's shape lives in REPORT-FORMAT.md.

1. Establish what you are reviewing

Fix the invocation string first — how this CLI is run (gitea-axi, a binary path, npx -y foo).

Locate the tool's own Agent Skill file, since it is the authoritative description of the command surface and is itself the evidence for Principle 7. Look under ~/.claude/skills/<tool>/SKILL.md, then in the installed package or the repo. A missing skill file is a Principle 7 FAIL that you carry into the judging step. When it is missing, enumerate the surface from --help and no-arg output instead.

Run the bare no-arg invocation to confirm the tool executes. If nothing runs at all — binary absent, npx fails — stop and report that a behavioural review is impossible. Emit no card in that case.

Done when the tool has run, you have its subcommand surface, and you know whether a skill file exists.

2. Get the write target

The write battery creates real artifacts, so it needs a target you are cleared to mutate — the repo, folder, or destination this CLI acts on. How the tool takes that target comes from its skill file, for example gitea-axi's -R owner/name.

If the invoking prompt did not name a target, ask the user for one in prose before running any command.

Done when you have a write target you may create artifacts in.

3. Run the battery once, capturing a transcript

Read AXI-PRINCIPLES.md and run every probe it lists, capturing each command's stdout and exit code into one transcript. The battery is staged, not a single command: run the empty-state reads first, then the write probes, then the reads that depend on what the writes created. Run it once in that sense — one transcript reused across principles, not a fresh run per principle — since one command's output is evidence for several.

The write probes include creating any fixture a read probe needs, such as the long-body entity Principle 3 inspects. The read probes create nothing. The write probes create real artifacts — record each one in the artifacts manifest as you create it, so nothing is orphaned silently. Capture stdout and stderr separately, since Principle 6 turns on which stream an error lands in. If the target rejects the write probes, mark the write facet of Principle 6 BLOCKED with the reason and continue with the read probes.

Done when every probe has a captured result or a recorded BLOCKED reason, and every created artifact is in the manifest.

4. Judge all 10 principles

For each principle in AXI-PRINCIPLES.md, apply its criteria to the transcript and assign PASS, PARTIAL, FAIL, N/A, or BLOCKED. Judge strictly against the canonical statement. When the tool's skill file documents a deviation, note it on the row but keep the canonical verdict.

Done when all 10 principles carry a verdict backed by a cited command and a short output excerpt from the transcript.

5. Emit the report card

Render the card in-session following REPORT-FORMAT.md.

Done when the card matches REPORT-FORMAT.md and every non-PASS row carries a concrete fix.