Spec tech
Use when authoring or revising the technical specification — the how of a capability, downstream of the product spec and upstream of per-slice design. Use to record durable architecture and mechanism, not a single change's design.From its SKILL.md
npx -y skills add davidlee/doctrine --skill spec-techAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.7 KB, 873 tokens by cl100k_base, as published. Nobody here has run it
Spec Tech
You are authoring the technical spec — the how, downstream of the product spec
(/spec-product) and upstream of per-slice design (/design). The entity
engine (TOML+MD tiers, relations, show command) is documented in
[[mem.concept.doctrine.entity-engine]].
Structural. Doctrine manages specs as first-class entities — a tech spec is the same three coordinated writes as a product spec: scaffold with
spec new(subtype/title/slug only), hand-edit the spine and flat fields intospec-NNN.toml, thenspec req addits requirements. Useshowto read the reassembled whole,validatefor FK integrity,listfor the corpus (flags in--help; verb model inusing-doctrine.md). Identity, the relational spine, and flat fields (incl.c4_level,[[source]]anchors) live inspec-NNN.toml, the narrative inspec-NNN.md; requirements are peer entities (REQ-NNN) membered viamembers.toml; tech-only spec→spec edges are written withdoctrine spec interactions add/remove(not hand-authored). There is no CLI flag for the spine — it is authored TOML, andspec validateis the integrity gate.
Capture the durable architecture and mechanism:
- the shape of the solution — components, boundaries, data flow, invariants
- the key technical decisions and their rationale (link relevant ADRs)
- interfaces and contracts that outlive any single change
- constraints the implementation must honour
The relational spine places every spec in the corpus tree (all hand-edited
TOML, gated by spec validate):
descends_from— tech→PRD, single-valued, a validated FK to the product intent this capability realises.parent— a single parent, acyclic containment (the C4 decomposition).- Containment is never a peer edge.
parentis never expressed as aninteractionsedge, and aninteractionsedge is never containment (PRD-012 principle) — decomposition and peeruses/callsare distinct axes.
C4 altitude. Hand-authored specs normally stop at the container/component level; code-level (C4 level 4) specs are exceptional, authored only when a unit of mechanism genuinely needs that resolution.
Posture is dual. A tech spec may be retrospective (the shipped how) or
forward-intent (SPEC-001/SPEC-002 style, describing an unbuilt engine) — both
are legal, provided planned stays distinguishable from verified. Requirements
are REQ-NNN entities at status pending; there are no coverage tables and no
status derivation — observed coverage is reconciled, never inferred from the spec.
The exemplar trio locks the three canonical shapes — read them with spec show
before authoring:
- SPEC-003 (
context) — the whole-system synthesis: anchor-free, noparent, nodescends_from; names the containers and their composition, never restating any one container's mechanism. - SPEC-004 (
container) —parentonly, no descent: a mechanism container whose children carry the per-capability descent. - SPEC-005 (
component) —parent+descends_from: the thin (not anaemic) capability shape — kind-specific contracts only, shared mechanism cited via the parent, never restated.
Keep it evergreen. A single change's concrete design — current vs target
behaviour, code-impact, verification — belongs in that slice's /design, not
here. If a decision is project-global and load-bearing, it may be an ADR
(doctrine adr new) rather than spec prose.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.