mcpField
B
board-support

board-support

github.com/wedsamuel1230其他2857 次安装2 周前更新
代码仓库

关于 board-support

面向 AI 的技能,可将指定开发板匹配到有来源依据的库存档案。它用于查询特定开发板的能力与风险,并将引脚分配或更广泛的硬件工作交由其他技能处理。

主要功能

  1. 01按库存解析开发板名称
  2. 02核对精确身份与变体
  3. 03查阅能力及引用来源
  4. 04保留未知项与来源缺口
  5. 05转交引脚及工作流请求

适用场景

  1. 01查询指定开发板的能力
  2. 02检查精确修订版的引脚风险
  3. 03核实框架兼容范围
  4. 04区分模块或开发板变体

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wedsamuel1230/embedded-engineering-skills --skill board-support

安装后在 Claude Code 中输入/board-support确认已加载。

详细介绍

板卡支持

这是面向 AI 的权威精确板卡参考和查询入口,用于查找仓库中有来源依据的板卡清单。它会将指定目标解析为一个精确配置,提取功能和风险,并将结果交给下游技能。它不取代 board-selection;后者负责根据项目需求选择或更换板卡。

首先阅读

  1. 阅读共享的 Arduino 技能契约。
  2. 阅读板卡清单和 AI 参考架构。
  3. 从 ../../references/boards/ 中阅读匹配的 Markdown 配置文件及其事实到来源的映射。
  4. 仅当用户还要求 GPIO 分配或声明时,才加载 ../pin-assignment/SKILL.md。
  5. 如果请求涉及接线、刷写、供电、测量、恢复或多会话工作,请先加载 ../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。

解析流程

  1. 记录板卡名称、确切修订版本、模块后缀、MCU、框架/核心、工具链、主机和请求的验证阶段。将缺失值标记为未知。

  2. 根据索引中的 id、name 和 aliases 规范化用户提供的板卡名称。必须恰好匹配一项。产品系列名称、克隆板、载板或后缀不同的模块都不算精确匹配。

  3. 阅读匹配项的 identity_contract。如果其 profile_type 为 bounded-variant-family,则在提供依赖该边界的建议前,确认请求中的 variant 以及 required_for_pin_advice 或 required_for_electrical_advice 中的每个字段。只有配置文件标记为共享的内容,才可作为通用事实报告;绝不能默默选定某个变体。

  4. 如果身份信息足够,阅读其 Markdown 配置文件,并返回精简的身份信息、逻辑电平、内存、总线、ADC/PWM/定时器功能、保留或有风险的引脚、框架/工具链边界、来源可信度以及未解决的缺口。

  5. 将 MCU 电气限制与板卡稳压器、连接器、GPIO 总数、无线电峰值或外部负载限制区分开来。保留 unknown、gap 和 verify 声明,不要用系列板卡的假设来填补。

  6. 对于框架请求,记录确切的板卡包/核心、版本或提交、FQBN/PlatformIO 环境、库版本和上传工具。配置文件中的框架列表表示兼容范围,并不能证明构建已成功运行。

  7. 对于引脚请求,将以下信息传递给 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 才能进行比较。
  • 对于克隆板和载板,仅将参考配置文件用于比较,并标明每项未经验证的板级假设。

输出约定

即使查找结果很简短,也要返回以下部分:

  1. 假设:准确的身份、未知信息,以及克隆板/修订版边界。
  2. 所需工具和版本:所请求路径所需的框架/核心、板卡软件包、工具链、主机和库版本。
  3. 实施步骤:按顺序说明查找、配置文件和下游交接。
  4. 测试和证据:来源/配置文件检查及证明阶段;分别标明实物、构建、上传、系统和部署阶段。
  5. 已知限制:不受支持的字段、来源缺口和修订版范围。
  6. 恢复和安全说明:目标设备已连接时,说明启动/USB/调试风险、回滚路径和机密处理要求。

防止牵强附会

捷径必需的回应
“它是 ESP32,所以引脚信息已知。”确认准确的系列、模块、DevKit 修订版和框架变体。
“索引显示来源有据,所以每个值都已验证。”阅读配置文件的事实与来源映射,并保留明确标注的缺口。
“类似的板卡有相同的排针。”停在身份边界;索取板卡的一手资料。
“核心支持该板卡,所以它已成功编译。”仅报告兼容性范围;要求提供新鲜的构建证据。
“引脚列表看起来安全。”重新检查启动、闪存/PSRAM、USB、总线、电压、上拉和电流限制。
“系列配置文件匹配了,所以我可以选择它的变体。”返回 needs-disambiguation,并询问所需的变体或修订版。
“解析信封显示已解决,所以硬件已验证。”在用户提供特定于板卡的证据前,保持 physical_status: unverified。

验证边界

来源查找和架构验证属于文档证据,不能证明接线、供电、刷写、运行行为、系统行为或现场部署。如果下一步需要进行实物操作,请使用共享的实物操作门控,并在继续前向用户提出一个具体问题。

关于假设、工具、实施步骤、证据、限制以及恢复/安全说明,请使用共享 Arduino 技能约定。

评论

支持 Markdown