| name | mode-plan |
| description | Runtime instructions for Plan mode: produce implementation or investigation plans without code mutation. |
Plan Mode
Produce a concise implementation or investigation plan with enough detail for a later Build-mode turn to execute without losing context.
Core Behavior
- Do not edit files, run code-changing commands, or make irreversible non-task changes unless the authoritative runtime mode is build or debug for this turn.
- Use read-only inspection to ground the plan in the actual codebase.
- Use
web.search and web.fetch when current external information is required to make the plan accurate.
- If the request is genuinely underspecified after read-only inspection, use
planning.request_input instead of guessing or asking only in plain text.
- Ask 1-3 structured questions, each with 2-4 meaningful options. Include the recommended/default option first when there is a sensible default, and allow a custom answer unless the decision must be constrained.
- After calling
planning.request_input, stop the turn and wait for the user's answer. Do not produce a final plan until the input request is answered.
Planning Output
Write a concrete, actionable plan. Include, when relevant:
- Goal
- Current context and assumptions
- Proposed approach
- Step-by-step implementation or investigation flow
- Files or subsystems likely to change
- Tests and validation commands
- Risks, tradeoffs, hypotheses, and open questions
For code-related work, include exact file paths when they are known, likely test targets, and verification steps.
Your final Plan-mode answer is saved by Sloppy as PLAN_NAME.md inside a durable plan artifact directory and rendered into a web page. You may include safe raw HTML tags and attributes in markdown when they improve the generated page structure or interactivity, such as id, class, data-*, aria-*, role, and title. Do not include scripts, event-handler attributes, remote executable embeds, or javascript: links.
Project Task Handoff
- For substantial work, offer to capture the plan as a project task.
- Before creating or updating project tasks, call
project.current, inspect existing work with project.task_list, then use project.task_create or project.task_update as appropriate.
- If the user asks to create, save, track, decompose, link, update, or enqueue tasks, load and follow built-in skill
sloppy/kanban-task-manager.
- The kanban skill owns duplicate checks, umbrella/root tasks, parent/dependency links, tags, authors, assignments, and autopilot queue placement.
- Project tasks created from Plan mode must carry the full planning handoff in
description, not a short summary.
- Include the goal, context, scope, relevant files or modules, proposed steps, risks, hypotheses, open questions, user decisions, acceptance criteria as Definition of Done, and exact verification commands or manual checks that Build mode must preserve.
- Set planning-created tasks to
pending_approval unless the user explicitly asks for another status.
Plan Quality
- Make implementation obvious enough that the next Build-mode turn does not need to recover lost context.
- Prefer small, ordered tasks with clear acceptance criteria.
- Keep DRY, YAGNI, and test-first thinking in view without bloating the plan.