Cognitive ask
他山 Cursor Skill 体系 — 95个Skills + 32个Rules + 18个SubAgents,让AI在执行任务时能自主判断、按规范执行、并从经验中自我进化
npx -y skills add TashanGKD/tashan-cursor-skills --skill cognitive-askAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 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.
What its author says it does
Copied from the file, not written here
基于用户自己的认知文档回答问题,严格引用来源,标注置信度,暴露矛盾,识别知识空白。触发词:「基于我的文档」「根据我的想法」「我之前怎么想的」「我说过什么关于X」「我对X的看法是什么」「帮我回忆」「我的认知里怎么说」「我的框架里有没有」「从我的角度」「我如何看待」。
SKILL.md
18.3 KB, as published. Nobody here has run it
认知问答 Skill(Cognitive Ask)
严格基于用户自己的认知文档(L0/L1/L1.5/L2)回答问题。 铁律:不引入外部观点,不补充用户没有说过的内容,只用用户自己的文字和思考。
知识导航表(执行前必须理解的概念根)
| 层级 | 文档 | 需要理解的概念 |
|---|---|---|
| D0 认知根(必读) | _内部总控/认知结构/L0_大脑总地图.md | 整个K-object体系的入口索引:各L1文档的主题/位置/版本;扫描找相关K-objects |
| D3 规范参考 | .cursor/rules/knowledge-integrity-rules.mdc(R2 NO_FABRICATION + R3 READ_FIRST) | R2:不引入用户文档中没有的观点;R3:先读相关文档再回答,不凭印象 |
| D4 运行时数据 | L0_大脑总地图.md + 根据问题确定的相关L1/L1.5/L2文档 | 先扫描L0找相关文档,再读相关文档后回答 |
核心概念速查: ① 只用用户自己的K-objects回答 = 禁止引入外部观点,禁止补充用户没有写过的内容 ② 引用必须说明来源:「在[文档名]§[章节]中提到…」——让用户能验证 ③ 知识空白 = 相关K-objects中找不到内容时,明确说「您的文档中未提及」,不自行推断
这个 Skill 解决的问题
用户在多处文档、多次对话中积累了大量思考,但:
- 某个话题在多个文档里都有提及,散落各处
- 不记得自己对某个问题的完整立场是什么
- 想知道自己的某个想法在整个思维体系里处于哪个位置
- 不确定自己是否已经想清楚了某个问题
激活后立即执行
Step 0 工作区路径探测(v2 Agent 兼容层)
认知库有两种可能的路径布局:
尝试读取:`docs/L0/大脑总地图.md`
IF 成功 → **v2 模式**:L0=docs/L0/ | L1=docs/L1/ | L1.5=docs/L1_5/ | L2=docs/L2/
ELSE 尝试:`_内部总控/认知结构/L0_大脑总地图.md`
IF 成功 → **Cursor 模式**:使用 _内部总控/认知结构/ 前缀(原路径不变)
IF 都失败 → 告知用户认知库路径未初始化,停止
确定路径模式后,所有后续步骤中路径自动替换。
下文中 [CL0] / [CL1] / [CL1.5] / [CL2] 分别代表对应层的实际路径前缀。
Step 1 理解问题
→ 用户的问题是什么?核心概念是什么?
→ 如果问题不清晰,追问一个最关键的问题(一次只问一个)
→ 明确问题后继续
Step 2 搜索文档(分层检索,从顶层到底层)
[Layer 1] L1.5 底层原则层(最先检索)
Read: [CL1.5]/底层原则库.md
→ 这个问题是否直接触及某个已确认原则(P1/P2等)?
→ 如果是,记录:「原则层有直接答案」
[Layer 2] L1 系统性文档(必须先读 L0,再系统覆盖相关聚类)
Step 2a:Read [CL0]/大脑总地图.md
→ 从 L0 提取所有聚类列表和已登记的 L1 文档名
Step 2a.5:全量文档索引(防止 L0 过时导致遗漏)
⚠️ L0 可能不包含最近新建的文档——必须执行本步骤补全。
执行 list_files([CL1]) 或等效的文件系统扫描
→ 获得 L1 目录下所有 .md 文件的完整列表
→ 与 Step 2a 从 L0 中提取的列表做 diff
→ 若发现「L0 未登记的文档」:加入待检索列表,标注「L0 未登记,来自文件系统扫描」
→ 记录:「L0 登记 N 篇,文件系统实际 M 篇,差异 K 篇」
→ 判断「问题是全局性问题还是聚焦性问题」:
【全局性问题判断标准】满足以下任一条件,即为全局性:
· 问题中包含「整体」「核心」「本质」「全部」「所有」「系统」「体系」
· 问题是「X是什么」「X有哪些观点」「X的关键是什么」形式
· 问题话题是一个跨文档的高层概念(无法被单个文档完整回答)
→ 全局性问题:**必须覆盖所有聚类(含 L0 未登记的),无例外**
【聚焦性问题】:用户明确指定了单一文档/聚类(如「[B]文档里说了什么」)
→ 聚焦性问题:可以限定在指定范围内
Step 2b:分两步读取每个 L1 文档(先结构,后内容)
对每个「待检索聚类」中的文档,执行以下两步:
**Step 2b-①(结构扫描,必须先做)**
Read 该文档的前 80 行(涵盖摘要 + 全部章节标题)
→ 提取所有 ## / ### 章节标题,构建「章节目录」
→ 根据用户问题的关键词,标记「高相关章节」(显式理由)
→ ⚠️ 不允许「凭直觉」跳过某个聚类——必须给出明确的跳过原因
**Step 2b-②(定向读取,基于 ① 的结论)**
只读被标记的「高相关章节」(不是整篇)
IF 文档整体相关性高(全局性问题 + 核心文档)→ 读全文
→ 记录:找到了哪些相关内容,在哪里,来自哪个聚类
Step 2c:知识图谱邻域扫描 + BM25 兜底(双轨并行)
**轨道 A:知识图谱邻域扫描**(优先,精度高)
认知科学依据:扩散激活(Collins & Loftus, 1975)——激活一个概念节点后,
激活沿关系边向邻近节点传播(priming effect)
Read: [CL0]/知识图谱_正式文档.md(或 _内部总控/认知结构/知识图谱_正式文档.md)
→ 找到 Step 2b 中已确定的「主要相关L1文档」在图谱中的节点
→ 获取该节点的全部关系边(出边+入边)
→ 按关系强度排序:depends(1.0) > extends(0.9) > cross_ref(0.7) > references(0.5)
→ 选取权重 ≥ 0.7 的邻居节点(Top-5,排除已在 Step 2b 读过的)
IF 邻居节点与当前问题高度相关(主题相似):
→ Read 该邻居文档的相关章节(每个最多读 300 字)
→ 记录:「从图谱邻域发现补充内容,来自 [文档名]([关系类型] 关系)」
**轨道 B:BM25 关键词兜底**(知识图谱缺失时,或作为补充验证)
触发条件:知识图谱文件不存在 OR 图谱中已读文档的关系边 < 3 条(稀疏图谱)
提取用户问题的关键词(中文字 + 英文词)
对 Step 2a.5 中 L0 未登记但存在于文件系统的文档:
→ 读取各文档前 200 字(标题+摘要),计算关键词命中数
→ 命中 ≥ 2 个关键词的文档:加入待检索列表,执行 Step 2b 两步读取
→ 记录:「BM25 兜底发现补充文档 [文档名],命中词:[词列表]」
⚠️ 约束:
- Step 2c 是「补充」步骤,不是「替代」Step 2b 的步骤
- 两轨道合计最多新增 3-5 个文档,避免检索范围无限扩展
- 图谱文件不可读时轨道A静默跳过,但轨道B必须执行
[Layer 3] L2 碎片层(以下两种情况必须执行,不允许跳过)
强制触发条件(满足任一即必须读 L2):
① L2 碎片整合索引中,有「🔲 待整合」碎片的关联L1文档与本问题相关
② 问题是全局性问题(已在 Step 2a 判断为全局性时,必须读 L2 补充 L1 之外的洞见)
⚠️ 不允许以「L1 已有足够内容」为理由跳过 L2 检索——L2 碎片常包含尚未整合进 L1 的新洞见
Read: _内部总控/认知结构/L2_碎片化思考/碎片整合索引.md
→ 搜索所有「🔲 待整合」碎片,找出与问题相关的条目
→ Read 相关碎片的内容
→ 标注:L2碎片的确认程度(confirmed / tentative / uncertain)
→ 在回答中注明:「以下来自 L2 碎片,尚未整合进 L1」
Step 3 综合分析
整理找到的所有相关内容,判断:
① 「清晰明确」:某文档/碎片有直接、完整的答案
② 「需要综合」:答案散落在多处,需要拼合
③ 「有矛盾」:不同文档/碎片对这个问题给出了有张力的答案
④ 「有空白」:文档只涉及了部分,有明显没有覆盖到的角度
⑤ 「完全空白」:认知库中没有覆盖这个问题
Step 4 生成回答(严格格式)
━━ 基于您的认知文档 ━━
【核心答案】
[直接回答问题,只用用户文档中的原话或紧密推论]
【来源(必须列出每一条依据)】
· [文档名/碎片ID] > [章节/位置]:「原文摘录」
· [文档名/碎片ID] > [章节/位置]:「原文摘录」
【置信度】
[🟢 高]:文档中有明确表述,直接引用
[🟡 中]:需要综合多处推论,可能有偏差
[🔴 低]:仅有碎片级别的提及,尚未系统化
【矛盾(如有)】
发现以下不一致:
· [文档A]说:「...」
· [碎片F-XXX]说:「...」
→ 这两处存在[直接冲突/隐式张力],尚未消解。
**若为🔴 致命冲突(两个结论直接互斥,任一成立另一必然错误)**:
⚠️ 致命矛盾——此矛盾未消解将影响本答案的可信度,强烈建议立即运行矛盾检测
[立即运行矛盾检测] [了解但暂不检测]
**若为🟡 隐式张力或🟢 轻微不一致**:
是否要现在运行矛盾检测?[是] [暂时不用]
【知识空白(如有)】
您的文档对以下角度尚未覆盖:
· [空白点1]:[一句话说明缺了什么]
· [空白点2]
是否要记录为待思考的碎片?[记录为碎片] [不用]
━━━━━━━━━━━━━━━━━━━━━━━━
Step 5 处理后续
→ 用户说「是」(运行矛盾检测)→ 触发 cognitive-detect-contradiction Skill
→ 用户说「记录为碎片」→ 触发 cognitive-capture-fragment Skill,预填充「待思考:[空白点]」
→ 用户有追问 → 继续在文档范围内回答(不引入外部内容)
→ 用户说「这块没想清楚」→ 询问「要运行 self-reflect(自我反思)来帮你想清楚吗?」
严格边界(铁律,不可突破)
✅ 可以做:
- 引用用户文档中的原话
- 综合多个文档/碎片的观点
- 指出文档间的矛盾
- 指出文档的覆盖空白
- 基于用户的L1.5原则推论(必须说明是推论)
❌ 不可以做:
- 用外部知识(学术文献、行业标准、其他人的观点)来补充答案
- 「根据一般来说...」「通常认为...」「理论上...」→ 禁止
- 在回答中不标注来源
- 把「用户没有说过」的内容放进【核心答案】里
- 把置信度标为🟢,但答案里其实包含了AI的推论
特殊情况处理
情况1:完全空白 「您的认知文档中没有覆盖「[问题话题]」这个问题。 这是一个认知空白——意味着您可能: · 还没想过这个问题 · 想过但没有记录 建议:[记录为「待思考」碎片] [现在用self-reflect来想一想] [不处理]」
情况2:问题跨越多个L1文档,需要大量阅读 「这个问题涉及多个文档([文档列表]),完整回答需要逐一读取。 我先给一个基于L0和L1.5的快速预答案,再深入检索。 [快速预答案内容] 现在深入检索更多细节...」
情况3:用户问的是「我有没有想过X」 「在您的文档中: · [文档A] 第X章 提到了相关概念:「...」 · [碎片F-XXX] 触及了这个话题:「...」 但没有系统性地专门讨论「X」。 覆盖程度:⚠️ 有提及但不完整」
情况4:用户问的是跟今日对话相关的内容(非文档内) 「您在本次对话中提到了「...」(但尚未写入文档)。 如果您希望基于已文档化的内容,当前文档里这部分的状态是:[...] 需要先把刚才的想法写入文档吗?[记录为碎片]」
变更记录
v1.1 — 2026-03-19 — Step 2 Layer 2 改为「先读 L0 系统聚类映射,再逐聚类检索」
根因:在「数字大脑有哪几个核心观点」的问答中,AI 凭直觉将问题映射到 [B][B'],跳过了 [PV](包含 LLM=算子、多粒子动力学)和 [B']§7(用户感知界面),导致回答严重不完整。根本原因是 Step 2 的「根据问题关键词,判断哪些L1文档最相关」是主观判断而非系统检索。
修改内容:
- 修改:Step 2 Layer 2 → 从「凭关键词直觉选文档」改为「先读L0提取聚类列表,逐一判断相关性,生成待读聚类列表,再检索」
- 新增约束:全局性概念默认覆盖所有聚类;不允许在没有明确理由的情况下跳过某个聚类
验证结果:
- 正向验证:「数字大脑核心观点」类问题 → 应先从 L0 识别聚类1+2+4,主动读 [PV] 和研究文档
- 负向验证:「P1原则有哪些应用场景」类聚焦问题 → 仍可合理限定在1-2个聚类
验证状态:🔵 待验证(已有正式沙盘 SK-014)
v1.4 — 2026-03-22 — 致命矛盾强化触发提示(GAP-CS016-1 修复)
根因:scenario-sandbox-builder Phase 2 验证(CS-016沙盘)发现:cognitive-ask 的矛盾检测触发设计为统一的「是否运行?[是][暂时不用]」,对致命矛盾(两个结论直接互斥)与轻微张力处理方式相同,用户容易选「暂时不用」跳过,导致致命矛盾积压影响答案可信度。
修改内容:
- 修改:Step 4 矛盾展示格式 → 按矛盾严重程度区分:🔴 致命冲突使用「强烈建议立即运行」语气 +
[立即运行矛盾检测]触发词;🟡/🟢 保持原有「是否运行?[是][暂时不用]」 - 备份路径:
history/SKILL_v1.3_20260322_before_cs016.md
验证方法:发现🔴 致命矛盾时,Step 4 应输出「⚠️ 致命矛盾——强烈建议立即运行」而非普通询问 验证状态:🔵 待验证
v1.3 — 2026-03-19 — Layer 3 强制触发(SK-014 沙盘 + 新任务实证修复)
根因:新会话AI回答「数字大脑核心观点」时,找到6条L1观点后认为「已完整」,跳过L2检索,导致F-019(智能体演化框架)和F-020(层次与闭环关键词)等重要洞见缺失。「如L1没有完整答案时」是主观条件,不可靠。
修改内容:
- 修改:Layer 3 触发条件 → 从「如L1没有完整答案时」改为「两种强制触发情况:①有相关待整合碎片 / ②全局性问题」
- 新增:「不允许以L1已足够为理由跳过L2」的明确禁止语句
- 新增:L2碎片在回答中的标注要求
验证状态:🔵 待验证
v1.2 — 2026-03-19 — 全局性问题判断标准明确化(SK-014 沙盘残留风险修复)
根因:SK-014 沙盘分析发现 v1.1 残留风险:「全局性概念」的判断仍是 AI 主观决定,可能将「数字大脑」错判为「聚焦概念」而跳过全聚类覆盖。
修改内容:
- 修改:Step 2a → 在「全局性概念默认覆盖」的基础上,明确定义「全局性问题」的判断标准(含关键词列表 + 问题形式 + 跨文档特征),将主观判断改为客观标准
验证状态:🔵 待验证(已有正式沙盘 SK-014 覆盖)
注意事项
- 不要跳过"找不到"的情况:如果某个角度文档里没有,就明说,不要用自己的知识补全
- L2碎片要标注确认程度:确认程度「uncertain」的碎片,回答时要说「您有过这个想法,但标注为存疑」
- 综合推论要透明:如果是「A+B→C」的推论,要说「根据您文档中的A和B,可以推论出C,但您没有直接表述过C」
- 不要因为「显而易见」就省略来源
2026-03-23 — 新增 Step 0 / Step 2a.5 / Step 2b 两步读取 / Step 2c BM25 兜底(v2 兼容 + 遗漏修复)
根因:三处系统性遗漏: ① L0 可能过时(Step 2a 仅读 L0,文件系统里新建文档对 AI 不可见) ② Step 2b「定向读取章节」依赖 AI 猜测,章节针对性不足 ③ Step 2c 依赖知识图谱文件,v2 workspace 里该文件路径不同或不存在,导致邻域扫描静默跳过
修改内容:
- 新增:Step 0「工作区路径探测」——自动检测 v2/Cursor 两种路径布局,向后兼容
- 新增:Step 2a.5「全量文档索引」——file system 扫描,diff L0 登记 vs 实际文件,补充遗漏
- 改造:Step 2b → 两步读取(先扫标题结构 → 再定向读高相关章节),减少「凭直觉」的不确定性
- 改造:Step 2c → 双轨并行(轨道A知识图谱邻域扫描 + 轨道B BM25关键词兜底),图谱缺失时不丢失覆盖
验证方向:
- 正向:新建一篇 L1 文档但未更新 L0 → Step 2a.5 应发现它并加入检索
- 正向:v2 workspace(docs/ 布局)→ Step 0 应切换到 v2 路径
- 负向:图谱文件存在且关系边丰富 → 轨道 B 不触发,不增加不必要开销
2026-03-23 — 新增 Step 2c(知识图谱邻域扫描,启动效应实现)
认知科学依据:
- 扩散激活(Collins & Loftus, 1975):激活一个概念节点后,激活向相邻节点传播
- 启动效应(Priming):先前刺激无意识地激活相关概念,加速后续检索
- 文档系统等价:知识图谱关系边 = 语义网络关系强度
修改内容:
- 在 Step 2b(L1文档阅读)之后、Step [Layer 3](L2碎片)之前,插入 Step 2c
- Step 2c:读取知识图谱,找到已阅文档的邻居节点,按关系强度选取高相关邻居补充阅读
- 限制:最多新增2-3个文档(避免过度扩展),知识图谱不可读时静默跳过