Help us improve
Share bugs, ideas, or general feedback.
From backend-skills
Runs a clean-context blind-verification loop where a sub-agent verifies the main agent's response against user requirements, revising until no blockers remain. Use when the user explicitly asks for verification or review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/backend-skills:iterative-self-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A controlled loop where the main agent owns the answer and, when the user explicitly asks for verification or review, a clean-context sub-agent performs blind verification before the response is surfaced to the user. The sub-agent never edits the artifact, never writes the final response, and never receives anything beyond the applicable user input and the current main-agent response.
Share bugs, ideas, or general feedback.
A controlled loop where the main agent owns the answer and, when the user explicitly asks for verification or review, a clean-context sub-agent performs blind verification before the response is surfaced to the user. The sub-agent never edits the artifact, never writes the final response, and never receives anything beyond the applicable user input and the current main-agent response.
The loop guards against two failure modes:
Use this skill only when the user explicitly asks for verification, review, re-checking, proof, cross-checking, or another second-pass quality gate. Do not run this skill automatically for ordinary conversation or routine task completion.
When invoked, treat all of the following as current_response artifacts:
If the user explicitly narrows verification to one part (for example, "이 파일만 검증해줘", "요약 부분만 봐줘", "3번 항목만 확인해줘"), construct {{USER_INPUT}} from only the user utterances needed to define that requested scope and pass only the corresponding part of {{MAIN_RESPONSE}}. Do not let unrelated conversation context broaden the review.
sub_agent_prompt_template.md.artifact_inspections record. Intentionally skipped artifacts should be listed in skipped_artifacts. A clean verdict without complete manifest coverage is invalid. Schema and enforcement live in report_format.md.| Role | Responsibilities | Forbidden |
|---|---|---|
| Main agent | Draft answer, call sub-agent, parse report, route findings, revise, decide termination, ask user when needed, write final response with metadata | Pass prior findings, reasoning, or criteria summaries to the sub-agent |
| Sub-agent | Blind review, emit YAML report, quote evidence, classify unverified assertions | Edit the answer, write the final response, ask the user, request more context, invent context |
Write the best current response. This is iteration 0's current_response. The response may be code-related, document-related, a plan, a summary, a file-change report, or ordinary prose.
Invoke the sub-agent with the prompt body from sub_agent_prompt_template.md. The template takes exactly two variables: {{USER_INPUT}} and {{MAIN_RESPONSE}}. Add nothing else.
{{USER_INPUT}} is not "the user's last message" — it is the applicable substantive task request that serves as the reference point for verification. When the user explicitly narrows verification, include only the user utterances that define that scope. When the most recent user message is a meta-trigger (skill re-invocation, "한번 더", "again", greetings, plain acknowledgements, or any message with no task information), reconstruct the slot by chronologically excerpting only the user's own utterances from earlier in the conversation. The reconstructed block must consist solely of verbatim user quotes — no main-agent summaries or interpretations. The canonical definition of the reconstruction rules and procedure lives in the Call-site notes of sub_agent_prompt_template.md.
The seven review axes are inlined in the prompt. Their intent and scope guards live in verification_criteria.md.
The sub-agent emits the YAML schema in report_format.md. Validate per that file's enforcement rules; re-call the sub-agent when the report is invalid. After two consecutive invalid reports the verifier_invalid_report defensive trigger fires (see termination_triggers.md).
Route each item per routing_rules.md. Key branches:
scope_creep issues: do not silently apply or remove them. Defer them to the user-decision phase unless they also contain a blocker or major correctness problem.unverified_assertions:
user_input_ambiguity + affects_direction=true → ask user only after any accepted non-minor fixes have been re-verified.unverifiable_fact → main verifies directly or hedges. Never ask the user.minor_default or affects_direction=false → use a reasonable default, state the assumption.blocker or major issue, missing requirement, or direction-affecting unverified assertion can be resolved by the main agent, revise the response.{{MAIN_RESPONSE}}.minor items as residual information when useful.scope_creep as a keep/remove decision.user_input_ambiguity items that affect direction as direct questions.Per the canonical definition in routing_rules.md. Positive triggers cannot fire while routed items remain unresolved.
At the end of every iteration, evaluate the termination triggers in the priority order defined in termination_triggers.md. The first trigger that fires ends the loop.
For trigger #5 (Stable findings), invoke the equivalence-judge sub-agent as defined in termination_triggers.md — a separate single-shot sub-agent that takes only the two issue sets and answers yes/no. This is distinct from the verification sub-agent and exists to keep equivalence judgments independent of the main agent's self-bias.
User clarification is not a termination trigger — it is a Phase B routing branch (pause → ask → resume from Step 1 without resetting the iteration counter).
If no trigger fires, loop to Step 2. Otherwise, go to Step 8.
Append the termination block defined in termination_triggers.md:
termination:
trigger: clean_pass | severity_floor | regression | verifier_invalid_report | sub_agent_failure | oscillation | stable_findings | no_progress | no_op
iterations: <count>
residual_issues:
- severity: minor
problem: <one-line description>
rejected_findings:
- problem: <one-line description>
reason: scope_creep | redundant | factually_wrong | weak_evidence
user_decisions:
- question: <asked>
answer: <user's answer>
failure_log:
- type: transient | permanent
cause: <one-line description>
attempt: <number>
Only clean_pass and severity_floor represent successful termination. Surface every other trigger to the user — do not hide them behind a normal-looking response.
{{USER_INPUT}} and {{MAIN_RESPONSE}} — no other variables.{{USER_INPUT}} and {{MAIN_RESPONSE}} include only the requested scope.{{USER_INPUT}} is not filled with only a meta-trigger one-liner (e.g., "한번 더", "/iterative-self-review"); it contains the substantive request reconstructed from the user's own utterances.{{USER_INPUT}} consists solely of verbatim user-utterance quotes — no main-agent summaries or interpretations.artifact_inspections for every cited artifact, or an explicit failed inspection record.evidence direct quote (otherwise downgraded).unverified_assertions item has source_of_uncertainty and affects_direction.user_input_ambiguity + affects_direction=true routes to a user question only after accepted non-minor fixes have been re-verified.| File | When to read |
|---|---|
| sub_agent_prompt_template.md | Step 2 — exact prompt body to paste into the sub-agent call (canonical wrapper-vs-reality rules) |
| verification_criteria.md | Step 2 — seven review axes and their scope guards |
| report_format.md | Step 3 — YAML schema, evidence/uncertainty enforcement, manifest enforcement (canonical) |
| routing_rules.md | Step 4 / Step 5.5 — accept/reject routing, unverified_assertions routing, routing-completion gate (canonical) |
| termination_triggers.md | Step 6 — nine triggers, priority order, equivalence-judge call, metadata schema |
npx claudepluginhub buyoung/skills --plugin devops-skillsVerifies plans, specs, and documents using Codex as independent reviewer with Claude double-check for PASS/FAIL verdict on issues like logical gaps and feasibility risks. Use for 'verify this plan' or /codex-verify.
Runs multi-agent verification loop post-implementation, dispatching specialized agents for review with autonomous subagent fixes and retries until unanimous approval.
Verifies high-stakes outputs via multi-agent adversarial review: dual independent agents apply same rubric, both must pass before shipping, with fix iterations to convergence.