Skip to content
Back to skills

Project Timeline Report

ASecurity

Generate a "Journey Into [Project]" narrative report analyzing a project's entire development history from git log, CHANGELOG, and release notes. Use when user asks for a timeline report, project history analysis, development journey, full project report, or "what's the story of this project?". No external dependencies.

  • 17 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsbashsqldebuggingrefactoringgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add CarlosCaPe/octorato --skill project-timeline-report --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Project Timeline Report?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Project Timeline Report
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/carloscape-project-timeline-report/badge)](https://www.skillsdirectory.com/skills/carloscape-project-timeline-report)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: project-timeline-report
description: Generate a "Journey Into [Project]" narrative report analyzing a project's entire development history from git log, CHANGELOG, and release notes. Use when user asks for a timeline report, project history analysis, development journey, full project report, or "what's the story of this project?". No external dependencies.
license: NOASSERTION
metadata:
  origin: "Adapted from https://github.com/thedotmack/claude-mem (timeline-report skill). Entered this repo on 2026-05-15 in commit b71318d, when upstream had been Apache-2.0 since 2026-05-08 (commit 36b0929f). It declares no adoption date of its own; the two sibling skills in that same commit declare adopted: 2026-04-13, when upstream was AGPL-3.0-only. The dates name different licenses and neither is established as the one that attaches, so no license is asserted."
---

# Project Timeline Report

Generate comprehensive narrative analysis of a project's development history using git log, CHANGELOG, release notes, and workspace artifacts as the timeline source.

## When to Use

- "Write a timeline report"
- "Journey into [project]"
- "Analyze my project history"
- "Summarize the entire development history"
- "What's the story of this project?"
- Sprint retrospectives, client handoffs, portfolio updates

## Prerequisites

- Git repository with commit history
- Optional: CHANGELOG.md, RELEASE_NOTES*.md, tags

## Workflow

### Step 1: Determine Project Scope

Identify the project root and name:

```bash
PROJECT_ROOT="$(git rev-parse --show-toplevel)"
PROJECT_NAME="$(basename "$PROJECT_ROOT")"

# If monorepo, user may specify a subpath
# e.g., projects/website within portfolio_repo
```

### Step 2: Gather Timeline Data (parallel)

Run all data-gathering commands in one batch:

```bash
# --- Quantitative overview ---
echo "=== STATS ==="
git log --oneline | wc -l                              # Total commits
git log --format="%ai" | head -1                        # Latest
git log --format="%ai" | tail -1                        # Earliest
git shortlog -sn --no-merges | head -10                 # Contributors
git tag -l --sort=-v:refname | head -10                 # Tags/releases

# --- Monthly activity ---
echo "=== MONTHLY ==="
git log --format="%Y-%m" | sort | uniq -c | sort -rn

# --- Top changed files ---
echo "=== HOTSPOTS ==="
git log --pretty=format: --name-only | sort | uniq -c | sort -rn | head -20

# --- Commit type distribution (if conventional commits) ---
echo "=== TYPES ==="
git log --oneline | grep -oP "^[a-f0-9]+ \K(feat|fix|refactor|docs|chore|style|test|perf|ci|build)" | sort | uniq -c | sort -rn

# --- Key milestones ---
echo "=== MILESTONES ==="
ls CHANGELOG.md RELEASE_NOTES*.md 2>/dev/null
git tag -l -n1 | head -20
```

### Step 3: Estimate Scope and Token Budget

| Project Size | Commits | Timeline Tokens | Approach |
|---|---|---|---|
| Small | < 100 | ~5K | Full git log, direct analysis |
| Medium | 100-1,000 | ~15K | Monthly summaries + key commits |
| Large | 1,000-10,000 | ~50K | Phase-based with subagent |
| Huge | 10,000+ | ~100K+ | Sampled analysis (milestones + tags only) |

Report to user: "Project has N commits spanning DATE1 to DATE2. Estimated ~Xk tokens for analysis. Proceed?"

### Step 4: Build Timeline Phases

Group history into natural phases by detecting:

```bash
# Phase boundaries (pick the most relevant)
git tag -l --sort=v:refname                            # Tags = releases
git log --oneline --grep="initial\|v0\|v1\|launch\|deploy\|migrate" -20  # Milestone commits
git log --oneline --diff-filter=A -- "*.md" | head -10  # Doc creation points
```

For each phase, extract:
```bash
# Phase N: TAG_START..TAG_END (or date range)
git log --oneline TAG_START..TAG_END --stat | head -40
git log --oneline TAG_START..TAG_END --grep="fix" | wc -l      # Bug fixes
git log --oneline TAG_START..TAG_END --grep="feat" | wc -l     # Features
```

### Step 5: Deploy Analysis Subagent

For medium+ projects, use a subagent with the gathered data:

```
Deploy subagent with:
- Timeline statistics from Step 2
- Phase breakdown from Step 4
- CHANGELOG.md content (if exists)
- RELEASE_NOTES*.md content (if exists)
- Analysis prompt (see below)
```

### Step 6: Save Report

Default output: `./journey-into-PROJECT_NAME.md`

Report completion:
- Where saved
- Date range covered
- Commits analyzed
- Phases identified

## Analysis Prompt Template

The subagent should produce these sections:

1. **Project Genesis** - First commits, initial vision, founding decisions
2. **Architectural Evolution** - Major structural changes, pivots, why
3. **Key Breakthroughs** - "Aha" moments visible in commit patterns
4. **Work Patterns** - Debug cycles, feature sprints, refactoring phases
5. **Technical Debt** - Shortcuts taken and when repaid
6. **Challenges** - Hardest problems (multi-commit debugging, dead ends)
7. **Timeline Statistics** - Date range, total commits, types, hottest files, most active periods
8. **Lessons and Meta-Observations** - Recurring themes, principles

**Writing style:**
- Technical narrative, not bullet lists
- Reference specific commits (SHA short + message) when citing events
- Connect events across time - show cause and effect
- Be honest about struggles, not just successes
- 2,000-5,000 words depending on project size

## 4D Integration

| Phase | Role |
|---|---|
| 1D Describe | State project name, expected scope, output location |
| 2D Delegate | Subagent for large projects (1000+ commits) |
| 3D Diligent | Verify report covers full date range, no phantom data |
| 4D Disclose | Report token cost, commit count, phases identified |

## Anti-Patterns

- Reading every commit message into a single prompt (token explosion)
- Fabricating milestones not present in git history
- Ignoring CHANGELOG/RELEASE_NOTES when they exist
- Generating reports without citing specific commits
- Analyzing monorepo root when user asked about specific subproject

## Lessons Learned

<!-- Append new patterns as they emerge -->

---
*Adapted from claude-mem timeline-report skill. Uses git log + docs as timeline instead of SQLite/Chroma/worker API.*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.