Skip to main content

Lamina vs roll your own

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.

Curated by Aryan Iyappan · Updated 2026-07-13

Who this comparison is for

You are in the right place if

  • You already maintain SPEC.md or a custom skill.
  • 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.

Comparison

Lamina vs DIY behavior specs
DimensionRoll your ownLamina
Primary jobYour own spec and test approachPackaged design → verify loop
Layer in stackVaries by approachOpinionated behavior skill
Primary outputSPEC.md, state machines, custom templatesrun.yaml + implement.md
Writes app source?You or agent implementNo
Behavior spec (states, flows, permissions)As good as you maintain itStructured per /lamina-design run
Durable in-repo artifactYour chosen format.lamina/ convention
Post-build verificationYour tests, checklists, or manual QA/lamina-verify built in
Repo and stack fitFully customApache-2.0 skill, standard install
Best whenYou want full format control and maintain itYou want repeatability without owning the skill
When you don't need LaminaDIY loop already holds for your teamYou prefer maintaining your own skill
Compose with Lamina?N/AAdopt when verify loop is the gap

DIY approaches from the pillar guide

Lamina vs roll your own: when to use each
SituationRoll your ownLamina
Plan mode + SPEC.mdLow overhead, flexibleWhen specs drift from code
State machine in code (XState)Runtime enforcementWhen design should precede code
Spec Kit / KiroEngineering SDLCWhen product behavior needs first-class spec
Custom SKILL.mdTailored to domainWhen you will not maintain the skill
ADRs onlyArchitecture decisionsWhen UI flows need verification

Frequently asked questions

Do I need Lamina if I have DIY specs?

No. Lamina is optional when your loop already holds: accurate specs, tests, and review habits.

Can we fork Lamina instead of DIY from scratch?

Yes. Apache License 2.0. Many DIY paths end as an internal fork of an open skill anyway.

Does Lamina replace XState?

No. Lamina specs behavior before code. You may still implement with XState.

Comparisons map stack layers, repo artifacts, and HavenStay demo examples. Updated when major tools change positioning.

Install in one command.

A headless product-design skill for your AI coding agent. Then run the design → implement → verify loop on your next feature.

Apache-2.0 · open source. Star on GitHub if Lamina saves you a loop.

npx skills install aryaniyaps/lamina

Works with your coding agent

  • Cursor
  • Claude Code
  • Codex
  • Gemini
  • Pi
  • and more