skills/stashing/SKILL.md
Use when switching to another project, waiting on dependencies, or temporarily setting aside unfinished work.
npx skillsauth add sipengxie2024/superpower-planning stashingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pause the active project in .planning/ without claiming it is done.
Core principle: archive = done, stash = paused. The target is the active project (design, plan, findings, progress), not "the session."
Announce at start: "I'm using the stashing skill to pause this work safely."
Use this skill when:
.planning/ clean without losing working contextDo not use this skill for completed work. Use superpower-planning:archiving instead.
Run the planning state check:
${CLAUDE_PLUGIN_ROOT}/scripts/check-planning-state.sh
Act on the result:
missing or empty → warn the user there is nothing meaningful to stash. Stop.complete → do not stash. Redirect to superpower-planning:archiving.active → proceed to Step 2.Derive a short stash name from the active task, then ask the user to confirm or modify it.
Generate a unique directory name:
mkdir -p .planning/stash
${CLAUDE_PLUGIN_ROOT}/scripts/unique-filename.sh .planning/stash "<name>" ""
The empty extension "" produces a directory-compatible name without .md suffix. Create the directory:
mkdir -p "<returned-path>"
Save all active project files using the shared snapshot script:
${CLAUDE_PLUGIN_ROOT}/scripts/snapshot-save.sh "<returned-path>"
Then write a snapshot.md with metadata for quick resume context:
# Stash: <name>
**Date:** YYYY-MM-DD
**Status:** paused
## Current Goal
<!-- 1-2 lines -->
## Where We Stopped
<!-- concrete current status -->
## Next Steps
<!-- immediate next 3-5 actions -->
## Open Questions / Blockers
<!-- what is missing, blocked, or uncertain -->
## Important Files / Branches
<!-- key files, branch names -->
${CLAUDE_PLUGIN_ROOT}/scripts/planning-reset.sh
This removes design.md, plan.md, progress.md, findings.md, and agents/, then recreates clean templates. archive/ and stash/ are preserved.
Report: "Stashed to .planning/stash/<name>/"
When resuming from a stash later:
${CLAUDE_PLUGIN_ROOT}/scripts/check-planning-state.sh
missing or empty → safe to proceedactive or complete → warn the user and offer options:
${CLAUDE_PLUGIN_ROOT}/scripts/stash-list.sh
AskUserQuestion to let the user choose one.planning/ root:${CLAUDE_PLUGIN_ROOT}/scripts/stash-restore.sh ".planning/stash/<selected>"
snapshot.md from the stash directory for resume contextgit diff --statstill validneeds refreshobsoletesuperpower-planning:brainstorming or superpower-planning:writing-plans instead of blindly continuingLegacy stash format: If the selected stash is a single .md file (old format) instead of a directory, read it and restore context into .planning/findings.md and .planning/progress.md as before.
When resuming, summarize in this format:
Stash resumed: <name>
Findings freshness check:
- still valid: <items>
- needs refresh: <items>
- obsolete: <items>
Recommended next step:
- <single best next action>
stash is for paused unfinished work, not completed workdevelopment
Use when a spec or requirements exist for a multi-step task and an implementation plan needs to be written before touching code
data-ai
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs.
data-ai
Use when executing implementation plans with parallel task groups or individual tasks too heavy for subagent context limits.
development
Use when implementing any feature or bugfix, before writing implementation code