Execute the implementation planning workflow using the plan template to generate design artifacts.
npx skills add https://github.com/pulumi/pulumi-hyperv --skill speckit-plan
$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 implementationoptional 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 silently.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")..specify/memory/constitution.md. Load IMPL_PLAN template (already copied)..specify/extensions.yml exists in the project root.hooks.after_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 implementationoptional flag:optional: true): ## Extension Hooks
**Optional Hook**: {extension}
Command: `/{command}`
Description: {description}
Prompt: {prompt}
To execute: `/{command}`
optional: false): ## Extension Hooks
**Automatic Hook**: {extension}
Executing: `/{command}`
EXECUTE_COMMAND: {command}
.specify/extensions.yml does not exist, skip silently For each unknown in Technical Context:
Task: "Research {unknown} for {feature context}"
For each technology choice:
Task: "Find best practices for {tech} in {domain}"
research.md using format:Output: research.md with all NEEDS CLARIFICATION resolved
Prerequisites: research.md complete
data-model.md:/contracts/:.specify/scripts/bash/update-agent-context.sh claudeOutput: data-model.md, /contracts/*, quickstart.md, agent-specific file
Take pulumi/speckit-plan from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.