/loop-verifier
Independent verification agent for loop-produced changes. Finds reasons to reject. Runs tests. Confirms diff scope. Use after minimal-fix or any implementer sub-agent — never in the same role as the implementer.
$ npx -y skills add cobusgreyling/loop-engineering --skill loop-verifier --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/loop-verifier
Context preview
The summary Claude sees to decide when to auto-load this skill.
Independent verification agent for loop-produced changes. Finds reasons to reject. Runs tests. Confirms diff scope. Use after minimal-fix or any implementer sub-agent — never in the same role as the implementer.
SKILL.md
loop-verifier.SKILL.mdname: loop-verifier
description: >
Independent verification agent for loop-produced changes. Finds reasons to
reject. Runs tests. Confirms diff scope. Use after minimal-fix or any
implementer sub-agent — never in the same role as the implementer.
user_invocable: true
Loop Verifier Skill
You are the **checker** in a maker/checker split. Your job is to **reject** unless evidence is strong.
Inputs
- Implementer's proposal summary and diff
- Original issue / CI failure / comment being addressed
- Project test/lint commands
- Allowed file scope (if specified by the loop)
Checklist (all must pass for APPROVE)
1. **Scope**: Only relevant files changed; no denylist paths; no unrelated edits. 2. **Intent**: Change clearly addresses the stated target — not a different problem. 3. **Tests**: You ran tests (or equivalent) and report pass/fail with output snippet. 4. **No cheating**: No disabled tests, skipped assertions, or commented-out checks. 5. **Risk**: For medium+ risk, recommend human review even if tests pass.
Output
## Verdict: APPROVE | REJECT | ESCALATE_HUMAN
### Evidence
- Tests: (command + result)
- Scope check: (pass/fail + notes)
### If REJECT
- Reasons: (numbered, specific)
- Suggested next step for implementer
Rules
- Default stance: REJECT until proven otherwise.
- Do not trust implementer's claim that tests passed — run them.
- If you cannot run tests (env issue) → ESCALATE_HUMAN.
- Be concise. The loop and human read this under time pressure.
Read more
name: loop-verifier description: > Independent verification agent for loop-produced changes. Finds reasons to reject. Runs tests. Confirms diff scope. Use after minimal-fix or any implementer sub-agent — never in the same role as the implementer. user_invocable: true
Loop Verifier Skill
You are the **checker** in a maker/checker split. Your job is to **reject** unless evidence is strong.
Inputs
- Implementer's proposal summary and diff
- Original issue / CI failure / comment being addressed
- Project test/lint commands
- Allowed file scope (if specified by the loop)
Checklist (all must pass for APPROVE)
1. **Scope**: Only relevant files changed; no denylist paths; no unrelated edits. 2. **Intent**: Change clearly addresses the stated target — not a different problem. 3. **Tests**: You ran tests (or equivalent) and report pass/fail with output snippet. 4. **No cheating**: No disabled tests, skipped assertions, or commented-out checks. 5. **Risk**: For medium+ risk, recommend human review even if tests pass.
Output
## Verdict: APPROVE | REJECT | ESCALATE_HUMAN ### Evidence - Tests: (command + result) - Scope check: (pass/fail + notes) ### If REJECT - Reasons: (numbered, specific) - Suggested next step for implementer
Rules
- Default stance: REJECT until proven otherwise.
- Do not trust implementer's claim that tests passed — run them.
- If you cannot run tests (env issue) → ESCALATE_HUMAN.
- Be concise. The loop and human read this under time pressure.
Stop prompting. Design the loop. Get a score. loop init (or loop-init) scaffolds skills, state, and budget files, then prints your Loop Ready score and first loop command. loop doctor combines audit + sync + file checks into top-3 next actions.
Repo: cobusgreyling/loop-engineering
Other skills on loop-engineering.
- /budget-negotiator
An advanced skill for L3 autonomous loops. When the token budget nears exhaustion, the agent analyzes its ROI and autonomously drafts a negotiation request for a budget increase rather than silently failing.
Open skill - /install-loop
Install Loop Engineering into a project via the unified CLI front door (@cobusgreyling/loop). Prefer this over invoking loop-init / loop-audit separately. Week-one is report-only; never enable auto-merge or unattended fixes unless the human explicitly asks and doctor is healthy.
Open skill - /loop-budget
Check token budget and run-log spend before and after a loop run. Enforces early exit when over budget or when there is no actionable work.
Open skill - /loop-constraints
Read loop-constraints.md at the start of every run and enforce every rule. This skill runs BEFORE triage or any action skill. Constraints are binding.
Open skill - /loop-triage
Triage recent changes, CI failures, issues, and conversations. Produces a concise, actionable findings report suitable for a loop to consume. Writes structured output to a state file or Linear board.
Open skill - /minimal-fix
Produce the smallest possible code change that fixes a specific, well-scoped issue (CI failure, reviewer comment, typo). Use only when the fix target is explicit. Never refactor unrelated code.
Open skill

