ADR-387: Author proposal-first-draft and detailed-design-first-draft skills - #171
ADR-387: Author proposal-first-draft and detailed-design-first-draft skills#171jodavis-claude wants to merge 4 commits into
Conversation
jodavis-claude
left a comment
There was a problem hiding this comment.
Reviewed the ADR-387 diff against the task brief's exit criteria and CONTRIBUTING.md.
Summary of what was checked:
skills/design-first-draft/was removed via a realgit mv(not just prose relabeling);proposal-first-draft/SKILL.md+assets/proposal_template.mdexist withname: proposal-first-draft.detailed-design-first-draft/SKILL.md(new) exists withname: detailed-design-first-draft, alongside the pre-existingassets/detailed_design_template.md.- Both skills' Step 1 is a section-by-section conversational interview (open question → free-form follow-up → trade-off challenge with pros/cons → Background-is-fact exception), worded consistently between the two files.
- Both have a "Revising an existing document" step (step 2) ahead of "Write the first draft" (step 3).
- TBD/Open-Questions language in both requires explicit user sign-off before anything is left open, and instructs going back through the interview rather than deferring silently.
- Both end their drafting step with a
document-concision-passcall before the pause-for-review step. proposal-first-drafthas no remaining "Behavior"/"Deliverables"/"Risks & Open Questions" section references (verified via grep) — the trimmed section set matchesassets/proposal_template.md.detailed-design-first-draftresolves_design_<Feature>.md's location viawrite-repo-documentation'sdocumentation.specsplacement, consistent with that skill's actual behavior.- Confirmed via repo-wide grep that other files still referencing
design-first-draftby name (write-repo-documentation,get-project-configuration,add-to-spec.md,write-design-spec.md,design-deliverable-breakdown/SKILL.md,README.md) are all explicitly assigned to other tasks in_spec_ProposalDetailedDesignSplit.md(Tasks 6, 9, 10), not this task's scope — no unowned dangling reference was introduced. - The Validate checkbox is correctly left unchecked; its own declared dependencies (ADR-386, ADR-390) don't exist yet in the repo, and the summary explains this rather than fabricating a stand-in.
This is a documentation/prompt-only (Wrapper-tier) change with no runtime code, so most of the standard priority list (fault tolerance, security, performance) doesn't apply. No Priority 1-4 issues found. Nicely self-consistent between the two sibling skills.
Review Summary✅ Status: Approved This PR successfully implements the split of design-first-draft into two focused skills: Changes verified:
No Priority 1-4 issues found. Clean, self-contained Wrapper-tier prompt/config work. The Validate exit criteria checkpoint is appropriately marked incomplete pending dependencies (ADR-386, ADR-390). |
jodavis-claude
left a comment
There was a problem hiding this comment.
Sign-off review
No unresolved review threads exist on this PR — the prior review pass (2026-08-11T06:07:15Z) approved the change with no inline comments, and no commits have landed since (the two authoring commits, 128c572 and 21e41ed, both predate that review). There is nothing new to scan.
Re-confirmed the substance of the prior approval by re-reading both proposal-first-draft/SKILL.md and detailed-design-first-draft/SKILL.md:
- Directory rename (
design-first-draft→proposal-first-draft) is a realgit mv; directory name matchesname:frontmatter. - Both skills implement the section-by-section conversational interview (open question → free-form follow-ups → trade-off challenge with pros/cons → Background-is-fact exception) identically.
- Both have a "Revising an existing document" step and the explicit-sign-off TBD/Open-Questions rule (no silent
> TBD). - Both end drafting with a
document-concision-passcall before pausing for review. detailed-design-first-draftresolves_design_<Feature>.mdlocation viawrite-repo-documentation'sdocumentation.specsplacement, and correctly leaves## Deliverablesas a placeholder fordesign-deliverable-breakdown.- No stale "Behavior"/"Deliverables"/"Risks & Open Questions" references remain in
proposal-first-draft. - Validate exit-criteria checkbox is correctly left unchecked, with the dependency gap (ADR-386, ADR-390 not yet in repo) explained rather than worked around.
No new Priority 1-4 issues found. Signing off.
|
Sign-off complete and approved. Ready for handoff to the implementation team. |
21e41ed to
eb9c5d2
Compare
build-and-test: Python test resultsStatus: ✅ Passed Test log |
eb9c5d2 to
033349f
Compare
| description: > | ||
| Use when writing a first draft of a complete new Detailed Design document, or revising an | ||
| existing one. Reads the approved Proposal, interviews the user section by section, then writes | ||
| the draft to a _design_<Feature>.md file. |
There was a problem hiding this comment.
We shouldn't be hard-coding file name patterns anywhere. These need to come from Project settings.
| go") — never a silent default when drafting wraps up, and never for a question you simply | ||
| haven't asked yet. | ||
|
|
||
| ### 2 — Revising an existing document |
There was a problem hiding this comment.
Does it make sense to have the first draft and revising skills both in the same skill? I'm asking because I'm not sure which is right. I don't want to duplicate instructions of there's overlap, but at the same time it seems like all of step 1 ignores the fact that there could be a while existing document to work from.
| Each agent returns findings as prose with source links, for citation in `## Alternatives | ||
| Considered`. | ||
|
|
||
| Interview the user section by section, following |
There was a problem hiding this comment.
Since the "user interview" is so similar between this and the detailed design, should it be split out into its own skill?
| go") — never a silent default when drafting wraps up, and never for a question you simply | ||
| haven't asked yet. | ||
|
|
||
| ### 2 — Revising an existing document |
There was a problem hiding this comment.
Same question about revising vs first draft. Did it make sense these are the same skill?
New, standalone, document-type-agnostic Wrapper-tier skill: given a file path, re-reads a document section by section and tightens its prose (cutting restated context, redundant hedging, and multi-sentence explanations) without dropping any decision, requirement, or scenario. Wiring it into proposal-first-draft, detailed-design-first-draft, dev-spec-first-draft, write-proposal, write-detailed-design, and write-dev-spec is explicitly out of scope (Task 2/ADR-387, Task 7/ADR-392).
document-concision-pass step 2 must not tighten > [!NOTE] / > **Method:** or > **Review:** blockquote blocks, since their exact marker syntax is depended on by playbook-contract's grep-based/agent recognition and document-discussion's own review workflow. Addresses PR #239 review comment.
…on-by-section interview Renamed the skill directory and SKILL.md name field, replaced the batched AskUserQuestion gathering step with a section-by-section conversational interview (with the Background no-challenge exception), added a Revising an existing document step, tightened the TBD/Open Questions sign-off language, and replaced inline tightening with a document-concision-pass call. Fixed the stale 'Risks & Open Questions' reference to 'Open Questions'.
New skill authored against the already-existing assets/detailed_design_template.md. Reads the approved Proposal in full, resolves _design_<Feature>.md's location via write-repo-documentation's documentation.specs placement, runs the same section-by-section conversational interview style as proposal-first-draft (with the Background no-challenge exception), includes a Revising an existing document step, applies the same explicit-sign-off TBD rule, and ends with a document-concision-pass call.
033349f to
4aa48fb
Compare
Work item: ADR-387 — rename/rewrite
design-first-draftintoproposal-first-draft(repurposed for the Proposal-only document) and author a newdetailed-design-first-draftskill, so the two sibling document-authoring skills stay stylistically consistent.Changes:
plugins/dev-team/skills/design-first-draft/renamed toplugins/dev-team/skills/proposal-first-draft/(git mv,assets/proposal_template.mdmoved unchanged) so the directory name matches the skill'sname:field.plugins/dev-team/skills/proposal-first-draft/SKILL.md:name:changed toproposal-first-draft; step 1 rewritten from batchedAskUserQuestiongathering to a section-by-section conversational interview (open question -> free-form follow-ups -> trade-off challenge with pros/cons -> Background-is-fact exception); added a new "Revising an existing document" step; tightened the TBD/Open-Questions language to require explicit user sign-off before anything is left open; added adocument-concision-passcall as the final action of drafting, before the pause-for-review step; fixed the stale "Risks & Open Questions" wording to "Open Questions".plugins/dev-team/skills/detailed-design-first-draft/SKILL.md(new): authored against the pre-existingassets/detailed_design_template.md. Reads the approved Proposal in full as its first input; resolves_design_<Feature>.md's location/naming via thewrite-repo-documentationskill'sdocumentation.specsplacement (PascalCase); runs the same section-by-section interview style, Revising step, and TBD sign-off rule asproposal-first-draft; explicitly leaves## Deliverablesas a placeholder fordesign-deliverable-breakdown; ends with adocument-concision-passcall.Design decisions:
document-concision-passcall as the last action inside the "Write the first draft" step (immediately before the pause-for-review step) rather than as its own separate numbered step, since the brief described it as "the last step of drafting" rather than a distinct pipeline stage.SKILL.md— both skills reference "each section's own opening question from the template" instead, to avoid the template files andSKILL.mdfiles drifting out of sync.plugins/dev-team/skills/dev-spec-first-draft/SKILL.md,plugins/dev-team/skills/write-repo-documentation/SKILL.md, andplugins/dev-team/skills/use-context-file/assets/context_template.mduntouched, per the brief's explicit read-only-reference notes — their own stale references or changes belong to other tasks.document-concision-passskill) do not exist in the repo yet, so the manual Validate step (invoking both skills end-to-end) could not be run. The authoring work itself is complete and self-consistent.Testing completed: Both
proposal-first-draftanddetailed-design-first-draftare Wrapper-tier prompt/config skills (per the spec's Component Breakdown) with no dedicated automated tests. Verified viagrepthat no staledesign-first-draft/"Risks & Open Questions" references remain and that both template links resolve to existing files. No Gherkin/E2E harness exists in this repo to exercise these skills against.