| name | domain-modeling |
| description | Build and sharpen the project's domain terminology inline or via a batch glossary scan. Use when pinning down ubiquitous language, recording a domain decision, grill-with-docs crystallises a term, or refreshing docs/glossary.md. |
Domain Modeling
Actively build and sharpen the project's domain model as you design. Reading docs/glossary.md for vocabulary is a one-line habit any skill can do — this skill is for when you're changing the model, not just consuming it.
Layers deltas for this repo:
File structure
/
├── docs/
│ ├── glossary.md ← canonical ubiquitous language (single)
│ ├── architecture.md ← current structural decisions
│ ├── audits/<topic>.md ← retained audit history
│ └── plans/<name>.md ← in-flight decisions
Create files lazily — only when you have something to write.
During the session (inline)
Challenge against the glossary
When the user uses a term that conflicts with docs/glossary.md, call it out immediately.
Sharpen fuzzy language
When the user uses vague or overloaded terms (e.g. "stack" for both the LayerStack and the JavaScript call stack, or "layer" for both the frame and the component that renders it), propose a precise canonical term.
Discuss concrete scenarios
Stress-test domain relationships with specific edge-case scenarios (serial scope queueing, double-open on the same key with upsert, gcTime restore on re-open, dismissAll draining a queued caller).
Cross-reference with code
When the user states how something works, check whether the code agrees (packages/core/src, the framework adapter package entries under packages/<fw>/src). Surface contradictions.
Update vocabulary inline
When a term is resolved, update docs/glossary.md right there — don't batch. Use GLOSSARY-ENTRY.md.
docs/glossary.md is glossary only — no implementation details, not a spec or scratch pad.
Offer decision docs sparingly
Only when the decision is hard to reverse, surprising without context, and the result of a real trade-off. Route to architecture.md, plans/, or audits/ per docs-governance — not ADRs at repo root.
Batch glossary scan
When the user asks to extract or refresh the full glossary (not one term at a time), follow GLOSSARY-SCAN.md.
Done when: resolved terms are in docs/glossary.md; contradictions with code surfaced or filed as follow-up.
Reference