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:.serena/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.
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 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)
- 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."