بنقرة واحدة
embedded-debug-workflow
当需要按“改代码、编译刷写、串口抓日志、可选 USB 触发、检查日志与回传”这一闭环流程联调整个嵌入式设备行为时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
当需要按“改代码、编译刷写、串口抓日志、可选 USB 触发、检查日志与回传”这一闭环流程联调整个嵌入式设备行为时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | embedded-debug-workflow |
| description | 当需要按“改代码、编译刷写、串口抓日志、可选 USB 触发、检查日志与回传”这一闭环流程联调整个嵌入式设备行为时使用。 |
强制:本 skill 提供编排脚本,配套 skill 各有独立工具。必须加载并调用对应 skill 的工具,禁止自行实现任何替代品。
$SKILL_ROOT = <本 skill 加载输出中 "Base directory for this skill:" 行的路径>
| 工具 | 路径 | 用途 |
|---|---|---|
| debug_orchestrator.py | $SKILL_ROOT/scripts/debug_orchestrator.py | 编排构建、刷写、串口、USB 触发全流程 |
| 步骤 | 应加载的 skill | 应调用的工具 |
|---|---|---|
| 刷写固件 | repo-firmware-flasher | $REPO_FIRMWARE_ROOT/scripts/repo_flash.py |
| 串口日志 | serial-log-debug | $SERIAL_LOG_ROOT/serial_tool.py |
| USB 触发 | repo-usb-communicator | $REPO_USB_ROOT/scripts/repo_usb_comm.py |
| 逻辑分析仪 | kingstvis-socket | $KINGSTVIS_ROOT/scripts/kingstvis_socket_client.py |
每步开始前,先 skill 加载对应配套 skill,从其加载输出的 Base directory 行提取该 skill 的根目录,再调用工具。
artifacts/,便于复盘。repo-firmware-flasherserial-log-debugrepo-usb-communicatorartifacts/.agents/cache/logic_timing_windows.csv。test_methodtest_filetest_casetrigger_modeio_mappingexpected_window_secactual_window_seccaptured_completetoo_shorttoo_longrecommended_next_window_secnotestest_method:测试手段,如 USB 指令、上电、按键、异常注入test_file:本轮对应的测试文件、脚本、固件模块或日志入口文件test_case:具体测试用例名expected_window_sec:抓取前预估窗口actual_window_sec:本轮实际配置窗口recommended_next_window_sec:复盘后建议下次同类测试默认采用的窗口.agents/cache/logic_timing_windows.csv 是否已有相同 test_method + test_file + test_case 的历史记录;若有,优先用其 recommended_next_window_sec 作为本轮初始窗口。.agents/cache/logic_timing_windows.csv,把本轮窗口是否过短、是否过长、以及下次建议窗口沉淀下来。| 测试手段 | 测试用例 | 触发方式 | 建议逻辑分析仪窗口 | 判定依据 |
|---|---|---|---|---|
| 仅启动日志联调 | 上电/复位后观察初始化打点 | 上电、复位、刷写后自动重启 | 1s ~ 3s | 需覆盖首条启动日志到最后一条初始化完成/失败日志 |
| USB 单条指令功能验证 | 单条命令触发一次完整业务流程 | 串口先开抓,再发 1 条 USB 指令 | 预期流程耗时 3 倍起步,且不少于 1s | CSV 起止沿需与串口中的“命令进入/流程结束”对齐 |
| 慢路径/超时路径验证 | 人为制造超时、重试、异常恢复 | 发 1 条触发指令或插入异常条件 | 超时时间 + 1s ~ 3s 余量 | 必须覆盖超时日志、恢复日志和最终结束沿 |
| 人工交互触发 | 按键、插拔、外设响应等非精确触发 | 先开串口和逻辑分析仪,再做人工动作 | 人工动作最长等待时间 + 3s | 要覆盖人工动作前后和设备真实响应完成点 |
| 连续多轮同用例复测 | 相同用例重复执行并只比较单轮时长 | 每轮严格串行触发 | 单轮完整流程时长 + 30% 余量 | 每轮都要单独留完整起止沿,禁止把多轮混成一段难以对齐的大窗口 |
表头说明:
测试手段:本轮采用的外部刺激或观测方式测试用例:要验证的具体路径,必须写到主路径/异常路径粒度触发方式:如何让设备进入该路径,要求能复现建议逻辑分析仪窗口:首次建议值,后续可根据真实串口日志和 CSV 微调判定依据:本类窗口是否足够的最低判断标准repo-firmware-flasher
serial-log-debug
kingstvis-socket
.agents/cache/logic_timing_windows.csv 中的历史窗口经验,再决定本轮初始抓取窗口repo-usb-communicator
debug-locate-assistant
scripts/debug_orchestrator.py
open -> status/read-new -> stop 的状态驱动模式wait-text、usb-after-text、stop-after-text 这类关键字驱动条件在声称本轮调试完成前,必须逐一核实以下项:
repo-firmware-flasher 提供的 scripts/repo_flash.pyserial-log-debug 提供的 serial_tool.pyrepo-usb-communicator 提供的 scripts/repo_usb_comm.pykingstvis-socket 提供的 scripts/kingstvis_socket_client.pyNew-Item/Set-Content/手写脚本替代repo-firmware-flasherserial-log-debugrepo-usb-communicator在当前会话里按已写好的实现计划顺序执行任务时使用
在已有规格或多步骤任务需求、且在动代码之前使用。若上游 ddev-pc-test 已产出测试用例,自动走 TDD 流程:先实现测试 demo 代码(红灯),再实现被测代码(绿灯),测试覆盖不到的部分直接开发。
文档审查技能。将文档审查任务派发给独立子代理,重点审查文档基于代码改动的合理性、说明正确性、前后一致性、错漏和逻辑谬误,以及 AI 实现过程中产生的决策记录(implementation-notes.md)。当用户需要审查技术文档、spec文档、设计文档、计划文档、API文档、README 或任何与代码改动相关的文档时使用。
代码修改场景下,spec 文档确认后,需要继续以图优先方式梳理结构体定义、数据流和流程时使用
在代码修改前需要编写 spec 文档且应优先用图表达边界、入口、流程和改动关系时使用(仅限代码改动场景,非项目级架构文档初始化)
在代码实现完成后、准备结束任务或进入发布前使用,用来核对代码实现是否与 spec 文档以及 detail 文档一致,并通过代码质量审查、清理、编码规范和注释审查后给出最终验收结论