| name | triage |
| description | Diagnose project health: classify issues by severity (BLOCKER/WARNING/NOTE) and recommend actions for stuck, overdue, or unwieldy backlogs. Invoked as /agiflow:triage. Uses list_tasks, list_active_tasks_by_org, list_work_units, get_project_detail. |
| tags | ["agiflow","mcp","triage","diagnostics"] |
| metadata | {"mirrors":"backend/apis/agiflow-api .../prompts/triage.md"} |
Invoked as /agiflow:triage. In hosts without slash-prompts, this skill is triggered by matching intent and drives AgiFlow via its MCP tools.
Usage:
/agiflow:triage - Diagnose project health and surface actionable problems
/agiflow:triage <project-slug-or-id> - Triage a specific project
Examples:
/agiflow:triage (triage current project or org)
/agiflow:triage my-project (triage specific project)
Purpose
Diagnose stalled, blocked, or unhealthy project states and recommend concrete actions. Also handles task lifecycle management: cancelling/archiving obsolete tasks, re-prioritizing (moving Todo tasks back to Planning), and fast-tracking incoming bugs. Real projects get stuck — this skill helps users identify WHY and decide WHAT TO DO, not just see status.
Guardrails
- Diagnose before prescribing — understand the problem before suggesting solutions.
- Surface problems by severity: blockers first, then warnings, then notes.
- Recommend specific actions (reassign, split, refine, cancel, re-prioritize) — not vague advice.
- Do not make changes automatically — present findings and let the user decide.
- When cancelling tasks, document the reason in a comment before changing status.
AgiFlow Project Management Guidelines
Follow the shared AgiFlow project-management guidelines in references/agiflow-agents.md — agent assignment, the task status workflow and transitions, work-unit best practices, and the tags strategy apply to this workflow.
Steps
1. Load Project State
- Use
list_active_tasks_by_org MCP tool to get all active (non-completed) tasks across the organization.
- Use
list_work_units MCP tool to get work unit status overview.
- Use
list_members MCP tool to understand team capacity.
- If a specific project is provided, use
get_project_detail to focus on that project.
2. Identify Problems
- Analyze the data and flag issues in these categories:
Stalled Work
- Tasks in "In Progress" with no recent devInfo updates (stalled execution)
- Work units in "in_progress" where no tasks have moved in a long time
- Tasks assigned to an agent but showing no activity
For each stalled item:
- When was it last updated?
- Is there a blocker documented in comments?
- Is the task too large (needs decomposition)?
- Is the assignee available?
Blocked Items
- Work units with status "blocked"
- Tasks with blocker comments but no follow-up
- Tasks that depend on other incomplete tasks
For each blocked item:
- What's the blocker? (check comments with
list_task_comments)
- Can the blocker be resolved, worked around, or descoped?
- Should the blocked task be reassigned or split?
Quality Gaps
- Tasks with no acceptance criteria (unrefined)
- Tasks with vague descriptions ("implement feature X")
- High-priority tasks that are unassigned
- Work units with more than 8 tasks (too complex for one session)
Imbalance
- One agent assigned to too many in-progress tasks (context switching)
- All tasks "In Progress", nothing "Done" (no focus)
- High-priority items in backlog while low-priority items are being worked on
3. Severity Classification
- Classify each finding:
| Severity | Meaning | Action needed |
|---|
| BLOCKER | Prevents progress on critical path | Must resolve now |
| WARNING | Creates risk or inefficiency | Should resolve this sprint |
| NOTE | Improvement opportunity | Address when convenient |
4. Recommend Actions
- For each problem, recommend ONE specific action:
| Problem | Recommended Action | Tool to Use |
|---|
| Task stalled, too large | Split into smaller tasks | batch_create_tasks + update_task (close original) |
| Task stalled, unclear scope | Refine the task | Suggest refine-task skill |
| Task blocked by dependency | Reorder or reassign | update_task to change assignee or priority |
| Work unit blocked | Create unblocking task | batch_create_tasks for the blocker fix |
| Task unrefined (no AC) | Add acceptance criteria | Suggest refine-task skill |
| Agent overloaded | Reassign tasks | update_task to change assignee |
| No focus (everything in-progress) | Pick ONE work unit to finish | update_task to deprioritize others |
| Wrong priorities being worked | Reprioritize backlog | update_task to adjust priorities |
| Task obsolete or descoped | Cancel with documented reason | create_task_comment (reason) + update_task (status: "cancelled") |
| Todo task needs re-scoping | Move back to Planning | update_task (status: "planning") for re-grooming |
| Incoming bug, urgent | Fast-track: create in Planning with bug: tag, high priority | create_task + suggest backlog-grooming to promote |
5. Present Triage Report
- Present findings to the user:
## Triage Report
**Scope:** [Organization / Project name]
**Date:** [current date]
### Summary
- Active tasks: [N]
- In progress: [N]
- Blocked: [N]
- Issues found: [N blockers, N warnings, N notes]
### Blockers (must resolve)
1. **[Task/WU slug]** — [problem description]
- Recommendation: [specific action]
- Impact: [what's affected if not resolved]
### Warnings (should resolve)
1. **[Task/WU slug]** — [problem description]
- Recommendation: [specific action]
### Notes (nice to fix)
1. **[observation]** — [suggestion]
### Health Score
[Quick assessment: Healthy / Needs Attention / At Risk]
### Recommended Next Steps
1. [Most important action]
2. [Second most important action]
3. [Third action]
6. Execute (with user approval)
- After presenting findings, ask the user which actions they want to take.
- Execute approved actions using the appropriate MCP tools.
- After changes, re-check state with
list_active_tasks_by_org to confirm improvements.
Diagnostic Patterns
| What you observe | What it usually means | What to do |
|---|
| 40 tasks, no work units | Planned without organizing | Group into work units |
| Work units exist, all tasks "Todo" | Planned but not started | Pick one work unit, start execution |
| Everything "In Progress" | No focus, context switching | Finish ONE thing, then move on |
| High-priority items in backlog | Wrong things being worked on | Reprioritize and reassign |
| Tasks with no acceptance criteria | Unrefined, will fail in execution | Refine before assigning |
| Agent with 5+ in-progress tasks | Overloaded, nothing finishing | Limit WIP to 2-3 per agent |
| Completed tasks with unchecked AC | Rubber-stamped, not actually done | Review with review-work |
| Old tasks nobody mentions anymore | Scope changed, tasks are obsolete | Cancel with reason documented |
| Todo tasks that keep getting skipped | Wrong priority or unclear scope | Re-prioritize or move back to Planning |
| User reports a bug mid-sprint | Incoming bug needs fast-tracking | Create with bug: tag, high priority, suggest backlog-grooming |
Common Mistakes to Avoid
- Only reporting status without diagnosing root causes
- Suggesting vague actions ("improve task descriptions") instead of specific ones
- Making changes without user approval
- Ignoring blocked items (they don't unblock themselves)
- Not checking task comments for context on why things stalled
- Treating symptoms (reassigning a stalled task) without addressing causes (task was too vague)