feat: add reusable engineering skill collection

This commit is contained in:
2026-08-15 23:24:17 +08:00
commit 480f5c321d
33 changed files with 2706 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
---
name: trace-code-flow
description: "快速追踪用户指定功能从入口到输出的调用链、数据流、状态变化、单位和坐标系。只进行代码分析,不修改文件,仅在用户显式调用 $trace-code-flow 时使用。"
---
# 追踪代码执行流程
快速分析指定功能在代码中的完整执行路径,只读检查代码,不修改任何文件。
## 分析范围
1. 读取当前目录适用的 `AGENTS.md`
2. 以用户指定的函数、类、接口、事件或功能为起点。
3. 用户未指定目标时,先询问,不默认扫描整个项目。
4. 只检查完成追踪所必需的文件。
5. 跳过第三方依赖、编译产物、缓存、日志和自动生成文件。
## 追踪内容
重点追踪:
- 功能入口和触发条件;
- 上层调用者;
- 实际执行的函数和实现类;
- 参数和数据来源;
- 中间的数据转换;
- 条件分支和提前返回;
- 对象字段、全局状态和缓存的变化;
- 文件、数据库、网络、串口等外部交互;
- 最终返回值、输出消息或执行结果;
- 数值单位、坐标系、方向和角度约定。
## 分析原则
- 优先依据当前代码,不根据函数名猜测行为。
- 区分接口声明、具体实现和实际调用位置。
- 遇到重载、继承、事件、委托、回调或依赖注入时,确认可能执行的实现。
- 无法静态确认的动态路径标记为“运行时决定”。
- 每项重要结论尽量标注文件路径、类名和方法名。
- 不展开与目标无关的辅助函数。
- 不运行耗时较长的完整构建或测试,除非用户明确要求。
## 单位和坐标系
发现数值传递时,检查:
- 长度是 `m``cm` 还是 `mm`
- 速度是 `m/s``km/h` 还是其他单位;
- 角度是 `rad` 还是 `deg`
- 时间是 `s``ms` 还是时间戳;
- 坐标属于世界、地图、车辆、传感器或局部坐标系;
- 是否存在缩放、归一化、符号取反或坐标变换。
代码不能确认时标记为“待确认”,不得自行推断。
## 输出格式
按照以下结构输出:
```markdown
## 目标
功能、入口以及分析范围。
## 调用链
入口方法
→ 中间方法
→ 核心实现
→ 输出方法
每一步标注对应文件和符号。
## 数据流
| 阶段 | 输入 | 处理 | 输出 | 单位/坐标系 |
|---|---|---|---|---|
## 状态变化
| 位置 | 状态 | 变化 | 影响 |
|---|---|---|---|
没有状态变化时明确说明。
## 分支与异常路径
说明关键条件分支、提前返回、异常处理和失败结果。
## 最终输出
说明最终返回值、发送消息、文件写入或硬件指令。
## 待确认
列出无法通过静态代码确定的信息。
```
@@ -0,0 +1,8 @@
interface:
display_name: "追踪代码流程"
short_description: "快速分析指定功能的调用链、数据流、状态和单位"
default_prompt: "使用 $trace-code-flow 追踪我指定功能从入口到最终输出的完整代码流程。"
policy:
allow_implicit_invocation: false