Claude Skill

triage

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

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download oliver-kriska-claude-elixir-phoenix-plugins_elixir-phoenix_skills_triage-9767a82.zip · 3 KB
Part of oliver-kriska/claude-elixir-phoenix — 93 skills

Install

skills CLI npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix/tree/main/plugins/elixir-phoenix/skills/triage
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install oliver-kriska-claude-elixir-phoenix@llmmart
Git git clone https://github.com/oliver-kriska/claude-elixir-phoenix.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole oliver-kriska/claude-elixir-phoenix collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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.

Iron Law violations first: list findings that match an Iron Law at the top, recommended as "Fix it". The user still makes the call (Iron Law 6).

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

/phx:review
       |
/phx:triage  ← YOU ARE HERE (interactive filtering)
       |
/phx:plan (with triage file) → /phx:work → /phx:compound

References

  • ${CLAUDE_SKILL_DIR}/references/triage-patterns.md — Common triage decisions
Files (claude-elixir-phoenix)
  • references
    • triage-patterns.md 2.7 KB
      # Triage Patterns
      
      ## Common Triage Decisions
      
      ### Always Fix (auto-approve, don't even ask)
      
      Iron Law violations and security issues:
      
      - SQL injection or XSS via `raw/1` with untrusted content
      - Missing authorization in `handle_event` (Iron Law 11)
      - `String.to_atom` with user input (Iron Law 10)
      - `:float` used for money fields (Iron Law 4)
      - DB queries in disconnected mount (Iron Law 1)
      - Non-idempotent Oban jobs (Iron Law 7)
      - `mix compile --warnings-as-errors` failures
      
      ### Usually Fix
      
      Common Elixir/Phoenix issues worth addressing:
      
      - N+1 queries — missing `Repo.preload` (Iron Law 6)
      - Missing `^` pin in Ecto queries (Iron Law 5)
      - Large lists without streams in LiveView (Iron Law 2)
      - PubSub subscribe without `connected?/1` (Iron Law 3)
      - Oban args with atom keys (Iron Law 8)
      - Tests without assertions or using `Process.sleep`
      - Missing error handling on external API calls
      
      ### Often Skip
      
      Low-impact or cosmetic issues:
      
      - Credo style suggestions (unless `--strict` is required)
      - `@moduledoc false` on internal/private modules
      - Cosmetic naming improvements
      - "Could use `with` chain" style suggestions
      - Adding typespecs to private functions
      
      ### Context-Dependent
      
      Ask the user for these — the right answer depends on project
      stage and priorities:
      
      - Performance optimizations (premature vs. needed)
      - Test coverage for edge cases (shipping deadline?)
      - Refactoring suggestions (tech debt budget?)
      - Documentation improvements (internal vs. public API?)
      
      ## Severity Reclassification Guide
      
      ### Downgrade from BLOCKER when
      
      - The issue is in code that's not yet reachable
      - There's an existing workaround in production
      - The fix requires a separate migration/PR
      - The issue existed before this change (pre-existing)
      
      ### Upgrade from SUGGESTION when
      
      - The pattern will be copied by future developers
      - It affects a security-sensitive code path
      - It causes confusion in code review
      - It violates an Iron Law
      
      ## Triage Anti-Patterns
      
      ### "Fix everything" without thinking
      
      If you approve every finding, you didn't need triage. Either
      skip triage and go straight to `/phx:plan`, or be more
      selective about what's worth fixing now.
      
      ### "Skip everything" to ship faster
      
      If you skip more than 70% of findings, the review wasn't
      useful or you're cutting too many corners. At minimum, fix
      all BLOCKERs and most WARNINGs.
      
      ### Triaging without reading
      
      Each finding deserves 10-30 seconds of thought. If you're
      pattern-matching on severity alone, you're missing context.
      
      ## Batch Triage for Large Reviews
      
      When a review has 15+ findings:
      
      1. First pass: present all BLOCKERs, recommended "Fix it" (skipping one gets a warning)
      2. Second pass: Present WARNINGs for decision
      3. Third pass: Batch SUGGESTIONs — "Skip all suggestions?"
      
      This prevents decision fatigue on large reviews.
      
  • SKILL.md 3.6 KB
    ---
    name: triage
    description: Triage review findings interactively — approve, skip, or prioritize each issue. Use after /phx:review to filter findings before fixing.
    effort: low
    argument-hint: "[path to review file]"
    ---
    
    # 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.
    
    **Iron Law violations first**: list findings that match an Iron Law at the
    top, recommended as "Fix it". The user still makes the call (Iron Law 6).
    
    ### 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
    
    - `${CLAUDE_SKILL_DIR}/references/triage-patterns.md` — Common triage decisions
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related