---
name: Triangulate Spec Review
slug: triangulate-spec-review
category: Quality
description: Triangulate Spec Review runs multiple independent AI reviewers like Claude, Qoder, Codex, or Cursor Agent against the same architecture specs, ADRs, or design documents, normalizes P1/P2/P3 findings, and iterates only on blocking or high-risk issues.
github: "https://github.com/QoderAI/better-harness/tree/main/.agents/skills/triangulate-spec-review"
language: JavaScript
stars: 1898
forks: 158
install: "npx degit https://github.com/QoderAI/better-harness/tree/main/.agents/skills/triangulate-spec-review ~/.claude/skills/triangulate-spec-review"
installs_to: ~/.claude/skills/triangulate-spec-review
source_path: .agents/skills/triangulate-spec-review/SKILL.md
collection_size: 9
category_size: 1354
collection_url: "https://dirskills.com/collections/QoderAI/better-harness"
added: 2026-08-18T06:59:12.146Z
last_synced: 2026-08-18T06:59:12.146Z
canonical_url: "https://dirskills.com/skills/triangulate-spec-review"
---

# Triangulate Spec Review

Triangulate Spec Review runs multiple independent AI reviewers like Claude, Qoder, Codex, or Cursor Agent against the same architecture specs, ADRs, or design documents, normalizes P1/P2/P3 findings, and iterates only on blocking or high-risk issues.

**Install:**

```bash
npx degit https://github.com/QoderAI/better-harness/tree/main/.agents/skills/triangulate-spec-review ~/.claude/skills/triangulate-spec-review
```

## README

# Triangulate Spec Review

Use independent AI reviewers as an evaluation surface for specs. The lead agent
owns synthesis, edits, validation, and the final recommendation.

## Workflow

1. Resolve the target spec path and the acceptance gate. If the user did not
   name dimensions, default to `complexity`, `convenience`, and `evolution`.
2. Read the target spec and nearby repo instructions. Do not pass your suspected
   fixes or conclusions to reviewers.
3. Use the same read-only prompt for every reviewer. Ask for structured
   `P1`/`P2`/`P3` findings and a `p1_p2_clear` boolean.
4. Run at least two reviewers; prefer three when available. Use
   `scripts/run-triad-review.mjs` for repeatable local runs.
5. Normalize findings. Treat reviewers as evidence, not authority:
   fix convergent `P1`/`P2` issues first, challenge weak or contradictory
   findings, and leave `P3` as backlog unless it is cheap and clarifying.
6. If the user asked for edits, patch only the owning spec or directly related
   helper docs. Keep unrelated refactors out of the review loop.
7. Run local validation such as `git diff --check`, relevant tests, and targeted
   `rg` checks for renamed concepts or stale paths.
8. Repeat the reviewer pass until every requested reviewer reports no `P1` or
   `P2`, or until the user stops the loop.

## Resources

- Read `references/review-loop.md` for the prompt contract, severity rubric,
  command matrix, and iteration patterns.
- Run this skill's `scripts/run-triad-review.mjs --target <path>` script,
  resolved relative to the `triangulate-spec-review` skill directory, to execute
  a read-only review round and write normalized JSON output.

## Guardrails

- Pass raw artifacts and task-local context to reviewers, not intended answers.
- Keep every reviewer prompt materially identical unless a tool requires command
  syntax changes.
- Do not let reviewers edit files. The lead agent applies changes after
  comparing findings.
- Do not declare acceptance from an average score. Acceptance requires no
  `P1`/`P2` findings from the required review surface.
