关于 library-selection
用于评估和选择固件依赖库的技能,面向需要确认库与目标硬件、架构及开发框架兼容性的开发者。它涵盖版本与许可证核查、依赖和资源影响评估,以及编译和行为验证。
主要功能
- 01核查上游来源、版本和许可证
- 02评估架构与框架兼容性
- 03检查依赖、资源及硬件假设
- 04固定版本并记录选择依据
- 05通过编译与行为检查验证
适用场景
- 01为指定板卡和框架选择库
- 02评估库对内存和总线的影响
- 03验证依赖版本及运行行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wedsamuel1230/ embedded-engineering-skills --skill library-selection安装后在 Claude Code 中输入/library-selection确认已加载。
详细介绍
库选择
将库视为固件与硬件契约的一部分。某个热门软件包即使能在一种架构上编译,也可能在另一种架构上使用不兼容的引脚、定时器、内存、总线假设或 API。
收集信息
记录确切的开发板/模块、架构、Arduino 核心或厂商 SDK、编译器、工具链、所需 API、总线/引脚限制、内存预算、许可证边界、更新策略,以及设备是否联网或可在现场更新。
流程
- 查找上游源码、发布版本/标签、许可证、支持的架构和框架说明。优先查看主要代码仓库和最新发布说明。
- 比较候选库的 API 适配性、开发板变体、传递依赖、Flash/SRAM/堆占用、阻塞行为、并发性、总线/上拉假设,以及错误处理/恢复行为。
- 查看未解决的问题和维护情况,但不要将星标数或安装量视为兼容性证明。
- 选择一个固定版本,记录来源和理由,并说明不支持的开发板/框架分支。
- 运行最小编译测试,然后进行模拟或目标设备行为检查。
避免自我说服
| 走捷径的理由 | 应对方式 |
|---|---|
| “它的安装量很大。” | 验证架构、核心版本、API 和硬件契约。 |
| “最新版本最好。” | 阅读发布说明,检查兼容性、占用和回归历史。 |
| “I2C 扫描器找到了它。” | 测试库初始化、寄存器读取、时序和错误处理路径。 |
| “它在 AVR 上能用。” | 重新检查 ESP32/S3/Pico 架构、引脚、定时器和内存。 |
| “这个依赖只是辅助工具。” | 将传递代码纳入许可和安全审查。 |
验证
- 候选库对比包含来源、版本、架构和许可证。
- 最小编译输出注明确切的 FQBN/环境和依赖解析结果。
- 记录内存变化,以及一项运行时/模拟行为结果。
- 联网设备有依赖更新和机密信息处理计划。
共享输出契约
使用共享的 Arduino 技能契约:说明假设、所需工具及其版本、实现步骤、各验证阶段的测试/证据、已知限制,以及恢复/安全注意事项。
评论
支持 Markdown