plugins/pm-ops/skills/weekly-review/SKILL.md
Review week's progress, meetings, learnings
npx skillsauth add coalesce-labs/catalyst weekly-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
/weekly-review on Friday afternoon (best time) or Monday morningthoughts/shared/pm/reports/YYYY-WXX-weekly-review.md/weekly-plan to plan next weekDefault output is focused (~150 lines max). Say "full review" if you want the expanded version with stakeholder pulse, task-level execution metrics, and pattern analysis.
End-of-week synthesis reviewing what you accomplished, what you learned, and what needs attention. Feeds into next week's planning and builds institutional memory.
/weekly-review - Review current/past week/weekly-review last-week - Review previous week (if you forgot)Check these files first:
thoughts/shared/pm/reports/ - This week's plan (what you intended)thoughts/shared/pm/reports/ - Daily plans from this week (what actually happened)thoughts/shared/pm/prds/ - PRDs modified this weekthoughts/shared/product/meeting-notes/ - Meeting notes from past 7 daysthoughts/shared/pm/launches/ - Launches that happened this weekthoughts/shared/product/decisions/ - Decisions made this weekthoughts/shared/pm/analyses/ - Research conductedthoughts/shared/pm/frameworks/ - Quarter goals (to track progress)MCP Queries (if available):
Fallback: File-based analysis of PM OS workspace + manual input for completions.
Calculate week to review:
Check if review already exists:
thoughts/shared/pm/reports/YYYY-WXX-weekly-review.mdA. Weekly Plan (What Was Intended):
Read thoughts/shared/pm/reports/YYYY-WXX-weekly-plan.md:
Extract:
If no weekly plan exists:
/weekly-plan on Monday for better focus."B. PRD Progress:
Scan thoughts/shared/pm/prds/:
Method 1 - File modification dates:
# Files modified in the past 7 days
find thoughts/shared/pm/prds/ -name "*.md" -mtime -7
For each PRD touched this week:
Method 2 - If Git available:
# PRDs with commits this week
git log --since="7 days ago" --name-only --pretty=format: | grep -E "prds/.*\.md$" | sort -u
Categorize:
C. Feature Launches:
Check thoughts/shared/pm/launches/:
For each launch: If Analytics MCP available:
Query metrics since launch date
Compare to success criteria from PRD
Categorize:
D. Meetings & Decisions:
Scan thoughts/shared/product/meeting-notes/ from past 7 days:
For each meeting:
Check thoughts/shared/product/decisions/:
Build stakeholder pulse:
E. Tasks Completed:
If Linear MCP available:
Query: Tasks completed in past 7 days
Group by: Priority, PRD/Initiative
Calculate: Planned vs actual completion rate
If MCP not available:
Categorize by initiative:
Initiative: [PRD Name]
- ✅ Task 1 (from Priority 1)
- ✅ Task 2 (from Priority 1)
- [ ] Task 3 (carried over - why?)
Calculate metrics:
F. User Research & Insights:
Check thoughts/shared/pm/:
Check thoughts/shared/pm/analyses/:
Extract:
G. Learnings & Patterns:
This is where weekly review gets powerful - surfacing patterns.
From daily plans:
From outcomes:
From stakeholder interactions:
PRD Pipeline Analysis:
For each PRD:
Why analysis:
Strategic Alignment:
Read thoughts/shared/pm/frameworks/ for quarter goals.
For each goal:
Pillar balance: If strategy has defined pillars:
Compare to target allocation: Are we balanced?
Pattern Detection:
Look for:
Create file: thoughts/shared/pm/reports/YYYY-WXX-weekly-review.md
Output Length Guidance:
Default (focused review, ~150 lines max). Include only:
Full review (when user asks for it). Expand to also include:
Template:
---
week: YYYY-WXX
week_start: YYYY-MM-DD
week_end: YYYY-MM-DD
quarter: Q[X] YYYY
---
# Weekly Review - Week of [Month] [DD], [YYYY]
## TL;DR
- **PRDs:** [X active], [Y advanced], [Z stalled]
- **Launches:** [N features shipped]
- **Meetings:** [M total], [P key decisions]
- **Completion rate:** [X%] of planned tasks done
- **Key win:** [Biggest accomplishment]
- **Key challenge:** [Biggest blocker/lesson]
---
## Strategic Progress
**Quarter Goal:** [Primary goal for Q]
**Progress This Week:** [What moved forward]
| Goal | Start of Week | End of Week | This Week | Status |
| -------- | ------------- | ----------- | --------- | ----------- |
| [Goal 1] | X% | Y% | +Z% | ✅ On track |
| [Goal 2] | A% | B% | +C% | ⚠️ Behind |
**Velocity check:**
- [x] weeks left in quarter
- [Y%] progress needed per week to hit goal
- [Z%] actual progress this week
- **Assessment:** [On track / Need to accelerate / Ahead]
---
## Top 3 Priorities Review
[Compare planned vs actual]
### Priority 1: [Title]
**Planned:** [What we intended to achieve]
**Actual:** [What we achieved]
**Tasks:**
- ✅ [Task 1] - Done
- ✅ [Task 2] - Done
- [ ] [Task 3] - Carried over because [reason]
**Status:** ✅ Complete / 🟡 Partial / ❌ Not started
**Key outcome:**
- [What this unlocked or enabled]
**Learning:**
- [What went well or what to change]
---
### Priority 2: [Title]
[Same structure]
---
### Priority 3: [Title]
[Same structure]
---
## PRD Pipeline
| PRD | Stage (Start of Week) | Stage (End of Week) | Movement | Next Action |
| ------ | --------------------- | ------------------- | ----------- | ----------------- |
| [Name] | Team Kickoff | Planning Review | ✅ Advanced | Get eng estimates |
| [Name] | Solution Review | Solution Review | ⚠️ Stalled | Need legal review |
| [Name] | - | Team Kickoff | 🆕 New | Scope and plan |
**Analysis:**
- **Advanced:** [PRD X] moved forward because [stakeholder signed off / design done / etc.]
- **Stalled:** [PRD Y] blocked on [dependency / decision / resource]
- **Recommendation:** [What to prioritize next week to unblock]
---
## Launches & Impact
### Shipped This Week
[If anything launched]
**[Feature Name]** (Launched [Day])
**Success Criteria (from PRD):**
- [Metric 1]: Target [X], Actual [Y] ([+/-Z%])
- [Metric 2]: Target [A], Actual [B] ([+/-C%])
**Early assessment:** ✅ On track / ⚠️ Needs attention / ❌ Below target / 🚀 Exceeding
**Insights:**
- [User feedback received]
- [Unexpected behavior observed]
- [Next iteration needed]
---
### Post-Launch Monitoring
[Features launched in past 4 weeks still being monitored]
| Feature | Launch Date | Key Metric | Target | Actual | Trend | Status |
| ------- | ----------- | ---------- | ------ | ------ | ----- | -------- |
| [Name] | [Date] | [Metric] | [X] | [Y] | [↗↘→] | [✅⚠️❌] |
---
## Key Decisions Made
1. **[Decision]** ([Date] - [Meeting])
- **Context:** [Why this came up]
- **Decision:** [What was decided]
- **Rationale:** [Why we chose this]
- **Owner:** [Who's executing]
- **Impact:** [What this affects]
- **Doc:** [Link if exists]
2. **[Decision 2]**
[Same structure]
---
## Meetings & Stakeholder Pulse
### Meetings This Week: [Total]
| Day | Meeting | Attendees | Outcome | Value |
| --- | ------- | --------- | -------------------- | --------- |
| Mon | [Topic] | [Names] | [Decision/Alignment] | 🟢 High |
| Tue | [Topic] | [Names] | [Info sharing] | 🟡 Medium |
| Wed | [Topic] | [Names] | [Cancelled] | ⚫ None |
**Meeting load:** [X] hours / 40 = [Y%]
**Deep work time:** [Z] hours (vs [A] hours planned)
**Value assessment:**
- 🟢 High value: Led to decision or unblocked work
- 🟡 Medium value: Useful context but no immediate action
- 🔴 Low value: Could have been async or skipped
**Recommendation:** [Which meetings to keep/change/cancel]
---
### Stakeholder Pulse
**High engagement this week:**
- **[Name]** - [Why: Multiple syncs, key decision, strong collaboration]
- Impact: [What this enabled]
- Continue: [Keep this cadence / Increase collaboration]
**Needs attention:**
- **[Name]** - [Why: Haven't synced in 2+ weeks, blocking issue, misalignment suspected]
- Impact: [What's at risk]
- Action: [Specific next step - schedule 1:1, send update, etc.]
**New relationships:**
- **[Name]** - [Met for first time, context]
- Follow-up: [Add to stakeholder profiles, schedule regular sync]
---
## User Research & Insights
[Only include if research happened]
**New Research This Week:**
- **[Interview/Study]** - [Date]
- Key finding: [Insight]
- Validates: [Which hypothesis or PRD]
- Challenges: [What assumption or approach]
**Recurring Themes:**
- **[Theme 1]** - Mentioned in [X] sources
- Evidence: [Quote or data point]
- Implication: [What this means for roadmap]
- **[Theme 2]** - Validates hypothesis from [PRD]
- Evidence: [Quote or data point]
- Recommendation: [Accelerate this PRD / Pivot approach]
**Competitive Intelligence:**
[If competitive analysis updated]
- [Competitor] launched [Feature]
- Implication: [How this affects our strategy]
---
## Tasks & Execution
**Completion Metrics:**
- **Completed:** [X] tasks
- **Carried over:** [Y] tasks ([Z%] carry-over rate)
- **Added mid-week:** [A] tasks (scope creep indicator)
**By initiative:**
### [Initiative/PRD Name]
- ✅ [Task completed]
- ✅ [Task completed]
- [ ] [Task carried over] - **Why:** [Blocked by X / Deprioritized for Y / Under-estimated]
### [Initiative 2]
[Same structure]
**Patterns:**
- Tasks that took longer than expected: [Type/category]
- Blockers that repeated: [Dependency on X person/team]
- Tasks that got bumped repeatedly: [Maybe not actually important?]
---
## Learnings & Patterns
**What Worked Well:**
- **[Approach/Decision]** - [Why it was effective]
- Example: [Specific instance]
- Repeat: [How to apply this pattern again]
**What Didn't Work:**
- **[Mistake/Inefficiency]** - [What happened]
- Impact: [Consequence]
- Root cause: [Why this happened]
- Fix: [Specific change for next time]
**Process Improvements:**
- [ ] [Specific improvement to implement]
- Why: [Problem it solves]
- How: [Concrete action]
- Owner: You
- By when: [Next week / Next sprint]
**Personal Development:**
[If applicable]
- Skill practiced: [What you worked on]
- Feedback received: [From whom, about what]
- Growth area identified: [What to develop]
---
## Next Week Preview
### Top 3 Priorities (Draft)
[Based on this week's outcomes, suggest next week's priorities]
1. **[Priority 1]** - [Why: Carries over from this week / New urgent item / Strategic next step]
2. **[Priority 2]** - [Why]
3. **[Priority 3]** - [Why]
> Note: Run `/weekly-plan` to formalize these and add detail
---
### Key Meetings Next Week
[From calendar if available]
- **[Day]:** [Meeting] - [Goal/Outcome needed]
- **[Day]:** [Meeting] - [Prep needed]
---
### Items to Unblock
| Item | Blocked Since | Blocked By | Action Needed |
| ---------- | ------------- | ---------------------------- | -------------- |
| [PRD/Task] | [Date/Week] | [Person/Dependency/Decision] | [Specific ask] |
**Priority unblocks:**
1. [Most critical blocker to address Monday]
2. [Second priority]
---
## Metrics to Monitor Next Week
[Features to keep watching]
- **[Feature 1]** - [Why: Early launch / Trending down / Critical metric]
- Watch: [Specific metric]
- Check: [Daily / Every other day]
- Flag if: [Threshold or condition]
---
_Generated: [Timestamp]_
_Data sources: [Weekly plan, Daily plans, PRDs, Meeting notes, Linear, Analytics]_
_Next: Run `/weekly-plan` to plan next week_
After generating review, prompt user with contextual suggestions:
Always offer:
"Week synthesized and saved! Next steps:
- Plan next week? Run
/weekly-plan(5-10 min) - I've drafted initial priorities above- Share with team? I can format this as a stakeholder update
What would help?"
If significant wins:
"🎉 Nice work on [Achievement]! Worth documenting this:
- Add to portfolio/resume
- Share in team update
- Capture as case study for future reference
Want me to help with any of these?"
If patterns emerged:
"📊 I noticed some patterns:
- [Recurring blocker X] appeared [Y] times
- [Task type Z] consistently took 2x longer than estimated
Want to dig into these and create process improvements?"
If learnings captured:
"💡 This week's learnings worth remembering:
- [Learning 1]
- [Learning 2]
I'll surface these in future planning. Want me to add to
thoughts/shared/pm/context/lessons-learned.md?"
If metrics concerning:
"⚠️ [Feature] metrics need attention:
- [Metric] is [X%] below target
- Trending [down/flat] since launch
Run
/feature-resultsfor deeper analysis? Or schedule stakeholder review?"
Before /weekly-review:
/daily-plan - Ran throughout the week (provides daily context)/meeting-notes - Captured meeting outcomes/prd-draft - Created/updated PRDs this weekAfter /weekly-review:
/weekly-plan - Plan next week based on this review/decision-doc - Document key decisions made/status-update - Share with stakeholders/feature-results - Deep dive on launched featuresParallel use:
/impact-sizing - Validate completed work had expected impact/competitor-analysis - If competitive intel emerged this weekWhen to run:
What makes a good review:
How to build the habit:
Use the output:
Before this:
/daily-plan - Daily execution throughout week/weekly-plan - Set priorities at start of week/meeting-notes - Captured throughout weekAfter this:
/weekly-plan - Plan next week immediately after review/status-update - Share summary with stakeholders/decision-doc - Formalize key decisions madePeriodic use:
/feature-results - Monthly deep dive on launched features/quarter-review - (If exists) Quarterly synthesis of weekly reviewsBefore delivering the weekly review, verify:
testing
Phase-agent that fixes a failing verify verdict so the pipeline self-heals instead of stalling to needs-human (CTL-653). Reads `${ORCH_DIR}/workers/<ticket>/verify.json`, fixes the `findings[]` (every severity:"high" plus the regression_risk drivers) directly via Edit/Write, commits the remediation, and emits `phase.remediate.complete.<ticket>`. The scheduler's router then re-dispatches `verify` to re-check (the verify⇄remediate cycle, cap 3). Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies genuine blockers (a semantic second-pass over the backlog — NOT a prose scrape; CTL-838), estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.fai
tools
Phase agent for the research step of the 9-phase orchestrator pipeline (CTL-450). Wraps /catalyst-dev:research-codebase and produces thoughts/shared/research/<date>-<ticket>.md, then emits phase.research.complete.<ticket>. Reads triage.json from the worker dir as its prior-phase artifact. Spawned via plugins/dev/scripts/phase-agent-dispatch, which invokes it via slash command — hence `user-invocable: true`.
development
Phase-agent wrapper that opens the pull request after implementation completes (CTL-449 Initiative 1 Phase 3). Delegates to `/catalyst-dev:create-pr` (which already auto-runs `describe-pr` and transitions Linear to `inReview`), then writes the PR number + URL into the phase signal file so the downstream `phase-monitor-merge` agent can read it without re-querying GitHub. Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.