关于 board-support
面向 AI 的技能,可将指定开发板匹配到有来源依据的库存档案。它用于查询特定开发板的能力与风险,并将引脚分配或更广泛的硬件工作交由其他技能处理。
主要功能
- 01按库存解析开发板名称
- 02核对精确身份与变体
- 03查阅能力及引用来源
- 04保留未知项与来源缺口
- 05转交引脚及工作流请求
适用场景
- 01查询指定开发板的能力
- 02检查精确修订版的引脚风险
- 03核实框架兼容范围
- 04区分模块或开发板变体
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wedsamuel1230/ embedded-engineering-skills --skill board-support安装后在 Claude Code 中输入/board-support确认已加载。
详细介绍
板卡支持
这是面向 AI 的权威精确板卡参考和查询入口,用于查找仓库中有来源依据的板卡清单。它会将指定目标解析为一个精确配置,提取功能和风险,并将结果交给下游技能。它不取代 board-selection;后者负责根据项目需求选择或更换板卡。
首先阅读
- 阅读共享的 Arduino 技能契约。
- 阅读板卡清单和 AI 参考架构。
- 从
../../references/boards/中阅读匹配的 Markdown 配置文件及其事实到来源的映射。 - 仅当用户还要求 GPIO 分配或声明时,才加载
../pin-assignment/SKILL.md。 - 如果请求涉及接线、刷写、供电、测量、恢复或多会话工作,请先加载
../embedded-project-loop/SKILL.md。
对于仓库检出,请先使用确定性解析器,再解读配置文件:
python3 ../../scripts/resolve_board_profile.py \
--query "<board name>" --purpose lookup
对于这些建议路径,请使用 --purpose pin 或 --purpose electrical,并通过重复的 --identity FIELD=VALUE 选项传入已确认的值。解析器返回非零状态即为停止条件,不代表可以猜测。
索引是精简的检索入口。Markdown 配置文件是事实、注意事项和缺漏的详细事实来源。不要编造配置文件或其引用的主要来源中不存在的字段。
职责归属与路由
- 指定板卡查询、功能问题、配置文件检索、精确引脚风险检查、来源可信度问题以及框架兼容性检查,都从这里开始。
- 根据需求进行板卡选择、更换、权衡比较和生命周期选择,从
board-selection开始;它可以调用此技能获取事实。 - 涉及固件、电子设备、电源、网络或部署的综合工作,从
arduino-workflow-router开始;当需要解析指定板卡时,路由器会加载此技能。 - 引脚分配和原始声明格式属于
pin-assignment。
解析流程
-
记录板卡名称、确切修订版本、模块后缀、MCU、框架/核心、工具链、主机和请求的验证阶段。将缺失值标记为未知。
-
根据索引中的
id、name和aliases规范化用户提供的板卡名称。必须恰好匹配一项。产品系列名称、克隆板、载板或后缀不同的模块都不算精确匹配。 -
阅读匹配项的
identity_contract。如果其profile_type为bounded-variant-family,则在提供依赖该边界的建议前,确认请求中的variant以及required_for_pin_advice或required_for_electrical_advice中的每个字段。只有配置文件标记为共享的内容,才可作为通用事实报告;绝不能默默选定某个变体。 -
如果身份信息足够,阅读其 Markdown 配置文件,并返回精简的身份信息、逻辑电平、内存、总线、ADC/PWM/定时器功能、保留或有风险的引脚、框架/工具链边界、来源可信度以及未解决的缺口。
-
将 MCU 电气限制与板卡稳压器、连接器、GPIO 总数、无线电峰值或外部负载限制区分开来。保留
unknown、gap和verify声明,不要用系列板卡的假设来填补。 -
对于框架请求,记录确切的板卡包/核心、版本或提交、FQBN/PlatformIO 环境、库版本和上传工具。配置文件中的框架列表表示兼容范围,并不能证明构建已成功运行。
-
对于引脚请求,将以下信息传递给
pin-assignment:board_id: <index id> profile: <references/boards/*.md> resolution_status: <resolved | needs-disambiguation | unsupported | profile-gap> exact_identity: <board revision and module, or unknown> identity_contract: <profile_type, variant, and required fields> framework_core: <framework/core/version or unknown> logic_level: <value and source status> reserved_or_risky_pins: <input-only, strapping, flash/PSRAM, USB, debug, bus, LED> usable_capabilities: <ADC/PWM/UART/I2C/SPI/touch/PIO/etc.> unresolved: <gaps that block a safe assignment>pin-assignment必须在输出任何声明前重新检查精确的物理引脚。将逻辑 ID 与物理 GPIO 编号分开,并保留原始的有序constexpr int约定。
解析信封
请以这份精简记录开头,以便其他技能无需解析散文即可使用查找结果。当匹配到一个有限的系列,但缺少必需的变体、修订版、模块或框架字段时,使用 needs-disambiguation。当身份信息充分,但所请求的事实没有配置文件来源支持时,使用 profile-gap。
resolution_status: resolved | needs-disambiguation | unsupported | profile-gap
board_id: <index id or null>
profile: <references/boards/*.md or null>
matched_alias: <normalized user term or null>
identity:
profile_type: <exact-board | bounded-variant-family | null>
variant: <confirmed value or unknown>
revision: <confirmed value or unknown>
module_suffix: <confirmed value or unknown>
required_disambiguators: []
framework_core: <name/version or unknown>
evidence:
source_confidence: <index value or unknown>
checked: <YYYY-MM-DD or unknown>
physical_status: unverified
该信封是路由记录,不代表构建、上传、硬件、系统或部署声明。unsupported 表示没有匹配到已索引的配置文件;profile-gap 表示配置文件匹配成功,但所请求的事实没有来源支持。
有歧义和不受支持的目标
- 如果匹配到多个配置文件,请停止并询问所需的修订版、模块后缀、板卡照片、产品标识符或框架目标,以消除歧义。
- 如果没有匹配的配置文件,请说明
unsupported by the indexed board set,提供创建新配置文件所需的最少一手资料,并且不要根据类似板卡映射引脚。只有在确认其身份并取得来源后,board-selection才能进行比较。 - 对于克隆板和载板,仅将参考配置文件用于比较,并标明每项未经验证的板级假设。
输出约定
即使查找结果很简短,也要返回以下部分:
- 假设:准确的身份、未知信息,以及克隆板/修订版边界。
- 所需工具和版本:所请求路径所需的框架/核心、板卡软件包、工具链、主机和库版本。
- 实施步骤:按顺序说明查找、配置文件和下游交接。
- 测试和证据:来源/配置文件检查及证明阶段;分别标明实物、构建、上传、系统和部署阶段。
- 已知限制:不受支持的字段、来源缺口和修订版范围。
- 恢复和安全说明:目标设备已连接时,说明启动/USB/调试风险、回滚路径和机密处理要求。
防止牵强附会
| 捷径 | 必需的回应 |
|---|---|
| “它是 ESP32,所以引脚信息已知。” | 确认准确的系列、模块、DevKit 修订版和框架变体。 |
| “索引显示来源有据,所以每个值都已验证。” | 阅读配置文件的事实与来源映射,并保留明确标注的缺口。 |
| “类似的板卡有相同的排针。” | 停在身份边界;索取板卡的一手资料。 |
| “核心支持该板卡,所以它已成功编译。” | 仅报告兼容性范围;要求提供新鲜的构建证据。 |
| “引脚列表看起来安全。” | 重新检查启动、闪存/PSRAM、USB、总线、电压、上拉和电流限制。 |
| “系列配置文件匹配了,所以我可以选择它的变体。” | 返回 needs-disambiguation,并询问所需的变体或修订版。 |
| “解析信封显示已解决,所以硬件已验证。” | 在用户提供特定于板卡的证据前,保持 physical_status: unverified。 |
验证边界
来源查找和架构验证属于文档证据,不能证明接线、供电、刷写、运行行为、系统行为或现场部署。如果下一步需要进行实物操作,请使用共享的实物操作门控,并在继续前向用户提出一个具体问题。
关于假设、工具、实施步骤、证据、限制以及恢复/安全说明,请使用共享 Arduino 技能约定。