1实现原理 · 为什么它能做到
frontmatter 的 description 就是路由规则:只在用户点名 Nothing 风格/显式调用时启用,明确禁止对泛 UI 任务自动触发——这是它不污染日常设计会话的机制。
description: This skill should be used when the user explicitly says "Nothing style", "Nothing design", "/nothing-design", or directly asks to use/apply the Nothing design system. NEVER trigger automatically for generic UI or design tasks.
把主观审美翻译成可判定的硬约束:三层重要度 + 拍摄式自检,让模型产出前必须自己判定层级是否成立。
Every screen has exactly **three layers of importance.** Not two, not five. Three.
预算式字体纪律:per screen 限 2 字族 / 3 字号 / 2 字重,并给出『想加字号=间距问题』的替代路径,从源头抑制模型的自由发挥。
- **2 font families** (Space Grotesk + Space Mono. Doto only for hero moments.)
死 token 数值表:色值 hex、字阶 px、字距 em、间距 px 全部写死,模型不必即兴发明数值,输出可复现且跨会话一致。
| `--text-display` | `#FFFFFF` | 21:1 | Headlines, hero numbers |
组件规格表把 token 组合成『照抄即合规』的尺寸:每个部件给出背景/边框/文字/半径/字距/最小高度,落到 CSS 级别。
All buttons: `Space Mono`, 13px, ALL CAPS, letter-spacing 0.06em, padding 12px 24px. Min height 44px.
平台映射把同一套 token 翻成三种输出目标的落地语法:网页 CSS 自定义属性、SwiftUI Color 扩展、设计工具内直接 hex。
## 3. PAPER (DESIGN TOOL)
反模式清单用禁令收敛风格:无渐变/无阴影/无 skeleton/无 toast/无 emoji 等硬性 Never 列表,比正面描述更能压住模型的『通用美观』默认值。
- No skeleton loading screens. Use `[LOADING...]` text or segmented spinner.
工作流强制前置交互:先声明所需 Google Fonts、先让用户选明暗模式,再动笔写代码——把两个最容易默默假设错的变量变成显式确认。
1. **Declare fonts** — tell the user which Google Fonts to load (see `references/tokens.md`)
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| network | Google Fonts(产出物字体源:Doto / Space Grotesk / Space Mono) |
| api | get_font_family_info(Paper 设计环境内的字体信息工具函数;非系统 CLI、非网络 API,需宿主已接入该设计工具) |
4风险提醒 风险提醒:蓝色 · 知晓即可
- 文档与资产不一致(React/Tailwind 与 grid 两处) — README 与 SKILL.md §5 宣称有 React/Tailwind 映射,platform-mapping.md 实际无此节;SKILL.md 宣称 tokens.md 含 grid 而实际无独立小节。后果:按文档预期使用会落空,模型可能自行发明 Tailwind 映射(不同会话产出不一致);不构成安全风险,但削弱本 skill 标榜的可复现性。
- 强风格约束会与既有设计系统冲突 — 12 条禁令(无阴影、无渐变、圆角 ≤16px、按钮只能 pill/technical、表格禁斑马纹、toast 一律换成 [SAVED] 行内文案)是全局性的;只想局部套用 Nothing 气质时需人工裁剪 references,否则会与品牌既有规范打架。
- 产出物绑定第三方字体/图标 CDN 与设计工具函数 — platform-mapping.md 要求用 Google Fonts 加载 Doto/Space Grotesk/Space Mono(tokens.md 另推荐 Lucide/Phosphor 细线图标),离线或企业内网产物会退化为 fallback 字体、基调不可复现;Paper 路径依赖 get_font_family_info(宿主未接入该设计工具即不可用,SKILL.md 的 allowed-tools 也未授予它)。
- 无任何机器校验,全靠模型自觉 — 仓库无脚本、无 lint、无 token 校验器,SKILL.md 的规则(三层、2 字族/3 字号/2 字重、每屏一次破例)没有可执行检查点;长会话或大批量产出时易发生规则遗忘/半途漂移。
- 风格血统与商标的合规注意 — skill 直接以『Nothing style / Nothing design』命名,并以 NDot 57、dot-matrix、与 Nothing 实际字体同厂字体为卖点(tokens.md 原文 'closest to NDot 57'、'same foundry as Nothing's actual typefaces'),是第三方对商业品牌视觉语言的模仿,商用需自行评估商标与仿冒风险。
- prompt skill 的通用注入面 — 本 skill 自身不摄入外部内容,但若用户把外部设计稿/页面粘贴进来并要求『按这个做』,模型会在本 skill 的约束框架内服从外部文本;是否受指令注入取决于宿主与模型,本 skill 既无放大机制也无防护声明。
5第二遍独立确认
- [ok] skill 目录定位(任务提示 nothing-design/SKILL.md) — repo 根下仅一个 skill 目录 nothing-design/,内含 SKILL.md 与 references/;frontmatter name 为 nothing-design。故 skill.path = 'nothing-design'。
- [discrepancy] README/SKILL.md 宣称的 React/Tailwind 输出映射 — README.md 'Output as HTML/CSS, SwiftUI, or React/Tailwind'(另有表格行 '| `references/platform-mapping.md` | CSS, SwiftUI, React output mappings |')与 SKILL.md §5 'HTML/CSS, SwiftUI, React/Tailwind, Paper output conventions' 都宣称有 React/Tailwind 映射,但 platform-mapping.md 实际只有 '## 1. HTML / CSS / WEB'、'## 2. SWIFTUI / iOS'、'## 3. PAPER (DESIGN TOOL)' 三节;全仓 grep 'react|tailwind'(忽略大小写)仅 SKILL.md 该行一处命中。属文档夸大/滞后:按 README 期待 React/Tailwind 专节会落空,模型只能自行把 CSS 变量推广到 Tailwind。
- [discrepancy] SKILL.md 声称 tokens.md 覆盖 'grid' — SKILL.md §5 'spacing scale, grid, motion, iconography, dot-matrix motif';tokens.md 实际章节为 1 TYPOGRAPHY / 2 COLOR SYSTEM / 3 SPACING / 4 MOTION & INTERACTION / 5 ICONOGRAPHY / 6 DOT-MATRIX MOTIF,无独立 GRID 小节('grid' 仅出现在 §6 的 dot-grid CSS 与 'uniform 12–16px grid' 描述)。属措辞夸大,非缺料(点阵网格确有给出)。
- [ok] 无脚本 / 无 CLI / 无网络端点(skill 自身) — 7 个文件全为 markdown/文本 + 一个 GIF;token 扫描无 bash/python/npx/curl/wget 命中,无任何端点域名(Google Fonts 亦只以产品名出现)。SKILL.md 的代码块只是 CSS/Swift 片段与目录树,非可执行脚本。
- [ok] Google Fonts 依赖是否真实存在 — references/platform-mapping.md 'Load fonts via Google Fonts `<link>` or `@import`.' 逐字存在;SKILL.md 两处(正文开头注释与工作流第 1 步)要求先声明并加载 Google Fonts,方向一致。该网络行为发生在产出物运行期,非 skill 执行期。
- [ok] Paper 的 get_font_family_info 是否构成第三方工具依赖 — references/platform-mapping.md §3 逐字存在该调用指示,但 SKILL.md frontmatter allowed-tools 仅 [Read, Write, Edit, Glob, Grep],未授予该工具,故为『若宿主具备 Paper 能力则可走』的可选路径,非硬依赖。
- [ok] Lucide / Phosphor 图标库是否应计入外部依赖 — tokens.md §5 'Preferred: Lucide (thin), Phosphor (thin). Never filled or multi-color.' 只是产出侧图标选型建议,仓库未安装、未拉取、无引用端点,故不计入 external_deps,改记在 traits/risks。
- [ok] 文件写入面 — 指令文本中无写文件路径、无 create/save/append/mkdir/delete 类指令(grep 仅命中文案 `[SAVED]` 与 allowed-tools 行);写权限仅来自 frontmatter allowed-tools 的 Write/Edit,落盘由宿主与用户指令决定。
6结论
4bf28be565504832…74affbb786