# Tribunal

> This skill should be used when the user says "/tribunal", "tribunal", "review this", "3-way review", "risk-value-feasibility check", or wants multi-perspective adversarial review. Also triggered by: "트리뷰널", "리뷰 해줘", "3관점 리뷰", "위험성 검토". Runs 3 agents (Risk/Value/Feasibility) in parallel and synthesizes a verdict.

- Skill: `team-attention/tribunal` (Agent Skill)
- Install (CLI): `npx skillmds@latest add team-attention/tribunal`
- Raw SKILL.md: https://api.skillmd.com/api/skills/team-attention/tribunal/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: team-attention (https://skillmd.com/u/team-attention)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/team-attention/tribunal

---


# /tribunal — 3-Perspective Adversarial Review

You are a tribunal orchestrator. You launch 3 review agents with distinct perspectives,
then synthesize their findings into a unified verdict.

## Architecture

```
            ┌─ codex-risk-analyst (Codex)  ── "What can go wrong?"
Input ──────┼─ value-assessor (Claude)     ── "What value does this deliver?"
            └─ feasibility-checker (Claude) ── "Can this actually be built?"
                         ↓
               You synthesize all 3
               → APPROVE / REVISE / REJECT
```

---

## Step 1: Parse Input

Determine the review target from arguments:

| Input | How to get content |
|-------|-------------------|
| `file.md` or path | `Read(file_path)` |
| `--pr <number>` | `Bash("gh pr diff <number>")` and `Bash("gh pr view <number>")` |
| `--diff` | `Bash("git diff HEAD")` or `Bash("git diff main...HEAD")` |
| No args | Ask user what to review via `AskUserQuestion` |

**Collect the full content** — all 3 agents need the same input.

If reviewing a PLAN.md, also read the corresponding DRAFT.md (if exists) for context.

---

## Step 2: Launch Tribunal (3 Agents in Parallel)

Launch all 3 agents **simultaneously in a single message**:

```
# Risk Analysis (Codex-powered — adversarial)
Task(subagent_type="codex-risk-analyst",
     prompt="""
Review Target: [type - plan/PR/diff/proposal]

## Content
[Full content to review]

## Context (if available)
[Project structure, related patterns, constraints]

Perform adversarial risk analysis. Find everything that could go wrong.
""")

# Value Assessment (Claude — constructive)
Task(subagent_type="value-assessor",
     prompt="""
Review Target: [type - plan/PR/diff/proposal]

## Content
[Full content to review]

## Original Goal
[What was the intent/requirement behind this work]

Assess the value this delivers. Be genuinely constructive but honest.
""")

# Feasibility Check (Claude — pragmatic)
Task(subagent_type="feasibility-checker",
     prompt="""
Review Target: [type - plan/PR/diff/proposal]

## Content
[Full content to review]

## Codebase Context
[Relevant patterns, dependencies, test infrastructure]

Evaluate practical feasibility. Can this actually be built/merged?
""")
```

**CRITICAL**: All 3 in ONE message (parallel). Do NOT run sequentially.

---

## Step 3: Synthesize Verdict

After all 3 agents return, synthesize their findings.

### 3.1 Extract Ratings

From each report, extract the summary rating:
- **Risk**: BLOCK / CAUTION / CLEAR (from risk analyst)
- **Value**: STRONG / ADEQUATE / WEAK (from value assessor)
- **Feasibility**: GO / CONDITIONAL / NO-GO (from feasibility checker)

### 3.2 Verdict Matrix

| Risk | Value | Feasibility | Verdict |
|------|-------|-------------|---------|
| CLEAR | STRONG | GO | **APPROVE** |
| CLEAR | ADEQUATE | GO | **APPROVE** |
| CAUTION | STRONG | GO | **APPROVE** (with notes) |
| CAUTION | ADEQUATE | GO | **REVISE** |
| CAUTION | * | CONDITIONAL | **REVISE** |
| BLOCK | * | * | **REVISE** (or REJECT if critical count > 2) |
| * | WEAK | * | **REVISE** |
| * | * | NO-GO | **REJECT** |
| BLOCK | WEAK | * | **REJECT** |

Use judgment for combinations not in the matrix.

### 3.3 Identify Contention Points

Find areas where agents **disagree**:
- Risk says dangerous, but Value says high-impact → worth the risk?
- Feasibility says hard, but Value says critical → invest the effort?
- Risk says fine, but Feasibility says blocked → hidden dependency?

### 3.4 Compile Required Actions

From all 3 reports, extract actionable items:
- **Must fix** (from BLOCK risks or NO-GO feasibility)
- **Should address** (from CAUTION risks or CONDITIONAL feasibility)
- **Nice to have** (from missed opportunities in value assessment)

---

## Step 4: Present Tribunal Report

```markdown
## Tribunal Verdict

### Panel Scores

| Dimension | Agent | Rating | Key Finding |
|-----------|-------|--------|-------------|
| Risk | codex-risk-analyst | [BLOCK/CAUTION/CLEAR] | [1-line summary] |
| Value | value-assessor | [STRONG/ADEQUATE/WEAK] | [1-line summary] |
| Feasibility | feasibility-checker | [GO/CONDITIONAL/NO-GO] | [1-line summary] |

### Verdict: [APPROVE / REVISE / REJECT]

[1-2 sentence rationale]

### Contention Points
[Where agents disagreed and the resolution reasoning]

### Required Actions
**Must Fix (before proceeding):**
1. [action from risk/feasibility]

**Should Address:**
1. [action]

**Consider:**
1. [action from value missed opportunities]

### Strengths to Preserve
[Key positives identified by value-assessor that should NOT be lost in revisions]

---

<details>
<summary>Full Risk Analysis</summary>

[Complete risk analyst report]

</details>

<details>
<summary>Full Value Assessment</summary>

[Complete value assessor report]

</details>

<details>
<summary>Full Feasibility Report</summary>

[Complete feasibility checker report]

</details>
```

---

## Step 5: Handle Verdict

After presenting the report:

| Verdict | Action |
|---------|--------|
| **APPROVE** | Inform user: "Tribunal approves. Proceed with confidence." |
| **REVISE** | Present required actions. Ask user how to proceed. |
| **REJECT** | Present blockers clearly. Recommend returning to planning. |

For REVISE:
```
AskUserQuestion(
  question: "Tribunal recommends revisions. How do you want to proceed?",
  options: [
    { label: "Apply fixes", description: "Address the required actions and re-review" },
    { label: "Override — proceed anyway", description: "Acknowledge risks and continue (Disagree & Commit)" },
    { label: "Back to planning", description: "Return to /specify to rethink approach" }
  ]
)
```

---

## Usage Examples

```bash
# Review a plan
/tribunal .hoyeon/specs/auth-feature/PLAN.md

# Review a PR
/tribunal --pr 421

# Review current uncommitted changes
/tribunal --diff

# Review with no args (will ask what to review)
/tribunal
```

---

## Checklist Before Stopping

- [ ] All 3 agents launched in parallel (single message)
- [ ] Verdict synthesized with scores table
- [ ] Contention points identified (where agents disagreed)
- [ ] Required actions listed (if REVISE or REJECT)
- [ ] Full reports included in collapsible details
- [ ] User action presented based on verdict

