--- description: Show progress report across all tasks in a project allowed-tools: [LinearMCP] argument-hint: --- # 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: 1. List all issues for the project ($1) 2. Include: Backlog, Planning, In Progress, Verification, Done (recent) 3. Exclude: Canceled, archived (unless requested) 4. Get full details: status, labels, assignee, checklist progress, dates ### Step 2: Categorize and Analyze Group issues by status: ```javascript 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: ```javascript 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: ```javascript { 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 "" $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 ```bash # 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