commit-message
Abacus land.commit slot for Bitwarden. Compose one commit's subject and body for a change Abacus is about to land, following…
Generates an interactive HTML recap of the user's own engineering work over one Monday-to-Friday workweek, ready for a weekly standup, 1:1 prep, or sharing with colleagues. Use when the user asks what they worked on, shipped, merged, reviewed, or moved tickets and docs on over a
Claude Code
$ npx -y skills add bitwarden/ai-plugins --skill weekly-recap --agent claude-code
Codex
$ npx skills add bitwarden/ai-plugins --skill weekly-recap -a codex -y
Cursor
$ npx skills add bitwarden/ai-plugins --skill weekly-recap -a cursor -y
Gemini CLI
$ npx skills add bitwarden/ai-plugins --skill weekly-recap -a gemini-cli -y
GitHub Copilot
$ npx skills add bitwarden/ai-plugins --skill weekly-recap -a github-copilot -y
OpenCode
$ npx skills add bitwarden/ai-plugins --skill weekly-recap -a opencode -y
Windsurf
$ npx skills add bitwarden/ai-plugins --skill weekly-recap -a windsurf -y
name: weekly-recap
context: fork
agent: general-purpose
description: Generates an interactive HTML recap of the user's own engineering work over one Monday-to-Friday workweek, ready for a weekly standup, 1:1 prep, or sharing with colleagues. Use when the user asks what they worked on, shipped, merged, reviewed, or moved tickets and docs on over a week ("this week", "last week", "the week of" a date), or asks for a "weekly recap", "weekly standup", "weekly summary", "week in review", or "weekly update", including phrasings like "throw together what I did last week". Not for a single day or part of a day, for a multi-day range that is not a Monday-to-Friday week or for several weeks at once (use the daily-recap skill), for looking up a single specific PR, commit, ticket, or document, for someone else's activity, for meeting recaps, for repository-level overviews, or for critiquing how a single Claude Code session went.Generate the daily-recap page for a whole workweek. This skill defines only what differs for a week. Everything else comes from the daily-recap skill in the same plugin.
Read `${CLAUDE_PLUGIN_ROOT}/skills/daily-recap/SKILL.md` and follow its workflow (steps 1-7), its `references/render-guide.md`, and its rules on escaping, credentials, untrusted text, the Content-Security-Policy, and deleting `work/`. Where this file says something different, this file wins.
That file is read as plain text, so two things in it need translating:
A week is the five workdays Monday through Friday. Each workday uses daily-recap's day boundary (`DAILY_RECAP_CUTOFF_HOUR`, default 07:00, and `TZ`), so the week runs from the cutoff on Monday to the cutoff on Saturday. Pick the dates, then take the actual bounds from the scripts' `window` output rather than recomputing them.
To step between dates, source `${CLAUDE_PLUGIN_ROOT}/skills/daily-recap/scripts/date-utils.sh` and use `add_days`, which handles GNU and BSD `date`. For a date's weekday, use `epoch_fmt "$(local_to_epoch "YYYY-MM-DD 12:00:00")" '%u'` (1=Monday) rather than `date -d`, which is GNU-only and silently returns today's weekday on BSD `date`.
In daily-recap's step 1, run (a), (b), and (d) once per workday in the week, passing that day's date and naming each file by it (`events-YYYY-MM-DD.json`, `sessions-YYYY-MM-DD.json`, `atlassian-YYYY-MM-DD.json`). In (b), read the window bounds from that day's `events-YYYY-MM-DD.json` rather than the `events.json` the step names. Run (c) once for the whole week: `gather-gh-search.sh MONDAY LAST-DAY`, where LAST-DAY is Friday, or for "this week" the earlier of today and that week's Friday. Skip (e) and leave `{{TODAY_BANNER}}` empty: "this week" already covers today, and for a past week the banner would sit across a weekend gap.
GitHub's events feed holds only the last 300 events from the last 30 days, so a busy week can be truncated, and a week more than 30 days old has no events at all. When any day's `feed_complete` is `false`, say so in the recap and rely on `search.json` for PRs.
Merge the per-day session digests before step 4, and the remaining per-day results before step 5. A session or PR that spans several days is one item, and a stream can run across the whole week.
A curated collection of plugins for AI-assisted development at Bitwarden. Enables discovery and distribution of quality-controlled plugins for use with Claude Code.
Abacus land.commit slot for Bitwarden. Compose one commit's subject and body for a change Abacus is about to land, following…
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
Use when the user provides a single Jira issue key and asks whether it is still relevant, still applicable, still pending, still…
File Jira work items that stand on their own, with real ticket titles, acceptance criteria in whatever field the target project…
Use whenever the user mentions a Jira issue key and wants more than a surface-level lookup — "Read PROJ-123", "What's PROJ-123…
Use when the user is addressing pull request review comments locally and asks for help evaluating, implementing, or drafting…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…