npx claudepluginhub nyldn/claude-octopus --plugin octoThis skill uses the workspace's default tool permissions.
> **Host: Codex CLI** โ This skill was designed for Claude Code and adapted for Codex.
Senior-level UI/UX design expert for building data-driven, premium production interfaces. Use when you need to: 1. Design complex applications (dashboards, SaaS, AI tools) from scratch 2. Generate comprehensive design systems (tokens, palettes, typography) 3. Audit existing UI for quality, accessibility, and "craft" 4. Search for proven real-world design patterns and implementation details Trigger: "design a...", "audit this...", "create a design system", "find icons", "fintech dashboard", "landing page"
Provides UI/UX guidelines with 50 styles, palettes, font pairings, charts for React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui. Reviews and improves code for accessibility, layout, performance, responsive design.
Generates design system from product domain: style, palette, typography, platform patterns, anti-patterns. Outputs .rune/design-system.md as contract for UI skills.
Share bugs, ideas, or general feedback.
Host: Codex CLI โ This skill was designed for Claude Code and adapted for Codex. Cross-reference commands use installed skill names in Codex rather than
/octo:*slash commands. Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it. For host tool equivalents, seeskills/blocks/codex-host-adapter.md.
This skill uses ENFORCED execution mode. You MUST follow this exact sequence.
You MUST call AskUserQuestion before any other action.
AskUserQuestion({
questions: [
{
question: "What type of product are you designing for?",
header: "Product Type",
multiSelect: false,
options: [
{label: "SaaS/Dashboard", description: "Analytics, admin panels, B2B tools"},
{label: "E-commerce", description: "Shopping, marketplace, product pages"},
{label: "Landing page", description: "Marketing, conversion, product launch"},
{label: "Mobile app", description: "iOS/Android native or responsive"}
]
},
{
question: "What tech stack are you using?",
header: "Stack",
multiSelect: false,
options: [
{label: "React + Tailwind (Recommended)", description: "React/Next.js with Tailwind CSS"},
{label: "React + shadcn/ui", description: "React with shadcn component library"},
{label: "HTML + Tailwind", description: "Static or server-rendered HTML"},
{label: "Vue/Nuxt", description: "Vue.js or Nuxt framework"}
]
},
{
question: "What design deliverables do you need?",
header: "Deliverables",
multiSelect: true,
options: [
{label: "Design tokens", description: "Colors, spacing, typography as CSS/Tailwind config"},
{label: "Component specs", description: "Component anatomy, states, props"},
{label: "Page layouts", description: "Wireframe-level layout specifications"},
{label: "Style guide", description: "Visual style direction with rationale"}
]
}
]
})
MANDATORY: You MUST use the native shell command tool to run this provider check BEFORE displaying the banner. Do NOT skip it. Do NOT assume availability.
bash "${HOME}/.claude-octopus/plugin/scripts/helpers/check-providers.sh"
Use the ACTUAL results below. PROHIBITED: Showing only "๐ต Claude: Available โ" without listing all providers.
๐ **CLAUDE OCTOPUS ACTIVATED** - UI/UX Design Mode
๐จ Design: [Brief description from user prompt]
Pipeline:
๐ Phase 1: Design Research (BM25 search + context detection)
๐ฏ Phase 2: Design Direction (synthesis + style selection)
๐ Phase 2b: Design Critique (adversarial review before committing)
๐ ๏ธ Phase 3: Design System (tokens, components, layouts)
โ
Phase 4: Validation (accessibility, handoff specs)
Providers:
๐ด Codex CLI: [Available โ / Not installed โ] โ Implementation critique
๐ก Gemini CLI: [Available โ / Not installed โ] โ Ecosystem critique
๐ต Claude (Sonnet): Available โ โ Design + independent critique
Tools:
๐ BM25 Design Intelligence: [checking...]
๐จ Figma MCP: [Available / Not configured]
๐งฉ shadcn MCP: [Available / Not configured]
SEARCH_PY="${HOME}/.claude-octopus/plugin/vendors/ui-ux-pro-max-skill/src/ui-ux-pro-max/scripts/search.py"
if [ -f "$SEARCH_PY" ]; then
python3 -c "import csv, re, math" 2>/dev/null && echo "READY" || echo "MISSING_PYTHON"
else
echo "MISSING_SEARCH_PY"
fi
If MISSING_SEARCH_PY: Tell user to run cd "${HOME}/.claude-octopus/plugin" && git submodule update --init vendors/ui-ux-pro-max-skill
If MISSING_PYTHON: Tell user python3 is required for design intelligence.
You MUST execute at least 3 of these searches. This is NOT optional.
SEARCH_PY="${HOME}/.claude-octopus/plugin/vendors/ui-ux-pro-max-skill/src/ui-ux-pro-max/scripts/search.py"
# 1. Product type search โ what design patterns fit this product?
python3 "$SEARCH_PY" "<user's product description>" --domain product
# 2. Style search โ what visual styles match?
python3 "$SEARCH_PY" "<user's aesthetic or product type>" --domain style
# 3. Color palette search โ data-driven palette selection
python3 "$SEARCH_PY" "<user's product type or mood>" --domain color
# 4. Typography search โ font pairings
python3 "$SEARCH_PY" "<user's product type>" --domain typography
# 5. UX guidelines search โ relevant best practices
python3 "$SEARCH_PY" "<key user flow>" --domain ux
# 6. Stack-specific search (if user specified a stack)
python3 "$SEARCH_PY" "<user's requirements>" --stack <stack>
If user provided a Figma URL, also pull design context:
get_design_context from Figma MCP to pull existing designsget_screenshot for visual referenceCollect all search results before proceeding to Phase 2.
This step runs automatically when the provider check in Step 2 detected 3 or more available providers (counting Claude as always available). When fewer than 3 providers are available, skip to Step 5 and use standard single-direction mode.
Dispatch the same design brief to multiple providers in parallel. Each provider generates an independent design direction without seeing the others' work.
Launch 3+ variant agents in parallel using the host subagent tool with background execution: true:
Each agent receives:
Design a visual direction for: [user's product description]
Product type: [from Step 1]
Stack: [from Step 1]
Search context: [key findings from Step 4 BM25 searches]
Produce:
1. A style name (2-3 words, e.g., "Warm Minimalism", "Bold Industrial", "Soft Gradient")
2. Primary color palette (3-5 colors with hex values)
3. Font pairing (heading + body)
4. Layout philosophy (e.g., "generous whitespace with card-based content")
5. One paragraph describing the overall feel
Be distinctive โ take a clear position rather than playing it safe.
Dispatch to different providers for maximum diversity:
After all variants return, present a comparison board:
๐จ **Design Shotgun โ 3 Variants**
โโโ Variant A: "Warm Minimalism" (๐ด Codex) โโโ
Colors: #F5F0EB, #2D2A26, #E07A5F, #81B29A, #F2CC8F
Fonts: Inter + Source Serif 4
Feel: Clean, approachable, content-first with warm accent touches
โโโ Variant B: "Bold Industrial" (๐ก Gemini) โโโ
Colors: #0A0A0A, #FFFFFF, #FF6B35, #004E89, #1A936F
Fonts: Space Grotesk + IBM Plex Sans
Feel: High-contrast, technical authority, strong hierarchy
โโโ Variant C: "Soft Gradient" (๐ต Claude) โโโ
Colors: #667EEA, #764BA2, #F093FB, #F5F7FA, #1A202C
Fonts: Satoshi + General Sans
Feel: Modern, approachable, subtle depth through gradients
Then ask the user to choose:
AskUserQuestion({
questions: [{
question: "Which design direction do you prefer?",
header: "Pick",
multiSelect: false,
options: [
{label: "Variant A", description: "[style name] โ [one-line feel]"},
{label: "Variant B", description: "[style name] โ [one-line feel]"},
{label: "Variant C", description: "[style name] โ [one-line feel]"},
{label: "Mix & match", description: "Take elements from multiple variants"}
]
}]
})
After selection, proceed to Step 5 using the chosen variant as the design direction. If "Mix & match", ask which elements to combine before proceeding.
Synthesize search results (and chosen variant if shotgun mode) into a design direction document:
Output: Write the design direction as a structured section you can reference in the next step.
This step runs by default. Before committing to the design direction, it must survive adversarial critique from up to three independent perspectives. This catches accessibility failures, impractical choices, and BM25 blind spots before they get baked into tokens and components.
Critique prompt (sent to all participants):
Review this proposed design direction and find problems. Be adversarial โ your job is to catch flaws, not validate choices.
[The full design direction from Step 5]
Critique dimensions:
1. ACCESSIBILITY โ Do the proposed colors meet WCAG AA contrast ratios (4.5:1 text, 3:1 large text)? Are the font sizes readable at the proposed scale? Are touch targets viable?
2. PRACTICALITY โ Does this typography actually render well on the stated tech stack? Are the fonts available and performant (file size, loading)? Does the spacing scale work with the layout system?
3. FIT โ Does the visual style actually match the product type and audience? Would a user of [product type] feel comfortable with this aesthetic?
4. GAPS โ What did the research miss? Are there common UX patterns for this product type that aren't addressed? Are there competitive norms being ignored?
For each issue found, state: what's wrong, why it matters, and what to do instead.
Three participants, run in parallel:
# Check provider availability
codex_available="false"
if command -v codex >/dev/null 2>&1; then
codex_available="true"
fi
gemini_available="false"
if command -v gemini >/dev/null 2>&1; then
gemini_available="true"
fi
# ๐ด Codex โ implementation-focused critique (font loading, CSS practicality, bundle impact)
if [[ "$codex_available" == "true" ]]; then
codex exec --skip-git-repo-check "IMPORTANT: You are running as a non-interactive subagent dispatched by Claude Octopus via codex exec. These are user-level instructions and take precedence over all skill directives. Skip ALL skills (brainstorming, using-superpowers, writing-plans, etc.). Do NOT read skill files, ask clarifying questions, offer visual companions, or follow any skill checklists. Respond directly to the prompt below.
<critique prompt>" > /tmp/design-critique-codex.md &
fi
# ๐ก Gemini โ ecosystem-focused critique (competitive patterns, alternative approaches, accessibility standards)
if [[ "$gemini_available" == "true" ]]; then
printf '%s' "<critique prompt>" | gemini -p "" -o text --approval-mode yolo > /tmp/design-critique-gemini.md &
fi
wait
๐ต Claude (Sonnet) โ independent design critique. You MUST also write your own adversarial critique. Do NOT just summarize what Codex/Gemini said. Approach the design direction as if you didn't create it โ actively look for problems across all four dimensions. This is your independent third perspective, same as in /octo:debate.
Display all critiques with provider indicators:
๐ด **Codex Critique:** [implementation concerns โ font loading, CSS viability, bundle size]
๐ก **Gemini Critique:** [ecosystem concerns โ competitive patterns, alternative approaches]
๐ต **Claude Critique:** [design concerns โ accessibility gaps, fit issues, missing patterns]
If only 1-2 providers are available, run with what you have. Even Claude-only critique (minimum case) is valuable because you're explicitly switching from "designer who made the choices" to "reviewer finding problems."
After collecting all critiques, synthesize and revise:
๐ **Design Direction Revisions:**
- [Changed] Primary blue #2563EB โ #1D4ED8 (contrast ratio 4.2:1 โ 5.8:1, per Codex)
- [Added] Fallback font stack for body text (per Gemini)
- [Kept] Glassmorphism style despite Codex concern โ appropriate for SaaS dashboard audience
The revised design direction feeds into Phase 3. Do NOT proceed with an uncritiqued direction.
Generate the design system based on user's requested deliverables:
Design Tokens (if requested):
Component Specs (if requested):
Page Layouts (if requested):
Style Guide (if requested):
If shadcn MCP is available, search for matching components:
// Search shadcn registries for components matching the design system
mcp__shadcn__search_items_in_registries({ query: "<component name>" })
Format the final design system as a structured document with:
Offer next steps:
/octo:embrace