How this skill is triggered — by the user, by Claude, or both
Slash command
/dirigent:create-planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Check for an existing spec in this order:
Check for an existing spec in this order:
.dirigent/SPEC.md — written by the Dirigent CLI pipelineSPEC.md in repo root.planning/SPEC.mdIf a spec file exists: read it and skip to Step 1.
If no spec file exists: generate one from user input.
Check $ARGUMENTS for a feature description and for --yolo.
Gather context first — read these well-known files if they exist (regardless of mode):
ARCHITECTURE.md — understand the system structureREADME.md — understand what the project doespackage.json or pyproject.toml — understand the tech stack.dirigent/test-harness.json — understand test infrastructureNormal mode (no --yolo):
Using the feature description from $ARGUMENTS and the context you gathered, ask the user at most 2-3 targeted questions to fill in gaps. Focus only on things you genuinely cannot infer from the codebase:
Do NOT ask about:
If the description is already clear and the codebase gives you enough context, ask zero questions.
Yolo mode (--yolo in arguments):
Ask zero questions. Use the feature description and codebase context to make reasonable assumptions. Document every assumption in the spec's ## Assumptions section.
Write .dirigent/SPEC.md:
# {Feature Title}
## Goal
{One paragraph: what this feature does and why}
## Requirements
{Bulleted list of concrete, testable requirements}
## Assumptions
{Bulleted list — especially important in --yolo mode}
## Out of Scope
{What this does NOT include}
Keep it short — 20-40 lines max. The spec exists to give the planner enough context, not to be a PRD.
Read all available context files:
.dirigent/SPEC.md — the feature specification (just written or pre-existing).dirigent/BUSINESS_RULES.md — business rules to preserve (Legacy route).dirigent/CONTEXT.md — relevant file analysis (Hybrid route).dirigent/test-harness.json — e2e test harness (base URL, auth, seed data, verification commands)ARCHITECTURE.md — system architecture (if not already read in Step 0)CONVENTIONS.md — project coding conventions and patterns. If present, task descriptions MUST reference relevant conventions so coder instances follow established patterns..opencode/skills/ — if this directory exists, list available skills by reading their SKILL.md frontmatter (the name and description fields). For each task, set the convention_skills array to skill names the coder should load. Match based on task content: Ruby files → ruby-code-writing, forms → form-builder, API endpoints → api-v1-endpoints, React → react-components, tests → selenium-tests, etc..dirigent/testing-strategy.md — proposed test layers, frameworks, patterns (Greenfield route). Tasks must follow this strategy..dirigent/architecture-decisions.md — proposed patterns, file organization, conventions (Greenfield route). Tasks must follow these decisions.Explore the repository structure relevant to the feature. Understand:
Write .dirigent/PLAN.json with this exact format:
{
"title": "Feature-Titel",
"summary": "Kurze Beschreibung was implementiert wird",
"assumptions": ["Annahmen ueber die Codebase"],
"out_of_scope": ["Was NICHT gemacht wird"],
"phases": [
{
"id": "01",
"name": "Phase-Name",
"description": "Was in dieser Phase passiert",
"tasks": [
{
"id": "01-01",
"name": "Task-Name",
"description": "Detaillierte Beschreibung was zu tun ist",
"files_to_create": ["neue/dateien.ext"],
"files_to_modify": ["existierende/dateien.ext"],
"depends_on": [],
"model": "sonnet",
"effort": "medium",
"test_level": "L1",
"convention_skills": ["ruby-code-writing", "form-builder"]
}
]
}
],
"estimated_complexity": "medium",
"risks": ["Potentielle Risiken"]
}
BUSINESS_RULES.md exists: all rules must be preservedtest-harness.json exists: plan verification tasks that use its verification_commands and e2e_framework.run_command. The reviewer will use these to verify features end-to-end..opencode/skills/ exists, tag each task with the skill names the coder should load. Be specific — a task creating a Ruby form object needs ["ruby-code-writing", "form-builder"], not the entire skill list. Empty array [] if no convention skills are relevant.After writing PLAN.json, validate it:
python ${CLAUDE_SKILL_DIR}/scripts/validate_schema.py .dirigent/PLAN.json
If validation fails, fix the errors and re-run until it passes.
npx claudepluginhub bidequity/outbid-dirigent --plugin dirigentGenerates PLAN.md execution plan from SPEC.md, task directory, or existing plan file; creates phases/*.md, KNOWLEDGE.jsonl, artifacts/, and backups.
Converts an approved spec into a TDD-structured implementation plan with exact file paths, full code snippets, and explicit commit boundaries. Invoke after the user approves a spec and before any implementation begins.
Generates executable Markdown implementation plans for multi-step tasks from context briefs, resolving ambiguities, ordering dependencies, and enabling parallel worker execution.