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:
session-documenter)External Side Effects:
ghConfirmation Required:
Delegates To:
changelog-generator when the user wants customer-facing release notes insteadsession-documenter when the user wants the recap saved to .agents/sessions/Do 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
TypeScript refactoring and modernization guidelines from a principal specialist perspective. This skill should be used when refactoring, reviewing, or modernizing TypeScript code to ensure type safety, compiler performance, and idiomatic patterns. Triggers on tasks involving TypeScript type architecture, narrowing, generics, error handling, or migration to modern TypeScript features.
tools
Resolves TypeScript and JavaScript problems across type-level programming, performance, monorepo management, migration, and modern tooling. Invoke when diagnosing "type instantiation excessively deep" errors, migrating JS to TS, configuring strict tsconfig, debugging module resolution, or choosing between Biome/ESLint/Turborepo/Nx.
tools
Turborepo monorepo build system guidance. Triggers on: `turbo.json`, task pipelines, `dependsOn`, caching, remote cache, the `turbo` CLI, `--filter`, `--affected`, CI optimization, environment variables, internal packages, monorepo structure, and package boundaries. Use when the user configures tasks or workflows, creates packages, sets up a monorepo, shares code between apps, runs changed packages, debugs cache behavior, or works in an `apps/` plus `packages/` workspace.
tools
Provides Tailwind CSS v4 performance optimization and best practices guidelines. Triggers when writing, reviewing, or refactoring Tailwind CSS v4 code; when working with Tailwind configuration, @theme directive, utility classes, responsive design, dark mode, container queries, or CSS generation optimization.