원클릭으로
dld-plan
Break down a feature into multiple decisions interactively. Creates a set of decision records grouped by a shared tag.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Break down a feature into multiple decisions interactively. Creates a set of decision records grouped by a shared tag.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Implement one or more proposed decisions. Makes code changes, adds `@decision` annotations, and updates decision status.
Implement one or more proposed decisions. Makes code changes, adds `@decision` annotations, and updates decision status.
Resolve decision ID collisions between a local branch and the base branch (and open PRs) before rebasing. Renames colliding local decisions with git mv, rewrites cross-references and annotations, then squashes branch commits into a single rebase-clean reindex commit.
Shared utility scripts for DLD skills. Not intended for direct invocation — used internally by other DLD skills.
Resolve decision ID collisions between a local branch and the base branch (and open PRs) before rebasing. Renames colliding local decisions with git mv, rewrites cross-references and annotations, then squashes branch commits into a single rebase-clean reindex commit.
Autonomous audit — detects drift, fixes issues, and opens a PR. Designed for scheduled/CI execution without human interaction.
| name | dld-plan |
| description | Break down a feature into multiple decisions interactively. Creates a set of decision records grouped by a shared tag. |
| user_invocable | true |
You are helping the developer break down a larger feature into discrete decisions. Each decision gets its own record, and they're grouped by a shared tag.
Use the AskUserQuestion tool for all questions and prompts. This provides a structured input experience for the user rather than waiting for freeform replies.
Shared scripts:
.claude/skills/dld-common/scripts/next-id.sh
.claude/skills/dld-common/scripts/regenerate-index.sh
.claude/skills/dld-common/scripts/update-status.sh
Skill-specific scripts (from dld-decide):
.claude/skills/dld-decide/scripts/create-decision.sh
Check that dld.config.yaml exists at the repo root. If not, tell the user to run /dld-init first and stop.
dld.config.yaml to understand the project structuredecisions/PRACTICES.md if it exists — consider project conventions when breaking down the featureIf the user provided context with the skill invocation, use it. Otherwise ask:
What feature are you planning? Describe what you want to build and why.
If the project is namespaced, determine which namespace(s) this feature belongs to early — infer from the description if possible, otherwise ask. They can span multiple namespaces if the feature crosses boundaries.
Once determined, also read decisions/records/<namespace>/PRACTICES.md if it exists for namespace-specific conventions.
Before proposing the breakdown, scan existing decision files for:
Mention any related decisions to the developer so the breakdown accounts for them.
Analyze the feature and propose a breakdown into discrete decisions. Each decision should be:
Present the proposed breakdown:
I'd suggest breaking this into the following decisions:
- Choose payment gateway adapter pattern — How to abstract the gateway interface
- Define retry strategy for failed payments — Backoff logic and max attempts
- Idempotency key format — How to prevent duplicate charges
Does this look right? Want to add, remove, or adjust any?
Iterate with the developer until the breakdown is agreed.
Propose a tag that groups these decisions:
I'll tag all of these with
payment-gatewayso they're grouped together. Sound good?
The tag should be descriptive, kebab-case, and specific to this feature.
For each decision in the breakdown, run the same scripts used by /dld-decide:
First, get the next ID:
bash .claude/skills/dld-common/scripts/next-id.sh
Then create the record, piping the body via printf with \n for newlines (do not use literal newlines in the body — use \n escape sequences):
printf "## Context\n\n...\n\n## Decision\n\n...\n\n## Rationale\n\n...\n\n## Consequences\n\n..." | bash .claude/skills/dld-decide/scripts/create-decision.sh \
--id "DL-NNN" \
--title "Short descriptive title" \
--namespace "billing" \
--tags "payment-gateway" \
--supersedes "DL-003" \
--amends "DL-005" \
--body-stdin
Repeat for each decision, incrementing the ID each time. Run next-id.sh before each creation to ensure correct sequencing.
If any decision supersedes an existing one, also update the old decision's status:
bash .claude/skills/dld-common/scripts/update-status.sh DL-003 superseded
Do not update the status of amended decisions — they stay accepted.
For each decision, compose a focused body. Keep it concise — the full feature context is captured across the group. Each individual decision should capture its own specific rationale.
After all decisions are created:
bash .claude/skills/dld-common/scripts/regenerate-index.sh
Created N decisions for feature
<tag>:
ID Title Status DL-010 Choose payment gateway adapter pattern proposed DL-011 Define retry strategy for failed payments proposed DL-012 Idempotency key format proposed Next steps:
/dld-adjust— refine any decisions before implementing/dld-implement— implement all proposed decisions (or/dld-implement DL-NNNfor a specific one)/dld-lookup tag:<tag>— review all decisions in this group