Generate a concise agent-work summary covering all sessions since the last git commit — what was asked for, how it was driven, and which skills were used. Suitable for pasting into PR descriptions or commit messages. Use when the user invokes /wrapup or asks to "summarize what the agent did" / "give me a PR summary" / "what happened this session".
Scanned 9/10/2026
Install to Claude Code
npx -y skills add curtisgalloway/public-skills --skill wrapup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Wrapup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/curtisgalloway-wrapup)More formats (shields.io, HTML) on the badges page.
---
name: wrapup
description: Generate a concise agent-work summary covering all sessions since the last git commit — what was asked for, how it was driven, and which skills were used. Suitable for pasting into PR descriptions or commit messages. Use when the user invokes /wrapup or asks to "summarize what the agent did" / "give me a PR summary" / "what happened this session".
---
# Wrapup: agent-work summary for PRs and changelogs
Produces a short markdown block the user can paste into a PR description, commit message, or handoff note. The goal is to capture *how* the change was made — what was asked for and which tools drove it — not to restate *what* changed (that's what `git diff` is for).
## Scope
Cover all Claude Code sessions with events timestamped **after the most recent git commit** in the current repo:
```bash
git log -1 --format="%aI" 2>/dev/null || echo "1970-01-01T00:00:00+00:00"
```
If there are no commits yet, cover all sessions for the current project. **Always include the live (current) session** — `/wrapup` is typically run just before the user commits or opens a PR.
Note: the `/wrapup` invocation prompts themselves will not appear in the output, because those events have not been written to the JSONL yet when you read it.
## Finding relevant sessions
See the `claude-session-transcript` skill for how to locate transcript files. Steps:
1. Get the last-commit ISO timestamp from git (above).
2. List all transcripts for the current project.
3. Include a transcript if its file mtime is after the commit timestamp — this is a reliable approximation. The live session is always included.
## What to extract
Read the `claude-session-transcript` skill for prompt-extraction rules before parsing transcripts. From each in-scope session, extract:
### 1. Real user prompts — phase bullets with inline quotes
Apply the full real-prompt filter from `claude-session-transcript`. Then **summarize** the prompts as phase bullets rather than listing them individually:
- Identify the major phases of work across all in-scope sessions (e.g. "initial setup", "implementation", "hardware testing", "course correction").
- Write one bullet per phase. Lead with an italicized phase label, then quote the most intent-revealing user prompt for that phase in quotes, followed by a dash and a brief description of what the agent did. Example: `- *Hardware testing:* "Let's try it on the real device" — agent ran the capture script; hit a USB permission error and fixed it.`
- If a phase involved a notable course correction or redirect, include the correcting prompt as a quote too: `User corrected tool installation mid-session ("I prefer uv now over pipx").`
- Drop noise prompts entirely: single-word continuations ("ok", "continue", "run"), bare acknowledgments, and anything fully captured by the phase description.
- Do not include the `/wrapup` invocation prompt itself.
### 2. Skill invocations
In each transcript, find `type == "assistant"` events that contain a `tool_use` block with `name == "Skill"`. Extract `input.skill` — that is the invoked skill name.
Classify each as **user-configured** or **built-in**:
- **User-configured**: skills the user has added or installed — anything not shipped as part of the agent's standard installation. Always mention these if detected, even if the agent invoked them autonomously rather than the user typing a slash command.
- **Built-in**: skills that ship with the agent. For Claude Code, current examples: `init`, `code-review` (with `/review` as an alias), `security-review`, `simplify`, `loop`, `schedule` — the set grows with releases, so treat any list as examples, not an inventory. When unsure whether a skill is built-in or user-configured, check whether it appears in the user's own skills or plugin directories. Mention built-in skills **only** if the user explicitly invoked them (i.e. there is a corresponding slash-command stub in the transcript).
If the same skill is invoked multiple times, list it once.
### 3. Session metadata
- Number of in-scope sessions
- Date range (YYYY-MM-DD of first and last event, or just one date if single-day)
## Output format
Print a markdown block to the conversation. Do not write a file unless the user asks.
```markdown
## Agent-assisted changes
**Sessions:** <N> · <date> [– <end date if multi-day>]
### How it was built
- *<Phase label>:* "<key user prompt>" — <what the agent did. Course corrections quoted inline if present.>
- *<Phase label>:* "<key user prompt>" — <what the agent did.>
### Skills used
- **`/<skill>`** *(user-configured)* — <what it did in this session, one phrase>
- `/<skill>` *(built-in, explicitly invoked)* — <one phrase>
> _Generated by /wrapup from Claude Code session transcripts._
```
Omit the **Skills used** section entirely if no qualifying skills were invoked.
## Style notes
- **Phase bullets over list.** One bullet per phase of work, with the key prompt quoted inline, is more readable in a PR description than a numbered dump of 20 prompts.
- **Skills: what they did here, not what they are.** "Captured USB traffic from the target device" beats "USB traffic capture skill."
- **This is not a teaching document.** No teaching notes, student takeaways, or prompting-technique analysis — that's `/teach`.
- **Short is right.** This is meant to fit in a PR description alongside other content.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!