Skip to content
Skillpedia
Writing101k · #821

timeline-report

Helps your agent create a narrative report about a project's development history. It's useful when you need a complete summary of a project's evolution.

What it does

This tool creates a detailed report about a project's development history. It analyzes all notes and milestones recorded over time to tell the project's 'journey'.

When to use it

  • ✓When you want to understand how a project started and evolved.
  • ✓To see key success moments and challenges overcome.
  • ✓When asking for a complete summary of the development history.

Example of what to ask your AI

“Generate a journey report for the project 'project-name'.”

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

https://github.com/thedotmack/claude-mem/blob/main/plugin/skills/timeline-report/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/thedotmack/claude-mem/blob/main/plugin/skills/timeline-report/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool first figures out the project's name, checking if it's in a 'git worktree'. Then, it gathers all the project's note history from a service called 'claude-mem'. Finally, it uses this information to write a narrative report.

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 timeline-report

Or download just the file:

curl -L https://raw.githubusercontent.com/thedotmack/claude-mem/main/plugin/skills/timeline-report/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Timeline Report

Generate a comprehensive narrative analysis of a project's entire development history using claude-mem's persistent memory timeline.

When to Use

Use when users ask for:

  • "Write a timeline report"
  • "Journey into [project]"
  • "Analyze my project history"
  • "Full project report"
  • "Summarize the entire development history"
  • "What's the story of this project?"

Prerequisites

The claude-mem worker must be running. The project must have claude-mem observations recorded.

Resolve the worker port (do this once at the start and reuse $WORKER_PORT in every curl call below):

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)}"

This honors CLAUDE_MEM_WORKER_PORT env, then ~/.claude-mem/settings.json, then falls back to the per-UID default 37700 + (uid % 100) — matching how the worker itself picks its port. Required for multi-account setups (#2101) and any user who has overridden the default port (#2103).

Workflow

Step 1: Determine the Project Name

Ask the user which project to analyze if not obvious from context. The project name is typically the directory name of the project (e.g., "tokyo", "my-app"). If the user says "this project", use the current working directory's basename.

Worktree Detection: Before using the directory basename, check if the current directory is a git worktree. In a worktree, the data source is the parent project, not the worktree directory itself. Run:

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
  # We're in a worktree — resolve the parent project name
  parent_project=$(basename "$(dirname "$git_common_dir")")
  echo "Worktree detected. Parent project: $parent_project"
else
  parent_project=$(basename "$PWD")
fi
echo "$parent_project"

If a worktree is detected, use $parent_project (the basename of the parent repo) as the project name for all API calls. Inform the user: "Detected git worktree. Using parent project '[name]' as the data source."

Step 2: Fetch the Full Timeline

Use Bash to fetch the complete timeline from the claude-mem worker API:

curl -s "http://localhost:${WORKER_PORT}/api/context/inject?project=PROJECT_NAME&full=true"

This returns the entire compressed timeline -- every observation, session boundary, and summary across the project's full history. The response is pre-formatted markdown optimized for LLM consumption.

Token estimates: The full timeline size depends on the project's history:

  • Small project (< 1,000 observations): ~20-50K tokens
  • Medium project (1,000-10,000 observations): ~50-300K tokens
  • Large project (10,000-35,000 observations): ~300-750K tokens

If the response is empty or returns an error, the worker may not be running or the project name may be wrong. Try curl -s "http://localhost:${WORKER_PORT}/api/search?query=*&limit=1" to verify the worker is healthy.

Step 3: Estimate Token Count

Before proceeding, estimate the token count of the fetched timeline (roughly 1 token per 4 characters). Report this to the user:

Timeline fetched: ~X observations, estimated ~Yk tokens.
This analysis will consume approximately Yk input tokens + ~5-10k output tokens.
Proceed? (y/n)

Wait for user confirmation before continuing if the timeline exceeds 100K tokens.

Step 4: Analyze with a Subagent

Deploy an Agent (using the Task tool) with the full timeline and the following analysis prompt. Pass the ENTIRE timeline as context to the agent. The agent should also be instructed to query the SQLite database at ~/.claude-mem/claude-mem.db for the Token Economics section.

Agent prompt:

You are a technical historian analyzing a software project's complete development timeline from claude-mem's persistent memory system. The timeline below contains every observation, session boundary, and summary recorded across the project's entire history.


…
FAQ

What is 'claude-mem'?

'claude-mem' is a service that stores the development history and notes for a project.

What is a 'git worktree'?

A 'git worktree' is a way to work on different parts of a project simultaneously. The tool needs to know the main project in these cases.

What happens if the project has no notes?

If there are no notes recorded in 'claude-mem' for the project, the tool won't be able to generate a detailed report.

Details

Original description by the author

Generate a "Journey Into [Project]" narrative report analyzing a project's entire development history from claude-mem's timeline. Use when asked for a timeline report, project history analysis, development journey, or full project report.

repo: thedotmack/claude-mem

Popularity

GitHub stars
101k
Ranking position
#821
License
Apache-2.0
Updated
10/16/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills