免费

标志门诊

给标志做一次真正的视力检查:16 像素、单色、反白、远看、复杂背景,中文字标还查笔画糊字。给你分数、最大问题和具体改法。

安装

把“标志门诊”技能安装到 ~/.claude/skills/logo-clinic。
下载下面每个文件,保存到这个文件夹:
https://skilllift.pages.dev/packs/logo-clinic/SKILL.zh.md → SKILL.md
https://skilllift.pages.dev/packs/logo-clinic/NOTICE.txt → NOTICE.txt
https://skilllift.pages.dev/packs/logo-clinic/references/style.md → references/style.md
https://skilllift.pages.dev/packs/logo-clinic/assets/lab.js → assets/lab.js
https://skilllift.pages.dev/packs/logo-clinic/assets/template.html → assets/template.html
https://skilllift.pages.dev/packs/logo-clinic/assets/brief-template.json → assets/brief-template.json
https://skilllift.pages.dev/packs/logo-clinic/scripts/examine.mjs → scripts/examine.mjs
https://skilllift.pages.dev/packs/logo-clinic/scripts/build.mjs → scripts/build.mjs
https://skilllift.pages.dev/packs/logo-clinic/scripts/render.mjs → scripts/render.mjs
https://skilllift.pages.dev/packs/logo-clinic/scripts/check.mjs → scripts/check.mjs
然后读一遍 SKILL.md,告诉我它是做什么的,并提醒我开一个新会话。

解压到 ~/.claude/skills

同一个技能,不同的需求

左边是预览。右边由另一个 Agent 按不同需求制作,它只有安装好的技能,没看过预览。

预览
预览
新需求,由另一个 Agent 制作
新需求,由另一个 Agent 制作

这是按虚构需求做的一次测试。系统字体不同时,字形可能略有差异。

给标志做一次诚实的检查,交付一个可打印为 A4 的单文件 HTML 报告:总分、加权评分表、在原文件上实际运行的压力测试(16 和 32 像素网页图标、单色、反白、远看模糊、灰度、复杂背景、黑底),最大的问题,以及三到五条具体改法。可以比较两到四个候选方案并选出一个。中文字标会单独检查笔画糊字。当有人问标志好不好、选哪个标志、为什么缩小后不好看,或想要标志点评时使用。不做商标或原创性判断。

交付前必须通过

  • check.mjs 通过,render.mjs 没有报页面溢出,页数一致。
  • 每一页和手机版我都看过了。
  • 只读结论那一句,也知道该怎么办。
  • 只有一个最大的问题,里面有实测数字。
  • 三到五条改法,每条都具体,并对应一项测试。
  • 如有草图,画得粗略且盖了章。
  • 任何地方都没有关于原创或商标的说法,包括我发的消息。
  • 消息里列出了假设和推断。
阅读完整 SKILL.md
---
name: logo-clinic
description: 给标志做一次诚实的检查,交付一个可打印为 A4 的单文件 HTML 报告:总分、加权评分表、在原文件上实际运行的压力测试(16 和 32 像素网页图标、单色、反白、远看模糊、灰度、复杂背景、黑底),最大的问题,以及三到五条具体改法。可以比较两到四个候选方案并选出一个。中文字标会单独检查笔画糊字。当有人问标志好不好、选哪个标志、为什么缩小后不好看,或想要标志点评时使用。不做商标或原创性判断。
version: 1.1.0
---

# 标志门诊

有人交来一个标志或几个候选方案,要拿到一个能照着做的结论。测试由脚本在他们的原文件上实际运行。你的工作是跑测试,然后老实解读结果,写出判断。

## 对只想要结果的人

大多数人不想听什么脚本。用大白话问下面这些问题,安装和运行都由你来做,最后把文件交给他们。不要让对方装任何东西、跑任何命令。对他们不要说 favicon、SVG、栅格、阈值、脚本这类词,要说“浏览器标签页上的小图标”“标志文件”“这项测试”。交付时用两三句话讲清结论和第一步该做什么,然后把文件给他们。

## 要问的信息

一次问完,放在一条消息里。

1. 标志图片,或最多四个候选方案。PNG、JPG、SVG 都可以。如果只有文档里的图或截图也先收下,并说明干净的导出文件会更准。
2. 品牌名。
3. 客户是谁,一句话。
4. 可选:标志最常出现在哪里(门头、小程序、包装),以及他们更倾向哪一个。
5. 中文标志:标志上写的字,按顺序给出。

信息太少时,先复述听到的内容,不要编造品牌的事实,交付时列出哪些是推断的。没人能回答时,就用已有信息继续,并列出假设。不知道受众时,“是否贴合”这一行能说的就少,要在备注里写明。

## 准备工作

需要 Node.js 和 Playwright(含浏览器)。它在本机浏览器里读取图片,所以不用任何图像库,也没有东西离开这台电脑。

```
mkdir -p /tmp/logo-clinic-tools && cd /tmp/logo-clinic-tools
npm install playwright && npx playwright install chromium
export NODE_PATH=/tmp/logo-clinic-tools/node_modules
```

只有当 `scripts/examine.mjs` 提示缺少 Playwright 时才做,由你自己做,做一次。Chromium 下载失败时,如果电脑上装了 Chrome,脚本可以改用 Chrome。

## 步骤

1. 建一个工作文件夹,把 `assets/brief-template.json` 复制过去,命名为 `brief.json`。
2. 逐个检查标志,每个几秒钟:
   ```
   node scripts/examine.mjs --input logo.png --out exam/a
   ```
   中文字标加上字数,如 `--han 3`;竖排再加 `--vertical`。字数必须是整数,写错会打印 `WARNING:` 并跳过中文检查,所以要确认 `measures.json` 里有 `han` 一项。看到 `NOTE:` 或 `WARNING:` 开头的提示,要转告对方。
3. 读每个 `exam/*/measures.json`,并打开文件夹里的图片,尤其是 `f16x.png`、`one.png`、`busy.png`。要按眼睛看到的判断,不能只看数字。
4. 填写 `brief.json`:
   - `judged.fit` 和 `judged.idea`:你自己打的 0 到 100 分,并写明理由。这是你唯一能打的分。
   - `verdict`:一句实话,只读这一句也知道该怎么办。
   - `biggest`:一个问题,对这群受众最要紧的那个。引用实测数字,不要列好几个。
   - `changes`:三到五条。每条都能今天就交给设计师,里面要有数字或具体元素,并对应暴露问题的那项测试。“简化一下”不算改法,“小尺寸版横线至少占字高的 8%”才算。
   - `pick`:有多个候选时填。按对方实际用途决定。两个接近时说明什么能决定胜负,但还是要选一个。
   - `sketch`:文字说不清时才用。简单图形,画得粗略。
   - 不用的可选项请删掉。`lang` 填 `zh`。只有虚构示例才把 `fictional` 设为 true。
5. 生成并检查。文字超长时生成会报错,请改短,不要绕过去;所有问题会一次列出。字数上限(英文 / 中文):brand 40 / 20,audience 70 / 34,verdict 76 / 32,biggest.title 56 / 24,biggest.body 250 / 110,biggest.evidence 100 / 50,每条 change 的 `do` 86 / 38、`why` 128 / 58,judged 的 note 74 / 34,pick.why 300 / 130,sketch 说明 96 / 42。中文字标的 `hanText` 字数必须与 `--han` 相同。可选的 `hanFocus`(1 为第一个字)指定单字试验用哪个字;不填就用最轻的字,所以处方里留的是别的字时一定要填。
   ```
   node scripts/build.mjs --brief brief.json --out report.html
   node scripts/check.mjs report.html
   node scripts/render.mjs report.html --pdf report.pdf --shots shots --phone
   ```
6. 打开 `shots/` 里的每张图,每一页都看,再看手机版。读起来不顺就改,然后重新生成。
7. 交付 `report.html`;如果对方要发送或打印,再加 `report.pdf`。

## 怎么判断中文字标

- 用 `--han` 运行,并填写 `hanText`。报告会增加笔画糊字检查:逐字数出叠了几层笔画,算出需要多少像素。每层笔画占 1 像素,每道缝隙也占 1 像素。
- 16 像素图标分给 N 个字,每个字只有 16/N 像素。要直说:多数名字的出路是做一个单字的小尺寸版本,报告会指出最轻的是哪个字。
- 细宋体的横线比竖线细得多,最先消失。要引用“最细笔画”这个数字。
- 要把字当字来判断:缩小后还读得出是这个字吗?会不会看成另一个相近的字?小尺寸版本会不会改变意思?这些测量不出来:压力测试只数笔画和像素,读不出汉字缩小后还是不是那个字。你必须自己看字的图片,并在报告里和对方说清楚,这一点是你的判断,不是测量结果。
- 用自然的中文写,界面不混英文,用“像素”“通过”“注意”“不合格”。

## 绝对不要做的事

- 不要说标志是原创的、独特的、可以安全注册的、没有冲突的,也不要把“像某个品牌”说成法律结论。被问到时就说:商标检索是另一件事,要查官方注册库或找商标代理人。每一页都印有这个声明。
- 不要把标志重画成对方的正式标志。草图要粗略,只放在报告里,并且一定盖上“示意草图”的章。
- 不要修改或伪造测试图,也不要写不是检查得出的分数。检查脚本会逐张比对测试图的指纹。
- 不要为了客气把不合格说得含糊。对标志直说,对人友善:他们遇到的是一个说得清、改得了的问题。
- 生成时,品牌名若在内置的一小串知名公司名单里,会被拒绝,除非 brief 里写了 `"entitled": true`(比如替客户做)。名单很短,不可能涵盖所有公司,所以下面这条规矩对每个标志仍然有效。
- 不要把别家公司的标志放进报告做对比。真实公司的标志不能进入示例或公开样本。如果对方发来的显然不是他们自己的标志,只有在他们有权处理时才检查,比如替客户做。

## 其他情况

- **想要更短。** 报告结构固定。只要一句话时,在消息里说结论和第一步,报告照样附上。
- **标志在照片上,或图片很小。** 脚本会提醒。照样运行,说明结果不够可靠,并要一个干净的文件。
- **SVG 里是未转曲的文字。** 脚本会提醒字体用的是本机字体。结果看起来不对时,请对方提供转曲版本。
- **只用于大尺寸的标志,**比如门头。按实测报告,然后在结论里说明小尺寸对他们没那么重要。分数不变。
- **超过四个候选。** 请对方选四个,或全部检查后报告最好的四个,并说明略去了哪些。
- **文件打不开。** 脚本会用大白话说明。请对方重新导出。

## 交付前

- [ ] `check.mjs` 通过,`render.mjs` 没有报页面溢出,页数一致。
- [ ] 每一页和手机版我都看过了。
- [ ] 只读结论那一句,也知道该怎么办。
- [ ] 只有一个最大的问题,里面有实测数字。
- [ ] 三到五条改法,每条都具体,并对应一项测试。
- [ ] 如有草图,画得粗略且盖了章。
- [ ] 任何地方都没有关于原创或商标的说法,包括我发的消息。
- [ ] 消息里列出了假设和推断。

## 不适用的情况

商标检索或法律意见。从零设计新标志。评估整套品牌视觉,那要看的不止标志。照片里的招牌或产品上的标志,除非确实拿不到干净文件。

## 运行要求

Node 18 或更高版本。Playwright(Apache-2.0 许可)配 Chromium,或 Chrome。全部在本地运行,不需要账号和付费服务,报告不发任何网络请求。只用系统字体。默认 A4,也适合国内打印。

用在这些流程里

相似技能