weekly-digests
Generate a serial week-by-week narrative digest of a project's full claude-mem timeline.
Skill by thedotmack
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/thedotmack-weekly-digests
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, agent-building, writing-editing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/weekly-digests
What's inside
- Skill name
weekly-digests- Description
- 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.
- License
- Apache-2.0
- Instructions
- 259 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# 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 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:
```bash
mkdir -p docs/timeline-weeks/digests
```
For each week, in chronological order, dispatch a Task subagent (general-purpose) with this prompt template. **Wait for each agent to complete before launching the next.** Capture the carry-forward block from the result and inject it as `STORY_SO_FAR` into the next prompt.
#### Subagent Prompt Template
```
You are writing chapter {N} of {TOTAL} in a serial week-by-week digest of the {PROJECT} project's development history. Chapters 1 through {N-1} are written. {SPECIAL_NOTE: e.g. "This is the LARGEST week", "This is the TROUGH", "This is the FINAL chapter", "This is the ONLY chapter — both first AND final week"}.
**Source file (read in full):**
{ABSOLUTE_PATH_TO_WEEK_FILE}
**Output digest file (write):**
{ABSOLUTE_PATH_TO_DIGEST_FILE}
**Format key for the source file:**
- Numeric lines like `1 7:59p 🔵 Save hook file is empty` are observations (ID, time, type-emoji, title)
- `S##` lines are session boundaries (the user prompt that started the session)
- Emoji legend: 🎯session 🔴bugfix 🟣feature 🔄refactor ✅change 🔵discovery ⚖️decision 🚨security_alert 🔐security_note 🤫sensitive
**Story so far (carry-forward from Week {N-1}):**
{STORY_SO_FAR_BLOCK_OR_EMPTY_FOR_WEEK_1}
**Your digest must include:**
1. **Title line** — `# Week {N} ({WEEK_LABEL}): {DATE_RANGE} — [your chosen subtitle]`From thedotmack/claude-mem, Apache-2.0.
More from thedotmack/claude-mem
- 0.891score
mode-creator
thedotmack
Interactively create, install, activate, and verify custom claude-mem modes, including domain-specific observation types, concept tags, optional Telegram…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.891score
version-bump
thedotmack
Automated semantic versioning and release workflow for Claude Code plugins.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.891score
request-progress
thedotmack
Group recent conversations into overall requests, review each one's progress from memory, link each to the owner goals it serves, and write the build story…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.891score
owner-goals
thedotmack
Map what the owner wants from the prompts they typed themselves (prompts an agent wrote are left out), then put their top priorities and open asks, each with…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
handoff
thedotmack
Generate a HANDOFF.md that captures goal, current state, files touched, failed attempts, and next steps — so a fresh Claude session can continue exactly where…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
screenpipe
thedotmack
Search screen and audio history recorded by Screenpipe and optionally save selected context into claude-mem.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
oh-my-issues
thedotmack
Cluster a GitHub issue backlog by root cause into a small set of plan-master issues, redirect children with a standardized comment, and bundle…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
pathfinder
thedotmack
Map a codebase into feature-grouped flowcharts, identify duplicated concerns across features, and propose a unified architecture.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
babysit
thedotmack
Watch a pull request or review cycle until it is ready to merge.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
timeline-report
thedotmack
Generate a "Journey Into [Project]" narrative report analyzing a project's entire development history from claude-mem's timeline.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
make-plan
thedotmack
Create a detailed, phased implementation plan with documentation discovery.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
knowledge-agent
thedotmack
Build and query AI-powered knowledge bases from claude-mem observations.
SkillAFreshness: A★ 102.8KClaude Code +9
Signals
- Stars
- 102,760
- Forks
- 9,078
- Open issues
- 46
- Last commit (this folder)
- Aug 2, 2026 (2 months ago)
- Last release
- Oct 23, 2026 (3 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/thedotmack/claude-mem
- Website
- claude-mem.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from thedotmack
- 0.891score
version-bump
thedotmack
Automated semantic versioning and release workflow for Claude Code plugins.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.891score
request-progress
thedotmack
Group recent conversations into overall requests, review each one's progress from memory, link each to the owner goals it serves, and write the build story…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.891score
owner-goals
thedotmack
Map what the owner wants from the prompts they typed themselves (prompts an agent wrote are left out), then put their top priorities and open asks, each with…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.891score
mode-creator
thedotmack
Interactively create, install, activate, and verify custom claude-mem modes, including domain-specific observation types, concept tags, optional Telegram…
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
babysit
thedotmack
Watch a pull request or review cycle until it is ready to merge.
SkillAFreshness: A★ 102.8KClaude Code +9 - 0.885score
handoff
thedotmack
Generate a HANDOFF.md that captures goal, current state, files touched, failed attempts, and next steps — so a fresh Claude session can continue exactly where…
SkillAFreshness: A★ 102.8KClaude Code +9
Cite this page
weekly-digests skill. Agent Mart. https://agentmart.dev/skills/thedotmack-weekly-digests (last updated 2026-10-24)