← 返回 Skills 市场
liyafeichina

Frontend Design Polish

作者 liyafeichina · GitHub ↗ · v3.0.6 · MIT-0
cross-platform ⚠ suspicious
24
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install frontend-design-polish
功能描述
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherw...
使用说明 (SKILL.md)

Designs and iterates production-grade frontend interfaces. Real working code, committed design choices, exceptional craft.

Setup (non-optional)

Before any design work or file edits, pass these gates. Skipping them produces generic output that ignores the project.

Gate Required check If fail
Context The PRODUCT.md / DESIGN.md loader result is known from node .kiro/skills/impeccable/scripts/load-context.mjs. Run the loader before continuing.
Product PRODUCT.md exists and is not empty or placeholder ([TODO] markers, \x3C200 chars). Run /impeccable teach, refresh context, then resume. Never synthesize PRODUCT.md from the user's original prompt alone.
Command The matching command reference is loaded when a sub-command is used. Load the reference before continuing.
Craft /impeccable craft has a user-confirmed shape brief for this task. teach / PRODUCT.md never counts as shape. Run /impeccable shape and wait for explicit brief confirmation.
Image Required visual probes / mocks are generated or skipped with a reason. Resolve the image-generation gate in shape.md or craft.md before code.
Mutation All active gates above pass. Do not edit project files yet.

Codex-style agents must state this before editing files:

IMPECCABLE_PREFLIGHT: context=pass product=pass command_reference=pass shape=pass|not_required image_gate=pass|skipped:\x3Creason> mutation=open

For /impeccable craft, shape=pass is only valid after a separate user response approving the shape design brief, or when the user provided an already-confirmed brief in the request. Do not mark shape=pass after writing PRODUCT.md, summarizing assumptions, or drafting an unconfirmed brief yourself.

Other harnesses should follow the same checklist when they can expose this state.

1. Context gathering

Two files, case-insensitive. The loader looks at the project root by default and falls back to .agents/context/ and docs/ if the root is clean. Override with IMPECCABLE_CONTEXT_DIR=path/to/dir (absolute or relative to cwd).

  • PRODUCT.md — required. Users, brand, tone, anti-references, strategic principles.
  • DESIGN.md — optional, strongly recommended. Colors, typography, elevation, components.

Load both in one call:

node .kiro/skills/impeccable/scripts/load-context.mjs

Consume the full JSON output. Never pipe through head, tail, grep, or jq. The output's contextDir field tells you where the files were resolved from.

If the output is already in this session's conversation history, don't re-run. Exceptions requiring a fresh load: you just ran /impeccable teach or /impeccable document (they rewrite the files), or the user manually edited one.

/impeccable live already warms context via live.mjs — if you've run live.mjs, don't also run load-context.mjs this session.

If PRODUCT.md is missing, empty, or placeholder ([TODO] markers, \x3C200 chars): run /impeccable teach, then resume the user's original task with the fresh context. If the original task was /impeccable craft, resume into /impeccable shape before any implementation work.

If DESIGN.md is missing: nudge once per session ("Run /impeccable document for more on-brand output"), then proceed.

2. Register

Every design task is brand (marketing, landing, campaign, long-form content, portfolio — design IS the product) or product (app UI, admin, dashboard, tool — design SERVES the product).

Identify before designing. Priority: (1) cue in the task itself ("landing page" vs "dashboard"); (2) the surface in focus (the page, file, or route being worked on); (3) register field in PRODUCT.md. First match wins.

If PRODUCT.md lacks the register field (legacy), infer it once from its "Users" and "Product Purpose" sections, then cache the inferred value for the session. Suggest the user run /impeccable teach to add the field explicitly.

Load the matching reference: reference/brand.md or reference/product.md. The shared design laws below apply to both.

Shared design laws

Apply to every design, both registers. Match implementation complexity to the aesthetic vision — maximalism needs elaborate code, minimalism needs precision. Interpret creatively. Vary across projects; never converge on the same choices. Claude is capable of extraordinary work — don't hold back.

Color

  • Use OKLCH. Reduce chroma as lightness approaches 0 or 100 — high chroma at extremes looks garish.
  • Never use #000 or #fff. Tint every neutral toward the brand hue (chroma 0.005–0.01 is enough).
  • Pick a color strategy before picking colors. Four steps on the commitment axis:
    • Restrained — tinted neutrals + one accent ≤10%. Product default; brand minimalism.
    • Committed — one saturated color carries 30–60% of the surface. Brand default for identity-driven pages.
    • Full palette — 3–4 named roles, each used deliberately. Brand campaigns; product data viz.
    • Drenched — the surface IS the color. Brand heroes, campaign pages.
  • The "one accent ≤10%" rule is Restrained only. Committed / Full palette / Drenched exceed it on purpose. Don't collapse every design to Restrained by reflex.

Theme

Dark vs. light is never a default. Not dark "because tools look cool dark." Not light "to be safe."

Before choosing, write one sentence of physical scene: who uses this, where, under what ambient light, in what mood. If the sentence doesn't force the answer, it's not concrete enough — add detail until it does.

"Observability dashboard" does not force an answer. "SRE glancing at incident severity on a 27-inch monitor at 2am in a dim room" does. Run the sentence, not the category.

Typography

  • Cap body line length at 65–75ch.
  • Hierarchy through scale + weight contrast (≥1.25 ratio between steps). Avoid flat scales.

Layout

  • Vary spacing for rhythm. Same padding everywhere is monotony.
  • Cards are the lazy answer. Use them only when they're truly the best affordance. Nested cards are always wrong.
  • Don't wrap everything in a container. Most things don't need one.

Motion

  • Don't animate CSS layout properties.
  • Ease out with exponential curves (ease-out-quart / quint / expo). No bounce, no elastic.

Absolute bans

Match-and-refuse. If you're about to write any of these, rewrite the element with different structure.

  • Side-stripe borders. border-left or border-right greater than 1px as a colored accent on cards, list items, callouts, or alerts. Never intentional. Rewrite with full borders, background tints, leading numbers/icons, or nothing.
  • Gradient text. background-clip: text combined with a gradient background. Decorative, never meaningful. Use a single solid color. Emphasis via weight or size.
  • Glassmorphism as default. Blurs and glass cards used decoratively. Rare and purposeful, or nothing.
  • The hero-metric template. Big number, small label, supporting stats, gradient accent. SaaS cliché.
  • Identical card grids. Same-sized cards with icon + heading + text, repeated endlessly.
  • Modal as first thought. Modals are usually laziness. Exhaust inline / progressive alternatives first.

Copy

  • Every word earns its place. No restated headings, no intros that repeat the title.
  • No em dashes. Use commas, colons, semicolons, periods, or parentheses. Also not --.

The AI slop test

If someone could look at this interface and say "AI made that" without doubt, it's failed. Cross-register failures are the absolute bans above. Register-specific failures live in each reference.

Category-reflex check. Run at two altitudes — the second one catches what the first one misses.

  • First-order: if someone could guess the theme + palette from the category alone — "observability → dark blue", "healthcare → white + teal", "finance → navy + gold", "crypto → neon on black" — it's the first training-data reflex. Rework the scene sentence and color strategy until the answer isn't obvious from the domain.
  • Second-order: if someone could guess the aesthetic family from category-plus-anti-references — "AI workflow tool that's not SaaS-cream → editorial-typographic", "fintech that's not navy-and-gold → terminal-native dark mode" — it's the trap one tier deeper. The first reflex was avoided; the second wasn't. Rework until both answers are not obvious. The brand register's reflex-reject aesthetic lanes list catches the currently-saturated families.

Commands

Command Category Description Reference
craft [feature] Build Shape, then build a feature end-to-end reference/craft.md
shape [feature] Build Plan UX/UI before writing code reference/shape.md
teach Build Set up PRODUCT.md and DESIGN.md context reference/teach.md
document Build Generate DESIGN.md from existing project code reference/document.md
extract [target] Build Pull reusable tokens and components into design system reference/extract.md
critique [target] Evaluate UX design review with heuristic scoring reference/critique.md
audit [target] Evaluate Technical quality checks (a11y, perf, responsive) reference/audit.md
polish [target] Refine Final quality pass before shipping reference/polish.md
bolder [target] Refine Amplify safe or bland designs reference/bolder.md
quieter [target] Refine Tone down aggressive or overstimulating designs reference/quieter.md
distill [target] Refine Strip to essence, remove complexity reference/distill.md
harden [target] Refine Production-ready: errors, i18n, edge cases reference/harden.md
onboard [target] Refine Design first-run flows, empty states, activation reference/onboard.md
animate [target] Enhance Add purposeful animations and motion reference/animate.md
colorize [target] Enhance Add strategic color to monochromatic UIs reference/colorize.md
typeset [target] Enhance Improve typography hierarchy and fonts reference/typeset.md
layout [target] Enhance Fix spacing, rhythm, and visual hierarchy reference/layout.md
delight [target] Enhance Add personality and memorable touches reference/delight.md
overdrive [target] Enhance Push past conventional limits reference/overdrive.md
clarify [target] Fix Improve UX copy, labels, and error messages reference/clarify.md
adapt [target] Fix Adapt for different devices and screen sizes reference/adapt.md
optimize [target] Fix Diagnose and fix UI performance reference/optimize.md
live Iterate Visual variant mode: pick elements in the browser, generate alternatives reference/live.md

Plus two management commands — pin \x3Ccommand> and unpin \x3Ccommand>, detailed below.

Routing rules

  1. No argument — render the table above as the user-facing command menu, grouped by category. Ask what they'd like to do.
  2. First word matches a command — load its reference file and follow its instructions. Everything after the command name is the target.
  3. First word doesn't match — general design invocation. Apply the setup steps, shared design laws, and the loaded register reference, using the full argument as context.

Setup (context gathering, register) is already loaded by then; sub-commands don't re-invoke /impeccable.

If the first word is craft, setup still runs first, but reference/craft.md owns the rest of the flow. If setup invokes teach as a blocker, finish teach, refresh context, then resume the original command and target.

Pin / Unpin

Pin creates a standalone shortcut so /\x3Ccommand> invokes /impeccable \x3Ccommand> directly. Unpin removes it. The script writes to every harness directory present in the project.

node .kiro/skills/impeccable/scripts/pin.mjs \x3Cpin|unpin> \x3Ccommand>

Valid \x3Ccommand> is any command from the table above. Report the script's result concisely — confirm the new shortcut on success, relay stderr verbatim on error.

安全使用建议
Install only if you want an active frontend design tool that can run local Node scripts, start a localhost server, inject scripts into your app, inspect selected page DOM, and modify project files. Avoid using live mode on sensitive authenticated pages unless you trust the whole page context, browser extensions, and local machine. Review generated config, injected script tags, PRODUCT.md/DESIGN.md changes, and cleanup markers after each live session.
能力标签
crypto
能力评估
Purpose & Capability
The design and UI-improvement purpose is coherent with reading project files and editing frontend code, and live browser iteration is disclosed in the description. However, the artifacts go beyond passive design guidance: they start a localhost server, inject browser scripts, collect DOM context and screenshots, expose a token-gated source-file endpoint, and mutate project files.
Instruction Scope
Several flows are user-directed and include some safeguards, such as not silently overwriting existing PRODUCT.md or DESIGN.md and asking before CSP patches. Still, the top-level setup requires running a Node loader before design work, live mode runs a long poll loop, and broad command routing makes accidental invocation more plausible.
Install Mechanism
The package includes multiple executable Node scripts but the metadata does not clearly surface the active capabilities as install-time permissions. The pin/unpin mechanism can also create or remove shortcut skills across local harness directories, although it uses a marker to avoid deleting unrelated skills.
Credentials
For live UI editing, local browser inspection and source edits are expected. The concern is scope: selected page DOM, text, styles, annotated screenshots, and arbitrary project-root source files can be passed through a localhost service; the browser token is injected into page JavaScript and CORS is open, so page scripts or extensions could potentially reuse it.
Persistence & Privilege
Live mode creates a background localhost server, PID file, persistent config, injected script tags, annotation directories, and temporary variant markers; cleanup exists, but persistence and workspace mutation are central to the workflow. The loader also auto-renames legacy .impeccable.md to PRODUCT.md.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install frontend-design-polish
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /frontend-design-polish 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v3.0.6
Professional frontend design iteration. UI review, visual hierarchy, accessibility, responsiveness, theming, typography. Based on production design systems.
元数据
Slug frontend-design-polish
版本 3.0.6
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Frontend Design Polish 是什么?

Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherw... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 24 次。

如何安装 Frontend Design Polish?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install frontend-design-polish」即可一键安装,无需额外配置。

Frontend Design Polish 是免费的吗?

是的,Frontend Design Polish 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Frontend Design Polish 支持哪些平台?

Frontend Design Polish 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Frontend Design Polish?

由 liyafeichina(@liyafeichina)开发并维护,当前版本 v3.0.6。

💬 留言讨论