repo-timeline — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited repo-timeline (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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:
~/.claude/skills/repo-timeline/preferences.md, confirm, stop-- prefix), use it as the target branch--since, --until, --focus, --depth, --sourcesParse from $ARGUMENTS:
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 -10GitHub (check gh CLI):
gh auth status 2>&1Linear (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 history
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" --mergesAlso 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>#### GitHub PRs (if available)
gh pr list --state merged --base <branch> --limit 50 --json number,title,body,labels,mergedAt,author,headRefNameIf a time range is set, filter merged PRs within that window.
#### Linear tickets (if available) 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 context#### Changelog (if available) Read 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, ChangelogDisplay 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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.