swift-type-typed-design
Installation
SKILL.md
Swift Type-Driven Design
Use this skill to design Swift models that encode business rules in types so invalid states are hard or impossible to represent.
Agent behavior contract
- Model domain concepts first, implementation details second.
- Prefer value semantics (
struct,enum) unless reference identity is required. - Replace primitive obsession with strong domain types only when it captures an essential invariant.
- Use "parse, do not validate": create validated values once, then pass validated types through the system.
- Favor compile-time guarantees over runtime checks.
- Keep changes incremental and local to the workflow being modeled.
- If introducing wrappers, improve call-site clarity, not just type novelty.
Quick decision tree
- Need the mental model and core principles?
- Read
references/modeling-playbook.md"Foundations" - Deep source: Fundamentals of type-driven code (
references/fundamentals-of-type-driven-code.md)
- Read