ワンクリックで
sdd-propose
// Use when creating a new change with all SDD artifacts — proposal, delta specs, design, and tasks. Triggers: "propose a change", "create a change for X", "I want to implement feature Y", "start a new change", "let's build X".
// Use when creating a new change with all SDD artifacts — proposal, delta specs, design, and tasks. Triggers: "propose a change", "create a change for X", "I want to implement feature Y", "start a new change", "let's build X".
Use when the user wants rigorous, non-sycophantic editorial feedback on a draft, essay, blog post, or argument through back-and-forth dialogue — pressure-testing thesis, structure, argument, clarity, tone, and evidence. Triggers: "be my sparring partner", "pressure-test this draft", "poke holes in my argument", "is this ready to publish", "sharpen this post", "where is this weak". Not for one-shot copyediting, proofreading, or ghostwriting.
Use when distilling the through-line gist of one or more sources — the spine, argument, tension, or recurring frame running through a set of documents, notes, research, or transcripts, OR across the ideas within a single rich piece — into a few concise paragraphs. Triggers: "synthesize", "what's the through-line/gist", "extract the insight", "pull these together". Not for faithful summary or condensation that covers what a source says, nor for comparisons or catalogs where enumeration is the deliverable.
Use when deriving SDD specs from existing code or retroactively documenting implemented behavior. Triggers: "derive specs", "generate specs from code", "document this code in SDD", "retrofit specs", "spec out what's already built".
Use when the user wants any spec-driven development action — exploring before speccing, deriving specs from code or translating specs from another system, proposing a change, applying or implementing, verifying, syncing delta specs, or archiving. Triggers: 'spec this out', 'create a change', 'apply tasks', 'verify implementation', 'sync specs', 'archive change', or any mention of 'specs' or 'sdd'.
Use when merging delta specs from a change into the main baseline specs. Triggers: "sync specs", "merge delta specs", "update main specs", "apply the spec changes", "sync the change".
Use when verifying that an implementation matches a change's SDD artifacts. Triggers: "verify", "check implementation", "did I implement everything", "verify the change", "is implementation complete", "check conformance".
| name | sdd-propose |
| description | Use when creating a new change with all SDD artifacts — proposal, delta specs, design, and tasks. Triggers: "propose a change", "create a change for X", "I want to implement feature Y", "start a new change", "let's build X". |
Create a change directory with all SDD artifacts. Generates artifacts in dependency order: proposal → delta specs → design → tasks.
SPECS_ROOTis resolved by thesddrouter before this skill runs. Replace.specs/with your project's actual specs root in all paths below.
sdd-propose.sdd-translatesdd-derivesdd-applysdd-explore firstAsk the user:
user-auth-refresh, payment-retry)Read .specs/specs/ to understand existing baseline specs before generating deltas.
If .specs/specs/ is empty or does not exist, generate delta specs using only ADDED sections — all behavior is new.
If the user isn't sure about scope, offer sdd-explore first.
Create .specs/changes/<name>/proposal.md.
See references/sdd-change-formats.md for the proposal format.
Write with the user's input:
Present to user and confirm before continuing.
If .specs/.sdd/schema-config.yaml exists:
.specs/changes/<name>/schemas/before/.## Schema Impact section to proposal.md describing expected schema changes — new endpoints, new or modified models, removed operations.
See references/sdd-schema.md § 2 for the format..specs/changes/<name>/schemas/expected.md with a prose description of the expected schema diff. sdd-verify uses this to cross-check actual changes at verify time.If no schema config exists but .specs/schemas/ contains files, emit a visible warning:
WARNING: Found schema artifacts in
.specs/schemas/but no.specs/.sdd/schema-config.yaml. Schema snapshots will not be captured for this change. Runsdd-deriveor create the config manually to enable schema tracking.
If no schema config exists and .specs/schemas/ is empty or absent, skip silently.
Create .specs/changes/<name>/specs/<capability>/spec.md for each affected capability.
Order capabilities by build dependency — contract-defining and foundation capabilities before consumers — and use the same order in proposal.md's Scope list, in design.md's Decisions and Architecture, and in tasks.md's task groups.
See references/sdd-change-formats.md § 4 for the principle and worked example.
Read references/sdd-spec-formats.md § 1 before writing any requirement.
It defines what a requirement is (contract shapes, authoring primitive, artifact separation) and is the primary guidance for this phase.
For each affected capability, ask: what new contract are we adding, changing, or removing? State each requirement as a contract statement (guarantee, invariant, prohibition, precondition-consequence, or observable-state relationship — see § 1.1). Lean toward universal claims where they apply.
For each universal SHALL claim, apply the partition heuristic in references/sdd-spec-formats.md § 1.6: ask whether the claim's input space splits along semantic lines the spec already names (lifecycle states, identity/equivalence, multi-source composition, derived-pair invariants).
If yes, write one scenario per partition; if no, a single scenario is fine.
Use spec vocabulary only — never partition along code paths or write-sites.
Mechanism thinking is expected here — algorithms, thresholds, strategies, data structures.
Park those thoughts in the proposal's ## Approach section as they surface; they formalize in Phase 5 (design.md).
Do not put mechanism into the spec itself.
Delta-format rules:
sdd-sync replaces it wholesale (references/sdd-spec-formats.md § 4).
Note prior behavior in a > Previously: … line.Present specs to user and confirm before continuing.
Create .specs/changes/<name>/design.md.
See references/sdd-change-formats.md for the design format.
Include:
Recorded date or commit SHA.
sdd-verify will otherwise flag any SHALL without runnable evidence as CRITICAL, and uses Recorded for provenance checking.
See references/sdd-change-formats.md § 2 for the format.Only include sections with content — omit empty sections.
Present to user and confirm before continuing.
Create .specs/changes/<name>/tasks.md.
See references/sdd-change-formats.md for the tasks format.
Rules:
references/sdd-change-formats.md § 4 — each task must depend only on capabilities built by earlier tasks; never order alphabetically or by order of discussiondesign.md § Verification Waivers with a manual evidence reference.
sdd-verify enforces this rule.design.md (deduplication shortcuts, cache fast-paths, retry/fallback branches, idempotency early-returns, merge or composition steps).
Each foreseeable write-site needs its own paired evidence-producing test task — one test on the canonical path is not evidence for the shortcut, retry, or merge.
Write-sites that emerge later during implementation are handled by sdd-apply's write-site emergence rule and sdd-verify's write-site enumeration; covering the foreseeable ones here keeps verify from flagging them..specs/changes/<name>/proposal.md has Intent, Scope (in/out), Approachreferences/sdd-spec-formats.md § 1)references/sdd-spec-formats.md § 1.6 — when a positive signal fires, scenarios cover each partitiondesign.md or the proposal's Approach, not in spec textdesign.md has at least one Decision with rationaletasks.md has atomic tasks, and tasks/groups are ordered by build dependency per references/sdd-change-formats.md § 4 — no task depends on a capability not yet built by an earlier taskproposal.md Scope, design.md, and tasks.md groupsdesign.md § Verification Waivers with a manual evidence referencedesign.md (canonical path plus any alternative paths the design names — shortcuts, retries, merges) is paired with its own evidence-producing test task.specs/specs/ (baseline specs untouched).specs/changes/<name>/proposal.md.specs/changes/<name>/specs/<capability>/spec.md per affected capability (delta format).specs/changes/<name>/design.md.specs/changes/<name>/tasks.mdSummary: change name, capabilities affected, task count.
references/sdd-spec-formats.md § 1.5)references/sdd-spec-formats.md § 1.6 (lifecycle, identity, multi-source composition, derived-pair) — verify will flag this as partition-incomplete coveragedesign.md names alternative paths (shortcuts, retries, merges) — each foreseeable write-site needs its own paired test task, not just the canonical onereferences/sdd-change-formats.md § 4 so the implementer never builds in anticipation of a missing capabilityreferences/sdd-spec-formats.md — baseline spec, delta spec, scenario formatsreferences/sdd-change-formats.md — proposal, design, tasks formatsreferences/sdd-schema.md — schema artifacts and lifecycle policy