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.
/plugin marketplace add infohata/mind-vault/plugin install mvWrote 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.
[](https://agentmods.dev/skills/infohata/mind-vault/review-loop)<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>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.
| Model | Per session | Once 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 |
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.
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 tobugbot,copilot,claude— all engines whose adapter is present + retrigger tool is reachable. Reachability caveat (A2):claudeis in the default set only on repos where its action workflow (claude-code-review.yml) is installed; where absent,find_claude_comments.shemitsCLAUDE_NOT_INSTALLED=trueand claude self-excludes from the default so a bare/review-loopdoesn't block to HUNG on an un-provisioned engine. An explicit/review-loop <PR> claudestill attempts it and degrades loudly — seereferences/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 = 20max_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 — withinmax_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'slast_push_shaagainstgit rev-parse HEADon each wake; if they differ (e.g. an out-of-band push by another process or the user), resetidle_polls=0, update scratchlast_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-safetyapplies — 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.
What ships with it
15 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/claude-code-review.yml 4.1 KB
- assets/claude.yml 2.6 KB
- references/common-review-findings.md 13 KB
- references/COSMETIC_NONCONVERGENCE.md 3.7 KB
- references/engine-adapter-contract.md 27 KB
- references/engine-bugbot.md 6.4 KB
- references/engine-claude-onboarding.md 8.5 KB
- references/engine-claude.md 71 KB
- references/engine-copilot.md 21 KB
- references/GITHUB_APP_DRIVEN_LOOP.md 6.8 KB
- references/LARGE_PR_INDEPENDENT_REVIEW.md 4.8 KB
- references/MONITOR_ACCELERATION.md 14 KB
- references/multi-engine-sync.md 11 KB
- references/REFUTING_A_FINDING.md 4.6 KB
- references/THREAD_AUTO_RESOLVE.md 21 KB
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.
- today Changed · +1 lines fd924c73bc30
- yesterday Changed · +2 lines 88c9f2edbe56
- 5d ago First seen · 267 lines · 153 tokens per session scan A acffeeab5d6f
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.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
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…
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…
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…
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…
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…