Skip to main content

neohaskell-domain-modeling

The NeoHaskell DOMAIN-PHASE discipline for turning a failing test's implied types into precise domain types: value objects with smart constructors, ADTs that make illegal states unrepresentable, parse-don't-validate at the boundary, and the Natural/Decimal/Redacted/Uuid wrappers and enum sum types. Use whenever a red test references a type that does not exist yet, when adding a field/quantity/money/id/secret/status value, or when replacing a Text or Int primitive with a domain type — even if the user says only 'add a field' or 'model this'. Stubs bodies with panic 'TODO' (or Integration.none) so the module compiles and the test fails on the assertion. Do NOT use to fill in real decide/combine/handleEvent LOGIC (the implement-* skills), to derive JSON instances (neohaskell-records-and-json), to add a field to a live entity's snapshot decoder (expand-entity), or to run event- storming/discovery (augment-feature-request). Load after write-unit-tests, before the implement-* skills.

Jump to install

Source facts

Repository
neohaskell/skills
Last source activity
July 1, 2026 at 22:02
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.