Install
openclaw skills install @grubbylee/design-guideFrontend design and production engineering orchestrator that inventories projects, scales design depth, presents review artifacts, locks executable contracts, implements accessible responsive interfaces, and verifies interactions, visual regressions, and performance. Use when the user invokes f-design, @f-design, /f-design, asks for frontend design/development/redesign, web app UI, dashboard, tool interface, landing page, responsive React/HTML/CSS work, design previews or choices, screenshot QA, production frontend quality, or says they are dissatisfied with generic AI-looking UI. If invoked without a concrete task, enter navigation mode and recommend the best available frontend-related skills/tools for the user's environment instead of coding.
openclaw skills install @grubbylee/design-guideUse this as the frontend entry skill. It is not a single visual style; it controls product thinking, approval, implementation, and production verification.
Read only the references required by the task:
references/project-intelligence.md.references/design-process.md.references/artifact-presentation.md.references/implementation-contract.md.references/state-and-data.md.references/framework-adapters.md.references/quality-gates.md.references/review-rubric.md.references/product-design-review.md, references/review-rubric.md, and references/anti-ai-design-tells.md when visual quality or generic AI-looking UI is in scope.references/review-templates/ for data tables, dashboards, complex forms, mobile navigation, or high-risk batch actions.references/end-to-end-journeys.md.references/internationalization.md.Before substantial work, look for preference files in this order:
.f-design/profile.md in the current project.~/.f-design/preferences.md on the local machine.references/design-defaults.md bundled with this skill.Read only the files that exist and are relevant. Project and local files override bundled defaults. Keep personal preferences out of the skill folder so the skill remains open-source friendly.
Use this mode when the user only says f-design, @f-design, /f-design, "use f-design", or otherwise gives no concrete frontend task.
Reply with a concise menu of what the environment can do. Do not code. Do not invent unavailable skills.
references/helper-registry.md.Navigation output should look like:
f-design is ready. Pick a frontend task:
1. Build a product screen / dashboard / tool
Primary: f-design
Helpers if available: web-design-engineer, webapp-testing
2. Improve visual taste of an existing page
Primary: f-design
Helpers if available: design-taste-frontend, web-design-guidelines
3. Evaluate an existing product/page design
Primary: f-design
Helpers if available: web-design-guidelines, webapp-testing, design-taste-frontend
4. Add complex animation
Primary: f-design
Helpers if available: gsap, animejs
5. Build 3D / WebGL
Primary: f-design
Helpers if available: three
If a helper is not visible in the current AIDE, say "not detected here" and continue with the best fallback.
Use this mode when the user gives a real frontend task.
Do not start coding immediately unless the task is a tiny isolated UI fix. First choose the design depth, produce and present the required design artifacts, and resolve any approval gate. For substantial work, build a viewable v0 before completing the full interface.
Use the reference routing above. A file is not presented until the user can immediately inspect it.
Route the user's wording before selecting tools:
references/product-design-review.md and references/review-rubric.md; also read references/anti-ai-design-tells.md when visual quality, redesign, landing pages, dashboards, or generic AI-looking UI is in scope.For existing product design reviews, start with a scope gate: state the explicit scope requested by the user and what is not included by default. Confirm expanded scope with the user before adding mobile/responsive, accessibility audits, redesigns, implementations, or downstream publishing goals. Then diagnose: classify the review mode, define product context, inspect the artifact, score strengths and weaknesses, and return prioritized, evidence-backed recommendations with implementation hints, tradeoffs, acceptance criteria, and verification steps. Do not redesign or implement unless the user asks for it or approves a proposed direction.
Load one specialized review template when the artifact requires it:
references/review-templates/data-tables.md.references/review-templates/dashboards.md.references/review-templates/complex-forms.md.references/review-templates/mobile-navigation.md, only when mobile is in scope.references/review-templates/high-risk-batch-actions.md.Treat f-design as tool-neutral.
f-design, $f-design, or @f-design if the UI supports mentions./f-design when the skill is installed in the Claude skill directory; natural language "use f-design" is the fallback.f-design or by pointing it at this SKILL.md; if Cursor skill discovery is configured, install this folder under Cursor's skill directory.f-design; if Qwen skill discovery is configured, install this folder under Qwen's skill directory.SKILL.md and follow f-design.For local setup details, read references/aide-integration.md only when the user asks about installing, syncing, or using this skill in another AIDE.
Follow references/internationalization.md when the user requests a language, translated instructions, or localized CLI output. Match the user's current request language by default. CLI helpers accept --locale en|zh-CN and resolve environment defaults through F_DESIGN_LOCALE, LC_ALL, and LANG. Keep JSON field names and machine-readable values stable in English; localize human-readable help, status, and error text only.
State one line:
Reading this as: <page/app type> for <audience>, with a <vibe> language, leaning toward <design system or reference family>.
Infer from the user request, repo, screenshots, existing CSS, package.json, named references, and business context. Ask one concise question only when the design direction genuinely splits.
Before substantial work in a codebase, read references/project-intelligence.md and run:
python3 scripts/inspect-project.py . --format markdown
Inspect the reported entry routes, components, tokens, contracts, tests, scripts, and risks before selecting dependencies or files to edit. Use scripts/detect-frontend-env.sh only as a lightweight shell fallback.
Classify the work before producing artifacts:
Use the lightest level that resolves the uncertainty. State the chosen level and why in one sentence.
Before visual styling, identify:
For API, form, permission, async, mutation, or state-heavy work, read references/state-and-data.md and map loading, empty, partial, error, success, permission, pending, retry, and rollback behavior as relevant. Use representative edge-case fixtures rather than happy-path-only demo data.
For Level 1, provide a compact design brief and layout/state outline. For Level 2, map the primary flow and information architecture before choosing a visual direction. Read references/design-process.md for the artifact and approval rules.
Before producing review artifacts or implementation, decide if auxiliary skills/tools are useful. Prefer the host's discovered names. Do not require the user to remember them. Read references/helper-registry.md when the selection is not obvious.
web-design-engineer if available.design-taste-frontend if available.web-design-guidelines if available.webapp-testing or local Playwright.gsap, animejs, css-animations, or waapi based on the project stack.three if available.image-to-code or yueban-image-to-code if available.If no helper is available, continue with native framework/CSS and state the fallback briefly.
For Level 2, present one recommended direction and up to two materially different alternatives when real alternatives exist. Use the lowest-cost artifact that answers the unresolved question: a layout outline, wireframe, standalone HTML prototype, screenshot or reference board, generated image, or motion prototype.
Present every review artifact before applying the confirmation gate. Resolve scripts/present-design.py relative to the loaded skill directory and pass all HTML directions in one invocation. On a shared local desktop, use open for standalone HTML; use the managed serve command only when HTTP is required. In remote, container, SSH, or headless environments, never present agent-side 127.0.0.1 or file:// URLs as user-accessible; use host-exposed links or attached screenshots. Read references/artifact-presentation.md for lifecycle and fallback rules.
When a confirmation gate applies:
Do not create a review artifact and then continue coding past it in the same turn. Skip the pause for Level 0, clearly directed Level 1 work, or when the user explicitly grants autonomous design authority.
Before implementation, write:
For operational tools, admin panels, creator dashboards, and editors, prefer dense but calm working screens over marketing heroes, decorative cards, and large empty sections.
For approved Level 2 work, include the chosen page structure, responsive behavior, critical states, accepted tradeoffs, and rejected directions in the design contract. If review artifacts used provisional visual tokens, replace them with the approved system.
For approved Level 2 work or any substantial multi-state, multi-route implementation, read references/implementation-contract.md, create .codex/f-design/design-contract.json, and validate it with scripts/design-contract.py validate <contract> --require-approved before coding. Do not mark a contract approved without user-reviewed artifact evidence.
For new screens or major redesigns, implement a v0 with:
Treat an approved HTML prototype as the v0 when it uses the target stack and is suitable to continue. Otherwise, build the v0 from the approved design contract. Stop after v0 only when the user requested an additional implementation checkpoint.
Follow the existing stack and code style first. Check package.json before importing libraries. Read only the matching section of references/framework-adapters.md. Do not add a new UI library unless the project lacks one and the dependency is justified.
Implementation rules:
Use the project's existing development command. When a managed background preview is useful, start it with:
python3 scripts/run-preview.py start \
--command "npm run dev -- --host 127.0.0.1" \
--url http://127.0.0.1:3000
Use status and stop on the same script. On a shared desktop, allow it to open the browser automatically. In remote/headless environments, provide only a host-exposed URL or attached screenshots; do not claim that agent-side loopback is user-accessible.
After implementation, read references/quality-gates.md. For substantial work, encode critical flows, states, breakpoints, accessibility requirements, performance budgets, and visual baselines in the approved contract, then run:
python3 scripts/verify-ui.py http://127.0.0.1:3000 \
--contract .codex/f-design/design-contract.json \
--project-root .
At minimum capture and inspect:
1440x9001024x768390x844Use scripts/capture-audit.py when helpful:
python3 scripts/capture-audit.py http://localhost:3000 --out .codex/frontend-audit
Inspect screenshots and generated diffs before final. Check text overflow, overlapping UI, broken spacing, unreadable contrast, mobile navigation, blank canvases, critical state coverage, and whether the page still matches the approved contract.
If reviewing a built artifact, read references/review-rubric.md.
Do not claim completion when any required gate fails:
--allow-missing-tools.For substantial UI work, self-score before final:
Direction fit: 0-10
Task flow: 0-10
Visual hierarchy: 0-10
Craft: 0-10
Usability: 0-10
Responsiveness: 0-10
Originality: 0-10
If any score is below 8, revise before delivery or clearly report why it cannot be fixed in this pass.
Report:
Keep the response concise.
The result should look like it belongs to this exact product and audience. If it could be pasted into any AI SaaS template with only the logo changed, revise before delivering.