interface-design
Craft-first interface design for dashboards, admin panels, SaaS apps, tools, settings pages, data interfaces, and interactive products. Use when designing, building, reviewing, auditing, or refining product UI where visual craft, layout hierarchy, tokens, states, visual direction, or design-system consistency matter. Not for marketing pages, landing pages, campaigns, or brand-only work.
1How It Works & Mechanism
The entire skill is a pure prompt knowledge source: `.claude/skills/interface-design/SKILL.md` (approx. 320 lines, 9 top-level sections) hosts all rules, with zero executable logic in the repository involved in the design workflow.
This skill is self-contained: direction, visual hierarchy, design-system architecture, and the polish and motion essentials needed to ship production-grade UI all live here.
The core mechanism to counter "generic model-output SaaS templates" is explicitly calling out default values and requiring an articulated rationale for each item—setting an enforced checkpoint rather than offering stylistic suggestions.
This checkpoint is mandatory. If you can't explain WHY for each, you're defaulting — stop and think.
Cross-session "design memory" does not rely on code; instead, the agent writes a plain-text `.interface-design/system.md` in the consumer project, which is read back in subsequent sessions and treated as established decisions.
Always offer to save: "Want me to save these patterns for future sessions?" If yes, write to `.interface-design/system.md`:
The warm-start path elevates system.md in the consumer project above the skill rules: if the file exists, "decisions are established" and direction is not re-derived.
- **If `.interface-design/system.md` exists:** read it and apply — decisions are made.
The review aspect defines actionable pass thresholds: 8 mandatory criteria + 8 presumptive blockers, where hitting any single one results in "not approved."
**Presumptive blockers** (unless the author justifies them against intent): no focal point · size-only or defaulted typography · monotone layout · timid or competing-accent palette · harsh or fragmented surfaces · missing states · structural hacks · an inaccessible hand-rolled control (no keyboard/focus/ARIA) where a primitive or existing component should be used. Any one present → **not approved**; leave explicit, actionable feedback and push for the crafted version.
Reviewing and modifying are intentionally decoupled: design-review judges without modifying by default, leaving changes to explicit user requests or design-deslop.
This review **judges by default**. Report findings and a verdict; only rebuild when the user asks. Keep the review and the mutation cleanly separate.
Rendering and image generation are entirely conditionally probed at runtime: show rather than describe if inline rendering tools exist; otherwise fall back to code and tokens. The skill itself contains zero pixel-generation capabilities.
If an inline visual-rendering tool is available in the session (e.g. a `show_widget` / `visualize` tool that renders HTML or SVG inline in the conversation), prefer **showing** the design over describing it.
The only executable repository asset is `.githooks/pre-commit`: it rewrites the version in two manifests using timestamps and runs git add, but it is not wired up in this clone and therefore does not run automatically.
sed -i '' "s/\"version\": \".*\"/\"version\": \"$VERSION\"/" .claude-plugin/plugin.json
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| package | skills CLI(npx 第三方安装器,来自 npm registry) |
| api | 宿主内联渲染工具(具名 show_widget / visualize,条件式) |
| api | 外部出图工具(未具名,条件式;仅用于方向板/参考图,非交付物) |
| network | 项目站点域名(README 外链;仓库内无站点源码) |
| network | Claude Code marketplace JSON schema 指针(JSON 声明,非运行时请求) |
| package | 推荐给消费方项目使用的无头可访问组件库(建议,不安装) |
4Recommended Governance & Evidence
- scripts/: Executes local scripts or commands: `.githooks/pre-commit` (bash): `VERSION=$(date +"%Y.%-m.%-d.%H%M")` -> `sed -i
- 网络端点: Declares external network access: The skill core (SKILL.md + two commands + reference/) makes zero network calls: no curl/wget/fetch call sites or HTTP calls in files
- 本地工作目录: File I/O and artifact output: `.githooks/pre-commit` modifies two manifests in place and runs git add (only occurs if hook is wired up).
5Second-Pass Verification
- [ok] skill.path = .claude/skills/interface-design — 重读根目录与 `.claude/` 目录树:确为 `.claude/skills/interface-design/`(内含 SKILL.md 与 agents/openai.yaml),同层还有 `.claude/commands/`(design-review.md、design-deslop.md);无 .claude/settings.json、无 hooks 目录,全仓仍为 15 个文件。
- [ok] official_desc 逐字 — 重读 SKILL.md L1-4,frontmatter 仅 name/description 两键,description 为单行长文本;与 README『What This Does』口径一致(同为『Not for marketing』)。
- [ok] external_deps:渲染/出图工具为条件式而非硬依赖 — 重读 SKILL.md L74(含 `Never assume the tool exists; check, then use it.` 与无工具时的 fallback 句)、L269(`if an image-generation tool is available`)与 design-deslop.md L18(`If a render tool (`show_widget`/`visualize`) or a screenshot is available, use it.`)。三处均为条件式,无硬依赖。
- [ok] external_deps:npx skills add / 组件库建议 — 重读 README.md L63/70/73/74/77/80/92/111/126 与 L133 兼容性表,均出现在 bash 代码块中,是给用户的安装说明;重读 SKILL.md L181 确认 Radix/React Aria 等仅为给消费方项目的选型建议,本仓无 package.json、不安装任何依赖。
- [discrepancy] security:pre-commit 是否会被自动触发 — 重读 `.githooks/pre-commit` 全 18 行与 `.git/config`:配置里只有 core/repositoryformatversion/filemode/bare/logallrefupdates、remote origin、branch main,**没有 core.hooksPath**;`.git/hooks/` 全是 *.sample。结论:clone 后不会自动执行(常见说法『克隆即触发 git hook』不成立)。附带发现脚本用 `sed -i ''`(BSD/macOS 语法),在 GNU sed 上会报错,进一步说明是作者本机工作流。
- [ok] security:凭证读取与网络外发为零 — 全仓独立扫描 env/keychain/token/secret/curl/wget/.env 等 token:唯一命中是 SKILL.md 的 `## Tokens` 标题与 marketplace.json 的 'tokens' tag(设计 token 语义,非凭证)。.githooks、.claude/、reference/、website/ 正文逐一见底,无任何凭证或网络访问点。
- [ok] security:file_writes 的两条路径 — 重读 .githooks/pre-commit L10/13/16(写 .claude-plugin 两个 JSON + git add)与 SKILL.md L303(写消费方项目 `.interface-design/system.md`)。两条写入路径都限定在各自工作目录之内,不触碰 $HOME 与系统目录。
- [discrepancy] 宣称 vs 实际:reference/ 是否随 skill 安装 — 重读 plugin.json L11-12(commands=./.claude/commands、skills=./.claude/skills)与 README.md L328-330(`For system file templates, see `reference/examples/`:`)。reference/ 位于仓库根、不在发布目录内,全仓仅 README 引用它(SKILL.md 与两个命令零引用),因此走 README 推荐的 npx 安装后这些模板不会落地,README 该指引对安装用户是悬空引用。
6Verdict & Scenarios
83166a71a36953ec…