
Weekly Project Digests
Writes one narrative chapter per ISO week of a project's timeline, in sequence.
Install
npx skills add thedotmack/claude-mem --skill weekly-digests -g -a claude-code -y- Repository
- thedotmack/claude-mem109k
- Category
- Documents
- Updated
- 3d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- No, instructions only
What it does
Generate a serial week-by-week narrative digest of a project's full claude-mem timeline. Splits the timeline into per-ISO-week files, then runs one consecutive subagent per week, each receiving the prior week's carry-forward block, to produce one chapter per ISO week of data. Use when asked for "weekly digests", "week-by-week story", "serial timeline", or "narrative chapters" of a project's history.
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):
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:


