9.2 KiB
9.2 KiB
description, allowed-tools, argument-hint
| description | allowed-tools | argument-hint | |
|---|---|---|---|
| Show progress report across all tasks in a project |
|
<project> |
Progress Report for Project: $1
Generating comprehensive progress report for $1 project.
🚨 CRITICAL: Safety Rules
READ FIRST: $CCPM_COMMANDS_DIR/SAFETY_RULES.md
NEVER submit, post, or update anything to Jira, Confluence, BitBucket, or Slack without explicit user confirmation.
- ✅ Linear operations are permitted (internal tracking)
- ⛔ External PM systems require user confirmation for write operations
Project Context
Project Mapping:
- my-app → Linear Team: "Work", Project: "My App"
- my-project → Linear Team: "Work", Project: "My Project"
- personal-project → Linear Team: "Personal", Project: "Personal Project"
Workflow
Step 1: Fetch All Issues for Project
Use Linear MCP to:
- List all issues for the project ($1)
- Include: Backlog, Planning, In Progress, Verification, Done (recent)
- Exclude: Canceled, archived (unless requested)
- Get full details: status, labels, assignee, checklist progress, dates
Step 2: Categorize and Analyze
Group issues by status:
const categories = {
backlog: issues.filter(i => i.status === 'Backlog'),
planning: issues.filter(i => i.status === 'Planning'),
inProgress: issues.filter(i => i.status === 'In Progress'),
verification: issues.filter(i => i.status === 'Verification'),
blocked: issues.filter(i => i.labels.includes('blocked')),
done: issues.filter(i => i.status === 'Done' && withinLast7Days(i))
}
Calculate statistics:
const stats = {
total: issues.length,
byStatus: Object.keys(categories).map(k => ({
status: k,
count: categories[k].length,
percentage: (categories[k].length / issues.length * 100).toFixed(1)
})),
avgCompletionTime: calculateAvgTime(categories.done),
totalSubtasks: sumAllSubtasks(issues),
completedSubtasks: sumCompletedSubtasks(issues),
blockedCount: categories.blocked.length
}
Step 3: Display Report
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Progress Report: $1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 Report Date: [Current Date]
🏢 Project: $1
📈 Total Issues: [N]
✅ Overall Progress: [X]% ([Y] of [Z] subtasks complete)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Status Breakdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Backlog: [N] issues ([%]%)
📝 Planning: [N] issues ([%]%)
⏳ In Progress: [N] issues ([%]%)
🔍 Verification: [N] issues ([%]%)
🚫 Blocked: [N] issues ([%]%) ⚠️
✅ Done (7d): [N] issues ([%]%)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ Blocked Issues (Needs Attention!)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[If blocked issues exist, list them:]
1. [WORK-123]: [Title]
Status: [Status]
Blocked: [Duration]
Action: /ccpm:verification:fix WORK-123
2. [WORK-124]: [Title]
Status: [Status]
Blocked: [Duration]
Action: /ccpm:verification:fix WORK-124
[Or if none:]
✅ No blocked issues!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏃 In Progress Issues
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[For each in-progress issue:]
1. [WORK-125]: [Title]
Progress: [X/Y] subtasks ([%]%)
Time in progress: [Duration]
Next: /ccpm:implementation:next WORK-125
2. [WORK-126]: [Title]
Progress: [X/Y] subtasks ([%]%)
Time in progress: [Duration]
Next: /ccpm:implementation:next WORK-126
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Planning Issues (Ready to Start)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[For each planning issue:]
1. [WORK-127]: [Title]
Checklist: [N] subtasks
Ready: /ccpm:implementation:start WORK-127
2. [WORK-128]: [Title]
Checklist: [N] subtasks
Ready: /ccpm:implementation:start WORK-128
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 Verification Issues (Almost Done!)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[For each verification issue:]
1. [WORK-129]: [Title]
Time in verification: [Duration]
Next: /ccpm:verification:verify WORK-129
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Recently Completed (Last 7 Days)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[For each done issue:]
1. [WORK-130]: [Title]
Completed: [Date]
Time to complete: [Duration]
2. [WORK-131]: [Title]
Completed: [Date]
Time to complete: [Duration]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Insights
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚡ Velocity: [N] issues completed in last 7 days
⏱️ Avg Completion Time: [X] days
🎯 Focus: [Most common status - where work is concentrated]
🚨 Attention Needed: [Number] blocked, [Number] in verification too long
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 4: Interactive Next Actions
READ: $CCPM_COMMANDS_DIR/_shared-linear-helpers.md
Use AskUserQuestion tool:
{
questions: [{
question: "What would you like to do next?",
header: "Next Action",
multiSelect: false,
options: [
{
label: "Work on Blocked Issues",
description: `Fix ${blockedCount} blocked issues`
},
{
label: "Continue In-Progress",
description: `Work on ${inProgressCount} active tasks`
},
{
label: "Start New Task",
description: "Start one of the planning tasks"
},
{
label: "Create New Issue",
description: "Create and plan a new task (/ccpm:planning:create)"
}
]
}]
}
Execute based on choice:
- If "Work on Blocked Issues" → Show blocked issues and ask which to fix
- If "Continue In-Progress" → Show in-progress issues and ask which to work on
- If "Start New Task" → Show planning issues and ask which to start
- If "Create New Issue" → Prompt for title and run
/ccpm:planning:create - If "Other" → Show quick commands and exit
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Quick Commands
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Create Task: /ccpm:planning:create "<title>" $1
View Task: /ccpm:utils:status <issue-id>
Context: /ccpm:utils:context <issue-id>
Refresh: /ccpm:utils:report $1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Notes
Report Scope
- Shows all active work in the project
- Highlights blockers and issues needing attention
- Provides quick actions for each category
- Calculates velocity and insights
Usage
# For external PM projects
/ccpm:utils:report my-app
/ccpm:utils:report my-project
# For internal projects
/ccpm:utils:report personal-project
Refresh Frequency
- Run anytime to see current project state
- Especially useful at start of day
- Or when planning next work
- Or in team standups