一键导入
stashing
Use when switching to another project, waiting on dependencies, or temporarily setting aside unfinished work.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when switching to another project, waiting on dependencies, or temporarily setting aside unfinished work.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when designing complex multi-step features, building new components, or planning significant behavior changes that require design exploration before implementation.
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when refining design docs and specs through deep questioning. Triggered when user says "help me refine this plan", "ask me about the project", "deep interview", or after brainstorming produces a design doc.
Use when implementing any feature or bugfix, before writing implementation code
Use when delegating coding work — prototyping, debugging, analysis, review, implementation, or generating publication-quality scientific/architecture diagrams — to Codex CLI. Supports multi-turn sessions via SESSION_ID.
Use when starting complex multi-step tasks, research projects, or anything needing >5 tool calls. Provides the persistent .planning/ directory used as on-disk working memory across sessions.
| name | stashing |
| description | Use when switching to another project, waiting on dependencies, or temporarily setting aside unfinished work. |
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//"
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 re-planning via plan mode) 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 work