pin-wrap-up · git:20260605.13a29fb · 2026-06-05 · sha256 ab7adfcdffff760a
pin-wrap-up git:20260605.13a29fbA
Immutable. This exact content is served forever at /api/v1/blob/ab7adfcdffff760a.
---
name: pin-wrap-up
description: Use at the end of a work session to review the WHOLE session and record entities worth pinning. This is the manual, deliberate complete-sweep review — NOT an automated nudge. Triggers on "wrap up", "wrap-up", "session wrap", "end of session", "what should I pin".
---
# pin-wrap-up
Conduct a whole-session review to identify entities worth recording in the pins knowledge graph.
This is a deliberate, manual sweep. It is NOT automatic. You invoke it when a session is winding down and you want to surface knowledge before context is lost.
## Process
### 1. Sweep the session
Scan back over the full session — every discovery, decision, external reference, code location, person named, and architectural fact that surfaced. Ask: "Would a future me (or a colleague) benefit from being able to find this in 10 seconds?"
Apply the recording rubric from the `pin-record` skill, using the worth/not-worth table below to decide what makes the cut.
Discard noise: transient commands, intermediate debug outputs, things that are already obvious from the codebase.
### 2. Collect candidates
List entities you propose to record. For each, briefly state:
- What it is (one sentence)
- Why it merits a pin (which axiom it satisfies)
Show this list to the user before recording. Confirm or prune before writing anything.
### 3. Validate, then record confirmed entities
For each confirmed candidate, pipe the JSON-serialized entity to the deployed script:
```bash
printf '%s' "$ENTITY_JSON" | bun "${CLAUDE_SKILL_DIR}/scripts/wrap-up.ts"
```
The script validates first. On FAIL it prints `{"valid":false,"reason":"...","message":"..."}` and stops — record is never called. On PASS it records and prints `{"id":"...","status":"recorded"}`.
Build the `entity` with the required body sections and complete frontmatter — see the `pin-record` skill for the body structure and full field reference.
If the script exits 0 and prints `"status":"recorded"`, the pin was written.
### 4. Report
After recording, state:
- How many entities were recorded
- Their IDs and one-line summaries
- Any that failed pre-validation (`validate()` returned `valid: false`) with the reason, so the user can decide whether to fix and retry
If the manifest is git-managed (`git: true`), commit the recorded pin file(s).
## What belongs in a session wrap-up
| Worth pinning | Not worth pinning |
|---------------|-------------------|
| External SSOT located (URL, file, person) | Transient debug output |
| Ground truth pinned in code (file:line) | Things obvious from reading the code |
| Decision made that will constrain future work | Intermediate hypothesis that was disproved |
| Person named as authority on a topic | Generic "check the docs" type notes |
| Architecture fact that took effort to find | Information that will be stale within hours |
## Constraint
Do NOT record everything. A knowledge graph full of low-value entries degrades retrieval. Quality over quantity — 2 high-quality pins beat 10 noisy ones.