mcpField
S
summarizing-shipped-work

summarizing-shipped-work

github.com/bostonaholicProductivity262 installsUpdated today
Repository

About summarizing-shipped-work

A skill for producing concise reports of shipped work from merged pull requests. It guides repository selection, timeframe resolution, grouping changes by product area, and applying reporting rules.

Key features

  1. 01Resolve requested reporting periods
  2. 02Fetch merged pull requests
  3. 03Group changes by product or system
  4. 04Filter and rank report entries
  5. 05Apply report format and link rules

Use cases

  1. 01Summarizing merged work for a reporting period
  2. 02Combining related changes across repositories
  3. 03Preparing user-focused release or progress reports

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bostonaholic/skills --skill summarizing-shipped-work

After installing, type/summarizing-shipped-workin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
references/
report-format.md
scripts/
fetch-shipped-prs.sh
resolve-timeframe.mjs

Details

From the project README

Summarizing shipped work

Scope

Ask nothing up front. Search only the owners the user names, if any. When the user asks for work only, leave out personal and trivial repositories and name them in one line at the end of the report.

Timeframe

Resolve <skill-dir> to this skill's absolute directory. Map the request to one PERIOD token from the header of scripts/resolve-timeframe.mjs (this-week when the user names none) and run:

node "<skill-dir>/scripts/resolve-timeframe.mjs" PERIOD

It prints START END. On exit 64, fix the token and rerun.

Fetch merged PRs

With <out> a scratch directory, run:

"<skill-dir>/scripts/fetch-shipped-prs.sh" START END [OWNER...] > <out>/shipped.jsonl; echo "rc=$?"

On a non-zero exit:

  • Report the script's error and stop: the file is partial.
  • Do not summarize, list, or group any PR from it, and do not offer to, even labeled as partial.
  • Exit 64 means a bad date or argument: fix the call and rerun.
  • For any other error, such as an HTTP 5xx, tell the user to rerun once it clears.

Group and summarize

Group by product or system, not by repository: a service change, its UI screen, and its docs are one item. Within each area, add bold theme sub-headers, and put refactors, test infrastructure, CI, and lint fixes under a final Engineering health sub-header for that area.

One sentence per change, in plain words for the system's users. Merge PRs that ship one change into one line; collapse a run of similar PRs into one line with a count.

Drop version bumps, reverts of work merged in the same window, and PRs whose only content is fixing the previous PR.

Links end each line, in parentheses, comma-separated: PRs, then issues.

  • PR label: pr_label.
  • Issue label: the ticket key (OPS-123), or repo#number for a GitHub issue.
  • Issue source, in order: the URLs in title_ticket_links; otherwise the issue_links the body cites as the PR's own ticket. Skip tickets the body mentions only as related context or follow-up work.
  • A title_ticket_links key with a null URL stays unlinked unless an issue tracker tool in the session gives its URL.

Report

Read references/report-format.md when writing the report: it holds the Markdown template, section order, and ranking rules.

Brag document

  • After the report, offer to add the highlights to the user's brag document when the user names one or one is recorded in their AGENTS.md or memory; otherwise end with the report.
  • Match the document's existing structure, show the exact proposed diff, and write only after approval.
  • Add text; never overwrite or remove existing text.

Comments

Markdown supported