mcpField
E
embed-ai-tool

embed-ai-tool

github.com/leokemp223開発1.0k173 回インストール10 週間前に更新
リポジトリ

embed-ai-tool について

組み込みプロジェクトに取り組むAIアシスタント向けのスキル管理役です。ワークスペースの特徴からスキルの選択と導入を案内し、曖昧な依頼はプロジェクトを判別するかユーザーに確認します。ビルド、書き込み、デバッグ、通信、分析、ワークフローを扱います。

主な機能

  1. 01ワークスペースを分析してスキルを提案
  2. 02推奨セット、分類、カスタム選択で導入
  3. 03プロジェクト判別による曖昧な依頼の解消
  4. 04ビルド、書き込み、デバッグ、通信に対応
  5. 05ビルド、書き込み、監視の手順を連携

活用シーン

  1. 01既存のMCUプロジェクトに適したスキルの選定
  2. 02ビルドシステムに対応するスキル構成の導入
  3. 03曖昧なビルドや書き込み依頼の振り分け
  4. 04ファームウェアのビルド、書き込み、監視の編成

MCP 対応

READMEにはMCPとの関係について記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/leokemp223/embed-ai-tool --skill embed-ai-tool

インストール後、Claude Code で/embed-ai-toolを入力して読み込まれたか確認します。

詳細

embed-ai-tool 総合コントローラー

このスキルは、インストールの案内 と 指示の曖昧さの解消 の2種類のやり取りを担当します。

キャッシュ再利用に関する注意:すべての build/flash スクリプトは起動時に、プロジェクトのルートディレクトリにある .em_skill.json 内の前回成功したプロファイルをデフォルト引数として自動的に再利用します(明示的な引数が優先されます。エージェントが事前に --resume を手動で渡す必要はありません)。--resume はキャッシュの存在を必須条件として検証する場合にのみ使用し、キャッシュがない場合はゼロ以外の終了コードで終了します。新しいセッションでは対象のアクション(--build / --flash など)を直接実行すればよく、キャッシュが見つかった場合は引数が自動補完されます。


一、インストールの案内

ユーザーからこのリポジトリのスキルのインストールを依頼された場合は、以下の手順に沿って案内します。質問を省略して直接インストールしないでください。また、インストール内容をユーザーに代わって決めず、まずプロジェクトを分析してからユーザーに選んでもらってください。

手順
  1. プロジェクトを分析する — 現在のワークスペースのプロジェクト特性(ビルドシステム、ツールチェーン、プローブ、プロトコルの手がかりなど)を検出します。詳しくは「プロジェクト分析項目」を参照してください。
  2. 分析結果を提示する — 検出した事実を客観的に列挙し、識別できなかった項目も明確に伝えます。
  3. 選択肢を提示する — 分析結果に基づいてインストール方法(推奨セット/すべて/分類別/カスタム)を提示し、ユーザーに選んでもらいます。詳しくは「提示するインストールオプション」を参照してください。
  4. インストールを実行する — ユーザーの選択に応じたコマンドを実行します。ユーザーは推奨セットをベースに追加・削除でき、手順をやり直す必要はありません。
プロジェクト分析項目

ワークスペース内のファイル特性からプロジェクトの概要を推定します。ルールの優先順位は高いものから順です。

カテゴリファイル特性推定結果関連スキル
ビルドシステム*.uvprojx / *.uvprojKeil MDKbuild-keil flash-keil
ビルドシステム*.ewp / *.ewwIAR EWARMbuild-iar
ビルドシステムplatformio.iniPlatformIObuild-platformio flash-platformio debug-platformio
ビルドシステムsdkconfig + components/ESP-IDFbuild-idf flash-idf
ビルドシステムCMakeLists.txt + *.cmakeCMakebuild-cmake
ビルドシステムMakefile(CMakeLists.txt がない場合)Makefilebuild-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 が含まれるOpenOCDflash-openocd debug-gdb-openocd
デバッガー*.jlink ファイルがある、または JLinkExe が PATH にあるJ-Linkflash-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

検出に失敗した場合:ワークスペースの特性が明確でない場合(C ファイルのみのプロジェクト、混在プロジェクト、空のディレクトリなど)は、「明確なプロジェクトタイプを識別できませんでした」とユーザーに伝え、「すべてインストール」または「カスタム」の選択を提案します。推奨セットを無理に勧めないでください。

推奨セットの対応表

識別したプロジェクトの概要に基づいて基本の推奨セットを提示します(ユーザーは追加・削除できます)。

プロジェクトタイプ基本の推奨セット
Keil MDKbuild-keil flash-keil serial-monitor debug-gdb-openocd workflow
IAR EWARMbuild-iar flash-openocd serial-monitor workflow
PlatformIObuild-platformio flash-platformio debug-platformio serial-monitor workflow
ESP-IDFbuild-idf flash-idf serial-monitor debug-gdb-openocd workflow
CMakebuild-cmake flash-openocd debug-gdb-openocd serial-monitor workflow
Makefilebuild-makefile flash-openocd serial-monitor workflow

基本セットを出発点として、「プロジェクト分析項目」で検出したプロトコルの手がかりに応じて追加します。

  • RTOS が検出された場合 → rtos-debug を追加
  • Modbus が検出された場合 → modbus-debug を追加
  • CAN が検出された場合 → can-debug を追加
  • VISA / SCPI が検出された場合 → visa-debug を追加
  • プロジェクトから .map / .elf を生成できる場合 → memory-analysis を追加
提示するインストールオプション

分析が完了したら、ユーザーに4つの選択肢を提示します。

選択肢説明
A. 推奨セットプロジェクト分析に基づいて導き出した最小セット(通常5~8個)。これをベースに追加・削除できます。
B. すべてインストール24個すべてのスキルをインストールします。グローバルなツール利用や教育用途に適しています。
C. 分類ごとに選択6つの分類について順に質問し、各分類で全選択、スキップ、または一部選択ができます(詳しくは「分類ごとの選択手順」を参照してください)。
D. カスタムユーザーがスキル名または番号を直接入力し、自由に組み合わせます。

ユーザーが A を選んだ後でも、内容を調整できます(例:「modbus-debug を追加して」)。手順を最初からやり直さないでください。

分类逐一勾选流程

用户选 C 后,按 6 个分类顺序逐一询问。每个分类独立交互,用户可全选、跳过或勾选部分。基于工程分析预先勾选推荐项,降低决策成本。

分类顺序与内容:

序号分类包含 skill(数量)默认勾选规则(基于工程分析)
1构建build-cmake / build-keil / build-iar / build-platformio / build-idf / build-makefile(6)勾选识别到的构建系统对应项,其余不勾
2烧录flash-keil / flash-openocd / flash-platformio / flash-idf / flash-jlink(5)勾选识别到的探针 / 工具链对应项
3调试debug-gdb-openocd / debug-jlink / debug-platformio / rtos-debug(4)勾选识别到的调试器对应项;检测到 RTOS 时勾 rtos-debug
4通信serial-monitor / serial-shell / modbus-debug / can-debug / visa-debug / logic-analyzer(6)默认勾 serial-monitor;按协议线索勾 modbus / can / visa / logic-analyzer
5分析memory-analysis / static-analysis(2)工程能产 .map / .elf 时勾 memory-analysis
6编排workflow(1)默认勾选

单次分类询问格式:

[2/6] 烧录(5 个 skill):

   ✅ 1. flash-openocd    — OpenOCD 烧录(识别到 .vscode/launch.json)
   ☐  2. flash-keil       — Keil MDK 烧录
   ☐  3. flash-jlink      — SEGGER J-Link 烧录
   ☐  4. flash-platformio — PlatformIO 上传
   ☐  5. flash-idf        — ESP-IDF 串口烧录

   操作:回车确认默认 / 输入编号增删(如 +3 -1)/ "全选" / "跳过"

👤 +3

🤖 [3/6] 调试(4 个 skill):
   ...

完成所有分类后:汇总最终选定的 skill 列表,让用户确认或微调,然后执行安装。

如果用户对某个分类无任何勾选且工程分析也没识别到,应主动确认"跳过 X 分类?"避免遗漏关键能力(比如构建和烧录通常必须)。

安装示例
👤 帮我安装 embed-ai-tool 的 skill

🤖 正在分析当前工程...

   检测到工程特征:
   • 构建系统:CMake(CMakeLists.txt)
   • 目标架构:ARM Cortex-M(PATH 含 arm-none-eabi-gcc)
   • 调试器配置:OpenOCD + ST-Link(.vscode/launch.json)
   • 协议线索:UART stdio 重定向(main.c)
   • RTOS:未检测到

   可选安装方案:

   A. 推荐集(6 个)— build-cmake / flash-openocd / debug-gdb-openocd / serial-monitor / memory-analysis / workflow
   B. 全部安装(24 个)
   C. 按分类逐一勾选(6 个分类顺序询问)
   D. 自定义(输入 skill 名或编号)

   请选择(A / B / C / D):

👤 A,再加个 rtos-debug

🤖 安装:build-cmake / flash-openocd / debug-gdb-openocd / serial-monitor / memory-analysis / workflow / rtos-debug
   执行中...
可用技能列表

完整技能清单,用于"按分类选(C)"和"自定义(D)"时参考。推荐集(A)的子集由"工程分析项"和"推荐集映射"自动推导。

分类技能说明
构建build-cmake配置并构建基于 CMake 的 MCU 固件工程
构建build-keil配置并构建基于 Keil MDK 的固件工程
构建build-iar配置并构建基于 IAR EWARM 的固件工程
构建build-platformio配置并构建基于 PlatformIO 的固件工程
构建build-idf配置目标芯片并构建 ESP-IDF 固件工程
构建build-makefile配置并构建基于 Makefile 的固件工程
烧录flash-keil通过 Keil MDK 内置调试器烧录固件
烧录flash-openocd通过 OpenOCD 烧录 ELF/HEX/BIN 产物
烧录flash-platformio通过 PlatformIO 上传机制烧录固件
烧录flash-idf通过 ESP-IDF 工具链烧录固件并支持 JTAG 调试
烧录flash-jlink通过 SEGGER J-Link 烧录固件,支持 RTT 日志捕获
调试debug-gdb-openocd通过 OpenOCD 附着 GDB 调试
调试debug-jlink通过 J-Link GDB Server 在线调试和崩溃分析
调试debug-platformio通过 PlatformIO 内置 GDB 调试
调试rtos-debugFreeRTOS/RT-Thread/Zephyr 线程感知调试
通信serial-monitor串口选择与运行日志抓取
通信serial-shell串口交互式 Shell 会话与批量脚本执行
通信modbus-debugModbus RTU/TCP 寄存器读写与从站扫描
通信can-debugCAN 总线帧监听、发送和节点扫描
通信visa-debugVISA 仪器 SCPI 通信、波形捕获和截图
通信logic-analyzerSaleae 逻辑分析仪波形采集与 I2C/SPI/UART/CAN 解码
分析memory-analysis.map/ELF 内存使用报告与符号排名
分析static-analysiscppcheck/clang-tidy 静态分析,MISRA-C 合规
编排workflow串联编译+烧录+监控/调试的流水线
安装命令

优先使用 npx skills,若用户无 Node.js 环境改用 Python 脚本。

# npx 全部安装
npx skills add LeoKemp223/embed-ai-tool -g -y

# npx 按需安装
npx skills add LeoKemp223/embed-ai-tool --skill build-cmake --skill flash-openocd -g -y

# Python 全部安装
python3 /tmp/embed-ai-tool/scripts/install.py /path/to/project

# Python 按需安装
python3 /tmp/embed-ai-tool/scripts/install.py /path/to/project --skills build-cmake flash-openocd

二、指令消歧

当用户发出模糊指令(如"烧录"、"编译"、"调试")时,先尝试自动探测工程类型;若无法明确判断,必须列出候选 skill 让用户选择,不要自行假设。

消歧流程
用户输入模糊指令
    │
    ▼
自动探测工程类型
    │
    ├─ 唯一匹配 → 直接调用对应 skill
    │
    └─ 匹配多个或无法判断 → 列出候选 skill 供用户选择
自动探测规则

按工作区文件特征判断工程类型,规则优先级从高到低:

文件特征工程类型对应 skill
*.uvprojx / *.uvprojKeil MDKbuild-keil flash-keil
platformio.iniPlatformIObuild-platformio flash-platformio debug-platformio
sdkconfig + components/ESP-IDFbuild-idf flash-idf
CMakeLists.txt + *.cmakeCMakebuild-cmake
Makefile / makefile(无 CMakeLists.txt)Makefilebuild-makefile
.jlink 文件或 JLinkExe 在 PATHJ-Linkflash-jlink debug-jlink
.vscode/launch.json 含 openocdOpenOCDflash-openocd debug-gdb-openocd
以上均无未知必须询问用户
分类候选表

当自动探测无法唯一确定时,按用户指令所属分类展示候选 skill:

编译 / 构建:

技能适用场景
build-keilKeil MDK 工程(.uvprojx)
build-cmakeCMake 工程(CMakeLists.txt)
build-iarIAR EWARM 工程(.ewp)
build-platformioPlatformIO 工程(platformio.ini)
build-idfESP-IDF 工程(sdkconfig)
build-makefile裸 Makefile 工程

烧录 / 下载:

技能适用场景
flash-keilKeil 工程 + 内置调试器(ST-Link / J-Link / CMSIS-DAP)
flash-openocdOpenOCD 兼容探针(ST-Link / CMSIS-DAP / DAPLink)
flash-jlinkSEGGER J-Link 探针
flash-platformioPlatformIO 上传(串口 / JTAG / DFU)
flash-idfESP-IDF 工具链(ESP32 系列串口烧录)

调试:

技能适用场景
debug-gdb-openocdOpenOCD + GDB 调试
debug-jlinkJ-Link GDB Server 调试
debug-platformioPlatformIO 内置 GDB
rtos-debugRTOS 线程感知调试(FreeRTOS / RT-Thread / Zephyr)

通信 / 监控:

技能适用场景
serial-monitor串口日志抓取
modbus-debugModbus RTU/TCP 通信
can-debugCAN / CAN-FD 总线
visa-debugSCPI 仪器通信
示例交互
👤 烧录
🤖 当前工作区未检测到明确的烧录工具配置,请选择:
   1. flash-keil — Keil MDK 内置调试器烧录
   2. flash-openocd — OpenOCD 烧录(ST-Link / CMSIS-DAP)
   3. flash-jlink — SEGGER J-Link 烧录
   4. flash-platformio — PlatformIO 上传
   5. flash-idf — ESP-IDF 串口烧录
   请输入编号或 skill 名称:

👤 2
🤖 使用 flash-openocd,正在探测探针和固件产物...

安装后提示

安装完成后,告知用户:

  • 已安装的 skill 列表
  • 使用 /skill-name 调用具体 skill,例如 /build-cmake、/serial-monitor
  • 用自然语言描述需求即可触发对应 skill,例如"编译烧录"、"看串口"
  • 管理命令:npx skills ls -g(查看)、npx skills update -g(更新)、npx skills remove -g(移除)

コメント