mcpField
V
verification

verification

github.com/fusengineTesting & quality3440 installsUpdated 2w ago
Repository

About verification

verification is an APEX skill for confirming that a task fulfills its original request, using acceptance criteria, concrete evidence, regression tests, and side-effect review. It also requires a challenger verdict and writes a persistent verification report before completion.

Key features

  1. 01Re-reads the original request
  2. 02Lists acceptance criteria
  3. 03Verifies criteria with concrete evidence
  4. 04Runs regression tests and reviews changes
  5. 05Routes the resolution claim through challenger
  6. 06Writes a verification report

Use cases

  1. 01Confirm a task meets its stated requirements
  2. 02Check for regressions and unrelated changes
  3. 03Record verification evidence before task completion

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/fusengine/claude-plugins --skill verification

After installing, type/verificationin Claude Code to confirm it loaded.

Details

From the project README
Verification confirms the original request is actually fulfilled -- distinct from sniper, which only confirms the code is clean. It runs a 6-step process: re-read the original request word for word, list every acceptance criterion (explicit and implicit), verify each with concrete evidence (test output, logs, screenshots, diffs), run the full test suite to check for regressions, review every modified file for accidental side effects, then route the "functionally resolved" claim through the `challenger` agent before writing it down.

Step 6 always persists .claude/apex/docs/verify-{task-slug}.md -- an in-context "it works" declaration doesn't survive a session boundary, and this artifact is what later gates (sniper, elicitation) actually check. It sits between eLicit and eXamine in APEX: a task is only complete when both verification and sniper pass.

Verification Before Completion

Overview

Sniper validates CODE QUALITY. Verification validates FUNCTIONAL RESOLUTION. Both are needed before closing any task.

Sniper catches linter errors, SOLID violations, and code style issues. Verification ensures the original request is actually fulfilled -- the right behavior, the right output, the right fix. A task can pass sniper with zero errors and still be functionally wrong.

AspectSniperVerification
FocusCode qualityFunctional correctness
ChecksLinting, SOLID, styleAcceptance criteria, regressions, side effects
RunsAfter any code changeBefore marking task as complete
ResultClean codeSolved problem

Agent Workflow

When invoked, follow the 6-step verification process below before marking any task as completed.

6-Step Verification Process

Step 1: Re-read the original request Go back to the original issue, task description, or user message. Read it word by word. Do not rely on memory or assumptions.

Step 2: List ALL acceptance criteria Extract every explicit and implicit requirement from the original request. Number them. If the request is vague, list what a reasonable user would expect. Name each part of the owner's request, including additions made mid-task; a rule acquired for one entity (trash, slug, format) applies to its siblings -- grep them for parity.

Step 3: Verify each criterion with evidence For each criterion, provide concrete evidence of resolution:

  • Test output showing the expected behavior
  • Log output confirming the fix
  • Screenshot of the UI change
  • Code diff showing the implementation

Look before done (canonical rule): open the real output -- rendered page/screenshot, extracted frames, runtime log of the real target (running dev server, real DB, installed build) -- and state what you see in it. Tests green or isolated fixtures ≠ done; a crash fix first reproduces the crash in a test, and "error gone" ≠ behaviour correct.

Step 4: Check for regressions Run the full test suite. Compare results before and after. No new failures, no new warnings.

Step 5: Check for side effects Review every modified file. Confirm no accidental changes to unrelated code. Verify dependencies and configuration are unchanged unless required.

Step 6: Confirm functional resolution -- challenge, then write the artifact Before writing "Original problem is FUNCTIONALLY resolved," ALWAYS route the claim through the challenger agent (or challenge skill), fresh-context: claim = "functionally resolved" + evidence from Steps 3-5, NEVER the investigation reasoning. This is systematic -- every Verify gate, no exception, exactly like sniper runs at every eXamine. Only write the "FUNCTIONALLY resolved" verdict after a CONFIRMED result (or an UNCERTAIN explicitly accepted by the owner). A REFUTED verdict must be resolved (fix and re-verify) before the claim reaches the owner -- soft-gate, not a hard veto.

Write .claude/apex/docs/verify-{task-slug}.md (template: references/verify-template.md): every verification step checked, one evidence item per criterion (command output, log excerpt, screenshot path, or diff), plus the challenge verdict from this step. A context-only "it works" declaration does not survive a session boundary; the written artifact is the guardrail gates (sniper, later elicitation passes) actually check. Then state explicitly in your response: "Original problem is FUNCTIONALLY resolved" with a summary of evidence, or list what remains unresolved. Any criterion without its own evidence is reported as "not verified", never folded into "done".

{task-slug}: derive per apex-methodology/references/init-tracking.md (git branch slug or active TaskCreate id) -- same pattern used by the elicitation skill's artifact.


Reference Guide

ResourcePathContent
Checklistreferences/checklist.mdFull verification checklist with all categories
Common Missesreferences/common-misses.mdFrequently forgotten verification items
Artifact Templatereferences/verify-template.mdverify-{task-slug}.md template + task-slug derivation

Integration with APEX

Verification runs between eLicit and eXamine in the APEX workflow:

Analyze -> Plan -> Execute -> eLicit -> [VERIFICATION] -> eXamine (sniper)

This ensures functional correctness is confirmed before code quality validation. A task is only complete when both verification and sniper pass.


Critical Rules

RuleReason
Never skip re-reading the original requestPrevents solving the wrong problem
Evidence required for every criterion"It works" is not evidence
Full test suite, not just new testsCatches regressions
Review ALL modified filesCatches accidental side effects
Both verification AND sniper must passQuality without correctness is useless
Step 6 writes verify-{task-slug}.md to diskIn-context self-review without persisted state regresses across sessions

Comments

Markdown supported