# Cognitive Ask

> 基于用户自己的认知文档回答问题，严格引用来源，标注置信度，暴露矛盾，识别知识空白。触发词：「基于我的文档」「根据我的想法」「我之前怎么想的」「我说过什么关于X」「我对X的看法是什么」「帮我回忆」「我的认知里怎么说」「我的框架里有没有」「从我的角度」「我如何看待」。

- **Type:** Skill
- **Install:** `agentstack add skill-tashangkd-tashan-cursor-skills-cognitive-ask`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [TashanGKD](https://agentstack.voostack.com/s/tashangkd)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [TashanGKD](https://github.com/TashanGKD)
- **Source:** https://github.com/TashanGKD/tashan-cursor-skills/tree/main/skills/cognitive-ask

## Install

```sh
agentstack add skill-tashangkd-tashan-cursor-skills-cognitive-ask
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 认知问答 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 图谱中已读文档的关系边  [章节/位置]：「原文摘录」
        · [文档名/碎片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个文档（避免过度扩展），知识图谱不可读时静默跳过

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [TashanGKD](https://github.com/TashanGKD)
- **Source:** [TashanGKD/tashan-cursor-skills](https://github.com/TashanGKD/tashan-cursor-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-tashangkd-tashan-cursor-skills-cognitive-ask
- Seller: https://agentstack.voostack.com/s/tashangkd
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
