一键导入
spec-kitty-plan
Create an implementation plan
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create an implementation plan
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Interview and compile a project charter
Generate a requirements-quality checklist
Execute a work package implementation
Generate research documents for the current mission
Review a work package implementation
Create a mission specification
| name | spec-kitty.plan |
| description | Create an implementation plan |
| user-invocable | true |
Version: 0.11.0+
IMPORTANT: Plan works in the project root checkout. NO worktrees created.
# Run from project root (same directory as /spec-kitty.specify):
# You should already be here if you just ran /spec-kitty.specify
# Creates:
# - kitty-specs/<mission_slug>/plan.md → In project root checkout
# (the NNN- prefix in the directory listing is display-only metadata)
# - Commits to target branch
# - NO worktrees created
Do NOT cd anywhere. Stay in the project root checkout root.
/spec-kitty.plan operates on an existing mission, so use --mission <handle>
when the CLI needs a mission selector.
<handle> can be the mission's mission_id (ULID), mid8 (first 8 chars of
the ULID), or mission_slug.mission_id or mid8 when the repo has multiple similarly named
missions.mission_id and returns a structured
MISSION_AMBIGUOUS_SELECTOR error on ambiguity — there is no silent fallback.The content of the user's message that invoked this skill (everything after the skill invocation token, e.g. after /spec-kitty.<command> or $spec-kitty.<command>) is the User Input referenced elsewhere in these instructions.
You MUST consider this user input before proceeding (if not empty).
Before asking planning questions or generating artifacts, you must make the branch contract explicit.
plan.md.setup-plan --json/spec-kitty.tasksBefore planning interrogation, load charter context for this action:
spec-kitty charter context --action plan --json
mode is bootstrap, apply JSON text as first-run governance context and follow referenced docs as needed.mode is compact, continue with condensed governance context.This command runs in the project root checkout, not in a worktree.
meta.json inspection:
spec-kitty agent mission setup-plan --mission <mission-slug> --jsoncurrent_branch, target_branch / base_branch, and planning_base_branch / merge_target_branch (plus uppercase aliases) from that payloadbranch_matches_target from that payload to detect branch mismatch; do not probe branch state manually inside the promptkitty-specs/<mission_slug>/ (the NNN- prefix is display-only metadata)Path reference rule: When you mention directories or files, provide either the absolute path or a path relative to the project root (for example, kitty-specs/<mission>/tasks/). Never refer to a folder by name alone.
This command does not update agent-specific context files.
CLAUDE.md, AGENTS.md, or similar
agent-specific files as part of /spec-kitty.plan.spec-kitty agent context update
commands. No supported context-update command exists in this release.plan.mdresearch.mddata-model.mdcontracts/quickstart.mdoccurrence_map.yaml when bulk-edit planning appliesBefore executing any scripts or generating artifacts you must interrogate the specification and stakeholders.
Scope proportionality (CRITICAL): FIRST, assess the feature's complexity from the spec:
User signals to reduce questioning: If the user says "use defaults", "just make it simple", "skip to implementation", "vanilla HTML/CSS/JS" - recognize these as signals to minimize planning questions and use standard approaches.
First response rule:
WAITING_FOR_PLANNING_INPUTIf the user has not provided plan context, keep interrogating with one question at a time.
Conversational cadence: After each reply, assess if you have SUFFICIENT context for this feature's scope. For trivial features, knowing the basic stack is enough. Only continue if critical unknowns remain.
Planning requirements (scale to complexity):
#, Question, Why it matters, and Current insight. Do not render this table to the user.If this mission is marked change_mode: bulk_edit in meta.json — or if the
spec describes renaming the same string (identifier, path, key, label, term)
across many files — load the spec-kitty-bulk-edit-classification skill and
follow it. You will produce kitty-specs/<mission>/occurrence_map.yaml
alongside the other planning artifacts. Every one of the 8 standard categories
(code_symbols, import_paths, filesystem_paths, serialized_keys, cli_commands,
user_facing_strings, tests_fixtures, logs_telemetry) must have an explicit
action. Without that artifact, the implement command will refuse to start
the first WP.
If the mission is not a bulk edit, skip this step.
Check planning discovery status:
WAITING_FOR_PLANNING_INPUT. Do not surface the table. Do not run the setup command yet.Resolve mission context deterministically (CRITICAL - prevents wrong mission selection):
kitty-specs/<mission-slug>/...)spec-kitty agent mission setup-plan --json once without --missionavailable_missions, stop and resolve one explicit mission slug before continuingSetup: If step 2 did not already return a successful setup payload, run spec-kitty agent mission setup-plan --mission <mission-slug> --json from the repository root and parse JSON for:
result: "success" or error messagemission_slug: Resolved feature slugspec_file: Absolute path to resolved spec.mdplan_file: Absolute path to the created plan.mdfeature_dir: Absolute path to the feature directorycurrent_branch: branch checked out when planning startedtarget_branch / base_branch (deterministic branch contract for downstream commands)planning_base_branch / merge_target_branch: explicit aliases for planning and merge intentbranch_strategy_summary: canonical sentence describing the branch strategyBefore proceeding, explicitly state to the user:
branch_matches_target says the current branch matches that intended targetExample:
# Resolve the active mission handle, then pass it to setup-plan.
# The --mission flag accepts mission_id (ULID), mid8 (first 8 chars), or mission_slug.
# The resolver disambiguates by mission_id; ambiguous handles become structured errors.
spec-kitty agent context resolve --mission <handle> --json
spec-kitty agent mission setup-plan --mission <handle> --json
Error handling: If the command fails with "Cannot detect mission", "Multiple missions found", or MISSION_AMBIGUOUS_SELECTOR, pass an unambiguous handle — the mission_id or its 8-char prefix mid8 always disambiguates.
Load context: Read spec_file from setup-plan JSON output and .kittify/charter/charter.md if it exists. If the charter file is missing, skip Charter Check and note that it is absent. Load IMPL_PLAN template (already copied).
Execute plan workflow: Follow the structure in IMPL_PLAN template, using the validated planning answers as ground truth:
[NEEDS CLARIFICATION: …] only when the user deliberately postpones a decisionSTOP and report: This command ends after Phase 1 planning. Report branch, IMPL_PLAN path, and generated artifacts.
⚠️ CRITICAL: DO NOT proceed to task generation! The user must explicitly run /spec-kitty.tasks to generate work packages. Your job is COMPLETE after reporting the planning artifacts.
Extract unknowns from Technical Context above:
Generate and dispatch research agents:
For each unknown in Technical Context:
Task: "Research {unknown} for {feature context}"
For each technology choice:
Task: "Find best practices for {tech} in {domain}"
Consolidate findings in research.md using format:
Output: research.md with all NEEDS CLARIFICATION resolved
Prerequisites: research.md complete
Extract entities from feature spec → data-model.md:
Generate API contracts from functional requirements:
/contracts/Output: data-model.md, /contracts/*, quickstart.md
This command is COMPLETE after generating planning artifacts.
After reporting:
plan.md pathresearch.md path (if generated)data-model.md path (if generated)contracts/ contents (if generated)YOU MUST STOP HERE.
Do NOT:
tasks.mdtasks/ subdirectoriesThe user will run /spec-kitty.tasks when they are ready to generate work packages.
Next suggested command: /spec-kitty.tasks (user must invoke this explicitly)