mismagent-write-tactical-model

Writes per-feature tactical-model.md files capturing aggregates, invariants, domain events, and commands.

Updated Jun 12, 2026
One-click install
npx skills add https://github.com/lucolucus/mismagent --skill mismagent-write-tactical-model-lucolucus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mismagent-write-tactical-model
Source: https://github.com/lucolucus/mismagent/tree/main/codex/skills/mismagent-write-tactical-model
Command: npx skills add https://github.com/lucolucus/mismagent --skill mismagent-write-tactical-model-lucolucus

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Domain-driven design artifacts often drift: tactical models get reinvented at build time, ubiquitous language diverges from the strategic map, and invariants get lost between exploration and implementation. This Skill persists the tactical model as a per-feature Markdown file so every aggregate, invariant, event, and command is captured once and consumed downstream. ## Core Features & Use Cases - Per-feature tactical model file: Writes <output_dir>/features/<feature>/tactical-model.md with sections per bounded context the feature touches. - Explore-to-model handoff: Persists the analyst's "Seeds for the tactical" section so the tactical-modeler absorbs them from the file rather than from a chat message. - Consumer-driven rows: Every aggregate, invariant (INV-n), domain event, and command names its downstream consumer (manifest block, acceptance criterion, read-model, or application-service), or it is not written. - Use Case: During the mismAgent model phase, the tactical-modeler reads the seeds written during explore, expands them into aggregates with invariants and events per context, and empties the seeds section — producing the input for the building-block manifest. ## Quick Start Ask the agent to write the tactical model for the current feature into features/<feature>/tactical-model.md using the canonical names from context-map.md.

Frequently Asked Questions about mismagent-write-tactical-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a tactical model for a DDD feature?

Create one tactical-model.md per feature with a section per bounded context it touches. List aggregates with guarded entities, invariants with INV-n ids, past-tense domain events, and commands with actors, each naming its downstream consumer.

What is the difference between a context map and a tactical model?

The context map is project-level and holds bounded contexts plus the ubiquitous language; the tactical model is per-feature and holds aggregates, invariants, events, and commands. The tactical file never renames terms defined in the context map.

Can the tactical model introduce new domain terms?

No. Every term must already be canonical in the project context-map.md. A concept without a canonical name is a gap for the analyst, who amends the project map first before the tactical section is written.

When should a row be omitted from the tactical model?

Omit any element that has no downstream consumer. Aggregates feed manifest blocks, invariants feed acceptance criteria and tests, events feed read-models or side-effects, and commands feed application services — anything else is not written.

Does the tactical model persist across features?

No. It lives with the feature and is discarded with it; it is not a cross-feature domain library. Cross-feature prior art comes from the git log and the project-level context map.