ADR-393: Add template reference, revise mode, and concision pass to dev-spec pipeline - #244
Conversation
…spec Inserts a new step 2 that checks documentation.dev-specs.search for an existing dev spec and, if found, has step 3 invoke dev-spec-first-draft in revise mode instead of first-draft mode. Adds a final step 9 that runs document-concision-pass over the finished spec, for symmetry with write-proposal/write-detailed-design. Also brings in document-concision-pass/SKILL.md (authored on ADR-390's still-open branch) so this reference resolves to a real skill, per ADR-393's stated dependency on ADR-390.
… and final concision pass to dev-spec-first-draft Inserts a new step 2 'Revising an existing document', mirroring proposal-first-draft/detailed-design-first-draft but adapted to this skill's existing batched-AskUserQuestion interaction style rather than a section-by-section interview rewrite. Step 3 (renumbered from step 2) now writes/regenerates the Contents section last, tightens the TBD/Open Questions language to require explicit user confirmation rather than a silent default, and ends with a document-concision-pass call. Also brings in the pre-authored assets/dev_spec_template.md (already linked by this file, but missing from this branch) from the still-open ADR-336 spec-authoring PR.
build-and-test: Python test resultsStatus: ✅ Passed Test log |
jodavis-claude
left a comment
There was a problem hiding this comment.
Reviewed the ADR-393 diff (plugins/dev-team/commands/write-dev-spec.md,plugins/dev-team/skills/dev-spec-first-draft/SKILL.md, the newassets/dev_spec_template.md, and the new document-concision-pass/SKILL.md) against the task
brief's exit criteria, CONTRIBUTING.md, and this epic's established sibling precedent
(origin/dev/claude/ADR-387's proposal-first-draft/SKILL.md).
What was checked:
dev-spec-first-draft/SKILL.mdstep 3 already referenced (and continues to reference)assets/dev_spec_template.mdexternally; the missing template file itself is now added,
brought over verbatim as instructed.- New step 2 ("Revising an existing document") sits between "Gather context" and "Write the
first draft," with wording closely mirroringproposal-first-draft's equivalent step, adapted
correctly for this skill's batched-AskUserQuestionstyle rather than a section-by-section
interview rewrite. - TBD/Open-Questions wording now explicitly requires user confirmation before anything stays
open ("Confirm with the user before leaving anything open") — no silent default. - The drafting step ends with a
## Contents-last regeneration note followed by adocument-concision-passinvocation, matching the precedent skill's ordering exactly. write-dev-spec.md's new step 2 ("Check for an existing dev spec") precedes step 3 ("Write the
first draft"), correctly gating revise-mode invocation.write-dev-spec.md's new step 9 ("Final concision pass") is the last step, after step 8
(dev-spec-task-work-items).- Step renumbering is internally consistent in both modified files; grepped the rest of the repo
for other files referencingdev-spec-first-draft/write-dev-specby step number — none found,
so no stale cross-reference was introduced. - New files end with a single trailing newline, consistent with
.editorconfig. document-concision-pass/SKILL.md's frontmatter shape matches siblingdocument-*skills
(document-discussion,document-readiness-review).- CI (
build-and-test,gate) is green on this PR. - The final "Validate" exit-criteria checkbox is correctly left unresolved/unchecked, since it
requires a live interactive/write-dev-specrun outside a non-interactive session's reach — a
best-effort mechanical dry run was substituted and the gap is explained rather than faked. This
matches the exact precedent already established and approved on this epic's ADR-387 PR (#171).
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.
jodavis-claude
left a comment
There was a problem hiding this comment.
Sign-off review — ADR-393
No unresolved review threads exist on this PR (the first-pass review found zero Priority 1–4 issues and left no threads open).
No commits have landed since that review pass, so the diff is unchanged from what was already reviewed and approved:
plugins/dev-team/commands/write-dev-spec.mdplugins/dev-team/skills/dev-spec-first-draft/SKILL.mdplugins/dev-team/skills/dev-spec-first-draft/assets/dev_spec_template.mdplugins/dev-team/skills/document-concision-pass/SKILL.md
Re-scanned all four files against CONTRIBUTING.md and this epic's proposal-first-draft precedent — no new issues found. Step renumbering in both modified files is internally consistent, the new revise-mode/re-entrancy/concision-pass steps sit in the ordering the task brief specifies, and CI is green.
Signing off: approved.
Work item: ADR-393 — bring
dev-spec-first-draft/write-dev-specin line with the same three small features added elsewhere in epic ADR-336 toproposal-first-draft/write-proposalanddetailed-design-first-draft/write-detailed-design: an external template reference, a "Revising an existing document" re-entrancy step, and a finaldocument-concision-passtightening pass.Changes:
plugins/dev-team/commands/write-dev-spec.md— inserted a new step 2 ("Check for an existing dev spec") that substitutes the resolvedwork-item-idintodocumentation.dev-specs.searchand, if found, records its path for revise mode; renumbered remaining steps; step 3 ("Write the first draft") now invokesdev-spec-first-draftin revise mode when an existing spec was found; added a new final step 9 ("Final concision pass") invokingdocument-concision-passon the finished spec file, afterdev-spec-task-work-items.plugins/dev-team/skills/dev-spec-first-draft/SKILL.md— inserted a new step 2 ("Revising an existing document"), mirroringproposal-first-draft/detailed-design-first-draft's equivalent step but adapted to this skill's existing batched-AskUserQuestioninteraction style; renumbered old steps 2–3 to 3–4. The drafting step now skips location-determination when revising, writes/updates the file, tightens TBD/Open-Questions wording to require explicit user confirmation before anything is left open, adds a## Contentsregeneration note (write/regenerate last), and ends with adocument-concision-passinvocation.plugins/dev-team/skills/dev-spec-first-draft/assets/dev_spec_template.md(new) — the pre-authored templatedev-spec-first-draft/SKILL.mdalready linked to but was missing from this branch; brought over verbatim from the still-open spec-authoring PR (ADR-336: Dev spec + proposal/detailed-design/dev-spec templates #170).plugins/dev-team/skills/document-concision-pass/SKILL.md(new) — the skill both files above call; brought over verbatim from the still-open ADR-390 PR (ADR-390: Author document-concision-pass skill #239), this task's stated dependency.Design decisions:
document-concision-pass/SKILL.mdanddev_spec_template.md), rather than merging/rebasing in unrelated history from PR ADR-336: Dev spec + proposal/detailed-design/dev-spec templates #170 or PR ADR-390: Author document-concision-pass skill #239, keeping the diff scoped to exactly what ADR-393 needs.## Contentsregeneration note despite no matching exit-criteria checkbox, for consistency withproposal-first-draft/detailed-design-first-draftand because the spec's "Table of Contents on every spec document" decision requires it.dev-spec-first-draft/SKILL.mdalready externally referencedassets/dev_spec_template.md(exit criterion already met; only the file itself was missing) and tightened the existing TBD wording further to explicitly require user confirmation before anything is left open.Testing completed:
documentation.dev-specs.search, substituted with an existing spec's work-item-id, correctly matches that spec file) in place of the full live/interactive/write-dev-specvalidation, which requires user interaction outside a non-interactive Developer task's reach. The full live dry run remains outstanding for human/pipeline validation follow-up.Known follow-ups:
/write-dev-specdry run (confirming both the re-entrancy check and final concision pass fire live) should still be run by a human or the pipeline's validation phase.