wrap
Skill4 starsChanged 3 months agoMITView on GitHub
Close out a session — record what was learned, update any connected stores, commit coherent work, and leave a relay doc for a fresh start.
45 other projects use a version of this.
Adopted by
Most recently taken up by
- rhasselle-oddball/claude-skillstheir own version, first seen Nov 8, 2026
- jolleyDesign/claude-skillstheir own version, first seen Nov 8, 2026
- fjwood69/moritheir own version, first seen Nov 8, 2026
- egregore-labs/egregoretheir own version, first seen Nov 6, 2026
- mag123c/toktracktheir own version, first seen Nov 3, 2026
- AcKeskin/contexturetheir own version, first seen Nov 1, 2026
Used with
Projects with it also use start, update and 7 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.
AnthropicSkillstart
Set up your bio-research environment and explore available tools. Use when first getting oriented with the plugin, checking which literature, drug-discovery, or visualization MCP servers are connected, or surveying available analysis skills before starting a new project.
Also in 5 projects that use this
AnthropicSkillupdate
Sync tasks and refresh memory from your current activity. Use when pulling new assignments from your project tracker into TASKS.md, triaging stale or overdue tasks, filling memory gaps for unknown people or projects, or running a comprehensive scan to catch todos buried in chat and email.
Also in 3 projects that use this
Microsoft AzureSkillbuild
Build the TypeSpec Rust emitter from source. Run this after cloning the repo, after pulling changes, or when TypeScript source files have been modified.
Also in 3 projects that use this
SentrySkillreview
Fixture review skill.
Also in 7 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 3 projects that use this
nicolasestremSkillbrainstorm
Structured idea generation and solution exploration with systematic analysis.
Also in 3 projects that use this
- +1 more from anthropics
Other versions45 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 45
- UniClipboard/UniClipboard★ 2ksame name
- team-attention/stanford-cs146s-kr★ 294same name
- egregore-labs/egregore★ 293same name
- mag123c/toktrack★ 196same name
- neurofoo/agent-skills★ 111same name
- lsnackerman/raw-clauding-skills★ 45same name
- fjwood69/mori★ 32same name
- YahyaLendani/opus-tuner-claude-skill★ 14same name
- jackjin1997/ClawForge★ 12same name
- ucsandman/claude-skills★ 5same name
35 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 repository53 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- actionableSkill
- astro-bootstrapSkill
- astro-patternsSkill
- autopilotSkill
- axon-code-intelSkill
- brainstormingSkill
- commit-conventionsSkill
- cross-repo-contextSkill
- django-bootstrapSkill
- django-patternsSkill
- executeSkill
- find-sessionSkill
- flutter-bootstrapSkill
- flutter-patternsSkill
- full-featureSkill
- intelSkill
- nextjs-bootstrapSkill
- nextjs-fullstack-bootstrapSkill
- nextjs-fullstack-patternsSkill
- nextjs-mui-bootstrapSkill
- nextjs-patternsSkill
- nextjs-shadcn-bootstrapSkill
- orchestratorSkill
- phase-breakdownSkill
- plan-and-scopeSkill
- prdSkill
- reactSkill
- recallSkill
- reflectSkill
- relaySkill
- rememberSkill
- scaffoldSkill
- scratchSkill
- tailwindSkill
- ux-specSkill
- ux-to-promptsSkill
- verify-astroSkill
- verify-djangoSkill
- verify-flutterSkill
- verify-nextjs-fullstackSkill
- verify-nextjs-muiSkill
- verify-nextjs-shadcnSkill
- verify-nextjsSkill
- verifySkill
- visual-feedbackSkill
- work-disciplineSkill
- worktreesSkill
- write-as-friendSkill
- write-as-humanSkill
- writing-clearlySkill
- writing-skillsSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 40 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 36
Follow the reflect skill's process — scan, filter, classify, write.
- Distinctive: line 46
Look at the working tree.
- Very specific: line 48
If it holds one coherent change, commit it with a message following commit-conventions.
- Very specific: line 56
Write a relay doc exactly as the relay skill's Mode 1 describes — same path (~/.claude/relays/<slug>-<timestamp>.md), same template, same …
- Distinctive: line 72
If nothing is installed, skip this step silently.
- Distinctive: line 93
Resolve the target before writing: If the current repo can't be matched to a record with confidence, capture to whatever the store's inbox …
- Distinctive: line 109
A relay doc that carries status: If the doc says "done", "passing", or "3 commits ahead", it is already wrong.
- Distinctive: line 110
Re-deriving reflect's or relay's formats, or an extension's: Read the skill that owns them.
“Common” is measured: kept by at least 6 in 10 of the 40 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
Wrap
End-of-session close-out. Run at a milestone, when the work is worth recording and the session may not be returned to.
Two stores ship with Polaris, and both are local to this machine and this repo:
| Store | What lives there |
Session memory — ~/.claude/projects/<path>/memory/ | Corrections, preferences, how to work with this user |
Project context — .claude/context/ | Decisions, conventions, patterns for this repo |
Anything beyond that — a cross-project knowledge base, an external task tracker — is an extension. See below. If none is installed, wrap is memory, context, a commit, and a relay doc.
Wrap ends by writing a relay doc. Relay on its own hands in-flight work to a fresh session mid-task; wrap closes work out and leaves the same kind of doc behind, so the user can start fresh with the background instead of resuming a long transcript.
One pass, no questions
Wrap never stops to ask. Every write happens, in one turn, and the report at the end is the review. A wrap that pauses for approval is a wrap that gets abandoned with nothing written; a wrap that writes and reports gives the user something to read and, if wrong, revert. Memory entries are files, context entries are lines, commits are git revert. All cheap to undo, none cheap to reconstruct.
Order by dependency, not by risk:
- Memory and project context
- Extension writes, cheap ones then curated ones
- Commit
- Relay doc (last, so its pointers can name what steps 1–3 produced)
- Report
Step 1 — memory and project context
Follow the reflect skill's process — scan, filter, classify, write. Read it rather than re-deriving the formats; it owns them.
One change: write the surviving findings instead of proposing them. Reflect proposes because it's used interactively. Wrap assumes nobody is watching. The filter carries the weight — anything failing reflect's four checks is discarded, not written and not mentioned.
Step 2 — extensions
Run each installed extension's ## Close-out section in full: its Phase 1 writes, then its Phase 2 writes. Both are written. The difference is only in the report: Phase 2 items are curated (status lines, priority ordering, tasks another person reads), so each one is listed individually with what changed, where the Phase 1 writes can be summarised.
Step 3 — commit
Look at the working tree.
If it holds one coherent change, commit it with a message following commit-conventions. No approval step.
If it holds several unrelated changes, or work that is plainly half-finished, commit nothing and say so in the report. Close-out is exactly when unfinished work gets shipped by accident, and this guard is the only thing standing between wrap and that mistake. When in doubt, don't commit — an uncommitted tree is a line in the report; a bad commit on a shared branch is somebody else's morning.
Never push. Report what is unpushed instead.
Step 4 — relay doc
Write a relay doc exactly as the relay skill's Mode 1 describes — same path (~/.claude/relays/<slug>-<timestamp>.md), same template, same one rule: narrative and pointers, never status. Read that skill for the format; do not re-derive it.
One difference from running /relay by hand: do not ask the steering question. Weight the doc toward what the session itself understood as next — the last thing the user asked for, the item left queued, the ruling that opened the next piece of work. If genuinely nothing is next, the doc says so in one line and the Next section is short.
Everything the session did that a fresh session cannot recompute goes here: why this approach, what was tried and abandoned, what the user decided, what is deliberately out of scope. Everything it can recompute — branch state, test results, task status — stays out. Pointers only: branch names, file paths, task IDs, the commit hash from step 3.
Sanitize as relay does: no secrets by value, ever.
Extensions
Some setups have stores that Polaris knows nothing about: a personal knowledge vault, a shared team wiki, an issue tracker, a status page.
Wrap does not define those. It runs them.
An extension is any available skill that owns such a store and documents a ## Close-out section. Its description will say what it owns — a second brain, a vault, cross-project knowledge, a task tracker. At wrap time, check the available skills for one, read it, and follow its ## Close-out section: both phases written, Phase 2 items reported individually.
If nothing is installed, skip this step silently. Absence is the normal case, not an error.
Writing a Close-out section
Two requirements, and discovery fails without the first: the skill's description must name what it owns (a second brain, a vault, a task tracker) — that description is the only thing wrap sees when scanning for extensions, so a Close-out section in a skill whose description doesn't flag it will never be found. Second, the section itself:
## Close-out
Invoked by `/wrap`. Resolve the target first — never guess which record to write.
**Phase 1 (write, summarise in the report):** <the cheap, correctable writes —
capture files, completing work that demonstrably finished>
**Phase 2 (write, list each in the report):** <the curated writes — status
lines, priority ordering, anything another person reads. Written outright;
the report is where the user reviews them>Two rules for any extension:
- Resolve the target before writing. If the current repo can't be matched to a record with confidence, capture to whatever the store's inbox equivalent is and say so. A confident write into the wrong record is worse than no write.
- Never record what's derivable. Branch state, deploy status, test results — all recomputable in seconds, all stale by the next read, and all still reading as authoritative. Record what happened and why.
Report
A few lines, in this order:
- What landed. Memory and context in one line. Each curated extension write on its own line, with the file or record and what changed, so any of them can be reverted from the report alone. The commit hash, or the reason nothing was committed.
- What's still dirty. Uncommitted, untracked, unpushed. The most useful line in the summary.
- Skipped stores, with why. Silence implies covered.
- The relay closing block, last and verbatim, exactly as relay's "Closing block" section describes: the doc's absolute path, the directory to open, and the paste-ready fenced block that starts with the
cd.
Common mistakes
- Asking. Wrap has no questions. If something needs a ruling, write the conservative option and flag it in the report.
- Committing to be tidy. Half-finished work shipped at close-out is the failure this is most likely to cause. The coherence guard in step 3 is not optional.
- A relay doc that carries status. If the doc says "done", "passing", or "3 commits ahead", it is already wrong. Narrative and pointers only.
- Re-deriving reflect's or relay's formats, or an extension's. Read the skill that owns them.
- Treating a missing extension as a problem. Most setups have none.
- Reporting only successes. What's still dirty and what was deliberately not committed are the lines the user actually needs.
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.

