How-To Use spec sections 106HOWTO-106

Use spec sections

Guides for writing each .sdd section well: what the section is for, the valid syntax, when to include it, when to omit it, and how to avoid turning local specs into vague docs or broad inventories.

← All How-To categories

25 guides Use spec sections
  1. Beginner 3 min read
    How to write the Spec section

    Use the Spec section as the required first line of a complete .sdd file: name the local subject clearly and put behavior in later sections.

    Read guide
  2. Beginner 2 min read
    How to use the Platform section

    Use Platform sparingly for useful technical context such as JavaScript/ES6 or Python/Django/5.2; keep detailed conventions in bootstrap.project.md.

    Read guide
  3. Beginner 2 min read
    How to write the Purpose section

    Use Purpose to explain why a subject exists in one or two stable lines, then put behavior, ownership, and tasks in their own sections.

    Read guide
  4. Beginner 3 min read
    How to use the Structure section

    Use Structure for local layout and immediate child roles, with explicit paths and short descriptions; keep detailed behavior in nearer specs.

    Read guide
  5. Beginner 2 min read
    How to use the Owns section

    Use Owns to define what a spec governs; when Can modify is absent, Owns also acts as the modification boundary.

    Read guide
  6. Intermediate 3 min read
    How to use the Can modify section

    Use Can modify when writable scope should be explicit, narrower, or different from ownership, especially for safe bounded agent work.

    Read guide
  7. Beginner 2 min read
    How to use the Can read section

    Use Can read for context that helps implementation or review while keeping writable authority in Owns or Can modify.

    Read guide
  8. Intermediate 2 min read
    How to use the References section

    Use References for explicit horizontal context outside the inherited chain; references help readers find contracts but do not grant write authority.

    Read guide
  9. Beginner 2 min read
    How to write Must rules

    Use Must for required behavior and responsibilities: make each rule local, observable, durable, and reviewable.

    Read guide
  10. Beginner 3 min read
    How to write Must not rules

    Use Must not to protect local boundaries and non-goals that contributors or agents might plausibly cross.

    Read guide
  11. Intermediate 2 min read
    How to use the Forbids section

    Use Forbids for hard dependency and access boundaries, and remember that Depends on, Must, and Tasks do not override it.

    Read guide
  12. Intermediate 2 min read
    How to use the Depends on section

    Use Depends on to name allowed collaborators and dependencies, while preserving inherited Must not and Forbids boundaries.

    Read guide
  13. Intermediate 2 min read
    How to use the Exposes section

    Use Exposes to make the public surface of a spec visible without using it as related-spec authority.

    Read guide
  14. Beginner 2 min read
    How to use the Accepts section

    Use Accepts to make input expectations explicit so implementation, tests, and review share the same contract.

    Read guide
  15. Beginner 2 min read
    How to use the Returns section

    Use Returns for observable outputs so reviewers can compare implementation, tests, and user-visible results against one contract.

    Read guide
  16. Intermediate 2 min read
    How to use the Raises section

    Use Raises to make failure contracts explicit, then pair them with Handles, Scenario, or Done when when behavior must be verified.

    Read guide
  17. Intermediate 2 min read
    How to use the Handles section

    Use Handles for required cases and conditions such as missing input, save failure, retries, events, or branch states.

    Read guide
  18. Beginner 3 min read
    How to write Tasks

    Use Tasks as a local implementation checklist with valid states: open, done, skipped, blocked, and needs decision.

    Read guide
  19. Beginner 2 min read
    How to write Done when

    Use Done when to prevent under-implementation and over-implementation by making completion concrete and checkable.

    Read guide
  20. Beginner 2 min read
    How to write Scenario blocks

    Use Scenario blocks for concrete behavior examples that can guide implementation, review, and tests.

    Read guide
  21. Beginner 2 min read
    How to use the Example section

    Use Example sparingly for concrete values or transformations that make a spec easier to implement and review.

    Read guide
  22. Beginner 2 min read
    How to use metadata or frontmatter in SpecDD files

    SpecDD .sdd files do not use YAML frontmatter for contract metadata; start complete specs with Spec and put real contract data in normal sections.

    Read guide
  23. Beginner 2 min read
    How to write comments in .sdd files

    Use whole-line # comments sparingly in .sdd files; comments are ignored and do not create contract meaning.

    Read guide
  24. Intermediate 3 min read
    How to use paths in SpecDD sections

    Use explicit path prefixes in SpecDD so humans, agents, and tools can distinguish real file references from prose.

    Read guide
  25. Intermediate 3 min read
    How to use globs in SpecDD

    Use SpecDD globs when a section needs a deliberate file set, but keep authority and recursive expansion narrow enough to review.

    Read guide

More How-To categories