Time Registration
Git-based time registration summaries
/plugin install time-registration@rvanbaalenWhen to use
Use when you need a quick summary of what you worked on for a timesheet, standup, or status update. It reads your git history — including work done in other worktrees, pushed from other machines, or already squash-merged — and distills it into a single line.
How it works
- Parses your time period argument (defaults to today)
- Runs
git fetch --all --pruneso remote-tracking refs are current; continues offline if the fetch fails - Enumerates every worktree of the repo and scans
git log --allin each, filtered by youruser.nameanduser.email, then dedupes by commit SHA - Queries
gh pr list --author "@me"for PRs merged in the same window, recovering squash-merged work whose branch was pruned - Groups related commits and PR titles into logical work items, preferring PR titles where they read better
- Prints one comma-separated, past-tense line and offers to copy it to the clipboard via
pbcopy
Skips the GitHub step silently when gh isn’t installed or the repo isn’t on GitHub.
Example output
Implemented user authentication, fixed pagination bug on dashboard, upgraded React from 18 to 19, refactored API error handling
Invoke
Takes an optional period argument; defaults to today.
/time-registration:time-registration # today
/time-registration:time-registration yesterday
/time-registration:time-registration this-week
/time-registration:time-registration last-week
/time-registration:time-registration last-3-days
/time-registration:time-registration since-friday
It also triggers automatically when you ask what you worked on today, yesterday, or last week.