ワンクリックで
compound-spec-dev
Develop precise specifications through Socratic dialogue, EARS notation, and Mermaid diagrams
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Develop precise specifications through Socratic dialogue, EARS notation, and Mermaid diagrams
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Decompose a large system specification into cook-it-ready epic beads via DDD bounded contexts
Reference for configuring, launching, and monitoring infinity loops and polish loops
Decompose a large system specification into cook-it-ready epic beads via DDD bounded contexts
Reflect on the cycle and capture high-quality lessons for future sessions
Full-cycle orchestrator chaining all five phases with gates and controls
Decompose work into small testable tasks with clear dependencies
| name | compound-spec-dev |
| description | Develop precise specifications through Socratic dialogue, EARS notation, and Mermaid diagrams |
| phase | spec-dev |
Develop unambiguous, testable specifications before implementation. Structured 4-phase process producing EARS-notation requirements, architecture diagrams, and a docs/specs/<epic-id>-<slug>.md spec file plus a pointer-stub beads epic.
Scale formality to risk: skip for trivial (<1h), lightweight (EARS + epic) for small, full 4-phase for medium+. Use AskUserQuestion early to gauge scope.
Goal: Map the problem domain before narrowing.
ca search for past features, constraints, decisionsca knowledge "relevant terms".claude/agents/compound/repo-analyst.md, memory-analyst.md, or subagent_type: Explore)/get-a-phdmindmap) -- makes implicit assumptions visibleAskUserQuestion to clarify scope and preferencesIteration trigger: If research reveals the problem is fundamentally different, restart Explore.
Goal: Crystallize requirements through Socratic dialogue.
sequenceDiagram, stateDiagram-v2) to expose hidden structurereferences/spec-guide.md for full checklistAskUserQuestion to resolve each ambiguityIteration trigger: If specifying reveals missing knowledge, loop back to Explore.
Goal: Produce formal, testable requirements.
Write each requirement using EARS notation:
The system shall <action>.When <trigger>, the system shall <action>.While <state>, the system shall <action>.If <condition>, then the system shall <action>.Where <feature>, the system shall <action>.Where > While > When > If/then > shallVerify each requirement: no vague adjectives, edge cases covered, quantities specified, testable
Document trade-offs when requirements conflict (see references/spec-guide.md)
Produce architecture diagrams (erDiagram, C4Context, flowchart)
Create ADRs in docs/decisions/ for significant decisions
Generate scenario table from EARS requirements and Mermaid diagrams:
| ID | Source | Category | Precondition | Trigger | Expected Outcome |
|---|---|---|---|---|---|
| S1 | R1 | happy | precondition | action | assertion |
Categories: happy, error, boundary, combinatorial, adversarial
Iteration trigger: If contradictions or gaps emerge, loop back to Understand.
The spec FILE at docs/specs/<epic-id>-<slug>.md is the single source of truth. The epic description is only a pointer stub. <slug> = epic title kebab-cased (lowercase, spaces to hyphen, strip non-alphanumeric/hyphen chars, collapse repeats, max 50 chars).
bd create --title="..." --type=epic --priority=<N>)docs/specs/<epic-id>-<slug>.md: frontmatter (epic, title, status: draft, created: <today>), then # <title>, ## Overview, ## EARS Requirements, ## Scenario Table (the table from Phase 3), ## Diagrams, ## Open Questions, and an empty ## Amendments section. The plan phase later inserts Acceptance Criteria and Verification Contract before ## Amendments. If this epic was materialized by the architect, its description already carries scope boundaries, an EARS subset, interface contracts (explicit + implicit), and assumptions -- fold ALL of that into the spec file (into ## Overview, ## EARS Requirements, plus ## Interface Contracts and ## Assumptions sections) so nothing is lost when the description becomes a stub in step 3. See references/spec-guide.md for the full skeleton.bd update <epic-id> --description="..."):
<one-line summary of the epic>
Spec: docs/specs/<epic-id>-<slug>.md
Open questions for plan: <comma list, or none>
bd update <epic-id> --notes "Spec: docs/specs/<epic-id>-<slug>.md"docs/specs/ or docs/specs/index.md is missing, create them first (mkdir -p docs/specs, write a # Specs Index header table). Then append a row: | [<epic-id>-<slug>.md](<epic-id>-<slug>.md) | <title> (epic <epic-id>) |ca learnNote on downstream contracts: The EARS requirements you write here are the source material for both the Acceptance Criteria table and the Verification Contract. The plan phase will extract testable AC rows and derive the epic-local proof of done from the product profile, touched surfaces, and risks. Write EARS requirements with testability in mind, and call out user-visible surfaces, public APIs, persistence changes, packaging concerns, and operational risks explicitly.
Amendments policy: append-only, MAJOR/MATERIAL changes only (scope shift, requirement change, Verification Contract escalation, compound spec-drift reconciliation). Routine first-time section additions (e.g. plan adding AC/VC) do NOT get an entry.
ca search before generating approachesca knowledge for indexed project docsca learn after corrections or discoveriesRead .claude/skills/compound/spec-dev/references/spec-guide.md on demand for EARS patterns, Mermaid templates, ambiguity checklists, and trade-off frameworks.
docs/specs/<epic-id>-<slug>.mddocs/specs/index.md## Amendments section from the spec fileca search)AskUserQuestion at decisionsdocs/specs/<epic-id>-<slug>.md (single source of truth)docs/specs/index.md updated with the spec row## Amendments section present in the spec file