自动化与脚本
嵌入式项目需串联 build/flash/debug/obs…
在嵌入式工作区中,通过 /workflow 或一键命令串起构建、烧录、调试、观测,并按 CLI、配置、自动发现顺序选择后端时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
嵌入式项目需串联 build/flash特定
解决思路
- 将本技能作为 embeddedskills 的薄编排层:不重复实现底层逻辑,只做工程发现、后端选择、流程串联和结果聚合。
- 当用户明确输入 一键构建烧录、自动诊断、串起 build -> flash -> debug -> observe 之一,或显式调用 /workflow 时触发 workflow。
- 支持构建后端 Keil、GCC、EIDE,以及 flash/debug/observe 后端 jlink、openocd、probe-rs。
- 在 observe 阶段生成 jlink:rtt、jlink:swo、openocd:semihosting、openocd:itm、probe-rs:rtt 这几类候选观测后端。
- 使用参数提示 [plan|build|build-flash|build-debug|observe|diagnose] ...。
- 执行 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。
- 配置上不再维护独立的工程配置结构,所有工程参数统一从 .embeddedskills/config.json 读取。
- .embeddedskills/config.json 中的 workflow 段仅包含首选后端配置:preferred_build、preferred_flash、preferred_debug、preferred_observe,默认值可为 auto。
- 从 .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 未指定且配置中 preferred_* 为 auto 或字段缺失;示例为 preferred_flash 为 auto 时扫描工作区自动推断可用 flash 后端;行为是枚举候选后端列表,若唯一则直接使用,若多个则返回列表请用户确认。
- 成功执行后,将实际使用的后端自动写回 .embeddedskills/config.json 的 workflow 段。
- 发现多个工程或多个候选后端时,只返回候选列表,不自动猜测。
- 构建、烧录、调试、观测之间优先通过 .embeddedskills/state.json 串联。
- observe 只生成推荐命令,不在 workflow 内直接长时间占用观测通道。
- 失败时优先返回哪个阶段失败,以及底层脚本的结构化错误。
- workflow 与其他 Skill 的协同只通过 .embeddedskills/config.json、.embeddedskills/state.json 和子进程调用底层 Skill。
适用边界 · 注意事项
- 未安装或未配置 embeddedskills 及其底层技能、构建工具链或调试探针工具(Keil、GCC、EIDE、jlink、openocd、probe-rs),或缺少 .embeddedskills/config.json 时不适用。
- 只需要执行单一底层动作,不需要跨阶段编排、自动选择后端或聚合结果时,不必使用 workflow。
- 需要长时间占用观测通道进行 observe 时,不应让 workflow 内直接执行,应使用其生成的推荐命令。