Skills · Claude Code · Agent Skills
既存の C を脆弱性にしない。交渉の余地はありません。
既存の C コードを保守するための防御的な最低基準です。CI でのサニタイザ、-Werror、所有権の明文化、パーサのファジングを求めます。新規コンポーネントは Rust か Zig で作り、C は例外 ADR がある場合のみです。
schematize-c · v0.4.0bash
$ schematize install c譲れない最低基準
「速くするため」に外すことはありません。完全な一覧はスキル内にあります。
新規コンポーネントは Rust か Zig
C は例外 ADR がある場合か既存コードに限り、適合性(fit)では採用しません。
CI でサニタイザ付きテスト
スレッドがあれば ASan、UBSan、TSan を使い、UBSan は -fno-sanitize-recover=all で欠陥がログに残ったまま CI が緑にならないようにします。
警告を読むビルド
-Wall -Wextra -Werror -Wconversion。_FORTIFY_SOURCE は -O1 以上でないと何もしません。
所有権と戻り値の確認
すべての malloc に所有者を明記し、free(p); p = NULL; とし、部分的な write や snprintf を含むすべての戻り値を確認します。
禁止関数
gets、上限なしの strcpy/strcat/sprintf、幅なしの scanf("%s")、可変サイズの alloca、system() は禁止です。
ファジングと正しいアトミック
パーサは CI でバージョン管理されたコーパスを使ってファジングし、volatile ではなく stdatomic.h を使います。
コマンド
.claude/commands/ にインストールされます。いつでも /c-help を実行できます。
/c-ccコンテキスト圧縮:ハンドオフ(コンテキスト+チェックリスト)をアーカイブに書き出し、/compact を実行します。/c-claudeschematize-c の常時有効な CLAUDE.md をリポジトリ直下に作成またはマージします。他スキルのブロックは上書きしません。/c-handoff圧縮せずにコンテキストのハンドオフをアーカイブに書き出します。セッション終了やタスク切り替え時に使います。/c-helpスキルの全コマンドを一覧表示します。/c-loadschematize-c の規範本体をすべて強制ロードし、セッション中適用します。/c-review.c/.h とビルドを基準に照らしてレビューします。ゲート(コード+ビルド)を実行し、機械が読めない点(サニタイザ、メモリ、外部入力、適用範囲)を読みます。AIエージェント向け
人手を介さずにインストールできます。メタデータは llms.txt にあります。
- 実行:git clone https://github.com/schematizeme/skill-c.git && ./skill-c/install.sh
- または https://github.com/schematizeme/skill-c/releases/latest/download/skill-c.zip をダウンロードして .claude/skills/ に展開します。
- assets/CLAUDE.md をリポジトリ直下にコピーします(常時有効ルール)。
- /c-help で確認します。
ディスカッション
読み込み中…