measure
Installation
SKILL.md
分寸 · Measure
让你产出的中文页面排版正确、字体合法、没有 AI 味,并用校验器证明。
分工: 其他设计 skill(如 taste-skill、hallmark 或项目自己的 DESIGN.md)决定视觉方向;本 skill 只管中文排版和字体授权。两者冲突时,以本 skill 的 T 系列和 F 系列规则为准。
工作流(按顺序执行,不要跳步)
- 判断是否适用。 产物里有没有中文(汉字)?没有就停止使用本 skill。
- 读配置。 项目根目录有
measure.config.json就读它,没有就用默认值:spacing: "css",quotes: "curly"(“”)。项目里有锁定的DESIGN.md时,视觉方向以它为准。 - 选字体栈。 按
references/fonts.md的决策树选择:先定宋体系还是黑体系,同一页最多两个中文字族。任何字体在写进代码之前,先运行measure-cjk fonts "<字体名>"查授权。 - 引入基础样式。 把
assets/measure.css复制进项目并引入;或者运行measure-cjk init生成。它整体放在@layer measure里、选择器优先级为 0。在入口 CSS 的第一行写@layer measure;(或者让measure.css成为第一个引入的样式表),这样直接写在中文元素上的样式,包括 Tailwind v4 等分层样式,都会优先于它。注意:measure.css直接作用在每个中文元素上,写在body等祖先元素上、靠继承传下来的line-height、line-break等值会被它盖掉;要改这些属性,请写在中文元素或:lang(zh)上。 - 定版式。 正文容器加
class="measure-prose",或者设置max-width: 36em。需要整套视觉时,从references/themes/的 6 个主题里选一个(报刊、说明书、档案、季刊、宋刻、分寸),或者沿用项目已有的设计系统。小红书卡片做成 1080×1440,从assets/cards/的三种模板改起,卡片上的字体只能用 🟢 或 🔵 档,导出用card命令(见references/scenarios/xhs-card.md)。 - 开始构建。 写页面时遵守下面的「速查」。
- 运行校验。 用本地已安装的校验器运行
lint <输出目录或文件>(命令写法见下方「命令」)。React、Vue 项目先构建,对产物(如dist/)运行;v0.1 不直接解析 JSX。 - 逐条修复 error,回到第 7 步。 最多循环 5 轮。5 轮后仍有 error,停下来如实报告剩余问题,不要关闭规则来凑数。
- 向用户汇报。 包括:error 和 warn 的数量;用了哪些字体、各自的授权档位;被关闭的规则及理由(如果有)。
fonts查不到的操作系统自带字体(如 Songti SC、Menlo),只能按系统字体调用、不自托管,汇报时写「授权表未收录,系统调用」。