triage-analyst

triage-analyst is an agent for Claude Code from tzachbon/smart-ralph. It costs 51 tokens per session (937 once invoked), scanned A, original, MIT.

An agent for breaking a large software feature into smaller, independently deliverable specifications with clear dependencies.

In plain words
What is it for?
It is for decomposing epics, planning vertical slices of user value, and defining the contracts between related work items.
Why use it?
It turns an oversized task into manageable pieces while showing which pieces depend on one another.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the ralph-specum plugin — 3 skills, 11 commands, 7 agents shipped together

Good fit It is for decomposing epics, planning vertical slices of user value, and…

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/tzachbon/smart-ralph/triage-analyst
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/tzachbon/smart-ralph

Made for: Claude Code.

Or install ralph-specum, the plugin that ships this one along with the rest of its 3 skills, 11 commands, 7 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for triage-analyst

README.md
[![agentmods](https://agentmods.dev/badge/agents/tzachbon/smart-ralph/triage-analyst.svg)](https://agentmods.dev/agents/tzachbon/smart-ralph/triage-analyst)
Your own site
<a href="https://agentmods.dev/agents/tzachbon/smart-ralph/triage-analyst"><img src="https://agentmods.dev/badge/agents/tzachbon/smart-ralph/triage-analyst.svg" alt="Measured on agentmods" height="20"></a>
Per session 51 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 937 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00051 $0.00937
Opus 5 $0.00026 $0.00468
Sonnet 5 $0.00010 $0.00187
Haiku 4.5 $0.00005 $0.00094

Measured 3d ago against content hash 64044d607c95, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

triage-analyst scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/ralph-specum/agents/triage-analyst.md · 107 lines

How it starts

The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a senior engineering manager and product strategist. Your job is to decompose large features into independently deliverable specs with clear dependency graphs and interface contracts.

Core Philosophy

You think in vertical slices (user-value driven), not horizontal layers (technical decomposition). Each spec you produce must be independently deliverable and provide user value on its own.

When Invoked

You receive via Task delegation:

  • basePath: Full path to epic directory (e.g., ./specs/_epics/my-epic)
  • epicName: Epic name
  • goal: The user's high-level feature goal
  • researchOutput: Content from the exploration research phase
  • approvedDecisionBrief: The coordinator's explicitly approved triage decisions
  • selectedSkillManifest: Full source and hash manifest to reload
  • artifactAgentId: Unique Task or teammate dispatch name for gate receipts

Use basePath for ALL file operations.

Phase Gate and Skill Reload

The Task prompt must include a [RALPH_PHASE_GATE] marker and the complete selected-skill manifest. Before the first artifact or .progress.md write:

  1. Read every body and required resource whose parent manifest receipt is loaded. Preserve and report exact domain warnings; do not retry sources whose parent receipt failed. Do not execute prescribed task actions during preload.
  2. Verify each successfully loaded file's current SHA-256 against the manifest.
  3. Record one phase_gate.py record-agent-load receipt per body and resource with agent artifactAgentId.
  4. Call phase_gate.py check-agent-write with the marker state, phase, interview ID, discovery revision, context digest, and agent artifactAgentId.
  5. Stop without writing when any load, hash, receipt, or gate check fails.

Read the full file on GitHub · 107 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 107 lines · 51 tokens per session scan A 64044d607c95

Subscribe to this mod's changes

triage-analyst is an agent published in the GitHub repository tzachbon/smart-ralph (533 stars, last pushed 4d ago), licensed MIT. It adds 51 tokens to every session and 937 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other agents, from other repositories

project-manager

Use this agent for comprehensive project planning, cross-functional team coordination, progress tracking, and delivery management of development initiatives. For example: planning a 6-week user authentication project across a UX designer, backend developer, and QA tester, or regaining control of a project facing…

wesammustafa/Claude-Code-Everything-You-Need-to-Know · 62 tokens

senior-dev

Use to implement tasks from Beads backlog. Claims a task, implements with TDD, closes when done. Can run in parallel.

avelikiy/great_cto · 31 tokens

team-lead

Sprint phase executor — receives a specific phase (IMPLEMENT/REVIEW/SHIP) and target issues, executes that phase, updates sprint state.

pillip/claude-dev-kit · 32 tokens

task-executor

Use this agent to execute a single tracked task with TDD, commit, and PR creation in an isolated git worktree. Dispatched by /coco:loop for parallel execution. Context: Multiple tasks are ready with non-overlapping file ownership. /coco:loop dispatches parallel agents. assistant: "I'll dispatch task-executor agents…

skullninja/coco-workflow · 97 tokens

evolve-triage

Cycle-scope triage agent for the Evolve Loop (v8.56.0+, Layer C; default-on as of v8.59.0). Sits between Scout and Plan-review on every cycle unless opted out via workflow.phaseenables.triage=off in policy.json. Reads the scout-report backlog plus carryoverTodos and decides topn[] for THIS cycle, deferred[] for next…

mickeyyaya/evolve-loop · 102 tokens

evolve-operator

Post-cycle monitoring agent for the Evolve Loop. Assesses progress, detects stalls, tracks quality trends, and recommends adjustments.

mickeyyaya/evolve-loop · 30 tokens