mcpbeat

Weekly Review

borghei/weekly-review

> Synthesize a week of inputs (calendar, tasks, journal, OKR check-ins) into a structured review with wins, learnings, blockers, and next-week priorities. Use for a Friday/Sunday weekly review, GTD review, or OKR check-in.

4k tokens
context cost
the whole folder, loaded on every use
4
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
447
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/borghei/Claude-Skills --skill weekly-review

What comes with it

12 124 bytes besides the instruction
assets/weekly_review_input.json
references/weekly_review_methodology.md
scripts/weekly_review_synthesizer.py

The instruction itself

13 sections, as written by the author

Weekly Review

Synthesize a week into a structured review covering wins, learnings, blockers, and next-week priorities.


Keywords

weekly review, GTD, getting things done, OKR check-in, retrospective, weekly retro, journal, reflection, end of week, EOW


Clarify First

Before synthesizing the review, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • [ ] The week's raw inputs — actual wins, learnings, and blockers; this is the content the review synthesizes, not invented
  • [ ] OKR / goal progress — current numbers vs target drives the check-in section and flags drift
  • [ ] Next-week priorities — the top 1-3 commitments the review must end on

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.


Quick Start

  • Fill in assets/weekly_review_input.json with the past week's wins, learnings, blockers, OKR progress
  • Run: python scripts/weekly_review_synthesizer.py weekly_review_input.json
  • Save the output as your week's review

Core Workflows

Workflow 1: Standard Friday Review (30 min)

  • Capture 3-5 wins from the past week
  • Capture 1-3 learnings (what surprised you, what you got wrong)
  • Capture top 1-3 blockers / risks for next week
  • Update OKR / goal progress
  • List top 3 priorities for next week
  • Run synthesizer

Time Estimate: 30-45 minutes weekly.

Workflow 2: Bootstrap (First Time)

  • Read references/weekly_review_methodology.md
  • Decide cadence (Friday afternoon vs Sunday evening — both work)
  • Block 30-45 min recurring on calendar
  • Use input template; tune over 4 weeks until format works for you

Time Estimate: 1 hour to set up; 30-45 min weekly thereafter.

Workflow 3: Quarterly Pattern Review

  • Save weekly reviews in a single folder
  • Quarterly: read all 12-13 weeks
  • Look for patterns: recurring blockers, energy patterns, OKR drift
  • Adjust cadence, cadence, or commitments based on patterns

Time Estimate: 1-2 hours quarterly.


Tools

weekly_review_synthesizer.py

Reads structured weekly input JSON and produces a markdown weekly review.

python scripts/weekly_review_synthesizer.py input.json
python scripts/weekly_review_synthesizer.py input.json --json

Reference Guides

  • references/weekly_review_methodology.md — GTD weekly review, OKR check-in patterns, common pitfalls

Templates

  • assets/weekly_review_input.json — Input template

Best Practices

  • Block the time. 30 min recurring; defend against rescheduling.
  • Same time each week. Habits stick when the trigger is consistent.
  • Capture the pattern, not the noise. Weekly review is a layer above the moment-to-moment task list.
  • OKR check-in over chase. Weekly OKR progress is signal; quarterly is the action moment.
  • Compound across weeks. Reviews are most useful when read in batches.
  • Don't over-format. A messy review you actually do beats a perfect one you skip.

How to use it

Copy the folder

Take borghei/weekly-review from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.