wrap-up
Skill4 starsChanged 59 days agoMITView on GitHub
Generate or extend a structured task summary
61 other projects use a version of this.
Adopted by
Most recently taken up by
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
- PaulRBerg/dot-agentstheir own version, first seen Nov 6, 2026
- adeonir/agent-skillstheir own version, first seen Nov 6, 2026
- Memolok/Claude-plugintheir own version, first seen Nov 6, 2026
- bas1l/claude-skillstheir own version, first seen Nov 3, 2026
- kiloloop/oacp-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use refine, doctor and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
AlexPEClubSkillrefine
Always use when the user wants to discuss an exsiting feature or specification. Open an existing feature spec to improve, extend, or fundamentally challenge it. Pass the feature ID as argument (e.g. /refine PROJ-2).
Also in 3 projects that use this
MicrosoftSkilldoctor
Diagnose an Amplifier CLI environment through the CLI doctor agent. USE WHEN a user requests CLI runtime, settings or missing-capability inspection. DO NOT USE for project bugs or other hosts.
Also in 4 projects that use this
MicrosoftSkillsync
Sync the current session branch with its upstream branch, or publish the current session branch to a remote. Use when the user asks to sync a branch, pull latest changes, rebase onto upstream, push current branch, publish branch, or set upstream.
Also in 3 projects that use this
austintgriffithSkillorchestration
Use when a Scaffold-ETH 2 build leaves localhost: planning the launch order, deploying and verifying contracts on a live network, standing up a fork of a real chain to rehearse a deploy, or fixing a contract bug that is already onchain. Not for running the app or a demo against that fork (`/frontend-playbook`).
Also in 3 projects that use this
SentrySkillspec
Produce a verified spec — problem, desired outcome, and acceptance criteria — before building. Use when given a GitHub/Linear issue link, when starting from a fuzzy in-conversation idea, or asked to "figure out what to do" / "scope this" / "what should I build" — whenever the *what* isn't yet pinned down. Grills the ambiguities, checks the premise against the code, and produces acceptance criteria you sign off on — then hands to design-first.
Also in 5 projects that use this
nicolasestremSkillbrainstorm
Structured idea generation and solution exploration with systematic analysis.
Also in 5 projects that use this
Other versions61 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 61
- rohitg00/pro-workflow★ 2.9ksame name
- anthropics/launch-your-agent★ 1ksame name
- codewithmukesh/dotnet-claude-kit★ 808same name
- ianlkl11234s/mini-taiwan-pulse★ 546same name
- aspi6246/Claude-Code-Skills-for-Academics★ 153same name
- PaulRBerg/agent-skills★ 104same name
- KerberosClaw/kc_ai_skills★ 79same name
- jonathanmalkin/jules★ 65same name
- simoncorry/foundry★ 39same name
- alxyrgin/health-os★ 38same name
51 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- commitSkill
- commit-splitSkill
- csSkill
- finalize-squashSkill
- handoffSkill
- planSkill
- reviewSkill
- start-taskSkill
- whySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
33 rules. 0 are common, 17 are distinctive, and 16 are very specific to this project.
0
Common
Most of the 56 edited versions we read keep these.
17
Distinctive
This author's own choices. Worth a look.
16
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Write (or extend) the task summary file at docs/work/<scope>/task-log/task-{N}-{slug}.md.
- Distinctive: line 26
If implementation is still in progress and the task is not blocked, do not run this skill.
- Very specific: line 49
If <work-root>/plan.md is missing, stop and tell the user to run /plan on this branch first.
- Very specific: line 58
Use $ARGUMENTS to identify the task being closed (e.g.
- Very specific: line 64
If $ARGUMENTS contains a number, use that.
- Distinctive: line 70
Do not guess, do not scan the plan, do not write a file.
- Distinctive: line 78
Not everything grows from a plan.
- Very specific: line 99
Add ### Root Cause directly after ### Status — for a bug this is the section that pays rent later: what was actually wrong, and why it …
- Distinctive: line 103
Context for Next Task: only when the fix leaves something behind (follow-up, gotcha).
- Distinctive: line 106
Test Evidence, Open Issues, Git State, Sessions) applies unchanged.
- Very specific: line 122
Run /wrap-up N → scoped summary file is written (or extended), ready to inform an independent review.
- Very specific: line 124
If reviewing, triage the findings with the user, address the approved ones, record the declined ones (see Key Decisions), complete the …
- Very specific: line 128
Run /commit N → commits code + summary together — or /commit-split N, which lands the task as a series with the summary in its first commit.
- Very specific: line 132
Split-series exception: if the task already landed as a series (git log --oneline --grep='^task-N:' lists its commits and the log is in …
- Distinctive: line 156
Ask the user which option before writing the file, so the summary lands in the right commit from the start.
- Distinctive: line 167
Before writing, check for an existing log:
- Distinctive: line 184
Read the existing file, then integrate the new session's output as follows.
- Very specific: line 228
When a merge happens, append a short marker to the Key Decisions and/or Test Evidence sections to preserve temporal order.
- Very specific: line 236
Use date +%Y-%m-%d to get the date.
- Distinctive: line 248
If BLOCKED, explain why and what needs to happen to unblock.
- Distinctive: line 250
Keep these implementation status values.
- Distinctive: line 305
Test commands run and their output
- Very specific: line 328
If any AC is skipped and that was not a deliberate scope decision, the task is not ready for /commit N.
- Very specific: line 349
No drain, no coupling: nothing reads the register automatically.
- Distinctive: line 362
Run these commands and include their output:
- Distinctive: line 391
If Status is BLOCKED, also evaluate the escalation triggers and produce a re-plan proposal.
- Distinctive: line 410
Run the test suite and check.
- Distinctive: line 413
If not, scope is probably too large.
- Distinctive: line 422
Do NOT overwrite the old plan — the old version stays in git history.
- Very specific: line 427
Do not commit. The commit is /commit N's job.
- Distinctive: line 429
Keep the closing reply short and in the conversation's language: link the log, summarize the outcome and any material change from an …
- Very specific: line 438
Before review: the log is ready for an independent /review.
- Very specific: line 439
After review: name any remaining work, or point to /commit N when ready (/commit-split N when the change set reads better as a short series …
“Common” is measured: kept by at least 6 in 10 of the 56 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Task Wrap-Up
The implementation is complete (or the task has been declared blocked).
Write (or extend) the task summary file at
docs/work/<scope>/task-log/task-{N}-{slug}.md.
{N}= task number from the plan{slug}= short kebab-case description (e.g.login-service)<scope>= derived from the current git branch (see Work scope)
One task gets exactly one log file. No date in the filename — the date lives in git history (commit date) and optionally in session markers inside the file.
An initial wrap-up before independent review is a normal use of this skill: it gives the reviewer the intended behavior, decisions, assumptions, and evidence. Do not wait for review to write it. If implementation is still in progress and the task is not blocked, do not run this skill.
Work scope
Resolve the active roots before touching any plan, log, or doc path:
casefile root -vTrust its output verbatim: work root is where plan.md and
task-log/ live — every docs/work/<scope>/ path in this skill
refers to it. doc root is where project-global docs (specs,
architecture, improvements) live — every other docs/ path in this
skill resolves against it. scope and mode come from the same
output; do not re-derive any of them, and let the CLI's own errors
(detached HEAD, missing casefile repo) stop the run. If casefile is not
on PATH, stop: the kit ships with its CLI — reinstall it instead of
deriving paths by hand. In casefile mode, work artifacts never enter
the current repository. archive is where casefile archive copies
session transcripts; it is never a target for plans, logs, or docs.
If <work-root>/plan.md is missing, stop and tell the user to run
/plan on this branch first. Legacy layouts (docs/plans/, a
root plan.md, docs/task-log/) are never automatic fallbacks —
migrate them into the scoped work root first.
Exception: the fix lane (below) needs no plan — a missing
plan.md never stops /wrap-up fix.
Task identity — $ARGUMENTS
Use $ARGUMENTS to identify the task being closed
(e.g. /wrap-up 3 means Task 3). The skill must know
the task number before it writes anything.
Resolution rules, in order:
- If
$ARGUMENTScontains a number, use that. - Else, if this session was primed by
/start-task N(or an earlier/wrap-up N//commit N) and N is unambiguous in context, use N. - Else, stop and tell the user:
Task number required. Run as
/wrap-up N. Do not guess, do not scan the plan, do not write a file.
Fresh sessions (review-fix, retroactive wrap-up, cross-session handoff) always need the explicit argument — session context alone is not enough.
Fix lane — unplanned work (/wrap-up fix …)
Not everything grows from a plan. A sporadic bugfix, a small chore, an ad-hoc improvement — one commit, no task number — still deserves provenance: log + commit link + session archive, minus the plan ceremony.
- Identity:
fix-<slug>— derive<slug>from the user's description the same way task slugs are derived (short kebab-case). Other conventional-commit types are valid stems when the work clearly isn't a fix (chore-…,docs-…,perf-…);fixis the default. State the chosen identity in the closing message —/commit fixresolves it from there. - File:
docs/work/<scope>/task-log/fix-<slug>.md. Scope stays branch-derived: onmain,work/main/is the natural ad-hoc ledger; a side-fix on a feature branch lands in that branch's scope — exactly where the relevance search will later look for it. - No plan required — the plan.md check does not apply.
- Retroactive is the normal case: the fix usually already happened in this or another session; write the log from the session's evidence while the user reviews the change.
- Template — slimmed base structure:
- Add ### Root Cause directly after
### Status— for a bug this is the section that pays rent later: what was actually wrong, and why it manifested the way it did. - Drop Acceptance Coverage entirely (there are no AC IDs).
- Context for Next Task only when the fix leaves something behind (follow-up, gotcha); otherwise omit.
- Everything else (Files Modified, Key Decisions, Review Focus, Test Evidence, Open Issues, Git State, Sessions) applies unchanged.
- Add ### Root Cause directly after
- When NOT to use it: trivial diffs without a diagnosis — typo, dependency bump, comment fix — need no log; the commit is documentation enough. The test: will someone plausibly ask in six months why this line is the way it is? If a real root cause was found or a behavior decision made, write the log.
- Closing message: point at
/commit fix(same session) or/commit fix-<slug>(fresh session) instead of/commit {N}.
Precondition — run BEFORE committing the task's code
Wrap-up must happen before the task's code changes are committed. The intended flow is:
- Finish the code changes (do NOT commit yet).
- Run
/wrap-up N→ scoped summary file is written (or extended), ready to inform an independent review. - If reviewing, triage the findings with the user, address the
approved ones, record the declined ones (see Key Decisions),
complete the required checks, then update the same log with
/wrap-up N. - Run
/commit N→ commits code + summary together — or/commit-split N, which lands the task as a series with the summary in its first commit.
Split-series exception: if the task already landed as a series
(git log --oneline --grep='^task-N:' lists its commits and the log
is in HEAD's tree), do not stop. Later fixups and review rounds are
expected there. Merge into the log as usual, then run
casefile archive N right away: the archive taken at split time
predates this session, and the command is idempotent — it copies
what is missing and commits the casefile only on changes. Tell the
user that the log change is folded into the first slice with a
fixup, as /commit-split's "After the split" describes — after the
code fixups, so the log describes the final state.
Otherwise, if the task's code has already been committed when
/wrap-up N is invoked, stop and tell the user:
Task-N code was already committed as
<hash>. The wrap-up summary belongs in that commit. Either:(a) amend the commit to include the summary (only if the commit has not been pushed), or
(b) land the summary as a separate follow-up commit (
docs: task-N wrap-up summary) and accept the broken single-commit rule for this task.
Ask the user which option before writing the file, so the summary lands in the right commit from the start.
Casefile mode exception: the summary never becomes part of the
code commit — the link is a git note added by /commit N. If the
task's code is already committed in casefile mode, do not stop:
proceed with the wrap-up and tell the user that /commit N will
attach the note to the existing commit instead of creating one.
Log-file lookup — merge or fresh
Before writing, check for an existing log:
ls docs/work/<scope>/task-log/task-{N}-*.md 2>/dev/null- No file — fresh write, normal path.
- Exactly one file — read it, merge with the new session's findings (see merge rules below). Show the user the proposed changes and wait for approval before writing. Show the full merged text on request.
- Multiple files — the filename convention was violated inside this work scope. Stop and tell the user; ask which file to extend, or let them rename/consolidate manually before continuing.
Merge rules (when a log file already exists)
Read the existing file, then integrate the new session's output as follows. Update affected sections and append new evidence; do not repeat the whole implementation account after every review.
- Task (one-sentence summary): keep existing unless the new session materially changes scope; if it does, rewrite and flag the change.
- Status: replace with the current implementation and review status, including any checks still pending. If the prior status was BLOCKED and the new status is DONE, drop the Escalation Assessment and Re-Plan Proposal sections entirely (they are historical noise once unblocked).
- Files Modified: union the lists. If the same file appears in both, keep the most informative reason or merge both reasons on one line.
- Files Read (Context Only): union the lists.
- Key Decisions: append new decisions under a session marker (see below). Do not rewrite prior decisions — they are part of the record. When a decision changes, identify which earlier decision it supersedes so the current rule is clear.
- Test Evidence: append new evidence under a session marker. Accumulates across sessions. Distinguish checks on the final code from earlier runs that subsequent edits have overtaken; do not present an earlier green result as verification of new edits.
- Acceptance Coverage: union the AC IDs. If an AC was partial/skipped in the prior session and is now passed, replace it. If it was passed and now regresses, surface that explicitly instead of silently downgrading it.
- Review Focus: replace with the current view. This section is a live map for the next human review, not a historical record.
- Open Issues: merge; drop issues that are now resolved (note them in the session marker if helpful). Then apply the promotion rule (see Open Issues): an issue that survives the merge without a target task, or reappears unchanged from the prior session, is promoted instead of carried again.
- Context for Next Task: replace with the current view — this is forward-looking, not historical.
- Git State: replace with current output of
git diff --statandgit status --short. - Sessions: union — append the current session's line, never rewrite or drop prior lines.
Session marker
When a merge happens, append a short marker to the Key
Decisions and/or Test Evidence sections to preserve
temporal order. Format:
— session 2026-04-24Use date +%Y-%m-%d to get the date. One marker per
session-contribution, placed before the lines added by
that session. Keeps the log readable without introducing
a new top-level Session heading.
Base summary structure (always):
Task
One-sentence summary of what was worked on.
Status
DONE | BLOCKED If BLOCKED, explain why and what needs to happen to unblock. Keep these implementation status values. In accompanying prose, state whether independent review is pending, completed, or not performed, and which findings or required checks remain open. DONE alone does not claim independent review or commit readiness.
Files Modified
Each file with a one-line description of what changed and why. Format:
path/to/file.ts(new|modified|deleted) — reason
Files Read (Context Only)
Files that were read for understanding but NOT modified. This helps the next session know what context was used.
Key Decisions
Technical decisions made during this session and the reasoning behind them. Include alternatives that were considered and rejected. Capture user clarifications that explain a behavior, architectural boundary, or changed decision. Keep the reusable reason, with a concrete example when helpful; do not reproduce the Q&A transcript.
A review finding the user declined is a decision too. Record it as
Declined finding: <source> — <finding> — <why: not reachable here /
too unlikely / fix cost>. Never in Open Issues: an accepted risk is
closed, not pending. The log entry is the provenance; the reason
itself lives where the next agent will read it — as a one-line
comment at the code spot when the decline concerns one, or as one
line in the project's CLAUDE.md when it rests on an app-wide property.
Review Focus
Compact map for human review. Do not repeat the diff.
Each bullet must be filled with concrete content or the
literal word None.
- Behavior claims: 1-3 observable claims this implementation now satisfies. Empty or generic claims are review blind spots.
- Plan deviations: everything done differently from the approved
task block — instructions not followed as written, acceptance
criteria reinterpreted, key locations that turned out wrong or
incomplete. One line each: what the plan said → what was done →
why. Use
Noneonly if the block was followed as written; in the fix lane (no plan) writeNo plan (fix lane). - Assumptions / choices: concrete spec gaps or design decisions made
during implementation. Use
Noneonly if the spec was unambiguous. - Scope notes: intentional behavior or file changes outside the
obvious task surface, or
None. Silent omission is review-relevant scope drift. - Read next: 1-3 exact files/symbols the reviewer should inspect first, with one line why. Listing only changed files is not a meaningful entry.
Test Evidence
What was tested and how. Include:
- Test commands run and their output
- Manual verification steps taken
- Screenshots or log snippets if relevant
- Temporary probes: a probe answers a question once and must be removed before the task closes — record its command and result here instead. If it changed the code (a config workaround, a pinned version), the constraint belongs in a comment next to that code, not in this log. State explicitly that the probe is gone; a probe still in the tree is an unfinished task.
Acceptance Coverage
One line per AC ID from the task's plan block.
Status values:
passed— automated test exists and is green; reference the test file/test name or command output.partial— covered manually, or automated coverage stops short of the full AC; explain the gap.skipped— explicitly not addressed this session; explain why and reference a follow-up task if applicable.N/A— AC was dropped by an approved plan amendment; leave a one-line note and keep the ID visible.
If any AC is skipped and that was not a deliberate scope decision,
the task is not ready for /commit N. Finish the AC or split the
remaining work into a follow-up task before committing.
Open Issues
Unfinished work, known issues, open questions. Reference follow-up tasks where applicable. Format: "Issue description (→ Task N)"
Promotion rule — this section is branch-local and must shrink, not become a growing carry-forward ledger:
- An issue stays here only while a planned task on this branch
addresses it (
→ Task N). - Promote an issue to
<doc-root>/improvements.mdwhen it has no target task, or when it was already carried over once from the predecessor log. Replace it here with one line:Promoted: <issue> (→ improvements register). - Register format, one line per item — dedupe on the issue text and
skip if an equivalent entry already exists:
- [ ] <issue> — from task {N}, scope <scope> · source: wrap-up - No drain, no coupling: nothing reads the register automatically.
It feeds
/planonly when the user deliberately opens a task from it.
Context for Next Task
What the next session needs to know to continue. Include:
- Key interfaces and their signatures
- State assumptions
- Dependencies between this task and the next
- Any gotchas discovered during implementation
Git State
Run these commands and include their output:
git diff --statgit status --short
Sessions
One line per agent session that contributed to this task, so the raw transcripts stay findable from the log:
- <agent> <session-id> (<YYYY-MM-DD>) — transcript: <absolute path>Determine the current session's line(s) with the casefile CLI
(works in home and casefile mode):
casefile session # this Claude Code session (deterministic
# via $CLAUDE_CODE_SESSION_ID)
casefile session --agent all # additionally the newest Codex session
# in this repo (cwd-matched heuristic)Paste its output lines verbatim.
Record only the sessions you can determine; earlier sessions keep their lines from prior merges.
Additional sections for BLOCKED tasks only:
If Status is BLOCKED, also evaluate the escalation triggers and produce a re-plan proposal. Append the following sections to the summary:
Escalation Assessment
For each trigger, state: CLEAR | WARNING | TRIGGERED with evidence.
- Scope creep:
git diff --stat— are more files modified than the plan specified? Which ones are outside planned scope? - API changes: Has any public interface changed that was not planned? Check exports, function signatures, shared types.
- Failed attempts: How many implementation attempts? Check git log for reverts or repeated changes to the same files.
- Test failures outside scope: Are tests failing in modules not targeted by this task? Run the test suite and check.
- Explainability: Can you summarize what this task accomplished in 5 bullet points or fewer? If not, scope is probably too large.
Re-Plan Proposal
Based on the assessment, propose:
- What to keep from the current task (already valuable)
- How to split the remaining work into smaller tasks
- Updated task list with revised scope
Then propose an updated plan patch for docs/work/<scope>/plan.md.
Do NOT overwrite the old plan — the old version stays
in git history. Write the revision as an edit.
After generating the summary:
Do not commit. The commit is /commit N's job.
Keep the closing reply short and in the conversation's language: link the log, summarize the outcome and any material change from an earlier wrap-up, and state outstanding review or verification work. The log retains the detailed decisions, Review Focus, test evidence, and AC mapping for the next session; do not repeat those inventories in the reply.
Include the next step appropriate to the current review status:
- Before review: the log is ready for an independent
/review. - After review: name any remaining work, or point to
/commit Nwhen ready (/commit-split Nwhen the change set reads better as a short series of atomic commits). If review was not requested, say it has not been performed and point to/commit Nwhen the work is otherwise ready. - For a later contribution,
/wrap-up Nmerges findings into this same log before committing./commit Nderives staging and the commit message from the log.
The one-log rule still matters: the final committed summary
describes this exact code state. /wrap-up builds the summary;
/commit makes the atomic commit, or /commit-split the short
series of atomic commits with the summary in the first. Keeping
them split lets you extend the summary across sessions without
amend-dance, and the history still tells one coherent story per
task.
In casefile mode, adjust the closing message: the summary lives in
the casefile, /commit N commits code only and links it to the log
via a git note, and the casefile repo is committed by /commit N as
well.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

