# Phx Triage

> Triage review findings interactively — approve, skip, or prioritize each issue. Use after phx-review to filter findings before fixing.

- Skill: `majiayu000/phx-triage` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/phx-triage`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/phx-triage/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/phx-triage

---


# Triage — Interactive Review Resolution

Walk through review findings one by one for human decision before
committing to fixes.

## Usage

```
phx-triage .claude/plans/user-auth/reviews/user-auth-review.md
phx-triage                  # Uses most recent review
```

## Why Triage

After `phx-review` produces findings, you have three options:

1. **Fix everything** — `phx-plan .claude/plans/{slug}/reviews/...`
2. **Triage first** — `phx-triage` (filter, then fix what matters)
3. **Handle manually** — Read review, pick what to fix yourself

Best when review has 5+ findings and you want to prioritize.

## Workflow

### Step 1: Load Review

Read the review file. Parse all findings with severity.

**Auto-approve Iron Law violations**: Findings matching any Iron Law
are auto-approved as "Fix it" without asking. These are non-negotiable
in Elixir/Phoenix development.

### Step 2: Present ALL Findings for Batch Selection

Use `AskUserQuestion` with `multiSelect: true`. Start with
severity shortcuts, then list individual findings:

```
AskUserQuestion:
  question: "Which findings do you want to fix? (Iron Law violations auto-included)"
  header: "Triage"
  multiSelect: true
  options:
    - label: "All BLOCKERs ({count})"
      description: "Fix all critical issues"
    - label: "All WARNINGs ({count})"
      description: "Fix all should-fix issues"
    - label: "[BLOCKER] {title 1}"
      description: "{file}:{line} — {brief description}"
    - label: "[WARNING] {title 2}"
      description: "{file}:{line} — {brief description}"
```

If >4 options, batch into groups of 4 with severity shortcuts in
the first batch. Severity shortcuts select all findings of that
level — user can mix shortcuts with individual picks.

**AskUserQuestion discipline**: decisions only — never use it to
narrate progress. Every option carries `{file}:{line}` + counts so
the user decides without opening the review file.

### Step 3: Gather Context on Selected Items

For selected items, ask ONE batch follow-up: "Any specific
approach for any of these?" If they say "just fix them", proceed.

### Step 4: Generate Triage Summary

Write to `.claude/plans/{slug}/reviews/{slug}-triage.md` with Fix Queue
(approved items with checkboxes), Skipped, and Deferred sections.

### Step 5: Present Next Steps

```
Triage complete: {n} to fix, {n} skipped, {n} deferred.

1. Plan fixes — phx-plan .claude/plans/{slug}/reviews/{slug}-triage.md
2. Fix directly — phx-work (for simple fixes)
3. Review deferred items later
4. Capture solutions — phx-compound (if patterns were solved)
```

## Iron Laws

1. **Batch selection over one-by-one** — Use multiSelect for efficiency
2. **User decides, not the agent** — Present facts, don't push
3. **BLOCKERs cannot be skipped silently** — Warn if user tries
4. **Capture user context** — Every "fix it" should include
   any user guidance for better fixes
5. **Suggest compound after triage** — If triage reveals solved patterns
   (root cause identified, fix known), mention `phx-compound`
6. **NEVER auto-decide severity or auto-dismiss findings** — the human assigns final priority; present the agent's severity as a recommendation, not a verdict

## Integration with Workflow

```text
phx-review
       |
phx-triage  ← YOU ARE HERE (interactive filtering)
       |
phx-plan (with triage file) → phx-work → phx-compound
```

## References

- `references/triage-patterns.md` — Common triage decisions

