Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install lostforwurdz-loom-skills-archived-dual-reviewgit clone https://github.com/lostforwurdz/loom.gitcp loom/SKILL.MD ~/.claude/skills/lostforwurdz-loom-skills-archived-dual-review/SKILL.md---
name: dual-review-archived
description: >-
DEPRECATED. Converted to a vendor-neutral pipeline in
~/loom/pipelines/dual-review.json (kobramaz-lmn.53 sub-task #4,
2026-05-12). Any client invokes via `pool_pipeline_run dual-review`
through the loom-pool MCP. Original content kept below for reference.
---
> **DEPRECATED — kobramaz-lmn.53 sub-task #4 (2026-05-12).**
>
> This Claude-Code-only chain skill has been replaced by the vendor-neutral
> pipeline at `~/loom/pipelines/dual-review.json`. The pipeline is
> auto-loaded by the daemon at startup; invoke from any MCP client (Claude
> Code, Cursor, etc.) via:
>
> ```jsonc
> // pool_pipeline_run
> { "pipeline_id": "dual-review" }
> ```
>
> Same behavior:
> 1. Two reviews run in parallel (one via the `reviewer` agent, one via a
> cold-read `routing_hint`-restricted substrate — typically `gemini-cli`)
> 2. A `debugger`-agent synthesizer fires `on_complete_all` of both reviews
> 3. The run row holds all three step states + the synthesizer's verdict
>
> `pool_pipeline_run_status` returns the full run including each step's
> task id and result. There is no `.claude/audits/DUAL_REVIEW_*.md` file —
> the daemon is the persistence layer now.
>
> Trigger criteria (auth / payment / encryption / migrations / etc.) move
> from this skill into the calling client's own logic (e.g. a PR template,
> a pre-commit hook, an agent prompt that decides which pipeline to run).
# Dual Review (historical content below)
High-stakes parallel review combining a local `reviewer` agent and a Gemini-side `strict-reviewer`. The orchestrator synthesizes both verdicts.
## Trigger
Invoke manually when the change touches: authentication, payment processing, encryption/key management, database schema migrations affecting production data integrity, or any change classified high-stakes in `workflows/code-writing.md`.
## Phase 1 — Parallel Dual Review
> [!CAUTION]
> **BLOCKING STEP.** Dispatch both reviewers in a SINGLE message with multiple Task tool calls. Do not dispatch sequentially — the independence of the two reviewers is the guarantee.
Dispatch both reviewers in a SINGLE message with multiple tool calls:
| Dispatch | Tool | Output |
|---|---|---|
| local `reviewer` agent (Claude) | `Agent` (subagent_type: `reviewer`) | severity-bucketed findings + Approve / Request Changes verdict |
| Gemini cold-read via Loom Pool | `pool_dispatch_sync` with `routing_hint: ['code-review', 'large-context-summary']` (or explicit `worker: 'gemini-cli'`); inject the strict-reviewer instruction via `append_system_prompt` (paste in `~/loom/gemini/skills/strict-reviewer.md` body), or pass `agent: 'reviewer'` once the Phase 21 agent layer is fully wired | Critical / Important / Suggestions + Approve / Request Changes / Major Rework verdict |
For the pool dispatch: provide the full diff and relevant context files in the prompt. The router (`~/loom/src/pool/router.ts`) picks a worker that satisfies BOTH the `code-review` and `large-context-summary` capabilities and has cost/headroom; default selection is `gemini-cli` for the 1M-context cold read, but a Claude worker is a valid fallback if Gemini quota is exhausted.
Wait for BOTH to complete before Phase 2.
> **Phase 18 cutover complete (2026-05-12).** The legacy `agent-pool` MCP has been removed; all dispatches go through `loom-pool` (backed by the loom daemon at `http://localhost:7474`). Re-register `agent-pool` only if rolling back, which would also require restoring the gemini-router skill from `skills/archived/`.
## Phase 2 — Synthesis (sequential)
The orchestrator synthesizes both verdicts. If reviewers agree: record consensus. If they disagree on Critical findings:
> [!CAUTION]
> **BLOCKING STEP.** Surface the disagreement to the user with BOTH arguments verbatim. Do not silently resolve Critical disagreements.
Write `.claude/audits/DUAL_REVIEW_<timestamp>.md` with both verdicts side-by-side and a synthesis section (agreement map, unresolved disagreements, final recommendation).
## Verification
- [ ] `.claude/audits/DUAL_REVIEW_<timestamp>.md` exists with both verdicts and synthesis section.
- [ ] No Critical findings left unresolved or silently dismissed.
## References
- `~/loom/docs/pool-architecture.md` — 7-factor routing engine + worker capabilities
- `~/loom/gemini/skills/strict-reviewer.md` — the skill the pool worker loads to format its verdict
- `~/loom-pool-mcp/README.md` — full `pool_*` tool surface and `routing_hint` semantics
- `workflows/code-writing.md` — standard reviewer gate for non-high-stakes changes
- `workflows/plan-and-execute.md` — use this skill at Phase 7 for high-stakes plan phases
- `skills/archived/gemini-router/SKILL.md` — deprecated pre-Phase-15 routing skill (historical reference)