sync-branch
>-
repo-timeline
Analyzes a repository or branch and generates a meaningful, engineer-friendly timeline of changes — grouping commits into logical units with short and detailed descriptions, using git history, changelogs, GitHub PRs, and Linear tickets. Use when you want to understand what changed, when, and why in a codebase.
Full skill instructions
Visualize the history of a repository or branch as a meaningful, grouped timeline — not raw git log, but an engineer-friendly narrative of what changed, when, and why.
On startup, use the Read tool to load ~/.claude/skills/repo-timeline/preferences.md. If it doesn't exist, use defaults.
On startup, use Bash to detect: current git branch, repo root (git rev-parse --show-toplevel), repo name (basename $(git rev-parse --show-toplevel)), remote URL (git remote get-url origin), and GitHub repo name (gh repo view --json nameWithOwner -q .nameWithOwner). Skip any that fail.
Check $ARGUMENTS:
help → display help then stopconfig → interactive setup then stopreset → delete ~/.claude/skills/repo-timeline/preferences.md, confirm, stop-- prefix), use it as the target branch--since, --until, --focus, --depth, --sourcesParse from $ARGUMENTS:
--since <time> — start of time range (e.g., "2 weeks ago", "2026-01-01", "last tag")--until <time> — end of time range (defaults to now)--focus <areas> — comma-separated paths or areas to emphasize (e.g., "api,auth,frontend")--depth brief|detailed — "brief" for one-liners, "detailed" for full descriptions (default from preferences)--sources <list> — comma-separated sources: git, github, linear, changelog (default: all available)Repo Timeline — Engineer-friendly timeline of repository changes
Usage:
/repo-timeline Current branch, full history
/repo-timeline feature/auth Specific branch
/repo-timeline --since "2 weeks ago" Time-bounded timeline
/repo-timeline --focus "api,auth" Focus on specific areas
/repo-timeline --depth brief One-liners only
/repo-timeline --depth detailed Full descriptions with context
/repo-timeline --sources git,github Only specific sources
/repo-timeline config Set preferences
/repo-timeline reset Clear preferences
/repo-timeline help This help
Flags:
--since <time> Start of time range (e.g., "1 month ago", "v2.0.0")
--until <time> End of time range (default: now)
--focus <areas> Comma-separated paths/areas to emphasize
--depth brief|detailed Level of detail (default: from preferences)
--sources <list> Sources to use: git, github, linear, changelog
Examples:
/repo-timeline Full timeline of current branch
/repo-timeline main --since "last month" Main branch, last month
/repo-timeline --focus "src/api" --depth detailed
/repo-timeline --since "v1.0.0" --until "v2.0.0" Between releases
/repo-timeline develop --sources git,github
Current preferences:
(read from preferences.md)
Use AskUserQuestion:
Q1 — "Default timeline depth?" (Brief — one-liner per group, Detailed — with descriptions and file lists, Auto — brief for large ranges, detailed for short)
Q2 — "Which sources to include by default?" (multiSelect: true)
gh)Q3 — "Default time range?" (Full history, Last 30 days, Last sprint / 2 weeks, Since last tag/release)
Q4 — "Grouping strategy?" (By time period — weekly/daily buckets, By topic — features/fixes/refactors, By release — between tags, Auto-detect)
Save to ~/.claude/skills/repo-timeline/preferences.md.
Delete ~/.claude/skills/repo-timeline/preferences.md and confirm: "Preferences cleared. Using defaults."
If no preferences file exists, show:
"First time using /repo-timeline? Run /repo-timeline config to set defaults, or continue — I'll auto-detect the best settings."
Then proceed with defaults:
Detect available sources in parallel:
Git (always):
git rev-parse --git-dir
git branch --show-current
git tag --sort=-creatordate --format='%(refname:short) %(creatordate:short)' | head -10
GitHub (check gh CLI):
gh auth status 2>&1
Linear (try MCP):
Try list_teams to verify access. If it fails, skip gracefully.
Changelog files:
Use Glob to check for: CHANGELOG.md, CHANGELOG, HISTORY.md, CHANGES.md, RELEASES.md, release-notes/.
Report: Sources available: Git, GitHub, Linear, Changelog (or whichever are found).
If --sources flag is set, filter to only those.
Apply flags and preferences to determine:
--since/--until, or preference default, or auto (full history capped at 200 commits)--focus — will be used to filter/highlight relevant changesIf --since references a tag (e.g., "v1.0.0"), resolve it:
git log -1 --format=%ai v1.0.0
git log [branch] --since="<time>" --until="<time>" --format="%H|%h|%ai|%an|%s|%b" --no-merges
git log [branch] --since="<time>" --until="<time>" --format="%H|%h|%ai|%an|%s" --merges
Also collect file-level stats:
git log [branch] --since="<time>" --until="<time>" --stat --format="%h"
And tags in range:
git tag --sort=creatordate --contains <start-commit> --no-contains <end-commit>
gh pr list --state merged --base <branch> --limit 50 --json number,title,body,labels,mergedAt,author,headRefName
If a time range is set, filter merged PRs within that window.
Extract ticket IDs from commit messages and PR branch names (pattern: AIS-\d+, or configured prefix).
For each unique ticket ID found, fetch:
get_issue — title, status, descriptionlist_comments — recent comments for contextRead CHANGELOG.md or equivalent. Parse entries that fall within the time range.
Cluster the raw data into meaningful groups. Strategy depends on preference or auto-detection:
By topic (default for short ranges):
By time period (default for long ranges):
By release (when tags are present):
For each group:
If --focus is set, highlight groups that match the focus areas and de-emphasize others.
Produce the timeline in this format:
## Timeline: [repo-name] / [branch]
Period: [start] — [end] | [N] commits | [N] contributors
---
### [Release Tag / Time Period / Topic Group]
_[date range]_ | [N commits] | by [authors]
**[Short summary — one line describing the group]**
[If detailed depth:]
[Long summary — 2-3 sentences with key details, linked PRs, tickets]
Key changes:
- [Bullet point per significant change]
- [PR #123 — title] [AIS-456]
- [File/area affected]
---
### [Next group...]
...
---
## Summary
- **Total**: [N] commits across [time range]
- **Contributors**: [list]
- **Focus areas**: [if --focus was used, show what matched]
- **Sources used**: Git, GitHub PRs, Linear tickets, Changelog
Display the timeline. Then offer follow-up options via AskUserQuestion:
If the user picks a drill-down, re-run steps 3-5 with the narrowed scope and present again.
>-
>-
>-
>-
>-
>-
>-
>-
>-
>-
>-
>-
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience