Domain modeling pre prune cfea0f22
Skill stevennitesh/programming-agent-skills/docs/validation/evals/domain-modeling-pre-prune-cfea0f22
Model and persist a project's context-scoped ubiquitous language, invariants, bounded contexts, relationships, and approved durable decisions. Use when domain meaning needs focused clarification or capture, including delegated capture, or an already-settled decision needs ADR assessment; exclude ordinary vocabulary lookup and general design debate.From its SKILL.md
npx -y skills add stevennitesh/programming-agent-skills --skill domain-modeling-pre-prune-cfea0f22Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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
5.5 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Domain Modeling
Keep the project's domain model coherent and return one complete Domain Delta.
Model, don't catalog. Capture meaning, behavior, invariants, responsibility, and relationships. Omit generic technical vocabulary, code indexes, and boundaries inferred only from implementation layout.
Authority
Lock three independent authorities:
- Meaning: evidence settles source facts; the direct user unless a source names another authority, or the caller's named domain authority, settles intended meaning. Direct use may ask focused questions about terms, invariants, bounded contexts, and relationships. Under
$grill-with-docs, Grilling asks and relays settled answers. A caller-invoked pass returns unresolved choices to its caller. - Context: use
persist authorizedonly after an explicit persistence request or exact caller mode; otherwise userender only. - ADR: use
offer onlyunless one identified, already-settled candidate has explicit recording approval. The originating workflow owns the decision.
Mutate only routed domain records and approved ADRs. Return setup, code, spec, plan, tracker, and implementation consequences to their owners. Invoke no Router, composer, or downstream work.
Runtime
Trace -> Challenge -> Resolve -> (Persist -> Verify | Render) -> Return
-
Trace. Trace the bounded subject, repository instructions and domain routing, relevant domain records and ADRs, load-bearing evidence, authorities, caller, and return owner. Follow the repository's configured domain-document route. Without one, an existing root
CONTEXT-MAP.mdselects multiple contexts; otherwise rootCONTEXT.mdis the fallback. Create the first record only for an authorized settled resolution.Treat code, tests, contracts, runtime behavior, and widespread usage as evidence about implementation, not authority over intended meaning. Bounded contexts follow model, language, responsibility, and consistency boundaries—not directories, packages, services, or repository size. When managed routing must change, return the accepted topology and exact setup requirement; resume only in a later invocation after setup read-back agrees.
-
Challenge. Test material uncertainty for language collisions (overload, aliases, implementation leakage), model boundaries (responsibility, invariants, relationship contract, language ownership, change authority), and contradictions (records, evidence, decisions, implementation). Use concrete normal, edge, failure, inclusion, and exclusion scenarios only when they can change the model. Resolve each material collision or return its exact blocker and owner.
-
Resolve. Settle the canonical term or decision, implementation-independent meaning, owning context, load-bearing sources, and decision authority. Add aliases, invariants, boundaries, relationships, conflicts, and consequences only when material. Preserve intended truth when implementation differs, expose the contradiction, and keep unresolved meaning out of durable records.
For each context relationship, settle interaction direction, responsibilities, contract, language ownership, and change authority. Apply a DDD Context Mapping pattern only when it fits; exact representation and the optional recognized patterns live in CONTEXT-FORMAT.md.
-
Persist -> Verify | Render. Read CONTEXT-FORMAT.md only to render or persist language, invariants, context maps, or relationships. Read ADR-FORMAT.md only for a plausible already-settled ADR candidate.
For
persist authorized, refresh routing and every target, preflight the bounded set, write only accepted changes, and reread each attempted and changed record. On the first write or verification failure, preserve verified changes, stop mutation, and return exact partial state. Forrender only, return directly applicable wording, target, placement, and relationship effects without writing. -
Return. Return the Domain Delta to the direct user, caller, or
$grill-with-docsand stop:
Semantic outcome: no-change | resolved | partial | unresolved
Persistence outcome: complete | partial | failed | not-applicable
Blockers and consequences:
Return owner:
Add authority, resolved language, context boundaries, invariants, relationships, per-target state, caller identifiers, ADR outcomes, and continuation authority only when present or caller-required. Each blocker names its condition, owner, impact, and re-entry requirement. Keep a no-change result minimal.
Under $grill-with-docs, accept every settled material answer, including one with no durable consequence. Return the authoritative cumulative Domain Delta and any collision before dependent questioning continues; never choose interview materiality or branching.
Completion
Complete when Trace is current; every in-scope consequence is resolved, no-change, or an exact blocker; each intended target is verified, rendered, or returned with exact failure state; every plausible ADR candidate has an outcome; mutation stayed inside routed domain records and approved ADRs; the Domain Delta is complete; and Return starts nothing.
What ships with it: 3 files
5.4 KB alongside SKILL.md
agents/
- openai.yaml42 B
- ADR-FORMAT.md1.9 KB
- CONTEXT-FORMAT.md3.5 KB