Multi-agent debate orchestration for Architecture Decision Records. Automatically triggers on ADR create/edit/delete. Coordinates architect, critic, independent-thinker, security, analyst, and high-level-advisor agents in structured debate rounds until consensus.
Multi-agent debate pattern for rigorous ADR validation. Orchestrates 6 specialized agents through structured review rounds until consensus or 10 rounds maximum.
| Trigger Phrase | Operation |
|----------------|-----------|
| review this ADR | Full 6-agent debate on specified ADR |
| validate ADR-005 | Targeted review of specific ADR by number |
| review this decision record | ADR review for durable architecture/design decision records |
| delete ADR-NNN | Deletion review with dependency and supersession checks |
| ADR file created, modified, or deleted | Auto-triggered via detect_adr_changes.py |
# Manual triggers:
/adr-review .agents/architecture/ADR-005-api-versioning.md
"review this ADR"
"validate ADR-005"
"review this decision record under docs/decisions"
Automatic Detection: A Claude Code hook runs at session start and detects ADR changes, prompting you to invoke this skill. The pre-commit hook also detects staged ADR files and displays a reminder.
| Input | Output | Consensus Required | |-------|--------|-------------------| | ADR file path | Debate log + Updated ADR | 6/6 Accept or D&C |
| Pattern | Location | Events |
|---------|----------|--------|
| ADR-*.md | .agents/architecture/ | create, update, delete |
| ADR-*.md | docs/adr/ | create, update, delete |
| ADR-*.md | docs/architecture/ | create, update, delete |
| ADR-*.md | docs/decisions/ | create, update, delete |
| ADR-*.md | architecture/decisions/ | create, update, delete |
Detection: from the skill directory, run python3 scripts/detect_adr_changes.py --base-path <repo-root>. From repo root, run .claude/skills/adr-review/scripts/detect_adr_changes.py for the Claude skill tree or src/copilot-cli/skills/adr-review/scripts/detect_adr_changes.py for the Copilot CLI mirror.
MANDATORY Triggers (automatic):
.agents/architecture/ADR-*.md, docs/adr/ADR-*.md, docs/architecture/ADR-*.md, docs/decisions/ADR-*.md, or architecture/decisions/ADR-*.mdUser-Initiated Triggers (manual):
| Agent | Focus | Tie-Breaker Role | |-------|-------|------------------| | architect | Structure, governance, coherence, ADR compliance | Structural questions | | critic | Gaps, risks, alignment, completeness | None | | independent-thinker | Challenge assumptions, surface contrarian views | None | | security | Threat models, security trade-offs | None | | analyst | Root cause, evidence, feasibility | None | | high-level-advisor | Priority, resolve conflicts, break ties | Decision paralysis |
| Phase | Purpose | Details | |-------|---------|---------| | Phase 0 | Related work research | Search issues/PRs for context | | Phase 1 | Independent review | Each agent reviews ADR using Zimmermann 7-question checklist | | Phase 2 | Consolidation | Identify consensus and conflicts; flag review anti-patterns | | Phase 3 | Resolution | Propose updates for P0/P1 issues | | Phase 4 | Convergence check | Agents vote: Accept/D&C/Block |
Consensus: All 6 agents Accept OR Disagree-and-Commit. Max 10 rounds.
See references/debate-protocol.md for full phase details.
| Phase | Purpose | |-------|---------| | D1 | Detection - identify deleted ADR | | D2 | Impact assessment - find dependencies | | D3 | Archival decision - archive accepted ADRs | | D4 | Cleanup - update references |
See references/deletion-workflow.md for full workflow.
| Priority | Requirement | Gate | |----------|-------------|------| | P0 | Must resolve | BLOCKING | | P1 | Resolve OR defer with issue | BLOCKING | | P2 | Document | Non-blocking |
See references/issue-resolution.md for deferral protocol.
After structural and technical review, apply strategic lenses:
Overall Strategic Assessment: [APPROVED | CONCERNS | REJECTED]
Blocking Issues:
Recommendations:
| Script | Purpose |
|--------|---------|
| .claude/skills/adr-review/scripts/detect_adr_changes.py | Detect ADR file changes for the Claude skill tree |
| src/copilot-cli/skills/adr-review/scripts/detect_adr_changes.py | Detect ADR file changes for the Copilot CLI mirror |
# Basic detection from repo root
uv run python .claude/skills/adr-review/scripts/detect_adr_changes.py
# Skill-relative detection from the Claude skill directory
cd .claude/skills/adr-review
python3 scripts/detect_adr_changes.py --base-path ../../..
cd ../../..
# Compare to specific commit
uv run python .claude/skills/adr-review/scripts/detect_adr_changes.py --since-commit abc123
# Include untracked ADR files
uv run python .claude/skills/adr-review/scripts/detect_adr_changes.py --include-untracked
# Copilot CLI mirror from repo root
uv run python src/copilot-cli/skills/adr-review/scripts/detect_adr_changes.py --include-untracked
# Skill-relative detection from the Copilot CLI mirror
cd src/copilot-cli/skills/adr-review
python3 scripts/detect_adr_changes.py --base-path ../../../..
cd ../../../..
Before marking complete, run the bundled detector to check for pending ADR changes:
uv run python .claude/skills/adr-review/scripts/detect_adr_changes.py --include-untracked
echo "exit=$?" # must be 0; non-zero means git error or I/O failure
HasChanges should be true; if skill was manually invoked on an existing committed ADR, HasChanges: false is expected and acceptableAfter skill invocation:
.agents/critique/ADR-NNN-debate-log.mdstatus field present and a valid enum value: one of
proposed | accepted | rejected | deprecated | superseded (ADR-073).
A missing or out-of-enum status is a P1 blocker; the frontmatter enum is
authoritative for tooling, the prose ## Status carries the human nuance.status to accepted: the same change carries
adr-review debate-log evidence at .agents/critique/ADR-NNN-debate-log.md
(ADR-073 Phase-3 acceptance gate). A hand-edit to accepted with no
debate-log artifact is a forgeable approval signal and MUST be rejected.| Avoid | Why | Instead | |-------|-----|---------| | Single-agent ADR review | Misses domain expertise | Use full 6-agent debate | | Skipping Phase 0 | Duplicates existing work | Always research first | | Ignoring D&C dissent | Loses important context | Document all reservations | | Manual ADR monitoring | Error-prone | Use detect_adr_changes.py | | Deleting accepted ADRs without archive | Loses knowledge | Always archive accepted ADRs |
Each agent should self-check against these. Phase 2 consolidation flags violations.
| Anti-Pattern | Problem | Detection | |-------------|---------|-----------| | Pass Through | Few/no comments, document barely read | Agent produces no substantive findings | | Copy Edit | Focuses on wording, ignores content | All findings editorial, none architectural | | Siding/Dead End | Comments switch topic, deviate from ADR | Agent drifts from decision at hand | | Self Promotion | Recommends reviewer's preferred solution | Agent pushes technology without objective rationale | | Power Game | Authority claims instead of technical arguments | Agent uses position over evidence | | Offended Reaction | Defends criticized position subjectively | Agent reacts emotionally to rationale | | Groundhog Day | Same message repeated across rounds | Agent re-raises resolved issues |
See zimmermann-review-guidance.md for full practices and pledges.
| Document | Content | |----------|---------| | debate-protocol.md | Full Phases 0-4 workflow | | deletion-workflow.md | Phases D1-D4 workflow | | issue-resolution.md | P0/P1/P2 handling and deferral | | artifacts.md | Output formats and templates | | agent-prompts.md | Detailed agent prompt templates | | zimmermann-review-guidance.md | Review practices, 7 anti-patterns, checklist, reviewer pledge (Zimmermann 2023) |
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer