A headless product design skill is convenience, not a prerequisite. Plan mode, XState, Spec Kit, or custom SKILL.md can cover much of the thinking. Lamina packages slash commands, contracts, and persona verification.
You want to know if Lamina is worth another dependency.
DIY_SECTION in the pillar listed five approaches and you want the honest summary.
Your team has XState and wonders if Lamina duplicates it.
Context
This is not a competitor page. It answers whether packaged Lamina beats DIY for your team. Strong teams already spec behavior; weak teams skip it entirely. Lamina targets the middle: you want the loop without maintaining your own skill and verify playbook.
Common situations
Concrete cases from AI-shipping workflows. Each shows what the alternative handles and where a behavior contract helps.
Plan mode plus committed SPEC.md
Situation
Every feature gets SPEC.md in docs/. Engineers update it sometimes. Drift appears under deadline pressure.
What Roll your own does
Low overhead, familiar markdown, full format control.
What Lamina adds
Structured run.yaml per run, implement.md handoff, built-in /lamina-verify when drift hurts.
Takeaway
DIY works with discipline; Lamina when discipline fails.
XState machines in application code
Situation
Booking state machine enforced at runtime. Design happens while coding.
What Roll your own does
Strong runtime guarantees when machine is correct.
What Lamina adds
Behavior design before implementation; verify on UI before machine is written.
Takeaway
XState enforces; Lamina designs and verifies earlier.
Custom SKILL.md maintained by platform team
Situation
Internal skill encodes company product rules. Team has bandwidth to maintain it.
What Roll your own does
Tailored to domain, owned internally.
What Lamina adds
Optional reference implementation or fork base. Not required if internal skill wins.
Takeaway
Maintained internal skill can beat external install.