# Embed AI Tool

嵌入式开发技能集的总控入口。负责两类任务：(1) 用户请求安装本仓库 skill 时，引导选择全部或按需安装；(2)...

- Repository: https://github.com/LeoKemp223/embed-ai-tool (1055 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-08-20
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add LeoKemp223/embed-ai-tool --skill embed-ai-tool -g -a claude-code -y`
Codex: `npx skills add LeoKemp223/embed-ai-tool --skill embed-ai-tool -g -a codex -y`
Cursor: `npx skills add LeoKemp223/embed-ai-tool --skill embed-ai-tool -g -a cursor -y`
Gemini CLI: `npx skills add LeoKemp223/embed-ai-tool --skill embed-ai-tool -g -a gemini-cli -y`

## Description

嵌入式开发技能集的总控入口。负责两类任务：(1) 用户请求安装本仓库 skill 时，引导选择全部或按需安装；(2) 用户发出模糊指令（如"烧录"、"编译"、"调试"）且无法自动判断应使用哪个具体 skill 时，列出同分类下的候选 skill 供用户选择。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# embed-ai-tool 总控

本技能负责两类交互：**安装引导** 和 **指令消歧**。

> **缓存复用提示**：所有 build/flash 脚本启动时会自动复用工程根目录 `.em_skill.json` 中上次成功的 profile 作为默认参数（显式参数优先，**无需 agent 先手动传 `--resume`**）；`--resume` 仅用于断言缓存必须存在，无缓存则非零退出。新会话直接运行目标动作（`--build` / `--flash` 等）即可，缓存命中时参数自动补全。

---

## 一、安装引导

当用户请求安装本仓库的 skill 时，按以下流程引导。**不要跳过询问直接安装**，也不要替用户决定安装内容, , 先分析工程，再让用户选。

### 流程

1. **分析工程**, 探测当前工作区的工程特征（构建系统、工具链、探针、协议线索等），详见"工程分析项"
2. **呈现分析结果**, 把探测到的事实客观列给用户，未识别出的也要明确说明
3. **提供选项**, 基于分析结果给出可选安装方案（推荐集 / 全部 / 按分类 / 自定义），让用户选择，详见"提供的安装选项"
4. **执行安装**, 根据用户选择执行对应命令；用户可在推荐集基础上增删，不必重走流程

### 工程分析项

按工作区文件特征推断工程画像，规则优先级从高到低：

| 类别 | 文件特征 | 推断结论 | 关联 skill |
|------|----------|----------|-----------|
| 构建系统 | `*.uvprojx` / `*.uvproj` | Keil MDK | `build-keil` `flash-keil` |
| 构建系统 | `*.ewp` / `*.eww` | IAR EWARM | `build-iar` |
| 构建系统 | `platformio.ini` | PlatformIO | `build-platformio` `flash-platformio` `debug-platformio` |
| 构建系统 | `sdkconfig` + `components/` | ESP-IDF | `build-idf` `flash-idf` |
| 构建系统 | `CMakeLists.txt` + `*.cmake` | CMake | `build-cmake` |
| 构建系统 | `Makefile`（无 CMakeLists.txt） | Makefile | `build-makefile` |
| 工具链 | PATH 含 `arm-none-eabi-gcc` | ARM Cortex-M 目标 |, |
| 工具链 | PATH 含 `xtensa-esp32-elf-gcc` | ESP32 (Xtensa) 目标 |, |
| 工具链 | PATH 含 `riscv64-unknown-elf-gcc` | RISC-V 目标 |, |
| 调试器 | `.vscode/launch.json` 含 `openocd` | OpenOCD | `flash-openocd` `debug-gdb-openocd` |
| 调试器 | `*.jlink` 文件或 JLinkExe 在 PATH | J-Link | `flash-jlink` `debug-jlink` |
| 调试器 | `openocd.cfg` / `openocd.cfg.in` 存在 | OpenOCD 配置 | `flash-openocd` `debug-gdb-openocd` |
| 协议 | 源码含 `#include "modbus.h"` 或 `mb.h` | 使用 Modbus | `modbus-debug` |
| 协议 | 源码含 CAN HAL 驱动引用 | 使用 CAN 总线 | `can-debug` |
| 协议 | `main.c` 引用 `stdio` / UART 重定向 | 使用串口日志 | `serial-monitor` |
| 协议 | 源码含 `viOpen` / `viWrite` | 使用 SCPI 仪器 | `visa-debug` |
| RTOS | 源码含 `FreeRTOS.h` / `rtthread.h` / `zephyr.h` | 使用 RTOS | `rtos-debug` |
| 内存 | 工程能产出 `.map` / `.elf` | 可做内存分析 | `memory-analysis` |

The rest: https://github.com/LeoKemp223/embed-ai-tool/blob/HEAD//SKILL.md
