From universe
Retrieves historical file versions via git and timewarp tools, annotates top changes with commit details, classifications (design decisions, bug fixes), and explanations of why they occurred.
npx claudepluginhub mbwsims/claude-universe --plugin universeThis skill is limited to using the following tools:
Show me this code as it was, and explain what changed. Not a raw diff — an annotated
Traces evolution of files or functions through git history to identify structural commits adding complexity. Helps assess necessity for refactoring.
Traces latest changes to file ranges or code snippets via git blame and deduplicated entire explain lookups to explain code provenance.
Analyzes git history using git log, blame, shortlog to trace code evolution, map contributors, and identify commit patterns for repo archaeology.
Share bugs, ideas, or general feedback.
Show me this code as it was, and explain what changed. Not a raw diff — an annotated evolution that explains WHY each change was made, which changes were intentional design decisions, and which were accumulated patches.
With timewarp-mcp (preferred): Call timewarp_history with the file and period to get
structured commit data — this tells you total commits, classifications, and authors for the
file during the rewind period. Use this to understand the volume and nature of changes before
diving into individual commits. If timewarp_trends is available, use it to note whether
the file is still on a growth/churn trajectory today.
Rename detection: Before looking up the historical version, check if the file was
renamed: git log --follow --diff-filter=R --format="%H %s" -- {file}. If a rename
is found, use the old path for historical lookups. Note the rename in the output:
"This file was renamed from {old-path} to {new-path} on {date}."
Then find the specific historical commit:
# Find the commit closest to the requested time
git log --oneline --before="{date}" -1 -- {file}
# Or if a commit hash was given, use it directly
git show {commit}:{file}
If the file didn't exist at the requested time, find the earliest version:
git log --oneline --diff-filter=A --follow -- {file}
Read the historical version and the current version. Note:
Annotate the top 8-10 most significant changes between the two versions. If there are more changes, note the remainder count: "...and N additional minor changes not annotated." This limit keeps the report focused on what matters.
For each significant change, find the commit(s) that introduced it and explain WHY:
# Find commits between the two points
git log --oneline {old-commit}..HEAD -- {file}
Classify each change:
Report format:
## Rewind — {file}
**Then:** {date/commit} ({lines} lines, {functions} functions)
**Now:** {lines} lines, {functions} functions
**Changes:** +{added} -{removed} lines across {n} commits
### Summary
{2-3 sentences: what's fundamentally different and why}
### Key Changes
1. **{Change description}** (commit {hash}, {date})
Type: {design decision / bug fix / accumulated patch / dependency-driven}
Why: {from commit message / PR context / inferred}
Lines: +{n} -{n}
2. **{Another major change}** (commit {hash}, {date})
Type: {classification}
Why: {why it happened}
Lines: +{n} -{n}
### What Stayed the Same
{What hasn't changed — core API, fundamental approach, key abstractions.
This is useful for understanding what's stable vs volatile.}
### Observations
{Any patterns: "most changes are bug fixes in the validation logic, suggesting
it's under-tested" or "the core algorithm hasn't changed, just the interfaces around it"}
Save results to .timewarp/rewind-{sanitized-file}-{date}.json with:
Path sanitization: Replace / with -- and remove leading dots in the filename.
Example: src/services/auth-service.ts becomes src--services--auth-service.ts.
Read existing caches: Before starting, check .timewarp/ for:
drift-* files — if the same file has drift data, note whether changes align with driftforecast-* files — if the file is on a concerning trajectory, mention itdissect-* files — if complexity archaeology exists, reference the structural commits/dissect — For deeper analysis of HOW a specific complexity layer was added/explain — For understanding the current code in full contextreferences/rewind-patterns.md — Change classification rubric, annotation methodology,
"What Stayed the Same" detection guidance