MANDATORY RULES: VIOLATION IS FORBIDDEN
- Response language follows
languagesetting in.agents/oma-config.yamlif configured. - NEVER skip phases. Execute from Phase 1 in order.
- Do NOT write implementation code. This workflow produces DESIGN.md, design tokens, and design guidance, not application code.
- You MUST use MCP tools throughout the workflow.
- Use code analysis tools (
get_symbols_overview,find_symbol,search_for_pattern) to analyze the existing codebase. - Use memory tools (write/edit) to record design results.
- Memory path: configurable via
memoryConfig.basePath(default:.agents/state/memories) - Tool names: configurable via
memoryConfig.toolsin.agents/mcp.json - Do NOT use raw file reads or grep as substitutes.
- Use code analysis tools (
Vendor note: This workflow executes inline (no subagent spawning). All vendors use their native code analysis and file tools.
Phase 1: SETUP (Context Gathering)
Read .design-context.md in the project root.
If it does not exist:
- Scan codebase for existing design signals:
package.json: font packages, UI libraries, CSS framework- Tailwind config: existing theme, colors, fonts
- Existing CSS/SCSS: design tokens, custom properties
DESIGN.md: if already present, use as starting point
- Ask the user (one question at a time, prefer multiple-choice):
- What languages does the service support? (determines font strategy)
- Who is the target audience? (B2B/B2C, age range, tech level)
- What is the brand personality? (professional / casual / premium / playful)
- What aesthetic direction? (dark premium / clean minimal / colorful / brutalist / other)
- Any reference sites or designs to draw from?
- Accessibility requirements? (WCAG AA / AAA / none specified)
- Save answers to
.design-context.md
Then parse the ## Reference Sites section (if any) and resolve each
domain against the live getdesign@latest manifest. See
.agents/skills/oma-design/resources/getdesign-fetcher.md. Hold matched brands in memory for
Phase 2 Branch B. No vendor match = no branch activated.
Do NOT proceed until design context is established.
If the target is an existing site or application, load
.agents/skills/oma-design/resources/redesign-protocol.md, audit the current experience, and classify the request as Preserve or Overhaul before continuing. Preserve URLs, navigation labels, form field names, and brand marks unless the selected mode explicitly authorizes changing them.
Phase 2: EXTRACT (Optional)
Run branches in priority order, use the first with data:
- Branch A (Stitch MCP): load
.agents/skills/oma-design/resources/stitch-integration.mdif Stitch MCP is available; extract designTheme + screens. - Branch B (getdesign Vendor Seed): if Phase 1 matched any vendor,
follow
.agents/skills/oma-design/resources/getdesign-fetcher.md. Fetch viabunx getdesign@latest add <brand> --out <tmp> --forcewithGETDESIGN_DISABLE_TELEMETRY=1, verify SHA256 against manifest, load with prompt-injection framing, run anti-pattern pre-audit, delete temp. - Branch C (Reference URL): fetch and analyze HTML/CSS directly.
- Branch D (No reference): skip to Phase 3.
Every branch ends by feeding the 5-stage pipeline: Retrieval → Extraction → Translation → Synthesis → Alignment.
Phase 3: ENHANCE (Prompt Augmentation)
Skip if Phase 2 Branch B fired. Vendor seeds already supply section detail.
Otherwise, if the user request is vague (< 3 sentences, no section details):
- Load
.agents/skills/oma-design/resources/prompt-enhancement.md - Transform into section-by-section specification
- Present enhanced prompt to user for confirmation
If already detailed: skip to Phase 4.
Phase 4: PROPOSE (Multi-Concept)
// turbo
Start with a one-line Design Read: Reading this as: <page kind> for <audience>, with a <vibe> language. If that reading is genuinely ambiguous, ask exactly one clarifying question before proposing directions.
Default (no vendor seed): present 2-3 distinct design directions. Each direction includes:
- Color palette (5-7 colors with semantic names and functional roles)
- Typography pairing (system fonts default, custom only with justification)
- Layout approach (chess / grid / bento / full-bleed / mixed)
- Motion strategy (scroll-driven / hover-based / entrance-only / minimal)
- Recommended component libraries (shadcn base + Aceternity / React Bits accents)
Vendor seed present: override with the 3-variation formula
(A Faithful, B Hybrid, C Loose inspiration) and surface any
anti-patterns flagged in the Phase 2 pre-audit. Multi-vendor merges
require the dimension-level selection dialog from
.agents/skills/oma-design/resources/getdesign-fetcher.md.
You MUST get user confirmation on the chosen direction before proceeding.
Phase 5: GENERATE
// turbo Based on the chosen direction:
- Write
DESIGN.mdfollowing.agents/skills/oma-design/resources/design-md-spec.md(9 sections, including the mandatory Agent Prompt Guide in Section 9) - If a vendor seed is in play: apply Seed Application Rules from
.agents/skills/oma-design/resources/getdesign-fetcher.md. Adopt color/spacing/components/ depth/responsive; rewrite typography for CJK projects; never copy the seed's Agent Prompt Guide verbatim. - Output design tokens:
- CSS Custom Properties
- Tailwind config extensions
- shadcn/ui theme variables (if applicable)
- For visual assets, follow
.agents/skills/oma-design/resources/asset-strategy.md: use oma-image first, a deterministic picsum seed second, and a labelled placeholder last. Never fabricate screenshots with styled divs. - Generate component code if requested
Responsive-First Rule (MANDATORY)
ALL output must be responsive by default. Never produce desktop-only layouts.
- Mobile (default): 320px-639px
- Tablet (md): 768px+
- Desktop (lg): 1024px+
Phase 6: AUDIT
Load .agents/skills/oma-design/resources/checklist.md and run all checks in order:
- Responsive (MANDATORY, run first)
- WCAG 2.2 Accessibility
- Nielsen's 10 Heuristics
- AI Slop Check (anti-patterns.md)
- Design System Consistency
Fix violations or report to user with recommendations.
Phase 7: HANDOFF
- Save
DESIGN.mdto the project root - If Phase 2 Branch B fired, append the License Attribution block
from
.agents/skills/oma-design/resources/getdesign-fetcher.mdto the bottom ofDESIGN.md(mandatory for MIT compliance). - Update
.design-context.mdif new decisions were made - Write design token files if not already written
- Verify all temp seed files have been deleted
- Inform the user:
"Design complete. DESIGN.md has been created. To implement, delegate to oma-frontend or run /orchestrate."