Command
/plan-goal
Bridge Claude Code's /goal to the active plan. Derives a goal condition from task_plan.md and invokes /goal so Claude keeps working until the plan is complete. Available since v2.38.0.
One command from planning-with-files.
shell
$ npx -y skills add OthmanAdi/planning-with-files --agent claude-codeShips with planning-with-files. Installing the plugin gets this command.
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/plan-goal
Context preview
What this command does when you run it.
Bridge Claude Code's /goal to the active plan. Derives a goal condition from task_plan.md and invokes /goal so Claude keeps working until the plan is complete. Available since v2.38.0.
Stats
Stars25,661
Forks2,158
LanguagePython
LicenseMIT
Ships with planning-with-files
Command definition
plan-goal.md
--- description: "Bridge Claude Code's /goal to the active plan. Derives a goal condition from task_plan.md and invokes /goal so Claude keeps working until the plan is complete. Available since v2.38.0." disable-model-invocation: true allowed-tools: "Read Bash" --- Bridge the active plan to Claude Code's `/goal` primitive. Steps: 1. Resolve the active plan: prefer `${PLAN_ID}` env var, then `.planning/.active_plan`, then newest `.planning/<dir>/`, then legacy `./task_plan.md`. 2. Read the resolved `task_plan.md`. 3. Derive a goal condition from the plan content: - Default: "all phases in task_plan.md report Status: complete and check-complete.sh reports ALL PHASES COMPLETE" - If user passed an argument: use that as an additional clause (e.g., `/plan-goal until all tests pass`) 4. Issue Claude Code's `/goal <condition>` with the derived text. 5. Confirm to the user: print the goal condition + the active plan ID + remind that `/goal clear` cancels. If `task_plan.md` does not exist, refuse and direct user to run `/plan` first. Why this exists: `/goal` runs the agent until a small fast model confirms the condition is met. It evaluates the transcript only, not files. By deriving the condition from the plan file, this command turns the file-based plan into a measurable termination criterion for `/goal`, so the loop terminates when the plan is actually done, not when the conversation looks done. Notes:
