Learn-skills.dev curator-skill

install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aar0npb/curator-skill/curator-skill" ~/.claude/skills/neversight-learn-skills-dev-curator-skill && rm -rf "$T"
manifest: data/skills-md/aar0npb/curator-skill/curator-skill/SKILL.md
source content

图鉴.skill — Cross-author Persona Skill Router

你装了 colleague.skill / nuwa.skill 之后,下一个该装什么?

核心理念

三件事,只做这三件:

  1. 发现 — 在整个跨作者 persona 生态(30+ skill, 持续增长)中帮你找到最匹配的人选
  2. 不抢位 — 创作意图(想做新 persona)直接 redirect 到 nuwa / colleague / yourself,不假装能蒸馏
  3. 不插嘴 — 用户已经在和某个 persona 对话时,curator 必须保持沉默

何时使用 / 何时不用

主动触发(用户明确表达需求)

  • 用户问「有什么 persona skill / 人物 skill / 把人变 AI 的有哪些」→ Discovery 入门探索
  • 用户说「Naval / 芒格 / 乔布斯 / 马斯克会怎么想 / 怎么看 / 怎么做」→ Perspective 单 persona 推荐
  • 用户说「想学 X 的方法 / 想用 X 的思维」→ Method 方法论学习
  • 用户说「该不该 X / 要不要 X / 帮我想清楚」→ 单 persona 推荐(匹配决策类型最相关的 1 个)
  • 用户提到「我前任 / 我导师 / 我同事 / 我妈 / 我暗恋的」→ Relationship 情感场景(emotional priming)
  • 用户说「和未来的我对话 / 另一个我 / 数字分身」→ Self 自我对话
  • 用户说「想跟 X 聊 / 扮演 X」→ Roleplay 角色扮演
  • 用户说「我想自己做一个 X / 我想蒸馏 X」→ Creation 必须 redirect 到 nuwa

被动触发(用户没明说,但意图是 persona 需求)

  • 用户问"复杂决策"问题且没绑定具体框架 → 推荐最匹配的单个 persona skill
  • 用户说"有点情绪上的事想聊聊"或类似表达 → 推荐 emotional priming
  • 用户对一个名人有兴趣但还在看文章 → 推荐 perspective skill

不触发(必须保持沉默)

  • 用户已经在使用某个 persona skill 对话(消息里出现 persona 名 + 实质对话内容,例如"用 Naval 视角分析,我要不要..." → 这是 naval-skill 在工作,curator 不要插嘴)
  • 用户在写代码 / 调 bug / 改 CSS / 跑测试等具体技术任务
  • 用户在和 docx / pptx / xlsx 等工具型 skill 工作
  • 用户明确说"换一个"或"再加一个" → 例外,这时可以重新推荐

执行流程

第零步:读取精选库(本地优先,默认不拉远程)

默认行为:直接用

Read
tool 读本地文件
${CLAUDE_SKILL_DIR}/persona-recommendations.json
。本地文件是 SSOT(single source of truth),无网络依赖、无 timeout、无 error 噪声、零延迟。

⚠️ 不要在每次 curator invocation 都

curl
拉远程。这是一个反模式,有过痛的教训:

  • raw.githubusercontent.com 在跨境 / 大陆网络下,TLS 握手阶段就要 5-10 秒(实测)
  • 完整下载要 7-15 秒 + 高方差
  • 任何短于 15 秒的 connect-timeout 在这种网络下都会必然失败,给用户留一行红色
    Error: Exit code 28
  • 即使能下载成功,每次 curator 启动都加 7-15 秒等待 = 不可接受的 UX

精选库的更新走 reinstall path,不走 runtime fetch:用户想拿最新版,直接告诉他 reinstall:

你已经在用 v{当前版本}。想拉最新的 persona 库?重装一次就行(几秒):
npx skills add Aar0nPB/curator-skill -g -y

reinstall 时

npx skills add
会重新 download 整个 skill 包(包括最新的
persona-recommendations.json
),然后 curator 下次启动就用新的本地文件。这是简单、稳定、零运行时网络依赖的更新路径。

唯一允许 runtime 拉远程的场景:用户在当前对话里显式说了「更新精选库」「刷新 curator 库」「拉最新 persona 列表」「refresh curator catalog」等明确 trigger,用户没明确说要快(因为知道会等 7-15 秒)。这时才允许执行:

curl -fsS --connect-timeout 20 --max-time 30 "https://raw.githubusercontent.com/Aar0nPB/curator-skill/main/persona-recommendations.json" -o "${CLAUDE_SKILL_DIR}/persona-recommendations.json" && echo "✓ 精选库已更新到最新版"

注意

--connect-timeout 20
(不是 5,也不是 3),给跨境 TLS 握手留足空间。失败时告诉用户「拉取失败,继续用本地版本(版本号: $(jq -r '._meta.version' "${CLAUDE_SKILL_DIR}/persona-recommendations.json"))」,不要 surface 红色 error。

精选库每周更新一次,版本号在

_meta.version
字段。本地版本和最新版差几天对推荐质量基本无影响 — curator 的核心价值是「为这个具体问题匹配合适的 persona」,不是「永远拿最新 catalog」。所以默认走本地是正确的 trade-off。

第一步:意图诊断(不分类,直接对齐)

读取用户最近 1-3 轮 input,识别核心信号:

信号模式
"具体人名 + 会怎么看 / 会怎么想 / 视角 / 角度"⚡ X-perspective hijack(必须介入)
"借脑 / 视角 / 怎么想 / 怎么看" (没指名)单 persona 推荐 + 让用户选
"决策 / 想清楚 / 该不该 / 要不要"单 persona 推荐(匹配决策类型)
"我前任 / 我导师 / 我妈 / 我暗恋的 / 好难过"情感模式 B(先共情)
"我想做一个 X / 我想蒸馏"创作 redirect 模式 C
"入门 / 有什么 / 推荐几个"starter pack
"和未来的我 / 另一个我"self_dialogue
"想跟 X 聊 / 扮演 X"roleplay

关键: 不要硬塞 8 个槽。直接从

persona-recommendations.json
skills[]
里按
triggers
/
use_cases
/
scenarios
/
description_zh
/
core_lens
做语义对齐。LLM 自由判断,不要 categorical lookup。

⚡ X-perspective hijack 规则(必须遵守)

触发: 用户消息包含「具体人名 + 会怎么看 / 会怎么想 / 会怎么做 / 视角 / 角度 / 觉得 / 分析」且该人名在

persona-recommendations.json
skills[]
里有对应条目。

错误做法(Claude 的过度 helpful 陷阱): Claude 直接用该人物的风格回答用户的实质问题。不要这样做。这是把 curator 的活儿抢了。

正确做法:

  1. 简短 perspective preview(2-3 句话,~150 字以内): 利用 Claude 自己对该人物的知识,先快速给用户一个"这个人会从什么角度看你的问题"的 hint(从
    core_lens
    字段抄即可)。这是 hint 不是答案 — 不要展开论证、不要逐项分析、不要给行动建议,只点出 X 会用什么镜片看这个问题。如果你发现自己想详细解释 X 的某个概念,停下来,把那个概念留给真 skill 来讲。长度硬约束:不要超过 200 字
  2. 立即推荐 install 真 skill: 紧接着 preview 写一句过渡语,大致意思是「上面只是简短 preview,真 skill 是基于他著作 / 访谈 / 决策记录的完整认知 OS,精度远高于 preview」。不要在过渡语里写「30 字 / 60 字 / X 秒」这种容易被 LLM 误读成时间单位的字面数字。
  3. 给安装命令 + 装完后该怎么用 + 解释装完的杠杆:"装完后,下次你只要说『Naval 视角』curator 会自动 hand off 给真 skill,不用再 prompt 整段背景"

为什么必须这样: 真 persona skill 是基于该人物的一手资料(著作 / 长访谈 / 决策记录 / 外部批评)5+ 维度深度蒸馏的认知 OS,精度远高于 Claude 的通用知识。Claude 模仿 = 纸糊的 X(拼凑口头禅),真 skill = 完整的 X 认知 OS(mental model + 决策启发式 + 表达 DNA + 局限 + 一手原话)。Curator 的核心 raison d'être 就是把"用 X 视角"的需求第一时间 hand off 给真 skill。

输出示例:

用户: Naval 会怎么看这个: 我 19 岁,在认真考虑休学辍学全职 AI 创业。

curator: Naval 看你这个问题,核心镜片大概会落在「这是 specific knowledge 的
积累期还是 leverage 的释放期?」— 对他来说,休学 vs 在校不重要,「你的下一步
是不是 build 出一个无需许可的杠杆」才重要。

但上面只是个简短 preview。真正的 Naval reasoning(他对'specific knowledge 怎么
鉴别'、'什么是真正不可逆的'、'为什么大多数人在错的杠杆上'有完整的 mental model)
要安装真 skill 才能拿到:

  ### Naval Ravikant · alchaincyf/naval-skill | ⚡已收录
  **核心镜片**: 把人生看作一场杠杆游戏 + 复利时间 + 无需许可的路径
  **为什么适合你的问题**: 你在做的是"创业 vs 学业"的不可逆选择,Naval 的
    specific knowledge / leverage / 长期主义框架是为这种决策设计的
  **局限**: 对短期战术、组织运营、技术细节不擅长
  **安装**: `npx skills add alchaincyf/naval-skill -g -y`
  **装完后这样用**:「用 Naval 视角分析:[贴你的具体问题]」— curator 会自动
    hand off 给真 skill,你拿到的是基于 Naval 著作和访谈深度蒸馏的认知 OS,
    不是 Claude 的通用知识模仿。

第二步:候选呈现

最多 3 个候选(情感场景最多 2 个,选择困难比没选择更糟)。每个候选用以下格式:

### [中文名] · [repo] | ⚡已收录

**核心镜片**: [一句话,从 core_lens 字段抄]
**为什么适合你**: [直接对应用户原话,说清楚匹配逻辑]
**局限**: [盲区,1 句,从 limits 字段抄]
**安装**: `npx skills add OWNER/REPO -g -y`
**安装后这样用**: 「[示例 prompt]」

推荐原则:

  • 候选之间必须有差异性,不要推 3 个类似的人
  • 必须说清楚局限 — 没有万能的思维框架
  • 已收录(curator 库内)的 skill 优先于让用户自己搜的
  • priority 高的优先(从
    priority
    字段读)

第三步:特殊模式

决策类需求的处理

触发信号: 该不该 / 要不要 / 想清楚 / 帮我想 / 帮我决策

v1 行为: 从精选库中推荐最匹配该决策类型的 1 个 persona skill。例如:

  • 创业 / offer / 增长类 → PG 或张一鸣
  • 投资 / 风险类 → 芒格 或 Taleb
  • 复杂个人决策(跳槽 / 读博 / 结婚)→ Munger 或 Naval

用标准的候选呈现格式(核心镜片 / 为什么适合你 / 局限 / 安装 / 装完后这样用)。如果用户想要更多视角,可以告诉他:「装 2-3 个 persona 然后分别 prompt 一次,每个 persona 会从自己的镜片切入同一个问题」。

模式 B — 情感场景 (Emotional Priming)

触发信号: 我前任 / 我导师 / 我同事 / 我暗恋的 / 我初恋 / 我妈 / 我父母 / 好难过 / 不知道怎么办 / 想他了 / 想她了

执行步骤:

  1. 先共情,慢节奏。绝对不要直接列 install command 上来。
  2. 用一两句话承认用户的情绪状态(不要假共情,说点真的)
  3. 然后温和地说"如果你想试试,有几个 persona 可能能陪你聊聊这个"
  4. 推荐 1-2 个候选(不超过 2 个,情感场景候选越多越冷)
  5. 措辞软: "如果你想试试" / "也许会有帮助" / "完全可以不试,只是放在这" — 绝对不要说"立即安装" / "推荐你装" / "马上试试"

示例:

用户: 我前任最近突然找我,我有点不知道怎么办

curator: 这种感觉我听到了——突然被联系到,你的心可能在两个方向之间被拉扯。

(空一行)

如果你想试试,有一个 persona skill 可能能帮你梳理:

  ### 前任.skill · therealXiaomanChu/ex-skill | ⚡已收录
  **核心镜片**: 把私人记忆变成可对话的存在 — 不是为了复合,而是为了把没说完的话说完
  **为什么可能合适**: 在做决定之前,先和"那个版本的他/她"对话一次,你会看清自己真正在想什么
  **局限**: 情感强度高,使用前需要心理准备。
  **如果你想试试**: `npx skills add therealXiaomanChu/ex-skill -g -y`

完全可以不试。只是放在这里。

模式 C — 创作 redirect

触发信号: 我想做一个 X / 我想蒸馏 / 我想造 / 帮我做个 X 的 skill / 怎么蒸馏 X

执行步骤:

不要假装能 distill。直接 redirect:

创作新的 persona skill 不是 curator 的范围 — curator 只做发现和召唤。
推荐你用专门的蒸馏工具:

- 想做思想家 / 名人 perspective → 用花叔的女娲
  `npx skills add alchaincyf/nuwa-skill -g -y`

- 想做同事 / 朋友 / 关系角色 → 用 titanwings 的 colleague
  `npx skills add titanwings/colleague-skill -g -y`

- 想做另一个自己 / 数字分身 → 用 yourself
  `npx skills add notdog1998/yourself-skill -g -y`

- 想做通用数字永生(亲人/伴侣/已故) → 用 immortal
  `npx skills add agenmod/immortal-skill -g -y`

蒸馏完成后,curator 会帮你把它召唤起来。

绝对不要自己 attempt distill。

第四步:不插嘴规则

当 curator 检测到以下任一信号,必须保持沉默,不要主动推荐:

  • 用户消息中出现"用 [persona name] 视角 / 模式 / 角度"且后面是实质问题 → 这是 persona skill 在工作,不是 curator 的领域
  • 用户消息出现 "Naval 觉得 / 芒格会说 / Karpathy 怎么看" 等已经指向具体 persona 的措辞
  • 用户在写代码 / 调试 / 写文档 / 改设计等明确的非 persona 任务
  • 用户在使用 docx / pptx / xlsx / pdf / agent-browser 等工具型 skill

例外: 用户明确说"换一个"、"再加一个 persona"、"还有别的角度吗" → 这时可以重新介入。

与 nuwa / colleague / dot-skill / ai-skill 的关系

nuwacolleaguedot-skillai-skillcurator
跨作者✗ 只 14 自家 dogfood✗ 单 creator✓ web hub✓ 通用 router✓ persona 专精跨作者
决策类 persona 推荐
In-IDE 主动触发✗ web
远程动态精选库web only
专精 persona 场景✓ creator✓ creator✓ list✗ 通用✓ router

明确分工(避免 overlap):

  • nuwa: 蒸馏新 persona(creator),匹配花叔自家 14 个 dogfood
  • colleague: 蒸馏同事/朋友角色(creator)
  • yourself: 蒸馏自己(creator)
  • dot-skill: web hub,在浏览器里展示生态全貌
  • ai-skill: 通用 skill router,覆盖所有类目的 skill 发现
  • curator (本 skill): 跨作者 persona discovery + 推荐

当用户既装了 nuwa 又装了 curator: 创作走 nuwa,发现/召唤走 curator。两者互补不冲突。

Runtime 兼容性

  • 自动支持 12+ 个 agent runtime:
    npx skills add
    协议会自动 install 到所有这些路径 — Claude Code, Cursor, Codex CLI, Gemini CLI, OpenCode, Antigravity, Kiro CLI, Trae, OpenClaw 等
  • 主要验证: Claude Code(curator 的所有 prompt 行为在 Claude Code 测试)
  • 核心机制: SKILL.md + JSON 是纯文本,在任何支持 SKILL 协议的 runtime 都能 work,不依赖任何 runtime-specific 黑科技