Persona audit
Cold-read any user-facing copy from a real reader's POV before you publish or ship it — works for non-coders too, no setup. Targets — a landing page, social post / thread, marketing copy, email, app-store blurb, pitch line, OR a product engine's generated output (报告/bot 推送/每日简报/readout). 4 reader personas read it cold (no code, no docs, like a first-time user) and report what's confusing, what's missing, what they'd change; consensus across personas = fix-first signal. Lite mode — paste the copy (or a screenshot) and get the cold read inline, no repo / no commands / no archive. Triggers — "persona audit", "cold-read audit", "audit this from a user's POV", "发布前冷读", "帮我冷读一下", "这段文案行不行", "画像审计", "4 画像审计", "冷读审计", "/persona-audit". Also proactively before a publish/ship. NOT for: code review (走 code reviewer), pure UI/visual polish QA (走 design review), interactive-narrative QA.From its SKILL.md
npx -y skills add vincent-wen789/persona-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
17.7 KB, ~6.9k tokens by cl100k_base, as published. Nobody here has run it
Persona Audit — 多画像冷读审计
🌐 Opened this file and it's in Chinese? That's expected — any modern AI reads it fine and replies in your language, so paste it as-is. And if you're not on Claude Code you don't even need this file: use the ready-to-paste block in the README Quickstart.
是什么
4 个画像各演一个真实读者,冷读你要发布的内容或产品输出(不看代码、不看文档,像第一次见到那样反应),报"读不懂的"+"缺失的信息"。共识(几个画像从不同角度撞上同一处)= 值得优先改的信号。怎么处置分两种模式:轻量模式给大白话动作,引擎模式走 ABCD 分层。(这 4 个画像是各自独立的冷读:能并行跑子 agent 的 runtime——如 Claude Code——一次性发 4 个最快,不能的就逐个轮演。怎么跑是细节,用户看不见。)
核心洞察:产品作者太懂自己的产品,看不见新用户卡在哪。让 4 个不同认知水平的"假用户"只看输出文本、像真用户第一次见到那样反应,就能逼出作者的盲区。
它是什么、不是什么(诚实定位):这是一个单人、零额外成本、几分钟的盲区扫描 + 结构化 idea 生成器,不是经过真人校准的测量工具。产出是"值得人去核实的候选清单",不是"已验证的问题清单"。caveat:4 个画像共享同一底座模型,是多视角而非严格统计独立——所以"几票撞上"是收敛信号、不是证据。跨真不同镜头(执行/新手/资深/外部)撞上的,比同一字段的同义复读可信。
两种模式(开场先认一下)
🟢 轻量模式(默认 · 任何人都能用,不用懂技术) 你手上有一件要发布的东西——落地页、一条帖子/thread、一段文案、一封邮件、应用商店简介、一张结果卡。直接贴进来(图就丢截图),4 个画像当场冷读,给你大白话:哪句看不懂 / 缺什么 / 这句别动(是你的风格)/ 数据不够说不准。不用 repo、不用跑命令、不用存档。一件就够,不用凑样本。
⚙️ 引擎模式(进阶 · 给"每天自动吐内容的产品") 你的产品有引擎会持续产出文本(报告/推送/简报/readout),要系统覆盖各种数据分支。走下面完整的「引擎模式流程(0+5 步)」——生成 6-8 份样本、共识矩阵、ABCD 分层、存档到 repo。
拿不准走哪个?一次性的、人写的内容 → 轻量;机器反复生成的内容 → 引擎。
轻量模式流程(3 步)
- 收样本 — 用户把要发布的东西贴进来(文字直接读;是图就直接看那张图——截图是主刺激物,见下「视觉产出」纪律。能 Read 文件的 runtime 就 Read,纯聊天里用户贴的图直接看)。一件就够,不用凑 6-8 份。
⚠️ 冷读纯度(只在"喂文件"时才要管):默认贴文本/贴图最干净——路径根本不进画像视野。但当你喂的是文件路径、而路径本身泄露了"这是什么产品"(如
.../skills/persona-audit/README.md里的persona-audit/skills),画像"第一次见到"的前提就被污染了。修法:优先把内容以中性标题 inline 贴给画像;真要喂文件,拷到中性名再喂——但别裸拷单文件(会裂掉相对图片/链接,如 README 里的 hero 图),要拷就连docs/等相对资源一起打成小 bundle。(纯聊天贴文本无此问题,跳过这条。) - 4 画像各自冷读(用户看不见这步,agent 自动做)。每个演一个读者角色——主用户镜像 / 纯新手 / 挑剔的老手 / 这内容的目标读者,只看这件东西、像第一次刷到那样反应,报"读不懂 + 缺失 + 情绪反应"。身份块用 templates.md 的通用画像(不用懂金融,按内容域自动填槽位)。
怎么跑(任何 runtime 二选一,结果一样):
- 能并行子 agent(如 Claude Code)→ 一条 message 发 4 个,最快、最独立;
- 不能并行(纯聊天 / 其他 agent)→ 一个一个轮演,每个画像之间清空上下文——不清就互相污染、失去独立性。
- 大白话汇总 — 不用 ABCD、不用"问 owner"(你自己就是作者)。直接给四档:
- 🔴 改这个 — 看不懂 / 会让人慌 / 会被误解的硬伤
- 🟡 可以考虑 — 锦上添花、能更好但不改也行
- ⚪ 这是你的风格,别动 — 画像不喜欢但其实是你的有意选择
- ❓ 说不准 — 信息/数据不够,画像也判断不了 撞同一处要分真假:执行/新手/资深/目标读者里 ≥2 类不同画像都撞 = 高可信、排最前;同一类读者反复说 = 收敛弱,别当铁证。看完直接改,不存档、不跟踪。
📋 首跑照着看输出长啥样 → examples/lite-example.zh.md(贴一份落地页 → 四档输出的真实例子,顺带演示注入安全锁)。
轻量模式失败兜底:贴的是图 → 当截图走「视觉产出」纪律;画像跑不齐(缺员/超时)→ 重发一次,实在不齐就用现有的出、标"X/4 镜头";贴的不是面向用户的内容(代码/内部笔记)→ 不是冷读对象,提示走对的工具。
轻量模式反例(别这么干):① 只发 1-2 个画像图省事 → 4 个镜头是方法核心,少了就退化成普通 review;② 把四档当 final verdict → 它是候选,你是作者、自己拍板;③ 一次贴一大坨让它全审 → 一件一审,混在一起共识就糊了。
何时用 / 不用
用:任何"确定性引擎产出 user-facing 文本"的产品 ship 了新版本/新输出层——readout 工具、报告生成器、bot 推送文案、生成式 copy、每日简报。域无关:记账周报、健身打卡、待办提醒、SaaS 健康度邮件……不只行情/金融(默认就用 templates.md 的通用画像;金融皮和跨域换皮指引见 examples/finance-skin.zh.md)。 也用 · X/社媒长文 pre-publish 冷读:thread / 发帖文案发布前,用 4 画像冷读「钩子顺不顺、缺什么、够不够炸」。实战验证有效——精准抓出埋钩子、缺成本数字、安全过度声称、「差点意思」。 ⚠️ AI 味不归这把尺:本 skill 查「看不看得懂」(comprehension),不查「像不像人写的」(texture)——AI 味的文本通常通顺完整,正好不触发画像报警。画像若闻到「读着像营销稿/没魂/差点意思但说不清」→ 那是另一把尺(AI 味/质感取证),需要时单独跑一个逐行质感 pass,别让画像硬判 AI 味。 不用:代码 review(走 code reviewer)/ 纯 UI·视觉(走 design review)/ 交互叙事(走 narrative QA)。
🖼️ 审「图片/卡片/结果页」类视觉产出:用户真正看到的是渲出来的画面,不是文字——所以截图才是给 persona 的主刺激物,直接丢截图让它看。 ⚠️ 别再把"抠出来的文字"当主菜喂它:字是你抠的、顺序你排的、哪条重要你定的=你又把作者视角塞回去了,而甩掉作者视角正是本 skill 的全部意义;更糟的是用户"看岔"几乎全被画面带(大字当答案、红色当报警),抠平成文字这些最值钱的误读直接消失。提取文字只降级成**"某个小字看不清时翻一下的备查"**,不是 persona 反应的来源。(关键:prompt 必须逼 persona 做"第一眼视觉反应",否则它会绕开画面只评文字——见步骤 3 的视觉纪律。) 和 design-review 不抢活(两个不同问题,不是分地盘):persona-audit 问「用户看不看得懂 / 找不找得到 / 会不会慌」(消费者视角);design-review 问「做得好不好看——对齐 / 精致 / 像不像 AI 糊的」(生产者视角)。同一张截图,各答各的。
引擎模式流程(0 + 5 步)
轻量模式见上。这节是给持续产出的产品引擎用的完整 SOP(样本覆盖 × 共识矩阵 × ABCD × 存档)。一次性、人写的内容不用走这套。
-
确认本次 ship(setup,不是 C 层打扰)— 开场先问/确认:这次 ship 的是哪层/哪个版本?这是画像④("跟最新 ship 走")、样本三轴的"渲染分支"、修复优先级的共同输入。用户没说就问一句——这一问算 setup,不违反"只在 C 层打扰一次"。
-
生成样本 — 跑产品真实输出 6-8 份,存
/tmp/<product>-audit/。覆盖三轴(域无关):渲染分支 × 边缘数据形态 × 用户触达面。 怎么凑出 6-8 份(按你产品有没有演示开关分三档):- (a) 有演示/全亮开关 → 用它(把你产品的演示/调试全亮命令写进
LOCAL.md); - (b) 已上线、无开关 → 直接采集真实推送/真实输出脱敏当样本(注明来源);
- (c) 未上线、无开关 → 构造测试数据或写临时 dump 脚本跑出各分支。
三轴非行情域示例(通知/报告类产品):渲染分支=状态档位(健康/警告/异常)· 边缘数据形态=空数据/零活跃/极值客户/数据断档那天 · 用户触达面=邮件正文 vs 推送摘要。
最小必覆盖 checklist(凑到 6-8):□ 普通日×1 □ 边缘/极值数据×1 □ 数据缺失态×1 □ 对比/汇总视图×1 □ 直达用户面(邮件/推送)×1,再按重要分支补 1-3 份。
⚠️ 用演示/全亮模式凑样本时,persona prompt 里必须加框架说明("N 条强制全亮,真实只出现 0-2 条;评单行可读性,别把同屏当矛盾")——否则必产假阳性。
🖼️ 视觉产出(卡片/结果页/截图):样本 = 渲出来的截图(网页用 preview 截图 / 已有设计稿直接用 PNG),一份样本 = 一张截图。可另存同名
.txt抠出的文字仅作备查(persona 看不清小字时翻),绝不拿它替代截图——理由见上面"何时用"节那条视觉产出说明。
- (a) 有演示/全亮开关 → 用它(把你产品的演示/调试全亮命令写进
-
选 4 画像(身份块模板见 templates.md): ① 主用户镜像 — 产品真实主用户,照实写身份/术语水平/使用场景 ② 纯新手 — 词汇量最低 = 黑话探测器;情绪最真 = 恐慌点探测器 ③ 资深从业者 — 口径较真 = 假精度探测器;唯一会出"资产确认/别砍清单"的人 ④ 新功能目标用户 — 专拷最新 ship 的那层,这个画像跟着最新 ship 走 ⚠️ 去重:若④(新层目标用户)其实就是①(主用户)同一个人 → ④改演相邻读者(首次接触者 / 邻近目标用户 / 收到该触达面的非主用户),否则 4 个画像塌成 3 个、共识分母虚高。
-
4 画像各自冷读 — 每个 prompt = 身份块 + 冷读纪律(只许 Read 样本文件)+ 报告结构 + "重点报缺失信息" + "引用原文 + 写情绪反应"。跑法同轻量模式步骤 2(能并行子 agent 就一条 message 发 4 个;不能就逐个轮演、每个之间清空上下文)。 📌 读取权限边界:冷读纪律只约束这 4 个冷读画像(它们只许 Read 样本);主流程不受约束——负责读宪法、LOCAL.md、旧档来做分层,不算破冷读。 🖼️ 样本是截图时,prompt 必须加一条视觉纪律:"先 Read 截图,凭第一眼反应写——啥先抓住你眼睛、啥太小被你跳过、有没有哪个大字/颜色让你当场把意思理解岔了(看岔)。配套的
.txt只在某个字看不清时翻一下。"不加这条,persona 会绕开画面只评文字,等于没读图。(模板见 templates.md 视觉骨架节。) -
汇总成档:
- 分层前先读产品的"宪法"/设计铁律全文(若有)——C 层判定依赖"什么算已拍板",不读分不出 C。产品无宪法 → 红线过滤降级:A 层只修错别字/数字错位级硬伤,其余愿望全进 B/C,存档标注"宪法缺位"。
- 共识矩阵(票数排序,同一根因不同表述合并计票)→ 资产确认(别砍清单)→ ABCD 分层:
- A 卫生 — 秒-分钟级无争议(错别字/数字错位)
- B 真 gap — 方向无争议要做活
- C 张力点 — 与已拍板/设计哲学冲突
- D 边界外 — 数据拿不稳/定位外
- 永久存档到产品 repo 的
reviews/<product>-persona-audit-<date>.md(4 份原文进附录,/tmp 会被清;同日二审加-v<版本>后缀,绝不覆盖旧档) 🔴 CHECKPOINT:C 层任何一条,动工前必须问产品 owner——不问不动。(若你自己就是 owner、一个人做的工具,你自己拍板即可。) RESUME 协议(问完怎么继续):① C 层一次性打包问,不要逐条骚扰;② owner 批准的并入步骤 5 的 A 层修复流当场修,否决的进 follow-up;③ 等回答期间 A 层硬伤先并行修掉,不冻结全流程。这样"只在 C 层打扰一次"才真兑现。
-
修复 SOP — A 层当场修(按步骤 4 已读的宪法过滤 persona 愿望)→ 跑产品测试套件 → 实跑验证 → delta 回读(改完的文案让当初撞上的画像重读"改动句 + 前后段",确认误读消失、没引入新坑;动了定位/安装/价格这类核心理解就跑全 4 画像轻量回读)→ 禁词 grep(若产品有 ship-checklist)→ 部署/同步(按产品而定);B/C 进 follow-up 跟踪(handoff / issue / TODO)。 ⚠️ delta 回读 ≠ 实跑验证:"实跑验证"验产品输出/代码还跑不跑得动;"delta 回读"验你新写的那几句文案本身还栽不栽——两回事,别拿前者顶后者。(轻量模式同理:改完关键项,自己拿当初撞上的画像视角把改动句再冷读一眼,别改完就发。)
可插拔钩子(适配你的产品)
这 4 个点跟产品走。把你的真实值填进 LOCAL.md(私有绑定,已 .gitignore,不进开源):
| 钩子 | 是什么 | 缺省降级 |
|---|---|---|
| 设计宪法 | C 层判定依据的"已拍板"文档 | 缺 → A 层只修硬伤,愿望全进 B/C |
| 存档位置 | reviews/ 永久落档目录 | 缺 → 存产品 repo 根 |
| 样本生成 | 怎么调出产品真实输出 / 演示模式(把实命令写死进 LOCAL.md,别只写"见运行说明") | 见步骤 1 的 (a)/(b)/(c) 三档 |
| 部署/同步 | 修完怎么 ship(单端 / 双端 / CI) | 单端直接跑测试即可 |
| 画像身份连续性 | 引擎模式跨轮复用画像身份——同一目标文档的 round 2 沿用上轮存档(reviews/ 附录)里填好的身份块,才能比较"上轮的修复对同一读者生效没"(操作化 LOCAL.md.example 已有的"沿用最近一次存档审计的身份块"那条,不新存一份) | 换目标文档 / 首审 → 按内容域重建身份,别跨文档复用(不同受众被同一批画像量=共识分母虚高) |
Quick Reference
| 画像 | 独有产出 |
|---|---|
| 镜像 | 真实使用场景判定(会不会每天用·哪个时段·哪步掉链子) |
| 新手 | 黑话清单 + 恐慌触发点 + "猜错的理解"(最宝贵) |
| 资深 | 口径质疑 + 资产确认清单 + 工作流替代性判定 |
| 新功能目标用户 | 新层逐行拷打 + 分辨率/时效性 gap |
运行时恢复
| 触发 | 一线修复 | 仍失败兜底 |
|---|---|---|
| 4 个 agent 有缺员/超时 | 单独补发该画像 1 次 | 3 份照样出矩阵,分母按实际不同镜头数标(画像重合按 1 算,别按人头凑 N/3 虚高共识),存档注明缺员 |
| 报告走样(带开场白/不引原文/结构乱) | 对照骨架查 prompt 是否漏了尾部纪律行,补发 1 次 | 内容在就人工提取入矩阵;空泛无引用则该份作废并标注 |
| 样本生成失败(产品跑不动/演示模式调不出) | 按产品运行说明修命令重试 | 🛑 STOP 问 owner——绝不手改输出文本伪造样本(污染整场审计) |
常见错误
- 演示样本不加框架说明 → persona 把强制全亮报成"自相矛盾"(假阳性)
- 把 persona 愿望直接当需求 → 必须过产品红线过滤(用户要"止损位"≠ 给指令,给"事实+风险定性");同理"安慰我/替我决定/多哄两句"类愿望(恐慌新手必产)不直接进 B 层——标注"这是依赖诉求,产品满足它=越界",和"止损位≠指令"同一条红线处理
- 只挑毛病不报缺失 → prompt 必须显式写"重点报缺失信息"
- 漏资产确认 → 下版本把用户真爱的设计顺手砍了(别砍清单和问题清单同等重要)
- 跳过共识矩阵直接修 → 1/4 的个人偏好和 4/4 的结构问题混在一起,优先级失真
- 审计完不归 C 直接动手 → 与已拍板文案/设计哲学冲突的改动必须先问
Real-World Impact
见 examples/case-study.zh.md(脱敏实战:一个加密市场读数工具的两场审计。共识矩阵生成的候选清单里,约一半被采纳当日修复 ship——其中两条是单人 review 容易漏的:一处边缘资产价格错位、一处多画像一致误读的语义错位)。诚实口径:这是候选清单的命中率,不是经对照实验证明的"比作者自己 review 强 N 倍"。
What ships with it: 20 files
514.2 KB alongside SKILL.md
docs/
- hero-consensus-matrix.ja.png147.1 KB
- hero-consensus-matrix.png121.8 KB
- hero-consensus-matrix.zh.png125.2 KB
examples/
- case-study.ja.md4.8 KB
- case-study.md3.8 KB
- case-study.zh.md2.7 KB
- finance-skin.ja.md7.1 KB
- finance-skin.md6.4 KB
- finance-skin.zh.md5.6 KB
- lite-example.ja.md8.0 KB
- lite-example.md9.8 KB
- lite-example.zh.md5.3 KB
- .gitignore178 B
- LICENSE1.0 KB
- LOCAL.md.example1.8 KB
- README.ja.md21.0 KB
- README.md15.4 KB
- README.zh.md15.1 KB
- templates.md10.1 KB
- test-prompts.json2.0 KB