Skip to main content
ClaudeWave
Skill1.2k repo starsupdated yesterday

verification-before-completion

verification-before-completion enforces evidence-based completion claims by requiring execution of proof commands before declaring work done, passing, fixed, or ready to merge. Use this skill whenever about to claim success, express satisfaction, commit code, or hand off work to prevent false completeness assertions and ensure all completion claims include verification output, scope coverage, residual risk, and confidence grading.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/GanyuanRan/Aegis /tmp/verification-before-completion && cp -r /tmp/verification-before-completion/skills/verification-before-completion ~/.claude/skills/verification-before-completion
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

<EXPLICIT-MODE-GATE>
If activation mode is explicit (`~/.config/aegis/config.toml` has
`activation_mode = "explicit"`, or `AEGIS_ACTIVATION_MODE=explicit` is visible
in the environment) and the current user request did not explicitly invoke
Aegis or this skill by name, exit back to the fast path: answer concisely
without this workflow's checklist, ceremony, or document requirements. If the
user explicitly named Aegis or this skill, proceed normally.
</EXPLICIT-MODE-GATE>

# Execute

Before any success claim, classify destructive permission needs, choose and run
a fresh falsifying check, read its complete result/scope, then select L0/L1/L2.
If evidence is partial, stale, failing, or narrower than the claim, downgrade;
never claim complete first and verify later.

This Method Pack grants no authoritative `GateDecision`, `PolicySnapshot`,
evidence sufficiency, requirement acceptance, or completion authority.

## Stop Signals

Stop before claiming or advancing when:

- evidence is uncertain, stale, agent-only, or narrower than the claim;
- the next action is commit, push, PR, merge, tag, publish, release, or handoff;
- task/slice completion is being treated as accepted requirement satisfaction;
- governance or retirement lacks repair/retirement evidence;
- retained old logic lacks a retention reason and retirement trigger; or
- complexity closure is unresolved.

Destructive or irreversible work needs scoped permission; warnings or broad
assent do not grant it.

## Required Evidence Slots

Keep these slots explicit and auditable:

```text
- Evidence action / check performed:
- Result / exit status:
- Covered scope:
- Uncovered scope:
- Residual risk:
- Confidence grade: A | B | C
```

- `A`: direct target plus relevant regression evidence; no meaningful unknown.
- `B`: direct target evidence with bounded residual risk.
- `C`: partial evidence only; do not claim full completion.

When tests shape the claim, include target test and related regression evidence.
If automation is blocked, give reproducible manual steps and lower confidence.
Evidence is not completion authority.

## Task Git Closeout

For modification tasks, compare the final state with `TaskStartSnapshot`. Only
the coordinator stages task-owned paths; never use broad staging or include
pre-existing user state. A default local task commit follows fresh verification
unless the task is read-only/no-change, user/project authority says `no commit`, or
verification failed. Read back `HEAD`, message, files, and remaining task delta.
Commit/hook failure preserves the work and blocks a clean claim; do not bypass hooks.

The Git receipt reports branch; commit SHA/message or non-commit reason;
`Task clean`; `Repository clean`; and each task-created branch/worktree as
created, removed, or retained with reason. Task-clean never implies repo-clean.
This receipt is evidence, not external integration or completion authority.

## Aegis Visibility / Single Closeout

Use one completion surface; no parallel final reports.
`verification-before-completion` is the single completion closeout aggregator.
Adjacent skills and L2 cards feed the receipt but must not replace it or become
a competing final report owner.
Receipt aggregation is output conformance, not a routing trigger: do not load
extra skills, emit a Trace Digest, or add ceremony merely to fill the receipt.

If entry visibility was omitted, recover the decision/evidence boundary and
name the gap; a used-skills list or `Aegis Contribution Note` is no substitute.

## L0 Fast-Path

For tiny low-risk work, one natural sentence can name check/result, uncovered
scope/risk, and confidence.

## L1 Default Receipt

For non-trivial Aegis-shaped work, use this receipt. Evidence slots fold into
`Evidence strength` and `Uncovered risk`; avoid a second evidence report.

```text
Aegis Impact and Safety Receipt:
- Key judgment:
- Avoided misfix:
- Boundary held:
- Baseline alignment:
- Complexity control:
- Evidence strength:
- Uncovered risk:
- Next most valuable verification:
- Aegis path:
```

Field meanings: `Key judgment`=owner/root cause/requirement/completion boundary;
`Avoided misfix`=fallback/duplicate/test accommodation/scope growth;
`Boundary held`=contract/owner/baseline/non-goal/data/runtime boundary;
`Baseline alignment`=aligned/Design Defect/Implementation Drift/missing-authority/needs-clarification/not triggered;
`Complexity control`=completion-time delta/closure;
`Evidence strength`=fresh check/result/scope/confidence;
`Uncovered risk`=remaining gaps/residual risk;
`Next most valuable verification`=highest-value next check;
`Aegis path`=optional, not judgment/evidence.

Natural wording is valid when every semantic slot stays auditable. `Semantic Slots`,
`Natural Surface`, and `Governance Receipt` are compatibility names, not other
reports.

Report what was done, verified, risked, and blocked.
Do not explain obvious trade-offs and do not list actions not taken;
silence on unexecuted options is the compact default, not an omission.

## L2 Expanded Triggers

On any match, read `expanded-closeout.md`. It owns detail; this file owns routing
and the final receipt.

| Trigger | Expanded owner |
|---|---|
| release/merge/publish/readiness/handoff | Readiness Summary |
| audit/debug/release/long-task review/trace request | Trace Digest |
| goal/TaskIntentDraft/plan/spec/Slice Card | Goal Closure |
| project/domain semantic delta | Context Impact |
| target `docs/aegis/` changed | Workspace Integrity |
| requirement/product/durable architecture | Baseline/ADR |
| governance/cleanup/migration/compat/retirement | Governance/Retirement |
| source-of-truth/irreversible deletion | destructive-action cards |
| material complexity pressure | Expanded Complexity Detail |
| high-risk or explicit user request for expanded closeout | applicable cards |

For target workspace changes, keep configured Aegis workspace support wired.
When a work record exists run `python <aegis-workspace-helper> bundle --root
<target-