Workflow
embeddedskills 的薄编排层,用于在当前 workspace 中发现工程、选择 build/flash/debug/observe 后端、串联 .embeddedskills/sta…
by zhinkgit · MIT
The skill
embeddedskills 的薄编排层,用于在当前 workspace 中发现工程、选择 build/flash/debug/observe 后端、串联 .embeddedskills/state.json,并聚合底层 skill 的结果。 当用户明确输入以下命令之一:"一键构建烧录"、"自动诊断"、"串起 build -> flash -> debug -> observe" 或显式调用 /workflow 时触发。
Workflow 编排层
本 skill 不重复实现底层逻辑,只做发现、选择、串联和聚合。
支持 Keil / GCC / EIDE 三种构建后端,以及 jlink / openocd / probe-rs 三种 flash/debug/observe 后端。
observe 阶段当前会给出 jlink:rtt、jlink:swo、openocd:semihosting、openocd:itm、probe-rs:rtt 这几类候选观测后端。
命令
python <skill-dir>/scripts/workflow_plan.py --json
python <skill-dir>/scripts/workflow_run.py plan --json
python <skill-dir>/scripts/workflow_run.py build --json
python <skill-dir>/scripts/workflow_run.py build-flash --json
python <skill-dir>/scripts/workflow_run.py build-debug --json
python <skill-dir>/scripts/workflow_run.py observe --json
python <skill-dir>/scripts/workflow_run.py diagnose --json
配置说明
workflow 不再维护独立的工程配置结构,所有工程参数统一从 .embeddedskills/config.json 读取。
配置结构
.embeddedskills/config.json 中的 workflow 段仅包含首选后端配置:
{
"workflow": {
"preferred_build": "auto",
"preferred_flash": "auto",
"preferred_debug": "auto",
"preferred_observe": "auto"
}
}
workflow 通过读取 .embeddedskills/config.json 中其他 skill 的配置段来获取工程参数(如 keil.project、eide.project、eide.config、jlink.device、probe-rs.chip 等)。
参数解析顺序
按以下决策树依次判断,命中即停止:
-
CLI 参数(优先级最高)
- 条件:用户在命令行传入
--build-backend、--flash-backend等参数 - 示例:
workflow_run.py build-flash --build-backend=keil --flash-backend=jlink --build-backend可选值:auto/keil/gcc/eide- 行为:直接使用该参数指定的后端,跳过后续步骤
- 条件:用户在命令行传入
-
配置文件(次优先)
- 条件:CLI 未指定,且
.embeddedskills/config.json的workflow段中对应preferred_*字段不为"auto" - 示例:
"preferred_build": "keil"→ 使用 keil 作为构建后端 - 行为:读取配置值并使用,跳过自动发现
- 条件:CLI 未指定,且
-
自动发现(兜底)
- 条件:CLI 未指定,且配置中
preferred_*为"auto"或字段缺失 - 示例:
"preferred_flash": "auto"→ 扫描 workspace 自动推断可用 flash 后端 - 行为:枚举候选后端列表;若唯一则直接使用,若多个则返回列表请用户确认
- 条件:CLI 未指定,且配置中
成功执行后,实际使用的后端会自动写回 .embeddedskills/config.json 的 workflow 段。
规则
- 发现多个工程或多个候选后端时,只返回候选列表,不自动猜测
- 构建、烧录、调试、观测之间优先通过
.embeddedskills/state.json串联 observe只生成推荐命令,不在 workflow 内直接长时间占用观测通道- 失败时优先返回哪个阶段失败,以及底层脚本的结构化错误
- workflow 与其他 Skill 的协同只通过
.embeddedskills/config.json、.embeddedskills/state.json和子进程调用底层 Skill
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: zhinkgit/workflow-42867937025.
Details
- Publisher
- zhinkgit
- Category
- Software Development › Misc
- License
- MIT
- Updated
- 2026-09-03
References
More from zhinkgit
- Can 嵌入式 CAN / CAN-FD 调试工具,用于扫描接口、监控报文、发送测试帧、记录日志、数据库文件解码和总线统计。 当用户提到 CAN、CAN-FD、DBC 解码、总线抓包、USB-CAN 联…
- Eide EIDE (Embedded IDE) 工程构建工具,用于扫描 .eide/eide.yml 工程、枚举构建 配置 (ConfigName)、执行 build/rebuild/clean 并解析…
- Gcc GCC 嵌入式工程构建工具(CMake + arm-none-eabi-gcc),用于扫描 CMake 型嵌入式工程、 列出预设、配置、编译、重建、清理和分析 ELF 大小。当用户提到 GCC、…
- Jlink J-Link 下载与在线调试工具,用于探测设备、烧录固件、读写内存、查看寄存器、复位目标、读取 RTT/SWO 日志, 以及在线调试(暂停/恢复/单步/断点运行/调用栈/变量查看)。 当用户提到…