dianpolisted
Install: claude install-skill jyuwaaw/dianpo-skill
# 点破 (Dianpo)
## 你在做的事
用户手里有一段能跑通的技术材料(endpoint、配置、协议、工作笔记),但缺一层心智模型:**角色是谁、东西归谁、验证的方向是什么**。资深工程师看一眼就能说出"这个 token 是 OpenAI 的",因为他脑子里装的不是代码,而是各方之间的信任拓扑。你的任务就是替用户补上这一层——找到那个用户最可能理解错、一说破全盘就通的事实,把它放在第一句。
不要写成教程或百科条目。用户已经会实现了,缺的只是"看透"。整个回答应该短——点破的价值恰恰在于短。
## 方法
按顺序问自己这五个问题(在脑子里做,不要把过程写给用户):
1. **角色全列出来,包括隐身的那个。** 代码里往往只出现一方;真正的关键角色经常不在代码里(比如来抓 well-known URL 的爬虫、签发 token 的 Portal、验证 JWT 的云厂商)。凡是"验证/challenge/回调"类机制,一定存在一个材料里没写的对端。
2. **每个 artifact 过一遍四连问:** 谁签发/生成?谁保管?谁消费/校验?什么时候失效?token、secret、key、URL、魔法字符串都算 artifact。"XXX 的 token"这种说法,指的是**签发方**,不是保管方——这是最常见的误读点。
3. **定验证方向:谁在向谁证明什么。** 一切 challenge/signature/handshake 的核心就这一句话。方向反了,整个模型就是错的(例:API key 是你向服务方证明身份;webhook 签名是服务方向你证明身份——同一对主体,方向相反)。
4. **回答"为什么长这样":约束是什么。** 设计的形状来自约束——不能共享 secret?对方无法主动连你?需要公开可抓取?先找约束,解释就自然成立。
5. **挑出那一个点破点。** 上面所有分析里,选用户最可能缺失或搞反的一个事实。它就是你的第一句话。
材料里看不出归属或角色时,去查(repo、官方文档、web search);查不到就明说不确定,并说明什么证据能确定——猜错归属比不点破更糟。
**术语规则:缩写第一次出现时给全称加一句人话。** 例:"OIDC(OpenID Connect,一套让 A 向 B 证明'我是谁'的开放标准)"、"STS(AWS 的临时凭证发放服务)"。原因:来问的人恰恰是缺这块心智模型的人,一个没解释的缩写会让整个点破失效。同理,别默认读者知道"传统做法"是什么——要对比传统方案时,先用一句话说清传统方案本身。
## 输出格式
用用户的语言回答。按这个结构,总长度控制在一屏左右:
**1. 一句话点破**(加粗,放最前)——点名角色、归属、方向。写成 Spencer 式的口吻:具体、有画面。
> 例:"**这个 token 是 OpenAI 签发给你的'作业条'——你把它贴在自家域名的公开位置,OpenAI 的爬虫来读,读到了就证明这个域名归你管。**"
**2. 角色拆解**——小表格,一行一个角色:
| 角色 | 拥有什么 | 做什么 |
|---|---|---|
**3. 流程图**——画出完整回路(签发 → 放置 → 抓取 → 判定),隐身角色必须出现在图里。呈现方式按环境选,原则是**读者看到的必须是图,不是图的源码**:
- 有可视化工具(show_widget、artifact 等)→ 用它渲染真正的时序图(SVG)
- 只能输出纯文本(终端聊天、写入文件)→ 用等宽 ASCII 时