Impeccable is a UI craft skill: critique, tokens, accessibility, and visual polish. Lamina is a transactional product graph and agent workflow: validated graph knowledge and live verification. They pair; they do not overlap.
Impeccable designs how it looks. Lamina designs how it works. Both can sit in the same agent session.
Who this comparison is for
You are in the right place if
You installed Impeccable expecting it to fix broken checkout or onboarding logic.
Screens look professional after critique, but illegal state pairs still ship.
You want a clear stack order: resolved graph knowledge first, visual polish second.
Your agent passes Impeccable hooks but guests can still pay before email verification.
Context
Impeccable is the reference UI skill in the Lamina ecosystem. Developers often conflate visual craft with product behavior: the dashboard typography is excellent, but a partner can submit for review before Stripe connects. This page maps what Impeccable owns (pixels, hierarchy, presentation states) versus what Lamina owns (domain state machines, permission matrices, recovery paths). Neither replaces the other. The question is stack order, not either/or.
Common situations
Concrete cases from AI-shipping workflows. Each shows what the alternative handles and where validated graph knowledge and verification evidence help.
Guest checkout looks polished but hold rules are wrong
Situation
You ran Impeccable on a booking checkout. The hold banner, typography, and empty states look professional. Guests can still confirm payment before email verification or after the inventory hold expired.
What Impeccable does
Impeccable improves visual hierarchy, accessibility labels, and presentation of loading/empty/error chrome. It does not define whether pay is legal before verify-email or after hold expiry.
What Lamina adds
/lamina-design writes hold lifecycle, email gate, and cancel consent into GraphVersion. /lamina-verify walks as a guest persona and surfaces illegal transitions in product findings.
Takeaway
Use Impeccable for how checkout looks. Use Lamina for what checkout allows.
Partner onboarding form passes design critique
Situation
Impeccable critique fixed spacing and form labels on partner property onboarding. Submit for review is visible on step one because the agent rendered a complete form.
What Impeccable does
Impeccable ensures the form reads well and meets craft standards. It does not encode stepped prerequisites (Stripe, rooms, policy) before submit unlocks.
What Lamina adds
Lamina specs submit-for-review as gated until prior steps complete. Verify walks the partner persona through the real flow on staging.
Takeaway
Design critique cannot replace a permission matrix across onboarding steps.
You only need a landing page refresh
Situation
Marketing asked for better hero typography and contrast on a static page. No new roles, gates, or multi-step flows.
What Impeccable does
Impeccable alone is the right tool: critique, tokens, polish.
What Lamina adds
Nothing required. Skip Lamina until the page gains product behavior (forms with gates, authenticated states, etc.).
Takeaway
Visual-only work is a valid reason not to install Lamina yet.
Comparison
Lamina vs Impeccable for AI coding agents: layer comparison
Dimension
Impeccable
Lamina
Primary job
Polish pixels, hierarchy, accessibility, and anti-AI-slop craft
Agent implements from GraphVersion projection (behavior first)
3. Polish
Impeccable critique and polish pass on components
Optional: Impeccable after core behavior lands
4. Verify
Re-run critique if visuals shifted layout
/lamina-verify; product findings loop for behavior gaps
When to reach for each
Lamina vs Impeccable: when to use each
Situation
Impeccable
Lamina
Dashboard needs better typography and contrast
Impeccable alone
Skip Lamina
Checkout needs hold timer, email gate, cancel rules
Impeccable for polish only
Lamina for contract + verify
Component library migration (shadcn refresh)
Impeccable + shadcn skill
Add Lamina when flows change, not when buttons move
AI-generated UI looks generic
Impeccable anti-slop pass
Lamina if generic UI hides wrong product states
Worked example
Partner onboarding gate before submit. In the HavenStay demo, Impeccable can polish the onboarding form layout and labels. Lamina specs that submit-for-review stays locked until Stripe, property, rooms, and policy steps complete. Without the contract, agents render a complete form on day one. With Lamina, verify catches submit unlocked too early.
Yes. Lamina specs behavior; Impeccable handles pixels. Run /lamina-design and implement first, polish with Impeccable, then /lamina-verify so visual tweaks do not mask broken gates.
Impeccable covers empty and loading states. Isn't that behavior?
Presentation states differ from domain states. Impeccable ensures empty checkout looks intentional. Lamina ensures pay is illegal while hold is expired or email is unverified.
Does Lamina replace Impeccable?
No. Lamina never touches styling, tokens, or visual critique.
Impeccable has design hooks. Does that replace /lamina-verify?
Hooks catch visual regressions during iteration. /lamina-verify walks personas against the resolved graph knowledge on the live build. Different signals.
Comparisons map stack layers, durable outputs, and provenance-marked legacy examples. Updated when major tools change positioning.
More comparisons
Install Lamina with your agent.
Copy the repository-matched prompt. Your agent installs the standalone CLI, adds every Lamina skill for your active agent, configures supported passive rules, checks the setup, and tells you when to start a fresh session with /lamina-init.
Skills work across coding agents. Passive setup currently supports Codex, Claude Code, and Cursor.
Cursor
Claude Code
Codex
Gemini
Pi
and more
Install manually on macOS/Linux4 shell commands
Run these in your project, then start a fresh agent session. On Windows, use the PowerShell installer in the copied agent prompt.
curl -fsSL https://github.com/aryaniyaps/lamina/releases/latest/download/install.sh | sh
npx skills add aryaniyaps/lamina --skill '*' -a <active-agent> -y