code-observer

- 本 Skill 用于:帮你更好地理解代码是怎么运行的,比传统断点调试更简单直观

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "code-observer" with this command: npx skills add ewanyuan/cox-coding/ewanyuan-cox-coding-code-observer

代码调试智能助手

任务目标

  • 本 Skill 用于:帮你更好地理解代码是怎么运行的,比传统断点调试更简单直观

  • 能力包含:

  • 告诉你代码的执行顺序,哪些函数被调用了

  • 找出代码运行慢的地方(哪些函数耗时多)

  • 帮你定位报错原因(哪里抛出了异常,异常是怎么传播的)

  • 给出具体的代码修改建议

  • 触发条件:当你说"观察代码运行情况"、"代码质量"、"优化代码"、"代码跑得慢"、"不知道哪里出错了"、"这个逻辑太复杂理不清楚"、"想看看代码是怎么执行的"等类似表达时

操作步骤

  1. 环境准备与数据获取

步骤 1.1:调试环境确认

  • 智能体询问开发者调试环境状态

  • 如果调试环境终端未打开,提供开启指导:

  • 打开应用终端的命令或操作步骤

  • 启动调试工具(可能叫dev-observability或类似名称)的具体配置

  • 等待开发者确认调试环境已就绪

步骤 1.2:查询数据存储位置

  • 在获取日志或指标信息前,必须先调用 skill-manager 技能查询调试工具(如dev-observability)的数据存储位置信息

  • 查询内容:

  • 日志文件(observability.log)的存储路径

  • 指标数据(metrics.prom)的存储路径(如果有)

  • 应用状态数据(app_status.json)的存储路径(如果有)

  • 项目数据(project_data.json)的存储路径(如果有)

  • 测试数据(test_metrics.json)的存储路径(如果有)

  • 根据查询结果获取实际的文件路径

步骤 1.3:获取观测数据

  • 智能体根据查询到的存储路径,读取以下数据文件:

  • 日志文件(从查询到的路径)

  • 指标数据(可选,从查询到的路径)

  • 应用状态数据(可选,从查询到的路径)

  • 项目数据(可选,从查询到的路径)

  • 测试数据(可选,从查询到的路径)

  1. 数据解析与分析

步骤 2.1:解析日志数据 调用 scripts/parse_logs.py 处理(使用从skill-manager查询到的实际路径):

python3 scripts/parse_logs.py --log-file <从skill-manager查询到的日志路径> --output ./parsed_logs.json

  • 提取执行路径信息

  • 识别函数调用与耗时

  • 定位异常抛出位置

步骤 2.2:解析指标数据(如果有) 调用 scripts/parse_prometheus.py 处理(使用从skill-manager查询到的实际路径):

python3 scripts/parse_prometheus.py --prom-file <从skill-manager查询到的metrics路径> --output ./parsed_metrics.json

步骤 2.3:分析多维数据(如果有) 调用对应的分析脚本(使用从skill-manager查询到的实际路径):

python3 scripts/analyze_app_status.py --input <从skill-manager查询到的app_status路径> --output ./app_analysis.json python3 scripts/analyze_project_data.py --input <从skill-manager查询到的project_data路径> --output ./project_analysis.json python3 scripts/analyze_test_metrics.py --input <从skill-manager查询到的test_metrics路径> --output ./test_analysis.json

  1. 全流程追踪报告生成

步骤 3.1:生成追踪报告 调用 scripts/generate_trace_report.py 生成全流程可视化追踪:

python3 scripts/generate_trace_report.py
--logs ./parsed_logs.json
--metrics ./parsed_metrics.json
--app-status ./app_analysis.json
--project-data ./project_analysis.json
--test-metrics ./test_analysis.json
--output ./trace_report.md

步骤 3.2:报告内容结构

  • 执行路径可视化:函数调用链与时间轴

  • 性能指标分析:耗时分布、瓶颈识别

  • 异常追踪:异常堆栈、触发路径、根因分析

  • 跨维度关联:项目/应用/测试状态关联分析

  1. 问题诊断与解决方案生成

步骤 4.1:智能体分析追踪报告

  • 识别性能瓶颈:高耗时函数、频繁调用的热点路径

  • 定位异常根因:异常传播路径、前置条件分析

  • 评估代码质量:复杂度、重复代码、潜在风险

步骤 4.2:生成解决方案

  • 针对性能问题:优化建议、缓存策略、并发处理方案

  • 针对异常问题:异常处理增强、边界条件检查、防御性编程

  • 针对架构问题:模块解耦、依赖优化、设计模式应用

步骤 4.3:代码修复建议

  • 提供具体的代码修改示例

  • 说明修改理由与预期效果

  • 给出测试验证建议

  1. 运行日志记录

步骤 5.1:数据完整性检查

  • 检查本技能所需的数据是否都能从调试工具(如dev-observability)获取:

  • 日志文件:是否存在且可读取

  • 指标数据:是否存在(可选)

  • 应用状态数据:是否存在(可选)

  • 项目数据:是否存在(可选)

  • 测试数据:是否存在(可选)

  • 评估数据质量问题:

  • 日志是否包含必要的信息(时间、级别、消息等)

  • 指标数据格式是否正确

  • JSON数据结构是否完整且有效

步骤 5.2:问题识别与记录(强制执行)

本技能依赖其他技能(如dev-observability)的输出文件进行代码分析

当发现以下情况时,必须调用 skill-manager 技能记录问题:

  • 依赖文件不存在:如dev-observability的observability.log文件不存在

  • 依赖文件不可读取:文件存在但无法读取(权限问题、文件损坏等)

  • 依赖文件格式不符合要求:文件存在但格式不符合本技能的解析要求

  • 依赖文件内容不完整:文件存在但缺少必需字段或数据

  • 依赖文件质量不满足需要:文件内容质量不足以支持有效的代码分析

  • 数据读取失败:尝试读取依赖文件时发生异常或错误

  • 数据解析失败:文件读取成功但解析时出现错误

  • 其他任何影响本技能正常执行的依赖问题

问题记录的重要性:

  • 本技能的执行依赖于其他技能的输出结果

  • 如果依赖文件不存在或不满足需要,本技能无法正常执行分析

  • 记录这些问题可以帮助改进依赖技能的数据输出

  • 为技能协作提供问题追踪和优化依据

步骤 5.3:问题记录格式(强制执行) 调用 skill-manager 时,必须严格按照以下JSON格式记录问题:

{ "level": "critical / high / medium / low", "message": "【问题现象】 【问题原因】 【问题影响】" }

格式说明:

level (必需):问题严重程度

  • critical :严重问题,完全阻塞技能执行(如关键依赖文件缺失)

  • high :高优先级问题,严重影响技能功能(如主要依赖文件格式错误)

  • medium :中等优先级问题,部分功能受影响(如可选依赖文件缺失)

  • low :低优先级问题,轻微影响(如部分数据不完整)

message (必需):问题描述,必须包含三个部分

  • 【问题现象】:具体描述发生了什么问题

  • 【问题原因】:分析问题产生的原因

  • 【问题影响】:说明问题对本技能执行的影响

格式示例:

{ "level": "critical", "message": "【没有 observability.log 文件】【dev-observability技能的中等方案(Web界面)不生成日志文件】【无法进行执行路径追踪,本技能无法正常工作】" }

{ "level": "medium", "message": "【metrics.prom 文件格式不正确】【缺少必要的 TYPE 注释行】【无法解析Prometheus指标,性能分析功能受限】" }

{ "level": "high", "message": "【observability.log 文件缺少 timestamp 字段】【日志输出配置不完整】【无法按时间顺序追踪代码执行路径,追踪报告不完整】" }

步骤 5.4:价值主张

  • 记录依赖技能(如dev-observability)的数据输出问题

  • 帮助改进依赖技能的数据质量和输出格式

  • 为技能协作提供问题追踪和持续优化机制

  • 确保本技能能够正常执行代码分析任务

步骤 5.5:技能优化点识别与建议(智能体处理)

智能体在分析发现的问题时,需要判断是否涉及技能的优化点:

判断标准:

  • 技能配置问题:问题涉及技能的配置信息(如 SKILL.md 缺少必要字段、version 字段缺失等)

  • 脚本问题:问题涉及技能的脚本输出(如日志格式不正确、数据字段缺失等)

  • 文档问题:问题涉及技能的说明文档(如描述不清、步骤不完整等)

  • 集成问题:问题涉及技能间的协作(如接口不兼容、数据格式不一致等)

优化点识别示例:

示例1:日志格式问题 → 技能优化点

  • 问题描述:observability.log 文件缺少 timestamp 字段

  • 优化点判断:涉及 dev-observability 技能的日志输出格式

  • 优化类型:脚本输出优化

  • 建议行动:调用 skill-evolution-driver 技能

示例2:配置缺失问题 → 技能优化点

  • 问题描述:dev-observability 的 SKILL.md 缺少 version 字段

  • 优化点判断:涉及技能配置信息

  • 优化类型:格式改进

  • 建议行动:调用 skill-evolution-driver 技能

示例3:数据质量问题 → 非技能优化点

  • 问题描述:测试覆盖率数据不完整

  • 优化点判断:属于用户数据问题,不涉及技能本身

  • 优化类型:数据完善

  • 建议行动:提醒用户补充数据

智能体响应流程:

分析发现的问题列表

  • 遍历步骤 5.2 记录的所有问题

  • 判断每个问题是否涉及技能优化点

识别技能优化点

  • 如果问题涉及技能配置、脚本输出、文档或协作

  • 标记为技能优化点

  • 记录涉及的技能名称和优化类型

询问用户 如果存在技能优化点,智能体应向用户询问:

在本次代码分析中,发现以下技能优化点:

  1. 技能:dev-observability
    • 优化类型:脚本输出优化
    • 问题:observability.log 文件缺少 timestamp 字段
    • 影响:无法按时间顺序追踪代码执行路径

是否需要调用 skill-evolution-driver 技能来处理这些优化点?(y/n)

处理用户选择

选择 y(是):

  • 调用 skill-evolution-driver 技能

  • 传递优化点列表(技能名称、优化类型、问题描述)

  • 等待 skill-evolution-driver 执行优化

选择 n(否):

  • 跳过优化点处理

  • 继续执行后续步骤(如生成追踪报告)

  • 建议用户后续可以手动调用 skill-evolution-driver

注意事项:

  • 优化点识别是智能体的分析判断,不是简单的关键词匹配

  • 需要结合问题上下文和技能知识进行判断

  • 如果不确定是否为技能优化点,可以咨询用户

  • 优化点识别不影响本技能的核心功能(代码分析)

资源索引

必要脚本

  • scripts/parse_logs.py :解析结构化日志,提取执行路径、函数调用与异常信息

  • scripts/parse_prometheus.py :解析Prometheus指标数据,提取性能指标

  • scripts/analyze_app_status.py :分析应用模块状态与完成率

  • scripts/analyze_project_data.py :分析项目迭代进度与任务状态

  • scripts/analyze_test_metrics.py :分析测试埋点与异常情况

  • scripts/generate_trace_report.py :整合多维数据,生成全流程可视化追踪报告

领域参考

  • references/log_format.md :日志格式规范与解析规则(读取时机:解析日志前)

  • references/prometheus_format.md :Prometheus指标格式规范(读取时机:解析指标前)

  • references/json_data_format.md :JSON数据格式规范(读取时机:分析JSON数据前)

  • references/trace_analysis_guide.md :追踪分析指南与方法论(读取时机:生成报告前)

输出资产

  • assets/trace_templates/execution_trace.md :执行追踪报告模板

  • assets/trace_templates/performance_metrics.md :性能指标报告模板

  • assets/trace_templates/error_analysis.md :异常分析报告模板

注意事项

  • 重要:在获取日志或指标信息前,必须先调用 skill-manager 技能查询调试工具(如dev-observability)的数据存储位置信息

  • 非常重要(强制执行):在执行过程中,如果发现依赖的输出文件不存在或不符合要求,必须按照步骤5.3的格式调用 skill-manager 技能记录问题

  • 强制执行规则:当依赖文件缺失、不可读、格式错误、内容不完整或质量不满足需要时,必须记录问题,不得跳过

  • 仅在需要时读取参考文档,保持上下文简洁

  • 技术性数据处理优先调用脚本(日志解析、指标提取、报告生成)

  • 问题分析与解决方案生成由智能体完成,充分利用其推理能力

  • 追踪报告采用Markdown格式,便于可视化展示与版本控制

  • 支持渐进式分析:可仅使用日志数据,也可融合多维数据提升分析深度

  • 所有数据文件的路径都必须从 skill-manager 查询调试工具获得

  • 问题记录必须严格按照步骤5.3的JSON格式,包含level和message字段

使用示例

示例 1:基础代码追踪

用户场景:"我想看看这个函数是怎么执行的,为什么这么慢" 执行方式:调用skill-manager查询 + 脚本 + 智能体分析 + 运行日志记录 关键步骤:

1. 调用skill-manager查询调试工具的日志存储路径

(通过智能体调用skill-manager完成)

2. 解析日志(使用查询到的实际路径)

python3 scripts/parse_logs.py --log-file <查询到的日志路径> --output ./parsed_logs.json

3. 生成追踪报告

python3 scripts/generate_trace_report.py --logs ./parsed_logs.json --output ./trace_report.md

4. 智能体分析报告并生成解决方案

5. 数据完整性检查与问题记录

如果发现问题,必须按照步骤5.3的格式调用skill-manager记录问题

示例 2:全面代码分析

用户场景:"帮我全面分析一下代码的运行情况,看看有没有性能问题或错误" 执行方式:调用skill-manager查询 + 全脚本 + 智能体深度分析 + 运行日志记录 关键步骤:

1. 调用skill-manager查询调试工具的所有数据文件存储路径

(通过智能体调用skill-manager完成)

2. 解析所有数据源(使用查询到的实际路径)

python3 scripts/parse_logs.py --log-file <查询到的日志路径> --output ./parsed_logs.json python3 scripts/parse_prometheus.py --prom-file <查询到的metrics路径> --output ./parsed_metrics.json python3 scripts/analyze_app_status.py --input <查询到的app_status路径> --output ./app_analysis.json python3 scripts/analyze_project_data.py --input <查询到的project_data路径> --output ./project_analysis.json python3 scripts/analyze_test_metrics.py --input <查询到的test_metrics路径> --output ./test_analysis.json

3. 生成全面分析报告

python3 scripts/generate_trace_report.py
--logs ./parsed_logs.json
--metrics ./parsed_metrics.json
--app-status ./app_analysis.json
--project-data ./project_analysis.json
--test-metrics ./test_analysis.json
--output ./trace_report.md

4. 智能体进行跨维度关联分析,生成综合解决方案

5. 数据完整性检查与问题记录

检查所有数据是否完整,如有缺失或格式问题,必须按照步骤5.3的格式调用skill-manager记录

示例 3:性能问题排查

用户场景:"代码运行太慢了,帮我找出哪里慢" 执行方式:调用skill-manager查询 + 脚本提取指标 + 智能体分析瓶颈 + 运行日志记录 关键要点:

  • 调用skill-manager查询调试工具的日志和metrics存储路径

  • 解析日志提取函数调用耗时(使用查询到的实际路径)

  • 分析指标数据识别高耗时操作(使用查询到的实际路径)

  • 智能体生成性能优化建议(缓存、并发、算法优化)

  • 检查数据完整性,如果数据缺失或格式错误,调用skill-manager记录问题

示例 4:错误定位

用户场景:"代码运行到一半就报错了,不知道哪里出问题" 执行方式:智能体分析 + skill-manager记录(强制) 关键要点:

  • 检查到日志文件缺失

  • 必须按照步骤5.3的格式调用 skill-manager 记录问题:

{ "level": "critical", "message": "【没有 observability.log 文件】【dev-observability技能的中等方案(Web界面)不生成日志文件】【无法进行执行路径追踪,本技能无法正常工作】" }

问题记录说明:

  • level : "critical" - 因为日志文件是本技能的关键依赖,缺失会完全阻塞技能执行

  • message : 包含【问题现象】【问题原因】【问题影响】三个部分,符合步骤5.3的格式要求

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

skill-evolution-driver

No summary provided by upstream source.

Repository SourceNeeds Review
General

skill-manager

No summary provided by upstream source.

Repository SourceNeeds Review
General

cox

No summary provided by upstream source.

Repository SourceNeeds Review