Agent Skills: /titans — Code Review Triad

>

UncategorizedID: spm1001/claude-suite/titans

Install this agent skill to your local

pnpm dlx add-skill https://github.com/spm1001/trousse/tree/HEAD/skills/titans

Skill Files

Browse the full folder contents for titans.

Download Skill

Loading file tree…

skills/titans/SKILL.md

Skill Metadata

Name
titans
Description
>

/titans — Code Review Triad

Three reviewers, three lenses. Dispatch in parallel, synthesize findings.

When to Use

  • After substantial work — Before /close, when a feature/fix/refactor is "done"
  • Before shipping — Final quality gate
  • Periodic hygiene — "What's rotting that I haven't noticed?"

When NOT to Use

  • Quick fixes under 50 lines
  • Exploratory spikes
  • Throwaway scripts (unless they stopped being throwaway)
  • When you need speed over thoroughness

Beyond Code Review

The three-lens pattern works for more than code. The underlying structure (hindsight/craft/foresight) applies to any artifact worth reviewing thoroughly:

| Domain | Epimetheus asks | Metis asks | Prometheus asks | |--------|-----------------|------------|-----------------| | Documentation | What's stale or misleading? | Is it clear and well-structured? | Does it serve future readers? | | Architecture | What's fragile or debt-laden? | Does it follow good patterns? | Does it enable what we're building toward? | | Process | What's broken or painful? | Is it efficient and clear? | Will it scale with the team? | | CLAUDE.md | What's wrong or outdated? | Is it well-organized? | What should future Claude know? |

Discovered Jan 2026: Used titans pattern to review trousse itself for CLAUDE.md updates. The three lenses surfaced different categories of findings — infrastructure bugs (Epimetheus), stale references (Metis), undocumented contracts (Prometheus) — that a single-pass review would have missed.

When adapting: Adjust the reviewer briefs for the domain. The output structure (findings, assumptions, could-not-assess, questions) remains useful regardless of what you're reviewing.

The Triad

| Titan | Lens | Question | Focus | |-------|------|----------|-------| | Epimetheus | Hindsight | "What has already gone wrong, or will bite us?" | Bugs, debt, fragility, security | | Metis | Craft | "Is this well-made, right now, for what it is?" | Clarity, idiom, structure, tests | | Prometheus | Foresight | "Does this serve what we're building toward?" | Vision, extensibility, knowledge capture |

Why these three? Hindsight catches what's broken. Craft ensures current quality. Foresight protects future-you. Small overlaps are fine — they're perspectives, not partitions.

Orchestration

1. Scope the review

Before dispatching, establish:

  • What to review — specific files, directory, or "everything touched this session"
  • Context available — CLAUDE.md, README, architecture docs
  • Goals if known — roadmap items, intended consumers, lifespan

If scope is unclear, ask. Don't review the entire codebase by accident.

2. Dispatch reviewers

Launch three parallel Task calls. Use Explore subagent with model: "opus" — deep review needs Opus-level reasoning, not Haiku speed.

Each reviewer receives:

  • The Reviewer Brief for their lens (from references/REVIEWERS.md)
  • The scoped files/context
  • Awareness of the other two reviewers (to minimize redundancy)
  • The output structure template
Task(
  subagent_type: "Explore",
  model: "opus",
  description: "EPIMETHEUS review of [scope]",
  prompt: "[Reviewer brief from REVIEWERS.md] + [scoped files] + [output template]"
)

Dispatch all three in a single message (parallel execution).

3. Collect outputs

Each reviewer returns structured findings. See Output Structure below.

Partial failures: If a reviewer times out, errors, or returns malformed output:

  • Proceed with available outputs (two reviews > none)
  • Note the gap in synthesis ("Epimetheus did not complete — hindsight lens missing")
  • Consider re-running the failed reviewer with tighter scope

4. Synthesize

Merge outputs into actionable summary:

  • High-priority findings (multiple reviewers agree)
  • Conflicts reveal trade-offs (disagreements worth surfacing)
  • "Could not assess" → documentation debt
  • Critical path before shipping

See references/SYNTHESIS.md for synthesis patterns.


Output Structure (All Reviewers)

Each reviewer uses this template:

## [TITAN] Review

### Findings
Numbered list of issues, each with:
- What: the problem
- Where: file/line/function
- Severity: critical | warning | note
- Fix complexity: trivial | moderate | significant

### Assessed Under Assumptions
State the assumption, then the conditional finding:
- "Assuming this is a long-lived component: [concern]"
- "If throwaway prototype, this concern evaporates"

### Could Not Assess
What's missing that blocks review:
- "No visibility into intended consumers"
- "Can't evaluate against patterns — no access to rest of codebase"
- "Token refresh flow undocumented"

### Questions That Would Sharpen This Review
Specific, answerable questions:
- "Is this called by other agents or only orchestration?"
- "What's the expected lifespan?"
- "Who are the intended consumers?"

"Could not assess" is itself diagnostic. A codebase that leaves Prometheus constantly asking "what are we building toward?" has a documentation problem worth surfacing.


Synthesis Output

After collecting all three reviews, produce:

## Review Triad Synthesis

### High-Priority Findings (Multiple Reviewers)
| Finding | E | M | P | Action |
|---------|---|---|---|--------|
| [issue] | ✓ | ✓ | — | [fix]  |

### Conflicts Reveal Trade-offs
| Trade-off | Metis says | Prometheus says | Resolution |
|-----------|------------|-----------------|------------|
| [tension] | [position]| [position]      | [decision] |

### "Could Not Assess" → Documentation Debt
Repeated across reviewers:
- [gap] — [what's needed]

### Critical Path Before Shipping
| # | Issue | Risk | Fix Complexity |
|---|-------|------|----------------|

### Lower Priority (Track as Tech Debt)
- [items to track but not block on]

### Questions to Resolve
1. [question surfaced by review]

Reference Files

| Reference | When to Read | |-----------|--------------| | REVIEWERS.md | Detailed briefs for each Titan | | SYNTHESIS.md | Patterns for merging outputs, handling conflicts |


Observed Token Consumption

From test runs, reviewers tend to use tokens in this order:

  • Epimetheus uses the most — deepest spelunking through code paths
  • Metis uses moderate — structural analysis, less exploration
  • Prometheus uses the least — architectural assessment from less code

This varies by codebase size and scope clarity. If a reviewer seems to be looping, it usually indicates unclear scope — consider interrupting and re-scoping rather than waiting it out.

Anti-Patterns

| Pattern | Problem | Fix | |---------|---------|-----| | Vague scope | Reviewers loop, miss focus | Explicit file list or "changes since X" | | Skip synthesis | Three reports, no action | Always synthesize findings | | Ignore partial failures | Miss perspectives | Report which reviewer failed, proceed with others | | Review before work is "done" | Premature review | Complete the feature first |


Integration with /open and /close

/open
  ↓
[substantial work]
  ↓
/titans  ← you are here
  ↓
[address critical findings]
  ↓
/close

/titans findings can feed into /close:

  • Critical issues → "Now" bucket (fix before closing)
  • Lower priority → "Next" bucket (create tracker items)
  • Documentation debt → handoff Gotchas section