Agent Skills: Weekly Review

Summarize a week's (or single day's) Claude-tracked work from claude-mem into the vault's daily journal "# Work" sections and into the Weekly Review journal file. Use when the user asks to summarize a day or week of work "根据claude-mem总结", "总结这周/这几天的工作并写入journal", or references a date range or an ISO week id like 2026-W32, and wants it written into journals/*.md.

UncategorizedID: goodluckz/claude-code-config/weekly-review

Install this agent skill to your local

pnpm dlx add-skill https://github.com/goodluckz/claude-code-config/tree/HEAD/skills/weekly-review

Skill Files

Browse the full folder contents for weekly-review.

Download Skill

Loading file tree…

skills/weekly-review/SKILL.md

Skill Metadata

Name
weekly-review
Description
Summarize a week's (or single day's) Claude-tracked work from claude-mem into the vault's daily journal "# Work" sections and into the Weekly Review journal file. Use when the user asks to summarize a day or week of work "根据claude-mem总结", "总结这周/这几天的工作并写入journal", or references a date range or an ISO week id like 2026-W32, and wants it written into journals/*.md.

Weekly Review

Turn claude-mem's tracked tool-use history into readable entries in the Obsidian vault's journal files: fill in each day's # Work section, then roll the week up into the journals/2026-Wnn.md Weekly Review file.

Vault root: /Users/zhaoliang/LocalDocuments/vaults/vault. Daily files live at journals/YYYY-MM-DD.md, weekly files at journals/YYYY-Wnn.md.

1. Resolve the date range

  • If the user gives explicit start/end dates, use those verbatim.
  • This vault's week runs Sunday through Saturday, NOT the ISO Monday–Sunday week — confirmed by the user 2026-08-21 with the example "W19 = 2026-05-03 (Sun) to 2026-05-09 (Sat)". The week number label still matches the ISO week number of that range's Monday–Saturday span; only the Sunday is shifted from being the last day of the ISO week to being the first day of this vault's week.
  • Caution: a given Sunday and the Monday right after it fall in DIFFERENT ISO week numbers. ISO weeks run Mon–Sun, so a Sunday is the last day of the ISO week that started the Monday before it — one lower than the vault-week label you want. Always take the ISO week of the Monday following the Sunday (i.e. the range's 2nd day), never the Sunday's own isocalendar() result, or the label will be off by one.
  • If the user gives a week id (2026-W32) with no explicit dates, compute the Sun–Sat range as (ISO Monday − 1 day) through (ISO Monday + 5 days): python3 -c "import datetime; mon=datetime.date.fromisocalendar(2026,32,1); start=mon-datetime.timedelta(days=1); print([str(start+datetime.timedelta(days=i)) for i in range(7)])"
  • If the user gives a plain date (or "today"/"this week") with no week id, first find which vault-week it falls in, then derive the label from that range's Monday — do NOT reuse an existing week file just because the date is close to it: python3 -c "import datetime; d=datetime.date(2026,8,24); start=d-datetime.timedelta(days=(d.isoweekday()%7)); mon=start+datetime.timedelta(days=1); print(start, mon.isocalendar().week)" (d.isoweekday()%7 maps Sunday→0, Monday→1, …, Saturday→6, so start is the Sunday on/before d.) Check whether a journals/YYYY-Wnn.md for that computed label already exists before assuming the date belongs to whatever week file was most recently touched.
  • Note: weekly files created before 2026-08-21 (W01–W34) were built with ISO Mon–Sun boundaries and have NOT been corrected to this Sun–Sat convention — treat their exact day boundaries with suspicion if precision matters, though the week-number labels stay the same.
  • Confirm the range back to the user only if it's genuinely ambiguous; otherwise proceed.

2. Gather each day's existing journal content

Read each journals/YYYY-MM-DD.md. Note what's already under # Happenings / # Quick Notes — don't duplicate personal-life content that's already there. The # Work section is what you're filling in, and it should hold Claude-Code-tracked technical/task work, not the day's life narrative.

3. Pull claude-mem coverage for each day

Use mcp__plugin_claude-mem_mem-search__timeline with an anchor timestamp (ISO datetime string). Each call returns roughly ±10 items around the anchor — it does not cover a full day in one call. For each day:

  • Start with an anchor around midday (YYYY-MM-DDT12:00:00).
  • If the returned window doesn't reach both early morning and late evening, issue additional anchor calls (e.g. 09:00, 15:00, 21:00) to fill gaps — check the timestamps you got back and probe the uncovered stretches specifically.
  • A day with zero claude-mem entries usually means pure travel/personal/no-tool-use time (this happens often around trips, holidays, family visits). Do not fabricate work for it — leave # Work empty and say so in the rollup.
  • Batch independent anchor calls for different days in parallel (single message, multiple tool calls) rather than serially.

4. Write each day's # Work section

For each day with real findings, Edit the file's # Work section (old_string "# Work\n\n# Content", insert bullets before # Content). Rules:

  • Bullets should be concrete and specific: what was debugged/built/decided, key filenames or root causes, not vague activity labels.
  • Group related claude-mem entries from the same session into one bullet rather than one bullet per tool call.
  • Write in whatever language the vault's journals are in (this vault is Chinese) — match the surrounding file's language, don't translate.
  • Never touch other sections (# Happenings, # Quick Notes, etc.) — this is a surgical # Work-only edit.
  • If a # Work heading is missing (rare), add one in the same position the template uses.

5. Roll up into the Weekly Review file

Check whether journals/YYYY-Wnn.md exists and read it first.

Template check — this is the part most likely to go wrong. The weekly template (template/temp/Weekly Template.md) uses:

# Weekly Review — {{title}}

## Top 3 Things

## Mind

## Social

## Content

## Grateful for

## Others

Note ## (not #) headers, and no Status/Conversations/Meal/Reflection/Quick Notes sections — those belong only to the daily template. If you find a 2026-Wnn.md file using # daily-template headers (this has happened before — a week file was accidentally created from the daily template), rewrite it from scratch with Write using the weekly structure above, preserving any existing content by mapping it into the closest weekly section.

Established convention in this vault (not in the template file, but used consistently going forward): add a ## Work section between ## Mind and ## Social to hold the week's rollup.

In the Weekly Review file:

  • Framing: at the top of ## Top 3 Things, add a short paragraph giving the week's overall shape/character (e.g. "this week split into X days of Y followed by Z days of W") — this is what makes the rollup readable without opening every daily file.
  • ## Work: one bullet per day (or per theme, if multiple days share one thread), bolding the date or theme label, pulling the most important 1-2 sentences from that day's # Work section. Call out explicitly which days had no tracked work rather than silently omitting them.
  • ## 杠杆分级 (established convention, added 2026-08-26): right after ## Work, classify that same week's items into 高杠杆 / 低杠杆或待观察. Use the judge criterion from self-analysis-vault/self-model/模块-方法论迭代.md 第四节「有没有下游」 — not by task category, but by whether the item changed a subsequent judgment, unblocked something, or produced a reusable artifact (a principle, a skill, working code, a corrected data pipeline). Specifically:
    • 纯知识学习本身不天然算高杠杆 —— 只有当天/近期被用掉(学完当天就应用,闭环)或从中提炼出了可复用工具(principle/skill/代码)才算;否则标「待观察」,不要强行归类。
    • 阻塞性修复(数据管线bug、服务故障)即使看起来琐碎也算高杠杆,因为大量下游判断都建立在它之上。
    • 一次性维护/归档类工作默认低杠杆,除非能具体指出下游。
    • 判不出的条目诚实标「待观察」——这个判据本身「只能事后用」,下周或下下周回看时再挪类。
    • Each bullet: item + which day + one clause on what the downstream is (or why it's unclear).
  • Don't touch ## Social / ## Content / ## Grateful for / ## Others unless the user asked about those too.

6. Report back

Give the user a compact chat summary (a few bullets, not a re-paste of the whole file) plus a one-line pointer to which files were edited.