by aryaniyaps
Headless Product Design skill for AI coding agents | Design how it works, verify what you ship.
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/aryaniyaps/laminaGuides for using ai agents skills like lamina.
Documentation: lamina.dev/docs
SHELL — install once
npx skills install aryaniyaps/lamina
AGENT CHAT — open your project root and start a fresh session
/lamina-init <your product domain and primary users>
/lamina-design <one feature or flow>
Successful init produces and validates .lamina/business-context.md and .lamina/personas.json. Later design and verify commands gate on valid business-context.md. Run init once per project or domain; use /lamina-init update only when the business use case, market, scope, or actor cast materially changes.
ORDINARY CODING MODE — implement from the handoff
Implement from .lamina/runs/<run_id>/implement.md
Start the product
AGENT CHAT
/lamina-verify hall ticket download at http://localhost:3000
ORDINARY CODING MODE — apply fixes when findings remain
Apply .lamina/runs/<run_id>/fix.md
AGENT CHAT
/lamina-verify hall ticket download at http://localhost:3000 again
Design outputs: run.json, run.md, implement.md. Verify outputs: report.md, fix.md; walkthrough evidence is optional. Open product findings go to fix.md; contract gaps return to /lamina-design. Ops observations stay in report.md only — not applied from fix.md and do not block the product/contract exit condition.
Not sure which command to run? /lamina <what you are trying to do> is an optional router — not a required setup step.
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
INIT["/lamina-init"]
DESIGN["/lamina-design"]
IMPL["Implement"]
VERIFY["/lamina-verify"]
FIX["Apply fix.md"]
INIT -->|"business-context.md + personas.json"| DESIGN
DESIGN -->|"implement.md"| IMPL
IMPL -->|"live app"| VERIFY
VERIFY -->|"product: fix.md"| FIX
VERIFY -->|"contract delta"| DESIGN
FIX -->|"live app"| VERIFY
| Step | Who | Output |
|---|---|---|
| 0. Init | Lamina | Validated .lamina/business-context.md, .lamina/personas.json |
| 1. Design | Lamina | .lamina/runs/<id>/run.json, run.md, implement.md |
| 2. Build | Your coding agent | App source — any stack |
| 3. Verify | Lamina | report.md, fix.md, optional walkthrough/ evidence |
| 4. Fix | Your coding agent | Product fixes from fix.md |
| 5. Re-verify | Lamina | Confirm fixes; contract gaps → /lamina-design; ops notes stay in report.md |
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 |
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-init → /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.
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.
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.
Most of these are complementary. Lamina is the contract + verify loop.
frontend-designThey 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.
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.json / implement.md → live-app verify. Use craft skills for judgment; Lamina when you need an implementable contract and a post-build check.
Fine for happy paths. Weak on permission matrices, stale states, and mid-flow failures. Lamina structures before build and walks the live app after.
Product first, then spec. Spec tools structure engineering work; Lamina structures product behavior. Run `/lamina
lamina is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by aryaniyaps. Headless Product Design skill for AI coding agents | Design how it works, verify what you ship. It has 52 GitHub stars.
lamina's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/aryaniyaps/lamina" and add it to your Claude Code skills directory (see the Installation section above).
lamina is primarily written in TypeScript. It is open-source under aryaniyaps on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh lamina against similar tools.
No comments yet. Be the first to share your thoughts!