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)
1---2name: triage-23description: 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.4---5
6> Invoked as `/agiflow:triage`. In hosts without slash-prompts, this skill is triggered by matching intent and drives AgiFlow via its MCP tools.
7
8**Usage**:
9
10- `/agiflow:triage` - Diagnose project health and surface actionable problems
11- `/agiflow:triage <project-slug-or-id>` - Triage a specific project
12
13**Examples**:
14
15- `/agiflow:triage` (triage current project or org)
16- `/agiflow:triage my-project` (triage specific project)
17
18---
19
20**Purpose**
21Diagnose 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.
22
23**Guardrails**
24
25- Diagnose before prescribing — understand the problem before suggesting solutions.
26- Surface problems by severity: blockers first, then warnings, then notes.
27- Recommend specific actions (reassign, split, refine, cancel, re-prioritize) — not vague advice.
28- Do not make changes automatically — present findings and let the user decide.
29- When cancelling tasks, document the reason in a comment before changing status.
30
31---
32
33## AgiFlow Project Management Guidelines
34
35Follow the shared AgiFlow project-management guidelines in [`references/agiflow-agents.md`](../../references/agiflow-agents.md) — agent assignment, the task status workflow and transitions, work-unit best practices, and the tags strategy apply to this workflow.
36
37
38---
39
40**Steps**
41
42## 1. Load Project State
43
441. Use `list_active_tasks_by_org` MCP tool to get all active (non-completed) tasks across the organization.
452. Use `list_work_units` MCP tool to get work unit status overview.
463. Use `list_members` MCP tool to understand team capacity.
474. If a specific project is provided, use `get_project_detail` to focus on that project.
48
49## 2. Identify Problems
50
515. Analyze the data and flag issues in these categories:
52
53### Stalled Work
54
55- Tasks in "In Progress" with no recent devInfo updates (stalled execution)
56- Work units in "in_progress" where no tasks have moved in a long time
57- Tasks assigned to an agent but showing no activity
58
59**For each stalled item:**
60
61- When was it last updated?
62- Is there a blocker documented in comments?
63- Is the task too large (needs decomposition)?
64- Is the assignee available?
65
66### Blocked Items
67
68- Work units with status "blocked"
69- Tasks with blocker comments but no follow-up
70- Tasks that depend on other incomplete tasks
71
72**For each blocked item:**
73
74- What's the blocker? (check comments with `list_task_comments`)
75- Can the blocker be resolved, worked around, or descoped?
76- Should the blocked task be reassigned or split?
77
78### Quality Gaps
79
80- Tasks with no acceptance criteria (unrefined)
81- Tasks with vague descriptions ("implement feature X")
82- High-priority tasks that are unassigned
83- Work units with more than 8 tasks (too complex for one session)
84
85### Imbalance
86
87- One agent assigned to too many in-progress tasks (context switching)
88- All tasks "In Progress", nothing "Done" (no focus)
89- High-priority items in backlog while low-priority items are being worked on
90
91## 3. Severity Classification
92
936. Classify each finding:
94
95| Severity | Meaning | Action needed |
96| ----------- | ---------------------------------- | -------------------------- |
97| **BLOCKER** | Prevents progress on critical path | Must resolve now |
98| **WARNING** | Creates risk or inefficiency | Should resolve this sprint |
99| **NOTE** | Improvement opportunity | Address when convenient |
100
101## 4. Recommend Actions
102
1037. For each problem, recommend ONE specific action:
104
105| Problem | Recommended Action | Tool to Use |
106| --------------------------------- | ------------------------------------------------------------- | -------------------------------------------------------------------- |
107| Task stalled, too large | Split into smaller tasks | `batch_create_tasks` + `update_task` (close original) |
108| Task stalled, unclear scope | Refine the task | Suggest `refine-task` skill |
109| Task blocked by dependency | Reorder or reassign | `update_task` to change assignee or priority |
110| Work unit blocked | Create unblocking task | `batch_create_tasks` for the blocker fix |
111| Task unrefined (no AC) | Add acceptance criteria | Suggest `refine-task` skill |
112| Agent overloaded | Reassign tasks | `update_task` to change assignee |
113| No focus (everything in-progress) | Pick ONE work unit to finish | `update_task` to deprioritize others |
114| Wrong priorities being worked | Reprioritize backlog | `update_task` to adjust priorities |
115| Task obsolete or descoped | Cancel with documented reason | `create_task_comment` (reason) + `update_task` (status: "cancelled") |
116| Todo task needs re-scoping | Move back to Planning | `update_task` (status: "planning") for re-grooming |
117| Incoming bug, urgent | Fast-track: create in Planning with `bug:` tag, high priority | `create_task` + suggest `backlog-grooming` to promote |
118
119## 5. Present Triage Report
120
1218. Present findings to the user:
122
123```
124## Triage Report
125
126**Scope:** [Organization / Project name]
127**Date:** [current date]
128
129### Summary
130- Active tasks: [N]
131- In progress: [N]
132- Blocked: [N]
133- Issues found: [N blockers, N warnings, N notes]
134
135### Blockers (must resolve)
1361. **[Task/WU slug]** — [problem description]
137 - Recommendation: [specific action]
138 - Impact: [what's affected if not resolved]
139
140### Warnings (should resolve)
1411. **[Task/WU slug]** — [problem description]
142 - Recommendation: [specific action]
143
144### Notes (nice to fix)
1451. **[observation]** — [suggestion]
146
147### Health Score
148[Quick assessment: Healthy / Needs Attention / At Risk]
149
150### Recommended Next Steps
1511. [Most important action]
1522. [Second most important action]
1533. [Third action]
154```
155
156## 6. Execute (with user approval)
157
1589. After presenting findings, ask the user which actions they want to take.
15910. Execute approved actions using the appropriate MCP tools.
16011. After changes, re-check state with `list_active_tasks_by_org` to confirm improvements.
161
162---
163
164**Diagnostic Patterns**
165
166| What you observe | What it usually means | What to do |
167| ------------------------------------ | --------------------------------- | ----------------------------------------------------------------- |
168| 40 tasks, no work units | Planned without organizing | Group into work units |
169| Work units exist, all tasks "Todo" | Planned but not started | Pick one work unit, start execution |
170| Everything "In Progress" | No focus, context switching | Finish ONE thing, then move on |
171| High-priority items in backlog | Wrong things being worked on | Reprioritize and reassign |
172| Tasks with no acceptance criteria | Unrefined, will fail in execution | Refine before assigning |
173| Agent with 5+ in-progress tasks | Overloaded, nothing finishing | Limit WIP to 2-3 per agent |
174| Completed tasks with unchecked AC | Rubber-stamped, not actually done | Review with `review-work` |
175| Old tasks nobody mentions anymore | Scope changed, tasks are obsolete | Cancel with reason documented |
176| Todo tasks that keep getting skipped | Wrong priority or unclear scope | Re-prioritize or move back to Planning |
177| User reports a bug mid-sprint | Incoming bug needs fast-tracking | Create with `bug:` tag, high priority, suggest `backlog-grooming` |
178
179---
180
181**Common Mistakes to Avoid**
182
183- Only reporting status without diagnosing root causes
184- Suggesting vague actions ("improve task descriptions") instead of specific ones
185- Making changes without user approval
186- Ignoring blocked items (they don't unblock themselves)
187- Not checking task comments for context on why things stalled
188- Treating symptoms (reassigning a stalled task) without addressing causes (task was too vague)