dough-story-refinement · diff
git:20261011.8ac439b to git:20261020.55007da
24 added, 23 removed. Audit A to A.
---
name: dough-story-refinement
description: >-
Clarifies selected stories before execution planning by establishing goal,
scope, and key examples in each story's seed, distinguishing promises from
rejection constraints. Adds UI or architectural
detail only when needed. Continues a ready story into slice planning in the
same workspace; `--refine-only` stops at the refined story. `--one-shot`
refines a queued story without publishing an assignment and keeps the result
for review, or lands it with `--auto-land`. Use for
selected-story refinement, not broad problem decomposition, candidate
selection, or slice sizing.
---
# Story refinement
Build shared understanding of one selected story, or several related stories
whose boundaries need discussion. Record Goal, Scope, and Key examples in each
story's seed.
## Choose the workflow
If the parent problem, candidate selection, or story ordering needs
reconsideration, use
[dough-story-decomposition](../dough-story-decomposition/SKILL.md).
For smaller or clearer slices, use the project's execution-plan
refinement workflow on the existing plan.
A refinement invocation authorizes slice planning of its story and landing the
completed preparation under
[preparation journey](references/preparation-journey.md); it authorizes no
execution. Continue into planning without repeating answered questions.
## Resolve required context
Identify this project's root, selected story links and seeds,
and relevant prior decisions. When a seed is missing, resolve the canonical
seed directory, ID and filename conventions, required metadata, and stable
story-anchor convention. Resolve project paths from that repository, not this
skill's location.
Resolve the project's slice-planning workflow for the continuation, and ADR
context only when the architectural concern requires it under the reference
below. If required context or a linked dependency is unavailable, name what is
missing and stop the affected activity. Do not invent project paths or decisions.
- ## Refine and report
+ ## Refine and continue
Read and follow [planning scope and lifecycle](references/planning.md) for the
conversation, scope decisions, optional UI and architecture detail, seed updates,
and cleanup after implementation. When your instruction
carries an established preparation, follow
[established preparation](references/established-preparation.md) instead of the
workspace and announcement steps below. When the request explicitly selects
one-shot (`--one-shot`) for a queued story, follow
[one-shot refinement](references/one-shot-refinement.md) instead of the
announcement step and the default disposition. Before writing to a story's seed,
establish or reuse the required workspace under
[preparation workspace](references/preparation-workspace.md), then, for a
queued story, [announce the preparation assignment](references/preparation-assignment.md#announce-the-preparation-assignment);
refinement discussion and clarifying questions need neither on their own. After the
seed or correction-home write records goal, scope, and key examples for a work
item with a known identity, apply
[record preparation facts](../dough-product-backlog/references/record-preparation.md).
When the request includes options such as `--explore`, read
[refinement options](references/refinement-options.json) and apply the selected
options' instructions within this workflow. Options in the same group, an entry
of that file's `groups` list, are exclusive; if a request names more than one of
them, stop and report the conflict, naming the group's `label` and the flags the
request named from it. Without options, refine straightforwardly.
- Report each selected story under
- [report the refinement outcome](#report-the-refinement-outcome) below, then
+ Judge each selected story under
+ [judge the refinement outcome](#judge-the-refinement-outcome) below, then
continue a ready story into slice planning under
[preparation journey](references/preparation-journey.md) unless an open
coordinator question or an explicit refine-only instruction (`--refine-only`)
stops it. When this session ends, follow
[land at the end of preparation](references/preparation-journey.md#land-at-the-end-of-preparation),
- then close or retain the workspace. An execution instruction for this story
- that arrives while its preparation is unlanded follows
+ then close or retain the workspace and finish under
+ [finish with only what needs a response](references/preparation-journey.md#finish-with-only-what-needs-a-response).
+ An execution instruction for this story that arrives while its preparation is
+ unlanded follows
[hand off to execution in the same session](references/preparation-journey.md#hand-off-to-execution-in-the-same-session)
instead.
- ## Report the refinement outcome
+ ## Judge the refinement outcome
End each selected story with exactly one outcome. When several stories are
refined together, judge each independently: a clear story keeps its result, and
another story's open decision stays with that story.
- **Ready for slice planning** — goal, scope, and key examples are recorded, no
decision you need from a person remains, and the work needs planned execution.
- **Flawless — ready for execution** — the same, and the story fits one
planless slice under
[slice sizing](../dough-story-decomposition/references/problem-decomposition.md#size-and-escalate-slices),
with no decisive premise, as
[slice planning](../dough-slice-planning/SKILL.md#write-the-plan) defines
it, left unobserved and no probe needed.
- **Needs human engagement** — at least one response from a person is required.
- A ready outcome states the outcome, the story link, and where the draft is (its
- workspace, and its result commit once committed). Do not recap what the seed
- records. Then continue into slice planning under
- [preparation journey](references/preparation-journey.md) without a question or
- approval request.
+ A ready outcome continues straight into slice planning under
+ [preparation journey](references/preparation-journey.md); the seed and its
+ recorded facts carry it.
When the invocation ends at the refinement result, on an explicit refine-only
- instruction (`--refine-only`) or under
- [one-shot refinement](references/one-shot-refinement.md), the ready outcome
- also gives one concrete next step: slice planning in that workspace, or, for
- Flawless, execution with an explicit instruction to skip slice planning. When
- the story already has an associated plan, the next step uses that plan instead
- of creating another. Name the pending draft and any Preparing assignment as
- information, not as a request to keep them, and end without a question or
- approval request.
+ instruction (`--refine-only`) or at a
+ [one-shot refinement](references/one-shot-refinement.md) review, the ready
+ outcome gives the story link, where the draft is (its workspace, and its result
+ commit once committed), and one concrete next step: slice planning in that
+ workspace, or, for Flawless, execution with an explicit instruction to skip
+ slice planning. When the story already has an associated plan, the next step
+ uses that plan instead of creating another. Do not recap what the seed records.
+ Name the pending draft and any Preparing assignment as information, not as a
+ request to keep them, and end without a question or approval request.
Needs human engagement lists each expected response separately: what must be
answered or decided, who decides, your recommended answer when you have one,
- and what continues once it is given. It covers an open goal, scope, or
- constraint decision; a boundary change such as splitting, merging, or dropping
+ what waits meanwhile, and what continues once it is given. It covers an open
+ goal, scope, or constraint decision; a boundary change such as splitting, merging, or dropping
the story; missing required context; and a stopped write, recording, or
landing. Claim no readiness. When required context is missing before the seed
write, name the missing input and who can supply it, say which activity resumes
afterwards, and do not claim that refinement was recorded.
- The outcome is reported, not recorded. Recording still follows
+ The outcome is judged, not recorded. Recording still follows
[record preparation facts](../dough-product-backlog/references/record-preparation.md):
`refined`, keeping an existing selected approach and plan association,
otherwise an unselected approach. Flawless grants no
[planless authority](../dough-product-backlog/references/record-preparation.md#planless-authority);
- the developer supplies it by running the skip-planning next step. Reporting an
+ the developer supplies it by running the skip-planning next step. Judging an
outcome neither creates nor renews `ready` and never selects `planless`;
[assess readiness at preparation completion](../dough-product-backlog/references/record-preparation.md#assess-readiness-at-preparation-completion)
still owns the assessment of the current story and any plan.