Files
Codex-Engineering-Skills/.agents/skills/trace-code-flow/SKILL.md
T

2.7 KiB
Raw Blame History

name, description
name description
trace-code-flow 快速追踪用户指定功能从入口到输出的调用链、数据流、状态变化、单位和坐标系。只进行代码分析,不修改文件,仅在用户显式调用 $trace-code-flow 时使用。

追踪代码执行流程

快速分析指定功能在代码中的完整执行路径,只读检查代码,不修改任何文件。

分析范围

  1. 读取当前目录适用的 AGENTS.md
  2. 以用户指定的函数、类、接口、事件或功能为起点。
  3. 用户未指定目标时,先询问,不默认扫描整个项目。
  4. 只检查完成追踪所必需的文件。
  5. 跳过第三方依赖、编译产物、缓存、日志和自动生成文件。

追踪内容

重点追踪:

  • 功能入口和触发条件;
  • 上层调用者;
  • 实际执行的函数和实现类;
  • 参数和数据来源;
  • 中间的数据转换;
  • 条件分支和提前返回;
  • 对象字段、全局状态和缓存的变化;
  • 文件、数据库、网络、串口等外部交互;
  • 最终返回值、输出消息或执行结果;
  • 数值单位、坐标系、方向和角度约定。

分析原则

  • 优先依据当前代码,不根据函数名猜测行为。
  • 区分接口声明、具体实现和实际调用位置。
  • 遇到重载、继承、事件、委托、回调或依赖注入时,确认可能执行的实现。
  • 无法静态确认的动态路径标记为“运行时决定”。
  • 每项重要结论尽量标注文件路径、类名和方法名。
  • 不展开与目标无关的辅助函数。
  • 不运行耗时较长的完整构建或测试,除非用户明确要求。

单位和坐标系

发现数值传递时,检查:

  • 长度是 mcm 还是 mm
  • 速度是 m/skm/h 还是其他单位;
  • 角度是 rad 还是 deg
  • 时间是 sms 还是时间戳;
  • 坐标属于世界、地图、车辆、传感器或局部坐标系;
  • 是否存在缩放、归一化、符号取反或坐标变换。

代码不能确认时标记为“待确认”,不得自行推断。

输出格式

按照以下结构输出:

## 目标

功能、入口以及分析范围。

## 调用链

入口方法
→ 中间方法
→ 核心实现
→ 输出方法

每一步标注对应文件和符号。

## 数据流

| 阶段 | 输入 | 处理 | 输出 | 单位/坐标系 |
|---|---|---|---|---|

## 状态变化

| 位置 | 状态 | 变化 | 影响 |
|---|---|---|---|

没有状态变化时明确说明。

## 分支与异常路径

说明关键条件分支、提前返回、异常处理和失败结果。

## 最终输出

说明最终返回值、发送消息、文件写入或硬件指令。

## 待确认

列出无法通过静态代码确定的信息。