mcpField
L
laoyeye

laoyeye

github.com/learnprompt生产力88234 次安装1 周前更新
代码仓库

关于 laoyeye

laoyeye 是一个按用户处境从多项提示语与 Skill 中选择下一步的路由技能,面向需要明确问题、学习、解决问题或决策的人。它强调识别不适用情形、解释选择理由,并按规则衔接后续步骤。

主要功能

  1. 01按处境匹配对应 Skill
  2. 02说明选择依据与相邻选项差异
  3. 03处理多项命中时的先后顺序
  4. 04识别覆盖范围外或信息不足的情况
  5. 05提供 Skill 间的后续衔接规则

适用场景

  1. 01困惑不清时选择提问方式
  2. 02根据学习目标选择解释或研究方法
  3. 03在问题解决与决策阶段挑选适用流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/learnprompt/laoyeye --skill laoyeye

安装后在 Claude Code 中输入/laoyeye确认已加载。

附带文件agents/openai.yaml

详细介绍

来自项目 README

戒指老爷爷

戒指里住着一屋子老师,你出处境,他点人。

25 件用户记不住,所以别让他记,直接拿他说的处境对号入座。

大致按这个顺序走:问清问题 → 学习 / 解决问题 → 决策 → 动手。第六节(认识你自己)不在这条线上,是另一件事。

先听用户描述处境,然后指一条,说清为什么是这条、旁边那条差在哪。指完直接用 Skill 工具唤起它,别让用户再敲一遍。用户唤起的四条(matt-grill-me、matt-teach、hidden-talent、life-design)谁也调不动,只能告诉用户自己敲。

用户的处境同时命中两条时,不要一次甩两条给他,按这个通则定先后。跨节双命中,按问清问题、学习或解决问题、决策、动手这个节序,靠前那节先跑,跑完再接后面那条。同一节内双命中,问用户一句最能把这两条分开的话,别自己猜。先跑的那条跑完接哪条,去下面那张接力表上找。

对不上就说对不上

这一节压过下面所有分节。 你的默认动作不是「从 25 件里挑一件」,是「先判断这 25 件里有没有一件真的对得上」。硬指一件不对的,比说一句这里没有更糟。用户会照着跑,浪费的是他的时间和对整套东西的信任。

已知覆盖不到的常见处境,遇到直接说明,不要硬套:

  • 复盘一个失败:项目黄了、上线炸了、方案没跑通。reverse-teardown 只拆做得好的范例,它的 description 明确限定在优秀成品上,拆不了搞砸的。
  • 急性情绪:刚跟人吵完、刚被否、正在崩、团队内耗正在气头上。第六节那两条是半小时起步的长程自我探索,接不住这种,而且你还调不动。慢性的那种不算在内:一直觉得没意思、想换个活法、说不上具体是哪件事闹的,那是第六节的活,去那节按时间朝向选。
  • 多项排序:手上五件事不知道先干哪件。steelman-both-sides 只吃两个选项,minimum-experiment 解验证不解排序。
  • 说服与表达:帮我把这个想法讲给老板、写成文档。这里全是输入侧。
  • 做还是不做的 0/1 决策:可以用钢人,但那要把「不做」当成一个正经选项来论证,先跟用户确认这个框架成不成立,别默认套上去。

还有两条也算对不上:用户给的信息不足以判断,先问一句最能定位的,别猜着指;用户只是想聊两句,那就聊,不要每句话都往 skill 上引。

指「动手」那节之前多一道确认:kaz-leader 和 kaz-neat-freak 会真的读代码库、真的改文件,风险等级跟这里其余那些只在纸上跑的不在一个量级。不确定就先问,别直接唤起。

一、问清问题

这是所有事情的第一环。用户还说不清自己要什么的时候,后面全是白干。

  • socratic-inquiry(苏格拉底式提问):用户的困惑是一团乱麻,或者他嘴上问的和心里想的明显不是一回事。一次只问一个问题,最多六问就收,最后交出一个准确、能接着动手的新问题。

  • matt-grilling(拷问):同样是拷问,但它不收。它把方案画成决策树,每轮把当前能问的一整排问题一起问完,用户回答后重算边界,直到每个分支都落地。

    分工看两件事:规模和耐受度。一团乱麻但就是一件事,用苏格拉底,六问之内出结果。要开工的方案、要定的架构、每个分支都不能留暗坑,用 grilling,它会问很久。用户明确表达过嫌烦,就别给他 grilling。

  • matt-grill-me:grilling 的用户唤起版,你调不动,只能让用户自己敲 /matt-grill-me。

  • johari-window(乔哈里视窗):跟上面三条不同,它不解决某一个问题,是给整段协作定规矩。先判断信息落在开放区、隐藏区、盲区还是未知区,再选回应方式。可观测信号:用户抱怨的是你不问就猜、答不贴需求(「别猜我的需求」「你话太多」「先搞清楚再答」),或者明确要求把它挂在会话开头。用户抱怨的是某个具体问题没解决,那不是它,回上面三条去。

  • no-fluff-output(直给输出法):也是给整段协作定规矩,但方向不一样。乔哈里视窗管的是「你有没有先弄清楚我要什么」,这条管的是「你说话别绕」。可观测信号是用户嫌回答啰嗦、爱兜圈子、要你直接说重点、结尾总来一句客套话(「说重点」「别废话」「有话直说」「别来虚的」)。两条可以一起挂,信号都占就先挂 no-fluff-output,它不影响信息判断,只影响输出形状。

socratic-inquiry 和 steelman-both-sides 也经常被搞混。分工是:手上还没有答案,用问清问题这一节;已经有两个答案、不知道选哪个,去第四节。

二、学习

面对陌生的东西,几种需求几条路。按用户说的那句话对号入座:

  • 这个概念我完全听不懂 → 有两条路。别猜他心里想要什么,看他的原话里有没有这两个可观测信号:
    • 失败记录:他说过「看了几遍还是不懂」「别人解释过我没听懂」这类话吗?说过 → parable(寓言故事)。直接解释已经失败过,再来一次大概率还是失败,绕着讲:写一则不点破概念的寓言,结尾才给解析和两道检验题。
    • 伴随的具体任务:这个概念是贴着他正在干的活冒出来的(贴着代码问、贴着文档问、下一步就要用)吗?是 → two-layer-explain(双层解释法)。他要的是马上能用的理解,小白版加专业版加术语对照,最快。
    • 两个信号都没有(就是随口问一个新词)→ 默认 two-layer-explain,短,错了损失小。
    • 两个信号同时出现(看了几遍还是没懂,而且明天就要用)→ 失败记录优先,先 parable。直接解释已经失败过一次了,再来一次多半还是失败,得先用故事把直觉装进去。紧接着跑 two-layer-explain 把术语挂上。时间紧就把这两条连着跑完,别让用户等下一轮。顺序反过来就没有恍然大悟那一下了。
    • 用户要的是记住这个概念,不求真懂,或者就是无聊想让 AI 讲个有意思的故事,没有失败记录也不贴着任务 → memory-parable(记忆寓言法)。跟 parable 同一个思路的更轻量版,没有防套路清单,原文是英文,图个好玩顺手记住,别跟正经的 parable 抢。
  • 用户点名要「大图」「图文」「配图讲解」「一屏看懂」,或者要一个能打开的页面 → eli5(大图小字讲解法)。产出一个图占大头、字尽量少的 HTML 讲解页面。跟 two-layer-explain 的分工是:只要文字讲清楚就别给 eli5,走 two-layer-explain;要一张能一眼看懂的图才给 eli5。
  • 这个成品做得真好,我想学它 → reverse-teardown(反向拆解)。手上得有那个范例(页面、方案、流程、看板都行),它倒推哪些关键选择拉开了差距。
  • 我想系统研究这个领域 / 公司 / 技术 → horizontal-vertical-analysis(横纵分析法)。最重的一条,纵轴看它怎么走到今天,横轴看它跟对手差在哪。必须配深度研究或联网能力跑,否则出来的是记忆里的东西,不是研究。用户只是想先有个感觉、还没打算投入半小时,别给这条,给 parable。
  • 这份材料里的说法是真的吗 → fact-check(事实核查)。也要联网。它把说法拆成事实、推论、价值判断,分五档标注,再指出推理链上最关键的漏洞。

上面几条都是单次的:讲完、拆完、查完就结束。用户要的是真学下来,跨很多次会话、要留下课件和速查表、学完能考自己,那是 matt-teach(教),它把当前目录当成教学工作区,你调不动,让用户自己敲 /matt-teach。

分界线:这次听懂就行,给上面几条;要学成一门本事,给 matt-teach。

fact-check 不只查事实,别人的观点和方案也能拿它过一遍。但它的核查手段是联网:待核的东西是公司内部数据、私有文档这类网上查不到的,它只能帮着拆推理链,核不了事实本身,指之前把这句话说给用户。

三、解决问题

问题问清楚了,开始解。

每条的入口都是用户原话里看得见的信号,不用你猜问题的性质:

  • expert-panel(专家会诊):他的描述里已经同时出现两个以上领域的名词(法务加技术、医疗加产品、财务加运营),或者他自己点名要多视角、要会诊。只有一个领域的词,别硬凑专家团。关键在让三种视角互相质疑,真正的信息在分歧里。
  • first-principles(第一性原理):他的描述里有补丁史,比如改了好几版、越改越乱、历史原因、一直是这么干的。往下挖,拆回基本事实重新推。
  • cross-domain-borrow(跨领域借解):他说本行业的办法试过了没用,或者自己问出「别的行业怎么解决这个」。往外找。没试过本行业的常规解法就往外借,是瞎扩散。
  • inversion(逆向法):他说担心会失败、想提前排雷、做风险预案、问「什么会出错」「怎么才能搞砸」。它先列出 5 到 7 个保证失败的做法,按破坏力排序,再把每条翻转成必须遵守的规则。跟第一性原理互补:第一性原理从基本事实往上推,逆向法从失败往回推。用户还没有成型方案、只是在想怎么做,先去 first-principles;已经有方案、想知道它会怎么死但要的是别人来拆台,去 carl-idea-king;自己主动列出致命点、建防线,才是这条。
  • carl-idea-king(点子王):他手上已经有一个成型的方案(能贴出来的文档、计划、架构图)要被攻击。没有成型的东西就拆台,拆的是空气。跟第一节的 matt-grilling 按方案的成色分:方案还没定形、边界要一个个问出来,那是 matt-grilling;方案已经成型、要被打穿找死法,才是这条。用户说帮我看看这个 PR 或方案有没有坑,指的就是这条。别指 fact-check,那条核的是说法的真假,不审方案。
  • matt-diagnosing-bugs(诊断):东西已经坏了,报错、挂了、变慢、行为不对。它的纪律是先拿到一个能稳定复现的红灯(一条命令跑出来就是错的那种),再谈任何理论,修完带回归测试。注意它会真的读代码、跑命令、写测试,跟这节其他四条纸上谈兵的不一样,指之前跟用户说清。上面四条处理的是「方案该怎么定」,这条处理的是「现状为什么坏了」,别混。

first-principles 和 carl-idea-king 里那套第一性原理不冲突:前者是卡兹克那版纯提示语,用户自己读自己想;后者是把第一性原理和对抗式审查串成一套流程,Agent 自己跑完给结论。用户要的是想清楚,给前者;用户要的是被挑毛病,给后者。

四、决策

前面三节给的是思路和更多可能,但路多了要选一条。

  • steelman-both-sides(双向钢人论证):两个选项都有道理。它把两边都论证到最强,然后只问一个最可能改变结论的问题。
  • minimum-experiment(最小实验):继续想已经不会更清楚了。它找出最该验证的假设,设计一个低成本、可逆、七天内能做完的实验,最后给一个明天就能做的动作。

分界线很清楚:信息还没榨干,用钢人;信息榨干了还是选不出来,用最小实验。 用户如果已经反复纠结过很多轮,直接给最小实验,别再陪他做一轮论证。

五、动手

想清楚之后的两头:把活派出去,再把摊子收干净。这一节跟前面几节不同,这两条会真的去读代码库、真的去改文件。

  • kaz-leader(领导):用户想让 agent 自己跑几个小时到完成,需要一份写得对的目标任务书。它先进代码库实测,再问最多 5 个必须用户拍板的问题,产出一份能直接粘进目标模式的任务书。用户说要派活、要让 agent 自己跑、要写 goal 或 brief,就是它。

  • kaz-neat-freak(洁癖):活干完了,文档、CLAUDE.md/AGENTS.md、agent 记忆跟代码的真实状态对不上。它负责把这三样跟现实对齐,并审计规则到底有没有被执行。

    别被「收尾」两个字骗了。它自己的 description 明确拒绝这些:纯写代码/重构/调 bug 的收尾、整理数据或散文(JSON、周报、changelog)、以及没有项目知识语境的一句裸「整理」。用户说「我刚写完这个功能想收个尾」,多半指的是补测试、提 PR、清 TODO,那不是它,直接说这里没有对应的 skill。要它出场,用户得指向文档、规则文件或 agent 记忆跟代码对不上这件事。

    硬指令:用户只丢了「收尾」两个字,别猜,先反问一句,是文档和 agent 记忆要跟代码对齐,还是代码要补测试提 PR。答前者才唤起它,答后者就说这里没有。

跟第四节的接力关系:minimum-experiment 设计出实验之后,实验本身要交给 agent 跑,那就是 kaz-leader 接手。

六、认识你自己

不在上面那条线上,跟具体任务无关。两条都是长对话,动辄半小时以上,都只有用户亲口叫才出现。

这一节接的是慢性的那种:一直觉得没意思、想换个活法、说不上是哪件事闹的。刚吵完架、刚被否、正在崩这种急性情绪,回上面那节,这里接不住。

  • hidden-talent(挖掘隐藏天赋):往过去看,回答我身上到底有啥。从怪癖、缺点、嫉妒、无意识胜任区和能量模式里,把那些看起来毫无关系的经历拼成一份天赋说明书。
  • life-design(人生设计术):往未来看,回答我接下来还能往哪去。斯坦福人生设计方法,最后给三个完全不同、同样值得认真考虑的五年版本。

单选看用户那句话的时间朝向:句子在回望(「我一直」「从小」「我是不是没天赋」)→ hidden-talent;句子在张望(「接下来」「今后」「想换个活法」)→ life-design。一句话里两头都有,或者只有一句「觉得没意思」分不出朝向 → 先 hidden-talent,它的产出正好是 life-design 第三阶段要用的素材,反过来接不上。

选完哪条也只能让用户自己敲,你调不动。跑这两条之前提醒用户一句:答得越真实越具体,产出越有用,中途别跑。

跑完接哪条

一条跑完不等于事情完了。用户的下一句话落进哪种情况,就照这张表接下去。接力只看这张表,各节里不再散着写。表里带斜杠的是用户唤起的,你调不动,只能让用户自己敲。

这条 → 接哪条什么条件下
socratic-inquiry → 拿新问题重新对号问出来的新问题手上还没答案,去学习或解决那两节;已经有两个答案了,去 steelman-both-sides
two-layer-explain → 让用户敲 /matt-teach听懂之后他要的是真学成一门本事
two-layer-explain → parable听是听懂了,记不住
parable → two-layer-explain直觉有了,还得把术语挂上
memory-parable → two-layer-explain记住之后想搞懂原理
eli5 → two-layer-explain看完图想往深挖一层
eli5 → horizontal-vertical-analysis看完图想系统研究这个领域
reverse-teardown → kaz-leader拆出来的操作清单要派给 agent 干
horizontal-vertical-analysis → fact-check报告里有关键说法要核实
horizontal-vertical-analysis → steelman-both-sides研究完剩下两条路要选一条
fact-check → 到此为止核的是别人的说法,立不住就结束,别再往下接
fact-check → first-principles核的是自己的方案,立不住,得回去重新推
fact-check → steelman-both-sides两边的说法都站得住
expert-panel → steelman-both-sides会诊收敛成两个选项
expert-panel → minimum-experiment会诊之后只剩一个假设待验
first-principles → minimum-experiment新路径的验证第一步要落地
first-principles → carl-idea-king推出来的方案想先被拆一遍台
first-principles → inversion推出来的新路径想先列出所有致命点再上路
cross-domain-borrow → minimum-experiment借来的机制得先验一把再上
steelman-both-sides → minimum-experiment那个最关键的问题想不出答案
minimum-experiment → kaz-leader实验本身要交给 agent 去跑
inversion → kaz-leader规则清单出来了,方案站得住,开始派活
inversion → first-principles致命点太多,方案要推倒重来
carl-idea-king → kaz-leader方案扛住了拆台,开始派活
matt-diagnosing-bugs → kaz-neat-freak修完发现文档、规则文件和 agent 记忆跟代码对不上了
hidden-talent → 让用户敲 /life-design天赋说明书出来了,想接着往前看
life-design → steelman-both-sides三个奥德赛计划选不出来
life-design → minimum-experiment选出一个,想先小试一把

一条铁律

这个仓库里的东西全是老师们的原文,逐字保存。18 条提示语里,卡兹克那 13 条加其余 5 条(乔哈里视窗、记忆寓言法、直给输出法、大图小字讲解法、逆向法)在 sources/prompts.md,收录来的 7 个 skill 在 vendor/,两边各有一道逐字校验守着。

你唤起任何一条时,照那份原文做事,不要改写它、精简它、或者用你自己那套流程替换它。

评论

支持 Markdown