Communitygithub.com

trace(追踪技能)

一个基于证据的追踪流程,在 Claude 内置的团队模式下协调多个竞争性的追踪假设。

trace(追踪技能) 是什么?

Trace 技能是一个证据驱动的、可复用的逻辑追踪工作流,专为回答复杂、模糊且因果关系密集的“为什么”问题而设计。它并非直接修复代码,而是通过系统性方法探索并验证多个竞争性的解释。该技能在 Claude 的内置团队模式下运行,由主节点(lead)自动生成三个默认的假设分支(代码路径、配置环境、测量方法),并为每个分支分配一个追踪工作节点(tracer worker)。每个工作节点负责为其分配的假设收集支持证据和反对证据,并对证据强度进行分级。随后,主节点会组织一个“反驳回合”(rebuttal round),让主导假设与最强的替代假设进行对抗,以检测收敛或分歧,最终输出一个包含排序假设、关键未知因素和最佳鉴别性探针的综合报告。该技能特别强调强证伪规则和显性下调排名机制,要求对每个假设尝试证伪,并能清晰解释某个假设被降级的明确原因,从而避免过早地产生确定性。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/trace

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Trace Skill(追踪技能)

当问题模糊、涉及因果和密集证据,且目标是解释为什么会观察到某个结果,而不是直接跳入修复或重写代码时,请使用此技能。

这是 tracer 代理之上的一层编排层。其目标是让追踪感觉像一个可复用的 OMC 操作车道:重述观察结果,生成竞争性解释,并行收集证据,对解释进行排序,并提出能最快消除不确定性的下一步探针。

好的入口案例

当问题具有以下特征时,使用 /oh-my-claudecode:trace:

  • 模糊
  • 因果性
  • 证据密集
  • 最好通过并行探索竞争性解释来回答

示例:

  • 运行时错误和回归问题
  • 性能/延迟/资源行为
  • 架构/事前分析/事后分析
  • 科学或实验结果追踪
  • 配置/路由/编排行为解释
  • “给定此输出,追溯可能的原因”

核心追踪契约

始终保留这些区分:

  1. 观察结果 —— 实际观察到的情况
  2. 假设 —— 竞争性解释
  3. 支持证据 —— 支持每个解释的内容
  4. 反对证据/差距 —— 与之相矛盾或仍然缺失的内容
  5. 当前最佳解释 —— 目前最可能的解释
  6. 关键未知因素 —— 使顶级解释之间保持分歧的缺失事实
  7. 鉴别性探针 —— 消除不确定性的最高价值下一步行动

不要退化为:

  • 一个通用的修复编码循环
  • 一个通用的调试器摘要
  • 工作节点输出的原始转储
  • 在证据不完整时虚假的确定性

证据强度层级

将证据视为分级的,而不是平面的。

从最强到最弱:

  1. 可控复现/直接实验/唯一定义性工件
  2. 具有严格溯源的主要源代码工件(追踪事件、日志、指标、基准输出、配置、git 历史、file:line 行为)
  3. 指向同一解释的多个独立来源
  4. 单源代码路径或行为推断
  5. 弱间接线索(时间、命名、堆栈顺序、与先前错误的相似性)
  6. 直觉/类比/推测

当存在更强的矛盾证据时,显式地降低主要依赖较低层级的假设的排名。

强证伪/否证规则

每次严肃的 /trace 运行都必须尝试证伪其最喜欢的解释。

对于每个顶级假设:

  • 收集支持它的证据
  • 收集反对它的证据
  • 说明它做出的独特预测
  • 说明哪些观察结果会很难与它协调一致
  • 确定能够将其与次优替代方案区分开来的最便宜探针

在以下情况下降低假设的排名:

  • 直接证据与之矛盾
  • 它仅通过添加新的未经验证的假设而存活
  • 与竞争对手相比,它没有做出独特的预测
  • 一个更强的替代方案以更少的假设解释了相同的事实
  • 其支持主要是间接的,而竞争对手拥有更强的证据层级

团队模式编排形态

在 /trace 中使用 Claude 内置团队模式。

主节点应:

  1. 精确重述观察到的结果或“为什么”问题
  2. 提取追踪目标
  3. 生成多个故意不同的候选假设
  4. 在团队模式下默认生成 3 个追踪分支
  5. 为每个分支分配一个追踪工作节点
  6. 指示每个追踪工作节点为其分支收集支持和反对的证据
  7. 在主导假设与最强的剩余替代方案之间运行一个 反驳回合
  8. 检测顶级分支是否真正不同,或者实际上收敛于同一个根本原因
  9. 将发现结果合并成一个排序的综合报告,包含明确的关键未知因素和鉴别性探针

重要提示:工作节点应追求故意不同的解释,而不是并行追求相同的解释。

V1 的默认假设分支

除非提示强烈建议更好的划分,否则使用以下 3 个默认分支:

  1. 代码路径/实现原因
  2. 配置/环境/编排原因
  3. 测量/工件/假设不匹配原因 —— 涵盖验证方法缺陷,不仅仅是系统缺陷。例如:验证查询在多个不同实体、租户、流或组之间重复使用单个维度键;比较过滤器的形状与模式粒度不匹配;或者假设目录或列名在未枚举的情况下跨运行时可移植。这包括多实体前提/关键假设不匹配。

对于分支 3,在升级之前需要先进行前提审计:枚举实体维度,并检查零行或不匹配结果是否来自于将单个键应用于多个实体,而不是系统缺陷;结果可能是验证方法的缺陷。

这些默认值故意设计得很宽泛,以便第一次切片可以在错误、性能、架构和实验追踪中工作。

强制性交叉检查视角

在初步证据传递之后,在相关时使用以下视角对领导者进行压力测试:

  • 系统视角 —— 队列、重试、背压、反馈循环、上游/下游依赖、边界失败、协调效应
  • 事前分析视角 —— 假设当前的最佳解释是不完整或错误的;以后什么故障模式会让追踪感到尴尬?
  • 科学视角 —— 控制、混杂因素、测量偏差、替代变量、可证伪预测

这些视角不是填充物。当它们能够揭示被遗漏的解释、隐藏的依赖或薄弱的推理时再使用它们。

工作节点契约

每个工作节点应该是一个 tracer 分支的所有者,而不是一个通用的执行器。

每个工作节点必须:

  • 完全拥有一个假设分支
  • 明确重述其分支假设
  • 收集支持该分支的证据
  • 收集反对该分支的证据
  • 对其案例背后的证据强度进行分级
  • 指出缺失的证据、失败的预测和剩余的不确定性
  • 命名该分支的关键未知因素
  • 推荐最佳的特定于分支的鉴别性探针
  • 除非明确指示,否则避免退化为实现

有用的证据来源包括:

  • 相关代码、测试、配置、文档、日志、输出和基准工件
  • 通过 trace_timeline 获取现有的追踪工件
  • 通过 trace_summary 获取现有的聚合追踪证据

推荐的工作节点返回结构:

  1. 分支
  2. 假设
  3. 支持证据
  4. 反对证据/差距
  5. 证据强度
  6. 关键未知因素
  7. 最佳鉴别性探针
  8. 置信度

主节点综合契约

最终的 /trace 答案应该是综合的,而不仅仅是拼接。

返回:

  1. 观察到的结果
  2. 排序后的假设
  3. 按假设的证据摘要
  4. 反对证据/缺失证据
  5. 反驳回合
  6. 收敛/分离说明
  7. 最可能的解释
  8. 关键未知因素
  9. 推荐的鉴别性探针
  10. 额外的追踪分支(可选,仅当不确定性仍然很高时)

即使一个解释目前占主导地位,也应保留排好序的候选列表。

反驳回合和收敛检测

在关闭追踪之前:

  • 让最强的非主导分支向当前领导者提出最佳反驳
  • 迫使领导者用证据而不是断言来回应反驳
  • 如果反驳实质上削弱了领导者,则重新排序表格
  • 如果两个“不同”的假设归结为相同的基础机制,则合并它们并明确说明
  • 如果两个假设仍然暗示不同的下一步探针,即使它们听起来相似,也要保持它们分开

不要仅仅因为多个工作节点使用了相似的语言就声称收敛。收敛需要满足以下条件之一:

  • 相同的根本因果机制,或者
  • 指向同一解释的独立证据流

显性下调排名指导

主节点应明确说明为什么某个假设被降级:

  • 被更强的证据反驳
  • 缺少其预测的观察结果
  • 需要额外的特设假设
  • 解释的事实少于领导者
  • 输掉了反驳回合
  • 收敛到一个更强的父解释中

这很重要,因为 /trace 应该教给读者为什么一个解释优于另一个,而不仅仅是呈现一个最终表格。

建议的主节点提示骨架

使用一个面向团队的编排提示,大致如下:

  1. “精确重述观察结果。”
  2. “生成 3 个故意不同的假设。”
  3. “使用 Claude 内置团队模式为每个假设创建一个追踪分支。”
  4. “对于每个分支,收集支持和反对的证据,对证据强度进行分级,并命名关键未知因素和最佳鉴别性探针。”
  5. “如果有用,对领导者应用系统、事前分析和科学视角。”
  6. “在最好的两个解释之间运行一个反驳回合。”
  7. “返回一个排序的解释表、收敛说明、关键未知因素和单个最佳鉴别性探针。”

输出质量标准

好的 /trace 输出是:

  • 以证据为基础的
  • 简洁但严谨
  • 对过早的确定性持怀疑态度
  • 明确的缺失证据
  • 关于下一步行动的实用性
  • 明确说明为什么较弱的解释被降级

示例最终综合格式

观察到的结果

[发生了什么]

排序后的假设

排名假设置信度证据强度为何领先
1...高/中/低强 / 中 / 弱...

按假设的证据摘要

  • 假设 1:...
  • 假设 2:...
  • 假设 3:...

反对证据/缺失证据

  • 假设 1:...
  • 假设 2:...
  • 假设 3:...

反驳回合

  • 对领导者的最佳反驳:...
  • 领导者为何维持/失败:...

收敛/分离说明

  • ...

最可能的解释

[当前最佳解释]

关键未知因素

[保持不确定性开放的唯一缺失事实]

推荐的鉴别性探针

[单个下一步探针]

额外的追踪分支

[仅当不确定性仍然很高时]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

agent-doc-discipline

Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and carrying a why, steps before reference, one meaning in one home, no restating what the environment already says. Mandatory at drydock seed generation and the launch C5 sediment pass; opt-in for any other agent-facing doc edit. The companion of minimal-code-discipline: that one disciplines code, this one disciplines papers.

ai-slop-cleaner

Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode

ask

Process-first advisor routing for Claude, Codex, Gemini, Antigravity, Grok, or Cursor via `omc ask`, with artifact capture and no raw CLI assembly

ask-navigator

Shipyard

autopilot

Full autonomous execution from idea to working code

autoresearch

Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior

cancel

Cancel any active OMC mode (autopilot, ralph, ultragoal, swarm, ultrapilot, pipeline, team) and clean up retired legacy state

configure-notifications

Configure notification integrations (Telegram, Discord, Slack) via natural language

debug

Diagnose the current OMC session or repo state using logs, traces, state, and focused reproduction

deepinit

Deep codebase initialization with hierarchical AGENTS.md documentation

deep-interview

Socratic deep interview with mathematical ambiguity gating before explicit execution approval

drydock

Lay the keel of the shipyard harness in any repo — the 4-pillar shared environment (Context, Rules, Tools, Standards) across 5 surfaces (CLAUDE.md, skills, design-system, mcp/cli, shared context) so that every human and agent inherits the same design language and anyone can ship. Run once per repo; re-run with --check to audit drift.

execute

Carry an approved task through to working, verified code

external-context

Invoke parallel document-specialist agents for external web searches and documentation lookup

graph

Deterministic orchestration graph runtime - declarative DAG pipelines with journal-based crash recovery

harbor

Harbor intake for external work — the captain only handles unresolved decisions. Sweeps incoming issues and PRs, verifies every claim before disposition, reuses every decision already made, and hands the maintainer a docket whose pending items each carry one question with options, recommendation, impact and evidence. Agent-autonomous for facts and for actions covered by standing authorization; signed for every new judgment. Never merges.

hud

Configure HUD display options (layout, presets, display elements)

launch

Shipyard

loft

Loft the shape before cutting steel — answer a design question that prose cannot settle by building a throwaway artifact: a pure logic module in a clickable shell, or structurally different UI variants behind one route. The captain reacts to the artifact; the answer folds into the decision; the artifact never docks. Use when a design question stalls in words, when a navigator map carries a loft ticket, or when a spec discussion reaches

minimal-code-discipline

YAGNI-ladder coding discipline for writing changes — existence-first, reuse before writing, dependency ladder, shortest correct diff, with non-negotiables that must never be minimized away

相关技能