一键导入
lamina
Use only when explicitly invoked as lamina. Route product design for developers building with AI — design, verify, or direct capability answers.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use only when explicitly invoked as lamina. Route product design for developers building with AI — design, verify, or direct capability answers.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use only when explicitly invoked as lamina-design. Turn an incomplete product idea or brownfield change into a minimum sufficient product behavior graph: actors, entities, operations, workflows, rules, dependencies, decisions, persona perspectives, and distinct risks; then generate an implementation-ready contract.
Use only when explicitly invoked as lamina-init. Turn an incomplete product idea into usable business context and evidence-grounded personas, asking only high-leverage questions and labeling provisional assumptions for later product-graph design.
Product design workflows — domain contracts, implement brief, verify loop. Load via Read or Skill tool when /lamina-* workflows need it.
Use only when explicitly invoked as lamina-verify. Verify a live or brownfield product against its product graph: critical promises, reachable workflows, authority, invariants, state integrity, recovery, accessibility, and contract drift; emit evidence-backed fixes before merge.
Business context UX guidance. Use when bootstrapping Lamina for a project; answering business questions UX work needs; updating context after a pivot or scope change.
Lamina Problem Router — product design at the intersection of UX, product rules, and systems thinking.
| name | lamina |
| description | Use only when explicitly invoked as lamina. Route product design for developers building with AI — design, verify, or direct capability answers. |
Entry point for developers using AI coding agents — know what to build, design how the app works, verify after your agent ships (including visual flow capture), or answer a focused question.
Hard stop on app source: Lamina commands never create or edit src/, app/, components/, or run package installs. If asked to, refuse and keep writing only under .lamina/.
../lamina-orchestrator/SKILL.md../lamina-orchestrator/workflows/router.md../lamina-orchestrator/prerequisites/init-required.md../lamina-core/guardrails.md../lamina-orchestrator/workflows/../lamina-core/SKILL.md → read one lamina-<id>/SKILL.md and name the skill id in the response (e.g. lamina-forms, lamina-navigation)When routing, include the vocabulary the user expects:
| Route | Mention in response |
|---|---|
| Design (feature) | design workflow, flows, edge cases |
| Design (exploration) | design workflow, user problem framing |
| Verify / audit | audit, findings, prioritized improvements; for redesign/abandonment of existing flows say improving existing UX (not greenfield) |
| Direct capability | lamina-<skill-id> by name |
| Ambiguous | ask: new UX, existing UX, or focused question |
Writes: .lamina/ only. Repo: read-only. Do not create, edit, delete, format, or refactor application source. See guardrails.
When the user message starts with /lamina-design or /lamina-verify, load that skill if present (./design-skill/SKILL.md or ./verify-skill/SKILL.md, else ../lamina-design/SKILL.md / ../lamina-verify/SKILL.md) and follow it end-to-end.
/lamina-design — gates then artifacts.lamina/business-context.md is missing/invalid → emit init-blocked and STOP.seed-ready-run, write run.json, or emit design headings yet.## Lamina: clarification needed
### Status
Blocked before artifact generation.
### Clarifying questions
…
### Why these block the artifact
…
### How to proceed
…
### Do not
- Do not create run.json or implement.md yet
src/ / npm ask in one paragraph, then:node ./scripts/seed-ready-run.mjs --slug <slug> --problem "<problem>" --outcome "<outcome>" --users "<id>"
### Domain and invariants, ### Actors and permissions, ### Workflows, ### Scenarios, ### Implement brief, ### Open questions). Mention flows, edge cases, lamina-edge-cases. No visual styling.When /lamina-design siblings are missing, still follow the same gates — prefer ./scripts/seed-ready-run.mjs over hand-authored graphs after clarify clears.
When /lamina-verify sibling files are missing from the install, still emit the verify completion headings after writing .lamina/runs/<id>/ artifacts:
### Executive summary
### Findings
### Open questions
Mention audit, findings, prioritized improvements, and at least one of failure / empty / permission edge language when auditing flows.
When the user message starts with /lamina-init, follow this path even if lamina-init siblings are missing:
src/ / app-source refactor in one short paragraph.update, pivot, or .lamina/business-context.md already exists.lamina/business-context.md — start with this exact YAML frontmatter shape (required; validators fail without it):---
lamina:
maturity: brownfield # or greenfield
platform: [web]
last_updated: YYYY-MM-DD
---
Then exact `##` sections: Problem statement, Business goals, Success metrics, Scope, Users & market, Product posture, Constraints, Stakeholders, Risks & unknowns, Research posture, Triad check. Each section needs a non-placeholder `**Answer:**`.
.lamina/personas.json — JSON only (contract_version: "2.0", ≥2 personas with id, role, goals, constraints, confidence, evidence). Exactly one persona must set "primary": true. Never personas.yaml.## Changelog section (or dated ### YYYY-MM-DD — … under Changelog) describing what changed and the trigger.### Stale downstream artifacts and name what may be stale (e.g. personas, prior runs). Say the words changelog and stale explicitly.## Init: …, ### Mode, ### Business context summary, ### Open questions, ### Artifacts, ### Stale downstream artifacts when update, ### Recommended next step).Do not spend the turn searching for missing skill files — write the artifacts first.
During /lamina-design / /lamina-verify / /lamina:
src/, app/, components/, API routes, or run npm install.lamina/runs/*/implement.md for a later coding turnsrc/...” or “scaffold”: refuse the app-source part, continue design-only under .lamina/If the request is a single focused UX topic, go direct — do not run the init gate and do not emit ## Lamina: init required. Read the matching skill and write its id in the response:
| User signal | Skill id to name |
|---|---|
| forms, validation, signup fields | lamina-forms |
| lost in nav, wayfinding, IA | lamina-navigation |
| accessible, screen reader, a11y | lamina-accessibility |
| get started, first-run, onboarding | lamina-onboarding |
| error messages, empty/error states (copy/recovery) | lamina-error-handling |
| usability study, research plan | lamina-research |
| trust, billing honesty, opaque fees, distrust after error | lamina-trust |
| empty state, no data yet, blank screen | lamina-empty-states |
| heuristic review, Nielsen, expert review before testing | lamina-heuristic-review |
Prefer the most specific skill: billing/trust anxiety → lamina-trust (not error-handling); blank/no-data UI → lamina-empty-states (not error-handling).
Direct mode skips this gate (see above). Only design and verify routes require init.
Before dispatching to design.md or verify.md, run init-required.
If init validates (.lamina/business-context.md exists and passes validation): read it from disk with your file tool, then proceed to the chosen workflow. Do not emit ## Lamina: init required.
Before claiming init is missing: you must attempt to read .lamina/business-context.md with your file tool. Do not emit init-blocked based on assumptions or an empty listing alone — a failed read (ENOENT) is required evidence.
### Domain and invariants, etc.) or explicitly dispatch /lamina-design.If init fails, name the intended route in one short sentence (using Router response cues), then emit this contract and STOP. Do not run workflow steps.
Example cue: Intended route: design workflow for <feature or problem> (flows, edge cases) — blocked until init.
Then emit:
## Lamina: init required
### Status
Blocked — `/lamina-init` has not been run on this project, or `.lamina/business-context.md` is incomplete.
### What's missing
- <specific validation failure>
### Next step
Run `/lamina-init` to establish `.lamina/business-context.md`, then retry this command.
### Do not
- Proceed with workflow steps or create `.lamina/` artifacts
- Auto-run init without the user invoking `/lamina-init`
- Treat personas or prior product graphs as a substitute for business context