# AI Verify

> Runs the gate and the security lane and ticks each production-ready box beside the command that ticked it, or walks a spec's examples and marks each one against a real command. Trigger for "verify this", "is it ready", "tick the boxes", "does it do what the spec said", "check the acceptance criteria". Not for judging a diff — use /ai-review, which reads a change and this reads a claim. Not for finding a cause — use /ai-debug. It observes and never accepts: incomplete is the answer to every box and every example with no command pasted beside it. Not for deciding a request that falls outside a declared boundary — report CANNOT DECIDE and block, because a decision that cannot classify itself is not a decision this skill can take.

- Skill: `arcasilesgroup/ai-verify` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add arcasilesgroup/ai-verify`
- Raw SKILL.md: https://api.skillmd.com/api/skills/arcasilesgroup/ai-verify/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- License: Apache-2.0
- Author: arcasilesgroup (https://skillmd.com/u/arcasilesgroup)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/arcasilesgroup/ai-verify

---


# Say what ran, and what it proved

## What it produces

Two things, never mixed. A production-ready table where every ticked box carries the command
that ticked it, and an acceptance table where every example carries its verdict.

## Verify — the boxes

1. Run the repository's own gate and its security lane — whatever CI runs them is the
   gate, not a recipe name. Paste the output. A summary of a gate is not a gate.
2. For each of the eight production-ready boxes, write the command that proves it and the
   output it gave. A box with no command beside it is `INCOMPLETE`, and that is the answer,
   not a gap to fill in later.
3. A box that does not apply says `not applicable` and why in the same line. Assertion 19
   reads what sits beside each tick **once the spec is shipped** — it skips a draft
   entirely, which is every spec before it ships, so nothing catches a tick you have not
   earned except you.
4. Never tick a box on the strength of a run somebody described. `ai-eng spec checkpoint`
   reads receipts and says which of them is about this code; read its answer, not its age.

## Validate — the examples

1. Read the spec's `## Examples somebody can check`. `ai-eng spec show NNN` prints how many
   Given, When and Then lines it holds and how many name a command with its output, and
   prints nothing when there is no such section — which is itself the answer, for sixteen
   of the nineteen specs here. The columns a row needs are in
   `ai-review/references/testing.md` — if that reference file is missing, answer
   `INCOMPLETE` rather than inventing the columns.
2. Run each example's command. Mark it `PASS` when the output matches what the Then says,
   `FAIL` when it does not, and `INCOMPLETE` when the Then names no command — which is most
   of them, and saying so is the point.
3. The undecidable example is the one that matters. An example nobody can decide is not a
   pass and not a failure; report it as the third thing.
4. Do not repair the example. A Then that turned out to be wrong is a finding for `/ai-spec`,
   and rewriting it here is the reader marking their own paper.

## Done when

- Every box carries a command and its output, or `not applicable`, or `INCOMPLETE`.
- Every example carries a verdict, and the undecidable ones are counted separately.
- Nothing was accepted. This reports; a person or a gate decides.

## The box

40 minutes of wall time, 120 tool calls — the numbers `contract.py` owns. The verdict
returns in your result; you write no files. When the box closes with work left, return
what you have and mark it `TIMEBOXED`: a partial verdict is a verdict, silence is not.

## What this is not

Not a gate. `just check` is the gate and it runs in CI; this reads what it said. Not a
review — `/ai-review` judges a diff, and this judges whether a claim about one is true.

- "Somebody described a green run, so the box can be ticked on their word" — never tick a box on the strength of a run somebody described: every ticked box carries the command that ticked it and its output.

