weekly-digests
Generates a detailed weekly summary of a project's timeline. It breaks the history into weekly chapters for a step-by-step analysis.
What it does
This agent creates a story-like summary of a project's history, broken down week by week. It takes the full history, splits it into weeks, and creates a chapter for each week, ensuring the story flows from one week to the next.
When to use it
- ✓When you want a project summary divided by weeks.
- ✓To see a project's evolution over time, like a story.
- ✓If you need separate chapters for each week of work on a project.
Example of what to ask your AI
“Create a week-by-week digest for the 'MyProject' project.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It first takes the entire project history and splits it into files, one for each week. Then, it reads each week in order, using information from the previous week to continue the story, creating a chapter for each one.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add thedotmack/claude-mem --skill weekly-digestsOr download just the file:
curl -L https://raw.githubusercontent.com/thedotmack/claude-mem/main/plugin/skills/weekly-digests/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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:
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
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:
- Parses date headers (
### Mon DD, YYYY). - Groups days into ISO weeks via
date.isocalendar()(Monday-start). - Emits one file per week to
docs/timeline-weeks/<YYYY>-W<NN>-<MonDD>-to-<MonDD>.md, preserving each day's section verbatim. - 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 skipped — the pipeline only operates on weeks that have content.
Step 4: Build the Weekly Index README
Write docs/timeline-weeks/README.md with a markdown table: Week | Dates | Observations | Sessions | File. This becomes the operator's roadmap and helps the agents understand pacing (peak weeks vs trough weeks).
Step 5: Run the Consecutive Subagent Pipeline
Critical: subagents run sequentially, NOT in parallel. Each agent receives the prior agent's carry-forward block. This is the entire point of the skill — without it you have N disjoint summaries; with it you have an N-chapter serial narrative.
Create the output directory:
mkdir -p docs/timeline-weeks/digests
…
FAQ
How many chapters will the summary have?
The number of chapters will be exactly equal to the number of weeks with recorded activities in the project's history.
What happens if a week has no activities?
Weeks without recorded activities are skipped and do not generate a chapter, to keep the story focused on what actually happened.
Why are the weeks processed one after another and not all at once?
This ensures the story is continuous. Each week 'learns' from the previous one, allowing the agent to resolve pending threads and create a cohesive narrative, as if following the project in real-time.
Details
Original description by the author
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 hist
repo: thedotmack/claude-mem
Popularity
- GitHub stars
- 101k
- Ranking position
- #823
- License
- Apache-2.0
- Updated
- 10/16/2026
Comments
- …
More skills from this repository
Agent Cost Report
Has your agent generate detailed cost reports for its activities. Shows how much was spent on tokens and services.
thedotmack/claude-mem
claude-mem-install
Helps your agent set up Claude-Mem in different environments. Allows choosing between local or remote workers and configuring observation.
thedotmack/claude-mem
mem-search
Lets your agent search past memories. Useful for recalling previous solutions or work from old sessions.
thedotmack/claude-mem
host-observer
Helps your agent respond to Claude-Mem observer tasks. It should only reply with 'skip_summary' or a full XML observation.
thedotmack/claude-mem
Similar skills
intent-driven-development
Helps your agent turn ideas into clear, testable plans. Defines criteria to ensure changes are made correctly and safely.
affaan-m/ECC
product-capability
Guides your agent in turning product ideas into clear plans. It defines what needs to be done, the limits, and decisions before development.
affaan-m/ECC
article-writing
Writes long-form content like articles, guides, and blog posts with a unique style. It's useful when you need well-written texts with a consistent voice and credibility.
affaan-m/ECC