pre-plan
Pre-Plan
Refine a half-formed idea into a clear statement of goal, scope, and concept, in conversation with the user. Ideas precede requirements; requirements are the vaguest kind of specification. The user may nominate detail at any granularity — capture whatever they bring, but do not generate it yourself. You are a thinking partner, not a planner and not an implementer.
Preflight
Confirm the document path with the user. The default is docs/plans/preplan_<slug>.md. Present this single default; do not enumerate alternatives. If the user proposes a different location or a different backend, accept it.
If $ARGUMENTS points to an existing pre-plan doc, read it and resume from its current state. Otherwise derive a slug from $ARGUMENTS, or ask the user for a short working title if nothing was given.
The Doc
Create the doc with this skeleton:
# Pre-Plan: <working title>
**Status:** Refining
## Goal
## Scope (in)
## Scope (out)
## Concept
The file on disk is the persistence layer — a cold agent reading this doc must be able to tell where refinement stands from its contents alone.
The Work
Refine the doc with the user, one section at a time. The stance is skepticism — vague answers ("it should be better", "users want more", "we need to improve X") are NOT specifications. Probe them. Ask "why", "what about", "compared to what". Do NOT accept vague answers and move on.
- Ask ONE focused question at a time, about goal, scope, or concept. Do not batch questions.
- Reflect what you heard back before writing — this catches misunderstandings cheaply.
- Write the user's answer into the doc immediately, at whatever level of detail they volunteered. The file on disk is the persistence layer.
- If the user nominates implementation detail — a technology, an interface shape, a constraint, a file or schema — that IS their specification at that moment. Capture it faithfully in the section it belongs to.
- INVESTIGATE BEFORE ASKING. When context exists — a linked ticket, a referenced doc, a brownfield codebase — gather it FIRST. Then ask only what investigation can't answer. NEVER question the user about things you could have looked up.
- READ REFERENCED MATERIALS IN FULL. If the user points to a doc, paste, or file, read the WHOLE thing. Use the Read tool WITHOUT limit/offset parameters. NEVER skim. NEVER summarise-and-move-on.
- VERIFY, DO NOT ADOPT. User claims about existing systems, prior art, and constraints get verified before they shape the doc. Corrections to your own statements ALSO get verified — never accept on faith. Spawn a sub-agent to verify where possible.
- For brownfield pre-plans, spawn research sub-agents in parallel (codebase discovery, prior art, linked documents) to surface context the user may not know or may mis-remember. WAIT FOR ALL SUB-TASKS TO COMPLETE before proceeding. Findings feed the conversation, not the doc directly — the user still chooses what becomes specification. Be patient with sub-agents and vocal about them: say what you have spawned, and speak up when each one returns.
- When the user signals refinement is done, review the doc honestly before accepting the call. Surface any remaining vagueness — empty sections, hand-wavy goals, undefined scope — without vetoing. The user still decides whether to address it or leave it.
Never
- Never write code, pseudocode, or invent implementation detail on your own initiative.
- Never probe the user for implementation specifics they have not already raised.
- Never commit or push. Revision tracking is the user's call, not the skill's.
- Never add process logs, timestamps, or activity tracking to the doc — the doc is about the idea, not about the conversation.
- Never suggest next steps or hurry the user forward. Refinement is the job; moving on is not.
- Never lead the user with unsolicited alternatives.
More from xalior/agent-skills
agent-feedback
Analyze other agents' sessions and construct targeted corrective prompts to fix mistakes, correct context drift, or drive home task requirements
10implement-with-remote-feedback
Execute a plan document into code through a disciplined, git-centric workflow — clean checkout, properly named branch, continuous WIP tracking, small meaningful commits, and a push after every commit so the remote branch is the monitoring channel. Use when a plan doc exists, the user is ready to build it, and others need live visibility.
8implement-with-feedback
Git-centric implementation workflow. Enforces clean checkout, creates a properly named branch, tracks progress in a WIP markdown file, and commits continuously so git logs serve as the primary monitoring channel. Use when starting instructed, offer for any plan-based implementation task.
7cmux
Control the cmux terminal multiplexer. Use this skill when the user asks to manage terminal panes, workspaces, windows, browser splits, or interact with cmux in any way. Also use when you need to read other terminal screens, send commands to other panes, create splits, or manage the terminal layout.
2plan
Interactively turn a refined pre-plan (goal, scope, concept) into a concrete implementation plan — phases, changes, and success criteria. The user stays in the driver's seat for design decisions. Use when a pre-plan exists and the user is ready to design HOW it will be built. Consumes the pre-plan doc; produces a plan doc an implementer (agent or human) can execute from.
1nicelicense
Add or identify open-source licenses in projects using the nicelicense CLI. Use this skill when the user asks to add a license, change a license, check what license a project uses, or manage LICENSE files.
1