review-loop

review-loop is a skill for Claude Code from infohata/mind-vault. It costs 153 tokens per session (11,206 once invoked), scanned A, original, Apache-2.0.

A controlled process for reviewing a pull request, fixing selected findings, and running the review again with one or more automated review services.

In plain words
What is it for?
It helps triage review comments into priority levels, make batched fixes in commits, retrigger Bugbot, Copilot, or Claude reviews, and monitor the results.
Why use it?
It keeps repeated review cycles organized by grouping findings, limiting fixes per cycle, and tracking whether each service has responded.

Skill for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions subagents.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the mv plugin — 23 skills, 6 commands, 8 agents, 2 hooks shipped together

Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add infohata/mind-vault
Claude Code
/plugin install mv

Made for: Claude Code.

Or install mv, the plugin that ships this one along with the rest of its 23 skills, 6 commands, 8 agents, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for review-loop

README.md
[![agentmods](https://agentmods.dev/badge/skills/infohata/mind-vault/review-loop.svg)](https://agentmods.dev/skills/infohata/mind-vault/review-loop)
Your own site
<a href="https://agentmods.dev/skills/infohata/mind-vault/review-loop"><img src="https://agentmods.dev/badge/skills/infohata/mind-vault/review-loop.svg" alt="Measured on agentmods" height="20"></a>
Per session 153 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 11,206 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00153 $0.11206
Opus 5 $0.00077 $0.05603
Sonnet 5 $0.00031 $0.02241
Haiku 4.5 $0.00015 $0.01121

Measured today against content hash fd924c73bc30, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

review-loop scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/review-loop/SKILL.md · 270 lines

How it starts

The opening of the file, as written. The whole thing — 270 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Drive a review-fix-rerun cycle on the given PR using one or more review engines. The orchestrator is engine-agnostic — all engine-specific work routes through adapters described in references/engine-adapter-contract.md.

Inputs:

  • PR_NUMBER (optional; defaults to PR for current branch).
  • ENGINES (one or more of: bugbot, copilot, claude; defaults to bugbot,copilot,claude — all engines whose adapter is present + retrigger tool is reachable. Reachability caveat (A2): claude is in the default set only on repos where its action workflow (claude-code-review.yml) is installed; where absent, find_claude_comments.sh emits CLAUDE_NOT_INSTALLED=true and claude self-excludes from the default so a bare /review-loop doesn't block to HUNG on an un-provisioned engine. An explicit /review-loop <PR> claude still attempts it and degrades loudly — see references/engine-claude.md § Tool invocations.)

This skill is invoked via commands/review-loop.md — the single review entry point. Pass ENGINES as bugbot, copilot, claude, or any subset (e.g. bugbot,copilot,claude); single-engine runs are just a one-element list.

Before you trigger engines — wrap docs first if this is a doc-heavy / IDEA PR. If the PR carries substantial docs (IDEA file, plan, index, devlog, guides), run a bare /wrap (the --scope=docs default) FIRST, then trigger engines — so the reviewer sees docs at their merged shape and doc-consistency findings land in this single review pass instead of as post-review drift. /wrap never merges, so it is safe to run before review; this is the wrap-before-review single-review cadence — one pass over the wrapped PR covers code + docs (no separate deliverables/docs passes), then /land merges. Mechanics: skills/wrap/references/WRAP_BEFORE_REVIEW.md. (Code-only PRs: skip — go straight to the loop.)

Pre-flight — un-draft the PR. /work opens PRs as draft so the push-triggered Claude engine doesn't bill a review on every WIP commit (see references/engine-claude.md § Push-triggered model). The review stage is where that flips: if claude is in ENGINES and gh pr view <PR> --json isDraft -q .isDraft is true, mark it ready (gh pr ready <PR>) before Phase 1 — a draft PR makes claude no-op (the run fires but posts nothing → reads SILENT), so its verdict is unavailable until ready. Bugbot/Copilot are unaffected by draft state. Skip the un-draft only if the user explicitly wants the PR to stay draft.

Hard bounds (enforced by the loop)

  • max_commits_per_session = 20
  • max_active_work_minutes = 240 (excludes ScheduleWakeup sleep time; 240 covers large multi-engine surface-migration PRs whose fix-cycle count legitimately accumulates past 180)
  • max_idle_polls = 10 (consecutive wakes with no new finding AND no new push, across all engines). Lowered from 20: with the 1200s Phase 4 backstop (step 1), 10 idle polls ≈ 3.3h wall-clock — within max_active_work_minutes, and the Monitor accelerator (references/MONITOR_ACCELERATION.md) ends most waits on a real event rather than a poll, so this count is a backstop, not the primary cadence. New-push detection: Phase 4 compares the scratch file's last_push_sha against git rev-parse HEAD on each wake; if they differ (e.g. an out-of-band push by another process or the user), reset idle_polls=0, update scratch last_push_sha, and re-enter Phase 1 to fetch fresh state for the new SHA. Without this check the counter accumulates forever past a push the loop didn't initiate.
  • Targeted tests only inside the loop; broader regression deferred to hand-back
  • Feature branch only — never main (per RULE_git-safety)
  • Batch fixes per cycle into one commit, not one-per-finding
  • Commits: standard RULE_git-safety applies — feature branches are the agent's sandbox, so the loop commits and pushes Tier 1 fixes autonomously. Tier 2 still needs explicit per-finding fix-direction approval. Protected-branch guardrails remain in force: never main, never merge into a protected branch, never force-push to protected, never --no-verify.

Read the full file on GitHub · 270 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +1 lines fd924c73bc30
  2. yesterday Changed · +2 lines 88c9f2edbe56
  3. 5d ago First seen · 267 lines · 153 tokens per session scan A acffeeab5d6f

Subscribe to this mod's changes

review-loop is a skill published in the GitHub repository infohata/mind-vault (2 stars, last pushed yesterday), licensed Apache-2.0. It adds 153 tokens to every session and 11,206 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens

chronicle

Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…

microsoft/vscode · 72 tokens

imagegen

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…

openai/codex · 113 tokens