bundles/dev-workflow/skills/standup/SKILL.md
Summarize what you personally shipped over a time window from git history — an engineer standup or weekly recap, not a customer changelog. Scopes commits to your git author identity, reads the diffs, and classifies each as a feature, fix, refactor, tech-debt, or docs change. Use when the user asks what did I get done, write my standup, what did I ship this week, weekly recap, or runs /standup.
npx skillsauth add shipshitdev/library standupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Turn your own git history into a short, honest recap of what you actually shipped.
This is the inward-facing twin of changelog-generator: where a changelog
translates the whole repo's commits into customer language, standup scopes to
your commits over a window, reads the diffs, and writes a terse engineer
status update — the answer to "what did I get done?".
It is read-only. It never commits, pushes, or mutates anything; it reads git and (optionally) GitHub and hands back bullets.
Inputs:
--all-repos)24h (default), 7d, today, yesterday, since <ref|date>,
or from <date> to <date>git config user.email; override
with --author <email|name>--all-repos <dir> to sweep sibling repositories under a directoryOutputs:
Creates/Modifies:
External Side Effects:
ghConfirmation Required:
Delegates To:
changelog-generator when the user wants customer-facing release notes insteadDo not use this to write customer release notes (use changelog-generator) or to
summarize the whole team's output — this is intentionally scoped to one author.
Hard rules:
git config user.email is empty and
no --author was given, stop and ask which identity to scope to rather than
silently reporting everyone's work.AUTHOR="$(git config user.email)"
# Halt if empty and no override was provided.
test -n "$AUTHOR" || echo "No git user.email set — pass --author <email> to scope the recap."
Translate the requested window into a --since (and optional --until):
24h (default) -> --since="24 hours ago"today -> --since="00:00"yesterday -> --since="yesterday 00:00" --until="today 00:00"7d / "this week" -> --since="7 days ago"since <ref|date> -> --since=<value>from <date> to <date> -> --since=<from> --until=<to>Scope strictly to the resolved author and exclude merge commits:
git log --author="$AUTHOR" --no-merges --since="<window>" \
--pretty=format:'%h%x09%cs%x09%s'
For substance beyond the subject lines, read the diffstat (and the actual diff for ambiguous commits):
git log --author="$AUTHOR" --no-merges --since="<window>" --stat --pretty=format:'%h %s'
If the window is empty, report that plainly and stop.
Read the diffs and bucket each meaningful change by kind, inferring from both the Conventional Commit prefix and what the diff actually does:
feat:, new modules/endpoints/components)fix:, corrected logic, added guards on a real failure)refactor:)docs:, chore:, config, CI, depsCollapse noise: many small commits toward one outcome become a single bullet. Lead each bullet with the outcome, not the commit hash.
Optionally enrich with merged PRs you authored in the window:
gh pr list --author "@me" --state merged --search "merged:>=<from-date>" \
--json number,title,url,mergedAt 2>/dev/null || true
Default — a terse personal recap:
Standup — <window> (<author>)
- Shipped <feature>: <what it does> (<n> commits)
- Fixed <bug>: <root cause / effect>
- Paid down <tech-debt area>: <what was simplified/removed>
Net: <one-line summary>. Open: <anything in-progress or follow-up>, if known.
Keep it to 2–6 bullets. If nothing landed: No commits by <author> in <window>.
/standup — last 24h, your commits, current repo (default)/standup 7d | today | yesterday | since <ref> | from <d> to <d> — window/standup --author <email> — scope to a different identity/standup --all-repos <dir> — sweep sibling repos under <dir>, grouped by repoFor an --all-repos sweep, iterate each git repo under the directory, run Phases
1–3 per repo, and group the output with a heading per repository, omitting repos
with no commits in the window.
Report the window, the author scoped to, the repos covered, and the recap. Note if the author identity had to be inferred or supplied via override.
development
Coordinates a weekly engineering review of board accuracy, recent code changes, operational health, and scoped cleanup. Use for a recurring repository health review or a review of the last several days.
testing
Audits project board configuration and prepares explicitly requested setup, copy, or normalization changes while preserving the existing workflow and provider boundaries. Use when inspecting a board's fields, columns, scope, or configuration.
testing
Reconciles a project board with current work and delivery evidence, reports incomplete coverage and metadata gaps, and applies only approved provider-supported field changes. Use when auditing board drift, reviewing blocked work, or assessing upcoming delivery.
development
Walk through how a subsystem works. Use for "how does X work", code walkthroughs before changing something, and placement or ownership questions. Explains architecture, runtime flow, and onboarding mental models. Can critique architecture. Use why for motivation.