Documentation: lamina.dev
Install
npx skills install aryaniyaps/lamina
Fits your stack
Lamina slots into whatever you already use. Unopinionated on your tech stack/ AI skills.
| Any AI coding tool | Cursor, Claude Code, Codex, Gemini, Pi, etc |
| Any framework | Next.js, Angular, Astro, Svelte, React Native, Flutter, FastAPI, Gin, Express, etc |
| Any database | Postgres, MySQL, MongoDB, Cassandra, Redis, Neo4j, etc |
| Any Language | Javascript, Python, Go, Rust, Elixir, PHP, C#, etc |
| Any UI library | TailwindCSS, Chakra UI, shadcn, MUI, etc |
| Any UI design skill | Impeccable, UI UX Pro Max, frontend-design, etc |
| Any Workflow skill | obra/superpowers, mattpocock/skills, everything-claude-code, etc |
| Any interface | Websites, Mobile Apps, Desktop, PWAs, Chat Bots, CLIs, etc |
How it works
Your coding agent writes app source. Optional UI skills handle look and feel. Lamina owns product behavior — what to build, how states and flows work, which edges to cover:
flowchart LR
DESIGN["/lamina-design"]
IMPL["Implement"]
VERIFY["/lamina-verify"]
DESIGN -->|"implement.md"| IMPL
IMPL -->|"live app"| VERIFY
VERIFY -->|"fix.md / contract delta"| DESIGN
| Step | Who | Output |
|---|---|---|
| 1. Charter + design | Lamina | .lamina/runs/<id>/run.yaml, implement.md |
| 2. Build | Your coding agent | App source — any stack |
| 3. Verify | Lamina | Parallel persona walks, findings[], fix.md |
| 4. Fix | Your coding agent | Product fixes from fix.md |
| 5. Re-verify | Lamina | Confirm fixes; contract gaps → /lamina-design |
Demo: A Hotel Booking Platform
We built a demo hotel booking platform called HavenStay. Same prompt, two builds — one with Lamina, one without. Both were built from scratch by Cursor Composer 2.5 with no human-written app code.
Design and build a complete hotel booking platform called HavenStay from scratch.
Create a production-ready product that enables travelers to discover, compare, book,
and manage hotel stays, while enabling hotels to manage their properties, rooms,
pricing, availability, reservations, and guest interactions.
The product should feel polished, cohesive, and ready for real-world use. Design every
aspect of the experience, including the end-to-end user journeys, information
architecture, navigation, search and discovery, booking lifecycle, account management,
payments, cancellations, reviews, notifications, hotel management, trust and safety,
customer support, accessibility, edge cases, and system behavior.
| With Lamina | Without Lamina | |
|---|---|---|
| Folder | demo/hotel-booking-with-lamina |
demo/hotel-booking-without-lamina |
| Workflow | /lamina-design → implement → /lamina-verify |
Cursor Plan mode → implement |
Both apps cover traveler search/booking, a hotel partner surface, and an admin role. The gap is product behavior — marketplace integrity, ops depth, and edge cases — not whether a screen exists.
- 15-minute checkout inventory hold with countdown, hold-aware availability, and expiry — Plan mode only decrements stock after payment.
- Per-property Flexible / Moderate / Strict cancellation policies with an immutable snapshot at booking — Plan mode uses one global refund tier.
- Property go-live requires admin approve / reject / request-changes — Plan mode lets partners self-publish.
- “List your property” → multi-step onboarding wizard with readiness checklist — Plan mode is flat forms + manual publish.
- Hotel can cancel a reservation with a required reason and automatic full guest refund — Plan mode has no hotel cancel path.
- Full platform admin console (approvals, users, bookings, payments, trust, reviews, tickets, audit) — Plan mode has a single KPI page.
- Traveler edges: email-verified booking gate, cancel flow with refund preview, review-window gating, and receipt on trip detail.
- Search only surfaces live properties and excludes sold-out inventory for the selected dates — Plan mode can still list unavailable hotels.
- Richer booking lifecycle states (
PENDING_PAYMENT,CHECKED_IN,CANCELLED_BY_TRAVELER/_HOTEL,PAYMENT_FAILED) plus user suspension that blocks booking.
See the design report and verify report for the full contract and findings.
Pair with
Lamina designs and verifies product behavior. It works best when your agent can see the system cheaply and remember prior decisions:
| Tool/ skill category | Examples | Why |
|---|---|---|
| Codebase indexing / semantic code graph | Graphify, Sourcegraph, code graph/indexing tools | Gives Lamina a queryable view of an existing codebase so it can reason about architecture, trace behavior, and verify designs without repeatedly scanning the entire project. |
| Persistent memory | Claude-Mem, Mem0, agent memory systems | Preserves design decisions, assumptions, discoveries, and previous verification results across sessions, reducing repeated work. |
| Implementation workflows | obra/superpowers, mattpocock/skills, everything-claude-code | Turns Lamina's design artifacts (such as implement.md and fix.md) into structured implementation, testing, and review workflows. |
| UI/UX design tools and skills | Impeccable, UI UX Pro Max, frontend-design, design-focused agents |
Produces polished interfaces while Lamina focuses on interaction states, behavior, edge cases, and verification. |
| Specification-driven engineering | Spec Kit, Kiro, specification-first workflows | Converts verified designs into implementation plans, tasks, and engineering specifications. |
Brownfield minimum: a codebase indexing tool + persistent memory.
Why not …?
Most of these are complementary. Lamina is the contract + verify loop.
Impeccable, UI UX Pro Max, frontend-design
They polish how it looks. Lamina designs how it works — actors, flows, empty/error/loading states, invariants. Pair any UI skill; Lamina stays out of pixels.
BMAD, ai-ux-skills, design-skills
They teach design judgment — heuristics, critique, a11y, PRDs. Collections like BMAD, ai-ux-skills, and design-skills improve how your agent thinks.
Lamina runs a workflow — slash commands → run.yaml / implement.md → live-app verify. Use craft skills for judgment; Lamina when you need an implementable contract and a post-build check.
Just asking your coding agent
Fine for happy paths. Weak on permission matrices, stale states, and mid-flow failures. Lamina structures before build and walks the live app after.
Spec Kit, Kiro, spec-driven dev
Product first, then spec. Spec tools structure engineering work; Lamina structures product behavior. Run /lamina-design, then feed implement.md into Spec Kit/Kiro. Spec tools don't walk your live UI.
v0, Lovable, Bolt
They generate apps — often stack-locked. Lamina doesn't generate code or pick your framework; it fits your repo, agent, and UI stack. Targets role hierarchies, multi-step flows, and domain edges those builders miss.
Figma / design handoff
Mocks show one screen. They aren't agent instructions and don't verify the build. Lamina outputs implement.md, then audits the live product. Coexist fine.
Choose Lamina if you're a developer who builds with AI and care about product correctness — not just UI polish.
Skip it for landing-page skins, no-code AI builders, or if you don't want a .lamina/ contract.
Quickstart
/lamina-init Exam hall ticket system for universities
/lamina-design Hall ticket download with payment gate and venue assignment
# … build with your coding agent from implement.md …
/lamina-verify
# … fix product issues from fix.md with your coding agent …
/lamina-verify
Output: .lamina/runs/<id>/. Hand implement.md to build; hand fix.md to fix after verify.
Commands
| Command | What it does |
|---|---|
/lamina |
Router |
/lamina-init |
Domain charter |
/lamina-design |
Design contract → ready_to_build |
/lamina-verify |
Post-build check, persona walks, invariants → fix.md |
Writes to .lamina/ only. No app source. No visual styling.
No comments yet
Be the first to share your take.