원클릭으로
speckit-plan
Execute the implementation planning workflow using the plan template to generate design artifacts.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Execute the implementation planning workflow using the plan template to generate design artifacts.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | speckit-plan |
| description | Execute the implementation planning workflow using the plan template to generate design artifacts. |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"templates/commands/plan.md"} |
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Check for extension hooks (before planning):
.specify/extensions.yml exists in the project root.hooks.before_plan keyenabled is explicitly false. Treat hooks without an enabled field as enabled by default.condition expressions:
condition field, or it is null/empty, treat the hook as executablecondition, skip the hook and leave condition evaluation to the HookExecutor implementation.) with hyphens (-). For example, speckit.git.commit → /speckit-git-commit.optional flag:
optional: true):
## Extension Hooks
**Optional Pre-Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
optional: false):
## Extension Hooks
**Automatic Pre-Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
Wait for the result of the hook command before proceeding to the Outline.
After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook..specify/extensions.yml does not exist, skip silentlySetup: Run .specify/scripts/bash/setup-plan.sh --json from repo root and parse JSON for FEATURE_SPEC, IMPL_PLAN, SPECS_DIR, BRANCH. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'''m Groot' (or double-quote if possible: "I'm Groot").
Load context: Read FEATURE_SPEC and .specify/memory/constitution.md. Load IMPL_PLAN template (already copied).
Execute Nunchi's existing-slice plan workflow: Follow the structure in IMPL_PLAN template to:
plan.mdplan.mdresearch.md, data-model.md, contracts/, or
quickstart.md inside the bound sliceYou MUST complete this section before reporting completion to the user.
Check if .specify/extensions.yml exists in the project root.
hooks.after_plan, skip to the Completion Report.hooks.after_plan key.enabled is explicitly false. Treat hooks without an enabled field as enabled by default.condition expressions:
condition field, or it is null/empty, treat the hook as executablecondition, skip the hook and leave condition evaluation to the HookExecutor implementation.) with hyphens (-). For example, speckit.git.commit → /speckit-git-commit.optional flag:
optional: false) — You MUST emit EXECUTE_COMMAND: for each mandatory hook:
## Extension Hooks
**Automatic Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook.optional: true):
## Extension Hooks
**Optional Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
Command ends after design planning. Report the bound slice, branch, IMPL_PLAN path, and the ordinary repository paths planned for later authorized work.
This installed skill is customized for Nunchi's control-plane-only boundary.
The bound slice already exists. You MUST update its existing plan.md only.
You MUST NOT create or replace a feature, create research.md, or generate
data-model.md, contracts/, quickstart.md, product schemas, runnable docs,
tests, evals, evidence, or source under .specify/ or specs/.
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 the existing plan.md using format:
Output: existing plan.md with all NEEDS CLARIFICATION resolved
Prerequisites: planning research in plan.md complete
Extract entities from feature spec into the relevant plan.md sections:
Plan interface contracts (if the slice has external interfaces):
schemas/; do not create them
during planningPlan validation and runnable guidance:
tests/, evals/, evidence/, and docs/;
do not create those artifacts during planningComplete the documentation-impact matrix in plan.md, naming
README.md and every known affected ordinary document with UPDATE,
evidence-backed NO_IMPACT, or exact-owner HANDOFF.
Output: the existing plan.md only
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.
Execute the implementation planning workflow using the plan template to generate design artifacts.
Execute the implementation plan by processing and executing all tasks defined in tasks.md
Create or update the feature specification from a natural language feature description.
Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.