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 との適合性、ボードのバリエーション、推移的依存関係、フラッシュ/SRAM/ヒープへの影響、ブロッキング動作、並行処理、バス/プルアップに関する前提、エラー/復旧動作を比較します。
- オープンな課題やメンテナンス状況を示す情報を確認します。ただし、スター数やインストール数を互換性の証明とみなしてはいけません。
- バージョンを固定し、来歴と選定理由を記録して、サポート対象外のボード/フレームワークの分岐を文書化します。
- 最小限のコンパイル用フィクスチャを実行し、その後、シミュレーションまたは対象環境での動作を確認します。
不合理な判断の正当化を防ぐ
| 安易な判断 | 対応 |
|---|---|
| 「インストール数が多いです。」 | アーキテクチャ、コアのバージョン、API、ハードウェアの契約を確認します。 |
| 「最新バージョンが最適です。」 | リリースノート、互換性、フットプリント、リグレッションの履歴を確認します。 |
| 「I2C スキャナーで検出できました。」 | ライブラリの初期化、レジスターの読み取り、タイミング、エラー処理経路をテストします。 |
| 「AVR では動作しました。」 | ESP32/S3/Pico のアーキテクチャ、ピン、タイマー、メモリを再確認します。 |
| 「依存関係は単なるヘルパーです。」 | 推移的なコードも含め、ライセンスとセキュリティを確認します。 |
検証
- 候補の比較に、ソース、バージョン、アーキテクチャ、ライセンスが含まれています。
- 最小コンパイルの出力に、正確な FQBN/環境と依存関係の解決結果が示されています。
- メモリの差分と、ランタイムまたはシミュレーションでの動作確認結果を 1 件記録しています。
- 接続型デバイスには、依存関係の更新計画とシークレットの取り扱い計画があります。
共通の出力契約
共通の Arduino スキル契約を使用します。前提条件、必要なツールとバージョン、実装手順、検証段階ごとのテスト/証拠、既知の制限事項、復旧/セキュリティに関する注記を記載してください。
コメント
Markdown 対応