Skill v1.0.1
currentAutomated scan100/100+1 new
name: save-plan description: Save a Claude Code plan (from ExitPlanMode, design discussion, or multi-step task) to persistent storage. ONLY invoke when the user explicitly asks to save/stash/store a plan (e.g. "save this plan", "stash the plan", "store the plan in the planning repo"). Do NOT auto-invoke after planning. Routes to the active project's planning/ folder when one exists, else to the user's configured central planning repo. metadata: version: "1.0.1"
Save Plan
Persist a written plan so it survives the session.
Trigger discipline
ONLY run when the user explicitly asks. Phrases that trigger:
- "save this plan", "save the plan"
- "stash the plan", "store the plan"
- "put this in the planning repo", "park this plan"
Do not invoke automatically after writing or exiting a plan. Plans live in conversation context by default; persistence is opt-in.
Routing
- Check the current working directory's repo (walk up to the git root if needed).
- If a
planning/folder exists in that repo → save there. - Otherwise → save to the user's configured central planning repo (see config below).
If the user explicitly says "save to the planning repo" or "central planning repo", skip step 2 and go straight to the central repo.
Configuration
Read central-repo path from rudder plugin config per rudder:plugin-data-storage:
- Resolve config dir in this priority:
$CLAUDE_USER_DATA→$XDG_DATA_HOME/claude-plugins→~/.local/share/claude-plugins. - Read
<config-dir>/claude-rudder/config.json, keyplanning.central_repo(an absolute path or~-prefixed path). - If unset, prompt the user once for the path, write it back to the config, then proceed.
Example config:
{ "planning": { "central_repo": "~/repos/Planning-Files" } }
File naming
DD-MM-YY--<slug>.md
DD-MM-YY— today's date, hyphens not slashes.<slug>— short kebab-case description of the plan subject.- Example:
19-04-26--refactor-snapcast-skills.md
File body
---title: <one-line plan title>created: DD-MM-YYstatus: pendingsource: <repo or context the plan came from, or "ad-hoc">---# <Title><full plan content — preserve structure, code blocks, decision points>
After writing
- Central repo:
git add, commit (Add plan: <title>),git pushimmediately so the plan is durable across machines. - In-repo `planning/`: do NOT auto-commit. The plan is part of the project's working tree and the user will commit it with related work.
Marking a plan done
When the user says a plan is complete:
- Move file from
pending/→done/(central repo) or leave in place (in-repo). - Update frontmatter
status: done. - Commit and push if in the central repo.