원클릭으로
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 직업 분류 기준
Never block on CI. After any push to main (or a PR branch), immediately continue other work and hand CI off to a background agent that watches the run and, if it fails, diagnoses → reproduces → fixes → re-gates → re-pushes, looping until the branch is green. Keeps main green without the main loop ever waiting on a ~12-minute CI cycle.
Run a TerranSoul feature demo by DRIVING the live app via Playwright over CDP (WebView2 on 127.0.0.1:9222). Use this skill whenever the user types /demo or /demo <scenario> — e.g. /demo jd, /demo resume, /demo e2e, /demo show. Especially trigger for /demo jd, which automates TerranSoul end-to-end: attach 4 resume PDFs, quick-import, and ask in English/Vietnamese/Japanese which candidate fits a role.
Independent checker for loop- or agent-produced changes in this repo. Runs the CI-exact gate (vitest, vue-tsc, eslint, CI-exact clippy, full cargo test --lib) and enforces the never-regress benchmark floors. Default stance REJECT; never implements fixes itself.
Designs and runs agentic feedback loops instead of one-shot prompts. Use it when: (1) starting any coding task an agent will iterate on (bug fix, migration, refactor, integration debug), (2) the user asks to 'design the loop', 'set up validation', 'make the agent run until tests pass', or mentions loop engineering, (3) an agent session is thrashing — repeated edits to the same files with no progress, oversized diffs, or actions taken without observing results, (4) choosing the right feedback signal (tests vs compiler vs review vs runtime logs) for a task, (5) auditing why an autonomous coding loop failed (overfit-to-test, context drift, unsafe autonomy), (6) designing a STANDING loop — a scheduled maintenance loop with a triage skill, state file, worktree isolation, maker/checker split, budget, and human gates (daily triage, CI sweeper, changelog drafter), or running loop-audit/loop-init/loop-cost.
Check this repo's resource budgets before and after every loop run: bench-terminal caps, one-bench/one-MCP rules, cargo serial-build limits, and the /loop engine's seeded budgets. Enforces early exit when nothing is actionable and appends a run entry to loop-run-log.md.
Read loop-constraints.md at the start of every loop run and enforce every rule. Runs BEFORE triage or any action skill. Constraints are binding — they encode this repo's real push/merge, denylist-path, bench-purity, and human-gate rules.
| name | speckit-plan |
| description | Execute the implementation planning workflow using the plan template to generate design artifacts. |
| argument-hint | Optional guidance for the planning phase |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"templates/commands/plan.md"} |
| user-invocable | true |
| disable-model-invocation | false |
$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.
.specify/extensions.yml does not exist, skip silentlySetup: Run .specify/scripts/powershell/setup-plan.ps1 -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 plan workflow: Follow the structure in IMPL_PLAN template to:
You 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}
optional: true):
## Extension Hooks
**Optional Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
Command ends after Phase 2 planning. Report branch, IMPL_PLAN path, and generated 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:
Define interface contracts (if project has external interfaces) → /contracts/:
Agent context update:
<!-- SPECKIT START --> and <!-- SPECKIT END --> markers in CLAUDE.md to point to the plan file created in step 1 (the IMPL_PLAN path)Output: data-model.md, /contracts/*, quickstart.md, updated agent context file