embedded-project-initializer
New嵌入式项目初始化编排器。将用户提供的芯片手册片段、硬件引脚配置、固件需求与项目规范整合,生成针对特定嵌入式项目的完整 Agent Skill(SKILL.md + references/)+ 可选的 Python 脚手架。触发条件:用户提及「初始化嵌入式项目」「生成嵌入式 Skill」「项目脚手架」「芯片选型+引脚规划生成」「板级 bring-up 初始化」等跨硬件+固件+架构的项目启动场景。若用户仅需分析单一芯片寄存器或引脚,改用 chip-skill 生成器。支持单程序和多程序(最多 10 个独立固件)项目。
Summary
md + references/) and optional Python scaffold.
- It supports both single-firmware and multi-firmware (up to 10 independent programs) projects, streamlining board bring-up and project setup for developers.
Overview
Embedded Project Initializer
操作说明:首次使用请阅读 references/usage-guide.md,涵盖安装、输入格式、产物说明、典型场景与常见问题。
职责
本 Skill 是嵌入式项目初始化的编排器。收到用户输入的硬件信息(芯片、引脚、外设)+ 固件需求(行为、协议栈、RTOS)+ 项目规范(架构、工具链、目录约定),产出:
| 产物 | 类型 | 说明 |
|---|---|---|
| 项目 Agent Skill | 目录 | SKILL.md + references/,给 Cursor/Claude 加载的板卡+固件知识库 |
| Python 脚手架 | 文件 | 可选,由 application.output: python_scaffold 触发 |
支持单程序(一个芯片一个固件)和多程序(多个独立固件通过 UART/I2C/SPI/BLE 等互连)两种模式。
何时使用本 Skill
- •用户说「帮我初始化一个 XXX 芯片的嵌入式项目」
- •用户粘贴引脚表 + 需求描述,希望生成项目级 Skill
- •用户希望从零搭建带硬件事实源的嵌入式开发者 Skill
- •不适用:仅分析单一寄存器、仅查手册片段(用 chip-skill 生成器)
五步工作流(多程序模式为六步)
步骤 0:判断项目类型(新增)
Agent 从用户自然语言中识别程序实体:
- 提取所有芯片型号和功能角色
- 判断单程序还是多程序
- 若是多程序,识别互连关系(接口类型、协议)
- 回显识别结果给用户确认
- 用户确认后,进入对应分支
多程序向导问题顺序(先拓扑后填充):
Q1: "这个产品由几个独立的固件程序组成?"
→ 1 个 → 走单程序流程(跳过 Q2-Q4)
→ N 个 → 列出已识别的程序清单让用户确认
Q2: "程序之间怎么通信的?"
→ 逐个询问 from→to 的接口和协议
→ 写入 interconnects[]
Q3-N: 对每个程序:
→ 芯片型号 + 封装
→ 核心功能简述
→ 关键外设概览
→ 工具链(与前面程序相同时复用)
→ 与哪些其他程序通信
确认信息后 → 生成骨架 manifest 回显 → 用户确认步骤 1:校验输入
- 加载 references/input-grading.md,检查用户输入是否覆盖 P0 必填项
- 单程序:检查 P0-1~P0-3 - 多程序:检查 P0-1~P0-5
- 若 P0 不全:输出「待补信息清单」(注明哪个程序缺哪些项)+ 可附带最小 SKILL.md 骨架
- 若 P0 齐全:继续步骤 2
步骤 2:抽取与确定范围
- 读取 references/input-template.yaml,将用户输入规范为
project_manifest - 将抽取结果回显给用户确认,未确认项标为
[待确认]
- 多程序时逐个程序回显,最后回显互连关系
- 读 references/modules-catalog.md,按 manifest 自动选取模块组合
- 读 references/scope-contract.md,生成五项范围约束草稿
- 多程序时按 scope-contract.md 的多程序模板生成
- 写入 `project-manifest.yaml`:将确认后的 manifest 写入产物目录根
步骤 3:生成产物
- 按 references/output-spec.md 产出全部文件
- 命名规则:
- 单程序:<芯片型号小写>-<项目名小写>/ - 多程序:<项目名小写>/(不含芯片前缀)
- 首先生成 `project-manifest.yaml`,再产出
references/scope.md,然后其他references/,最后写SKILL.md - 多程序时:
- references/pin-maps/、references/chip-summaries/ 按程序生成独立文件 - 生成 references/interconnects.md - 共享文档引用放入 docs/resources/
- 每个产出文件末尾自动追加
## 变更记录表格
步骤 4:校验产物
- 加载 references/modules-catalog.md 中 A5 校验模块规格
- 按 references/output-spec.md C 类校验层产出
references/validation-checklist.md - 逐项检查状态:
- P0 字段覆盖全 PASS → 产物完整,交付 - 任一 P0 FAIL → 退回步骤 2
- 多程序时额外校验:
- 每个程序的 P0 字段是否齐全 - interconnects 中的 name 是否都对应到 programs
增量更新(对话或脚本均可)
当用户基于已有项目 skill 提出更新需求时:
- 读取产物目录中的
project-manifest.yaml - 对比用户新需求,识别变更字段(可涉及单个或多个程序)
- 仅更新受影响文件的对应章节(非全量重生成)
- 保持不变章节的用户手动编辑
- 遇到冲突 → 输出冲突报告
- 更新完成为所有受影响文件追加 CHANGELOG 条目
核心约束
- •范围锁死:任何代码、寄存器、引脚复用只能来自用户材料或
scope.md中标记的 Assumptions;禁止从模型记忆中补充 - •P0 不全不填细节:缺料号、引脚源、需求行为中任一项,不得写入具体寄存器地址、复用表、外设实例编号
- •生成物可核对:每项 Evidence 须标注来源(用户哪段输入/哪页手册);无法追溯的标为「未提供」
- •SKILL.md 保持 <200 行:详细规范全在 references/ 中按需加载
References 索引
| 文件 | 用途 | 何时加载 |
|---|---|---|
| input-template.yaml | 统一 YAML 输入模板(支持单/多程序) | 步骤 2 解析用户输入时 |
| input-grading.md | P0/P1/P2 输入分级与校验 | 步骤 1 校验阶段 |
| scope-contract.md | 范围契约五要素生成规范(单/多程序) | 步骤 2 确定范围时 |
| modules-catalog.md | 硬件+应用模块库与选择逻辑 | 步骤 2 选模块时 |
| output-spec.md | 产物文件级模板(单/多程序) | 步骤 3 生成时 |
| schematic-parsing-guide.md | 原理图 PDF 自动提取指南 | 步骤 1-2 从原理图抽取引脚数据时 |
Install & Usage
mkdir -p .claude/agentsAdd the configuration to .claude/agents/embedded-project-initializer.md
@embedded-project-initializerUse Cases
Usage Examples
/embedded-project-initializer Initialize a project for STM32F407 with UART and I2C peripherals, using FreeRTOS.
I need to set up a multi-program project with an ESP32 as main controller and an nRF52840 for BLE, communicating over SPI. Generate the skill and scaffold.
Initialize an embedded project for ATSAMD21 with pin mapping and a Python test scaffold.
Security Audits
Frequently Asked Questions
What is embedded-project-initializer?
This skill orchestrates the initialization of embedded projects by integrating chip datasheet snippets, hardware pin configurations, firmware requirements, and project conventions into a complete Agent Skill (SKILL.md + references/) and optional Python scaffold. It supports both single-firmware and multi-firmware (up to 10 independent programs) projects, streamlining board bring-up and project setup for developers.
How to install embedded-project-initializer?
To install embedded-project-initializer: create the agents directory (mkdir -p .claude/agents), then add the config to .claude/agents/embedded-project-initializer.md. Finally, @embedded-project-initializer in Claude Code.
What is embedded-project-initializer best for?
embedded-project-initializer is a agent categorized under General. It is designed for: agent, python. Created by jaysonjh.
What can I use embedded-project-initializer for?
embedded-project-initializer is useful for: Initialize a new embedded project with a specific microcontroller, including pin assignments and peripheral configuration.; Generate a complete Agent Skill for a multi-firmware system where multiple chips communicate via UART, I2C, SPI, or BLE.; Create a project scaffold with Python scripts for testing and automation alongside the hardware knowledge base.; Convert a user-provided pin table and firmware requirements into a structured project manifest and skill directory.; Validate input completeness for embedded project initialization, prompting for missing mandatory fields.; Set up a board bring-up project from scratch, including toolchain selection and directory conventions..