/project-health [project-name] - Deep-dive health check on a single Linear project
Deep-dive health check on a single Linear project. Analyzes ownership, timeline, progress, scope, blockers, and staleness against execution best practices to produce a health rating (On Track / At Risk / Stalled). Use after `/linear-calibrate` flags a project needing attention.
/plugin marketplace add breethomas/pm-thought-partner/plugin install pm-thought-partner@pm-thought-partnerAnalyze a single Linear project against execution best practices. Produces a health assessment: On Track / At Risk / Stalled.
/linear-calibrate first to identify projects worth investigating/project-health [project-name]
Examples:
/project-health AI Video/project-health "HBN for Agent Customers"get_project(query: "[project-name]")
If not found, list similar projects and ask user to clarify.
If project status is Canceled, stop and report:
Project "[name]" has been canceled. Canceled projects are excluded from health checks.
If you'd like to understand why it was canceled or review its history, I can help with that instead.
list_issues(project: "[project-name]", limit: 150)
Collect:
updatedAt timestampCRITICAL: Use these EXACT thresholds. Display threshold values in the report.
Status-based adjustments: Some thresholds change based on project status.
| Status | Rating |
|---|---|
| Lead assigned | š¢ |
| No lead | š“ |
For In Progress / Paused / Shaping / Ready for Kickoff:
| Condition | Rating |
|---|---|
| Has start + target date, not overdue | š¢ |
| Has dates but overdue | š” |
| Missing start OR target date | š” |
| Missing both dates | š“ |
For Done / Completed: Skip this check (timeline already resolved)
For Drafting:
| Condition | Rating |
|---|---|
| Has target date | š¢ |
| No target date | š” |
(Drafting projects are expected to be planning; missing dates is less severe)
Calculate: completion_pct = done_issues / total_issues * 100
For In Progress:
| Condition | Rating |
|---|---|
| Activity in last 7 days AND >10% complete | š¢ |
| Activity in last 14 days OR >5% complete | š” |
| No activity 14+ days AND <5% complete | š“ |
For Drafting: Skip progress check (not expected to have started)
For Done / Completed: Always š¢ (work is finished)
For Paused:
| Condition | Rating |
|---|---|
| Was >25% complete when paused | š¢ |
| Was <25% complete when paused | š” |
Measure description character count.
| Description Length | Rating |
|---|---|
| >300 characters | š¢ |
| 50-300 characters | š” |
| <50 characters or empty | š“ |
| Issue Count | Rating |
|---|---|
| 5-100 issues | š¢ |
| 1-4 issues OR 101-150 issues | š” |
| 0 issues OR 150+ issues | š“ |
Exception: For Drafting status, 0 issues = š” (not š“)
Calculate: blocked_pct = blocked_issues / open_issues * 100
| Percentage Blocked | Rating |
|---|---|
| <5% of open issues | š¢ |
| 5-15% | š” |
| >15% | š“ |
If 0 open issues, skip this check (š¢).
Measure days since most recent issue activity in the project.
For In Progress:
| Last Activity | Rating |
|---|---|
| Within 7 days | š¢ |
| 8-30 days | š” |
| 31+ days | š“ |
For Drafting / Paused:
| Last Activity | Rating |
|---|---|
| Within 14 days | š¢ |
| 15-45 days | š” |
| 46+ days | š“ |
For Done / Completed: Skip staleness check (finished projects naturally go quiet)
| Condition | Overall Status |
|---|---|
| Any š“ | Stalled |
| 2+ š” (no š“) | At Risk |
| 0-1 š” | On Track |
USE THIS EXACT FORMAT:
# Project Health Report: [Project Name]
**Status:** [Linear project status]
**Lead:** [name or "None assigned"]
**Dates:** [start] ā [target] (or "Not set")
**Last Activity:** [date] ([N] days ago)
---
## Health Assessment: [On Track / At Risk / Stalled] [emoji]
| Dimension | Value | Threshold | Rating |
|-----------|-------|-----------|--------|
| Ownership | [Lead name or "None"] | Lead assigned š¢ / None š“ | š¢/š“ |
| Timeline | [status] | Has dates š¢ / Missing š” / Both missing š“ | š¢/š”/š“ |
| Progress | [N]% complete ([X] of [Y]) | >10% + recent š¢ / >5% š” / <5% stale š“ | š¢/š”/š“ |
| Scope Clarity | [N] chars | >300 š¢ / 50-300 š” / <50 š“ | š¢/š”/š“ |
| Issue Distribution | [N] issues | 5-100 š¢ / 1-4 or 101-150 š” / 0 or 150+ š“ | š¢/š”/š“ |
| Blockers | [N]% ([X] of [Y] open) | <5% š¢ / 5-15% š” / >15% š“ | š¢/š”/š“ |
| Staleness | [N] days | <7d š¢ / 8-30d š” / 31d+ š“ | š¢/š”/š“ |
**Summary:** [1-2 sentence assessment of project health]
---
## Issues at a Glance
| State | Count | % |
|-------|-------|---|
| Done | [N] | [X]% |
| In Progress | [N] | [X]% |
| To Do / Backlog | [N] | [X]% |
| Blocked | [N] | [X]% |
**Total:** [N] issues
---
## Red Flags
[List any dimensions rated š“ or š” with specific context]
**FORMATTING: Do NOT number the "Ask Claude:" sections - they are sub-sections under each red flag.**
1. **[Dimension]** (š“/š”): [Specific problem]
**Ask Claude:**
- "[Actionable follow-up prompt]"
- "[Another follow-up prompt]"
(Continue for all red flags. If none: "No red flags. This project is healthy.")
---
## Recommendations
### Immediate
[1-2 specific actions for any š“ items]
### This Week
[1-2 specific actions for any š” items]
---
*Generated by PM Thought Partner /project-health*
After the report, ask:
What would you like to do?
1. Fix a specific red flag (I can help update the project)
2. See the blocked issues in detail
3. Review issues missing descriptions
4. Run /project-health on another project
5. Export this report
I couldn't find a project named "[name]".
Did you mean one of these?
- [similar project 1]
- [similar project 2]
Or you can run `/linear-calibrate` to see all projects.
ā ļø This project has [N] issues (fetched first 150 for analysis).
Large projects often indicate scope creep. Consider:
- Breaking into sub-projects
- Archiving completed phases
- Moving backlog items to a separate "future" project
This is normal and expected. Rate Issue Distribution as š” (not š“) and note:
This project is in Drafting status with no issues yet - this is expected during planning.
Focus on getting the description and dates set before adding issues.
Skip Staleness and Timeline checks. Focus on:
/linear-calibrate ā Workspace-level (flags "497 projects, 86% missing dates")
ā
/project-health [name] ā THIS COMMAND - deep-dive on flagged projects
ā
/team-health [name] ā Team workflow analysis (coming soon)
Part of PM Thought Partner Linear analysis suite