# Stash

> Stash session context [name]

- Skill: `hamr0/stash` (Agent Skill)
- Install (CLI): `npx skillmds@latest add hamr0/stash`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hamr0/stash/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: hamr0 (https://skillmd.com/u/hamr0)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hamr0/stash

---


Save session context for compaction recovery or handoffs.

**Guardrails**
- **Write only what the brief contains.** The subagent expands the brief into a file; it does
  not research, re-derive, or infer. Every fact, number, SHA, path, and identifier in the
  stash comes from the brief verbatim — never invent, never round, never fill a gap with a
  plausible guess. Missing detail stays missing.
- **Escalate, never assume.** Anything the subagent cannot do, cannot verify, or that this
  spec does not cover → report it back to the orchestrator (the main session) rather than
  improvising. Never widen scope beyond writing the file and counting the backlog.
- **Explicitly select your tool's mid tier.** State the tier on the spawn — do not omit it
  and rely on a default. An omitted tier inherits the *parent's* tier, which is not the same
  thing as the balanced one. Pick the judgment-capable tier that is cheaper and faster than
  your top reasoning tier. **Not the cheapest/fastest tier**: on judgment work it measurably
  degrades (misclassification rates several times higher). Choose by tier, not by a vendor
  model name copied from this file — names drift, and this command ships to several tools.
- **Background dispatch where supported.** Run the write-up subagent in the background
  (non-blocking) so the session isn't held up waiting on formatting/file I/O. Fall back to
  writing inline (today's behavior) if your tool has no subagent or background-dispatch
  mechanism.

**What it does**
1. Drafts a compact brief of current conversation context, key decisions, active work in
   progress, and findings/insights — done inline, since only the running session holds full
   conversation context
2. Hands the brief to a subagent on the mid-tier model (see Guardrails) to expand into the
   full stash file at `.claude/stash/<name>.md`, dispatched in the background where the tool
   supports it. Falls back to writing inline if subagent/background dispatch isn't available
3. Enables context restoration after compaction
4. **Consolidation nudge** — whichever actor wrote the file (the subagent, or the session
   itself on the inline fallback) counts the unprocessed backlog after saving:
   `unprocessed = (files in .claude/stash/*.md) − (entries in .claude/remember/.processed)`
   (a missing `.processed` manifest means 0 processed). If `unprocessed >= 5`, end with one line:
   > 📝 N stashes since last consolidation — run `/remember` to fold them into memory.

   No counter is stored — the count is derived each time, and running `/remember` updates
   `.processed`, so the backlog drops on its own. Just emit the nudge; never run `/remember` automatically.

**When to use**
- Before long-running tasks that may trigger compaction
- When handing off work to another agent or session
- After completing major investigation or analysis
- Before taking a break from complex multi-step work

**Commands**
```bash
# Stash with auto-generated name
/stash

# Stash with custom name
/stash "feature-auth-investigation"

# List available stashes
ls .claude/stash/

# Restore from stash
cat .claude/stash/<name>.md
```

**Reference**
- Stashes stored in `.claude/stash/` (project-local)
- Automatically includes: timestamp, active plan, recent decisions
- Maximum context retention with minimal token usage
- When dispatched in the background, the "Stashed to X" confirmation and consolidation nudge
  arrive as the subagent's completion notification rather than inline in the same turn

