一键导入
repo-firmware-flasher
当需要基于仓库代码推导刷写参数,并复用统一流程完成固件探测、分包或刷写时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
当需要基于仓库代码推导刷写参数,并复用统一流程完成固件探测、分包或刷写时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
在当前会话里按已写好的实现计划顺序执行任务时使用
在已有规格或多步骤任务需求、且在动代码之前使用。若上游 ddev-pc-test 已产出测试用例,自动走 TDD 流程:先实现测试 demo 代码(红灯),再实现被测代码(绿灯),测试覆盖不到的部分直接开发。
文档审查技能。将文档审查任务派发给独立子代理,重点审查文档基于代码改动的合理性、说明正确性、前后一致性、错漏和逻辑谬误,以及 AI 实现过程中产生的决策记录(implementation-notes.md)。当用户需要审查技术文档、spec文档、设计文档、计划文档、API文档、README 或任何与代码改动相关的文档时使用。
代码修改场景下,spec 文档确认后,需要继续以图优先方式梳理结构体定义、数据流和流程时使用
在代码修改前需要编写 spec 文档且应优先用图表达边界、入口、流程和改动关系时使用(仅限代码改动场景,非项目级架构文档初始化)
在代码实现完成后、准备结束任务或进入发布前使用,用来核对代码实现是否与 spec 文档以及 detail 文档一致,并通过代码质量审查、清理、编码规范和注释审查后给出最终验收结论
| name | repo-firmware-flasher |
| description | 当需要基于仓库代码推导刷写参数,并复用统一流程完成固件探测、分包或刷写时使用。 |
强制:本 skill 提供以下精确定义的工具,必须直接调用,禁止自行实现替代品。
$SKILL_ROOT = <本 skill 加载输出中 "Base directory for this skill:" 行的路径>
| 工具 | 路径 | 用途 |
|---|---|---|
| repo_flash.py | $SKILL_ROOT/scripts/repo_flash.py | 探测设备、检查固件、生成分包、真实刷写 |
| repo-firmware-flash-playbook.md | $SKILL_ROOT/references/repo-firmware-flash-playbook.md | 仓库信息定位方法和配置模板 |
执行固件刷写时,先提取 $SKILL_ROOT,再用 python "$SKILL_ROOT/scripts/repo_flash.py" ... 调用。
VID/PID、固件产物路径需要从代码中确认;协议参数(命令字、ACK 格式、分包规则等)直接从 playbook 配置模板取值,禁止逐段 grep 代码库搜索协议实现细节。配置文件中的参数分为两类,获取方式不同:
| 类别 | 参数 | 获取方式 |
|---|---|---|
| 项目特有 | vid、pid、firmware 产物路径、构建目标名 | 从仓库代码中搜索(搜 VID_/PID_ 宏、产物路径,搜到即停) |
| 协议内置 | command_prefix_hex、ack_prefix_hex、pack_length_command、ota_command、header_size、crc_type、chunk_size、ACK 帧长度/偏移/状态位 | 直接从 playbook 配置模板取值,playbook 中的默认值即为仓库已验证的协议参数 |
关键约束:协议内置参数的默认值已在仓库配套设备上验证通过。若当前目标使用相同协议栈,直接复用即可,不要重新 grep 代码库验证。仅当设备表现与模板默认值不匹配(如 ACK 长度不同、命令前缀变化)时,才需要针对性搜索差异点。
references/repo-firmware-flash-playbook.md,以其中的配置文件模板为起点。协议层参数(command_prefix_hex、ack_prefix_hex、pack_length_command、ota_command、header_size、crc_type、ACK 帧长度/偏移等)直接从模板取值,禁止逐段 grep/read 代码库搜索协议结构体或命令格式。vid、pid、firmware 产物路径、构建目标名,写入 .agents/cache/<目标名>_download.cfg。一次搜索定位到 VID/PID 宏定义和产物路径即停,不再搜索协议实现细节。scripts/repo_flash.py 执行统一流程:
probe:探测设备路径inspect-firmware:检查固件文件make-packets:按配置生成分包数据flash:真实下发serial-log-debug 先开串口抓取,再执行刷写。VID、PID、固件产物路径必须从仓库代码中确认,禁止凭空硬编码;协议命令字和 ACK 参数从 playbook 模板取值,不逐段搜索代码中的协议实现。.agents/cache/,文件名建议为 <目标名>_download.cfg。artifacts/。配置文件建议使用 INI 格式,至少覆盖这些信息:
vid、pid、transportfirmware、artifact_type、allow_rawchunk_sizecommand_prefix_hex、pack_length_command、ota_commandack_prefix_hex、ack_length、ack_offset_pos、ack_status_posquery_pack_length、query_response_lengthcrc_typereferences/repo-firmware-flash-playbook.md:仓库内信息定位方法、字段提取清单、配置文件模板。scripts/repo_flash.py:统一刷写脚本,从 .agents/cache/*.cfg 读取目标参数。