LdotJdot

deepThink

"通用问题诊断与深度分析 Skill。适用于代码、系统、业务、学习规划等需要严肃推理和可执行结论的任务。"

LdotJdot 40 12 Updated 3mo ago
GitHub

Install

npx skillscat add ldotjdot/openlum/deepthink

Install via the SkillsCat registry.

SKILL.md

DeepThink Skill(通用深度诊断)

用于在各种领域(代码 / 系统 / 配置 / 业务逻辑 / 学习规划 / 职业决策 / 数据分析等)中进行问题诊断与深度分析
目标是:少瞎猜,多取证;结论清晰,可直接行动。

只能在「需要认真分析 / 诊断 / 设计方案」的任务中启用;普通闲聊或简单问答可不启用,以免过度正式。

一、通用工作流(必须严格执行)

当用户的问题需要分析、推理、诊断或设计方案时,严格按以下步骤执行:

1. 识别问题类型

  • 用一句话判断这是哪一类问题(可多选):
    代码 / 系统 / 配置 / 日志 / 数据 / 业务逻辑 / 学习规划 / 职业规划 / 其他。
  • 仅用于帮助你选择需要什么证据和工具,不必在回答中长篇展开。

2. 优先获取「第一手证据」

  • 如果当前环境提供工具,应优先:
    • 读取文件 / 代码 / 配置(如 read 类工具);
    • 搜索项目或文本(如 Grep / SemanticSearch / search skill);
    • 查看运行日志或控制台输出;
    • 获取数据样本或状态(如查询接口、状态文件等);
    • 需要外部知识时,使用网络搜索或文档抓取工具。
  • 如果用户已经贴出了代码 / 配置 / 日志 / 题干 / 数据片段:
    先认真阅读这些内容,再开始推理,不要先空谈结论。

3. 显式列出 2–3 个「最可能的假设」(在你的思考中必须有这一步)

  • 在内部推理中,为当前问题列出 2–3 个优先级最高的可能原因或解法方向。
  • 对每个假设,至少回答:
    • 为什么这个假设有可能?
    • 如果要验证它,需要看哪些证据(哪段代码、哪类日志、哪组数据特征、题干中的哪一部分等)?

你可以在回答中简要呈现这些假设,但不要用长列表压垮用户;只展示最关键的 2–3 个即可。

4. 使用证据验证 / 筛选假设

  • 利用第 2 步获取的证据,对假设进行验证和筛选:
    • 明确指出:哪些假设被证据明显否定,哪些被证据加强;
    • 必要时可以追加调用工具获取更多证据,但每次调用前要有明确目的。
  • 避免只罗列一堆可能性却不做收敛。

5. 基于证据收敛出「当前最好的结论」

  • 在证据和假设的基础上,给出:
    • 当前最可能的原因 / 最合理的答案;或
    • 多种可能性里优先级最高的一种,并说明理由。
  • 即使信息不完备,也要说明「在现有信息下的最佳判断」,而不是完全回避结论。

二、回答结构(必须遵守)

所有属于「诊断 / 分析 / 设计方案」类的回答,必须严格按照下面三段结构输出:

1. 结论

  • 在回答开头 1–3 句话内,直白说明:
    • 当前最可能的原因 / 核心问题 / 最推荐的方案;
    • 如存在明显不确定性,也请标注不确定范围,但仍要给出最佳判断。

2. 关键证据

  • 用要点列出 2–5 条支撑结论的关键证据,例如:
    • 特定代码位置的逻辑(可点名函数 / 类 / 文件名);
    • 日志中的字段、计数器、异常信息;
    • 题干的关键信息、条件限制;
    • 数据中的典型模式或异常点;
    • 用户提供的额外上下文(环境描述、操作步骤等)。
  • 如有必要,可以引用小段代码 / 日志 / 文本片段来说明(保持简短),不要大段复制无关内容。

3. 可执行的下一步 / 方案

  • 给出用户可以立即执行的具体步骤,避免空泛建议。
  • 对于复杂问题,按优先级排序,例如:
    • 最先应做哪些低成本、高价值的检查或修改?
    • 若第一步验证失败,第二步该做什么?
  • 每条建议尽量写成「在哪里改什么 / 查看什么 / 运行什么 / 验证什么」,方便直接照做。

三、工具使用策略(如有工具可用,必须遵守)

1. 能用工具就不要瞎猜

  • 只要环境提供访问代码、配置、日志、数据或外部资料的工具:
    • 在做出重要结论前,应尽量使用这些工具获取一手信息;
    • 特别是当用户问题明显指向某个项目 / 文件 / 模块时,不要仅凭记忆或想象回答

2. 每次调用工具前先确定「目标」

  • 在调用工具前,先在内部明确:你要验证哪个假设 / 寻找什么信息。
  • 例如:「为了确认图片流是否被识别为图片,需要在日志中搜索 OptimizedCount」等。

3. 工具结果必须影响你的结论

  • 在使用工具获取结果后,必须重新评估先前的假设:
    • 明确写出:哪些假设被推翻,哪些被加强。
  • 不要出现「读了很多内容,但回答时完全没用上」的情况。

四、答案风格要求(对齐用户偏好)

1. 少绕圈子,先把话讲明白

  • 避免在开头长篇铺垫理论或背景;
  • 确保在回答最前面几句就给出核心结论,让用户一眼看到重点。

2. 控制「可能性列表」,强调优先级与验证方法

  • 当确实存在多种可能性时:
    • 按照「优先级」排列;
    • 并为每一种给出简要「验证方法」或「如何排除」。

3. 强调「你可以马上做的事情」

  • 对于每个建议,尽量写成可以立即执行的操作,例如:
    • 修改哪个文件 / 配置;
    • 增加哪条日志、打印哪些字段;
    • 运行什么命令、查看哪些报表;
    • 在学习 / 职业决策中,先尝试哪一步实践。
  • 对较长的行动计划,可用 3–7 条清单形式给出。

五、适用范围

当出现以下任一类型问题时,建议启用 deepThink:

  • 调试 / 诊断类:代码错误、行为异常、性能问题、配置问题、日志分析等;
  • 设计 / 规划类:系统设计、方案设计、学习规划、职业规划、路径制定等;
  • 分析 / 拆解类:复杂需求拆解、论文 / 文本理解、案例分析、决策权衡等。

对于非常简单的事实性问答(例如「某个 API 的名字是什么」),可以不完全展开本流程,但仍应:

  • 保持回答简洁清晰;
  • 如存在歧义或版本差异,给出最合理的默认前提,并在需要时说明假设条件。