
Weekly Digests
Generate a week-by-week narrative digest of a project's full claude-mem timeline with one coherent chapter per ISO week.
Install
npx skills add https://github.com/thedotmack/claude-mem --skill weekly-digestsWhat is this skill?
- Serial multi-chapter narrative format
- One coherent chapter per ISO week with carry-forward context
- Automatic chapter count based on timeline span
Adoption & trust: 415 installs on skills.sh; 81.2k GitHub stars.
Recommended Skills
Lark Doclarksuite/cli
Lark Wikilarksuite/cli
Opensource Guide Coachxixu-me/skills
Readme I18nxixu-me/skills
Doc Coauthoringanthropics/skills
Obsidian Markdownkepano/obsidian-skills
Journey fit
Primary fit
This tool belongs in the operate phase because it helps teams review, track, and understand accumulated project history in digestible weekly formats. Monitoring subphase fits because weekly digests serve as a continuous historical review mechanism to track project evolution and maintain narrative continuity.
SKILL.md
READMESKILL.md - Weekly Digests
# Weekly Digests Produce a serial, multi-chapter narrative digest of a project's complete claude-mem history. Differs from `timeline-report` (one long report) — this generates one digest *per ISO week*, with each subagent reading the prior week's carry-forward block so the story stays coherent. **The chapter count equals the number of ISO weeks the timeline covers.** A project with 2 weeks of data produces 2 chapters; one with 30 weeks produces 30. There is no fixed length — count the weeks first, then drive the pipeline off that count. ## When to Use Trigger when the user asks for: - "Weekly digests" - "Week-by-week story" - "Serial timeline" - "Story chapters of [project]" - "Run a digest for each week" - "Continue the story week by week" If the user wants a single sweeping report, use `timeline-report` instead. This skill is for serial chapter format. ## Prerequisites - claude-mem worker running - Project has at least one ISO week of observations (the pipeline degenerates gracefully — even N=1 works) - A clean output directory the user is comfortable writing into **Resolve the worker port** (do this once, reuse `$WORKER_PORT`): ```bash WORKER_PORT="${CLAUDE_MEM_WORKER_PORT:-$(node -e "const fs=require('fs'),p=require('path'),os=require('os');const uid=(typeof process.getuid==='function'?process.getuid():77);const fallback=String(37700+(uid%100));try{const s=JSON.parse(fs.readFileSync(p.join(os.homedir(),'.claude-mem','settings.json'),'utf-8'));process.stdout.write(String(s.CLAUDE_MEM_WORKER_PORT||fallback));}catch{process.stdout.write(fallback);}" 2>/dev/null)}" ``` ## Workflow ### Step 1: Determine the Project Name Same worktree-detection pattern as `timeline-report`. In a worktree, the data source is the **parent project**: ```bash git_dir=$(git rev-parse --git-dir 2>/dev/null) git_common_dir=$(git rev-parse --git-common-dir 2>/dev/null) if [ "$git_dir" != "$git_common_dir" ]; then parent_project=$(basename "$(dirname "$git_common_dir")") else parent_project=$(basename "$PWD") fi echo "$parent_project" ``` ### Step 2: Fetch the Full Timeline and Save It ```bash mkdir -p .scratch curl -s "http://localhost:${WORKER_PORT}/api/context/inject?project=PROJECT_NAME&full=true" \ > .scratch/cm-timeline.md wc -l .scratch/cm-timeline.md ``` Sanity-check: confirm the file is non-empty and has the expected structure (preamble, then date headers like `### Mon DD, YYYY`, then numeric observation lines `<id> <time> <emoji> <title>` and session boundary lines `S<n> <prompt> (Mon DD at HH:MMpm)`). ### Step 3: Split the Timeline Into Per-ISO-Week Files Write a Python script to `.scratch/split-timeline.py` that: 1. Parses date headers (`### Mon DD, YYYY`). 2. Groups days into ISO weeks via `date.isocalendar()` (Monday-start). 3. Emits one file per week to `docs/timeline-weeks/<YYYY>-W<NN>-<MonDD>-to-<MonDD>.md`, preserving each day's section verbatim. 4. Runs a dual-pass sanity check: total observations distributed must equal the count in the source file. Output structure (filenames illustrative): ``` docs/timeline-weeks/ README.md # weekly index table YYYY-W<NN>-MonDD-to-MonDD.md # one per ISO week the timeline covers ... ``` Each weekly file should preserve the original daily sections verbatim. Do not paraphrase at this stage — the digest agents need raw fidelity. **Count the resulting files** before launching the pipeline. That count is `TOTAL` and drives every subsequent step. Empty weeks (zero observations between active weeks) should be