adopt-c-bounds-safety について
C プロジェクトで `-fbounds-safety` を導入し、コードを変更する作業を支援するスキルです。提案や変更の前に、言語仕様と移行ガイドの確認を求めます。
主な機能
- 01`-fbounds-safety` の導入支援
- 02提案前の要件確認
- 03複数ファイル作業の事前計画
- 04関連ドキュメントの事前確認
活用シーン
- 01既存 C プロジェクトへの境界安全機能の導入
- 02コード変更前のポインター注釈の検討
- 03実行時の境界違反の調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tartinerlabs/ skills --skill adopt-c-bounds-safetyインストール後、Claude Code で/adopt-c-bounds-safetyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/adoption-strategies.mdbuild-settings.mdcommon-patterns-and-pitfalls.mdlanguage-overview.mdruntime-debugging.md詳細
このスキルの使い方
-fbounds-safety の導入やコードの変更を支援する際は、変更を提案する前に、ユーザーのコードベースと目標について確認の質問をしてください。複数のファイルにまたがる複雑なタスクや、注釈の判断が容易でないタスクでは、実装前にプランモードを使ってアプローチを提案してください。
-fbounds-safety 言語拡張
-fbounds-safety は、言語レベルで境界安全性を強制することで、範囲外のメモリアクセスを防ぐ C 言語拡張です。実行時に境界チェックを自動挿入し、コンパイル時に安全でないポインター操作を拒否します。また、コンパイラーが安全性を保証できるよう、プログラマーに境界注釈の指定を求めます。範囲外アクセスは、悪用可能な脆弱性ではなく、予測可能なトラップになります。
詳細なドキュメント
導入作業の前に必ず読むドキュメント
導入タスクの開始時に、次の 3 つのドキュメントを(Read ツールを使って)必ずすべて読んでください。また、導入ワークフローでソースを変更する前にも、アクティブなコンテキスト内で内容が最新であることを確実に確認できない限り、Read ツールを使って読み直してください。
- adoption-strategies.md — 既存の C プロジェクトに
-fbounds-safetyを導入するためのワークフロー(完全モードとヘッダーのみモード)。 - language-overview.md —
-fbounds-safetyの言語リファレンス:ポインターの種類、注釈、およびそれらを規定するルール。 - common-patterns-and-pitfalls.md — 実際の導入で遭遇する一般的なパターンとアンチパターン。
その他のリファレンス(必要に応じて読む)
コンパイラーフラグ、Xcode のビルド設定、ソフトトラップモード、ptrcheck.h の設定については、build-settings.md を読んでください。
実行時の境界違反のデバッグ(トラップの動作、LLDB コマンド、ワイドポインターの調査、ウォッチポイント、クラッシュログの分析、ソフトトラップのデバッグ)については、runtime-debugging.md を読んでください。