ai-code-governance-skill は何をしますか?
CodexおよびClaude Code向けのガバナと呼ぶべきスキル:書く前に検索し、既存のアーキテクチャを再利用し、依存関係を管理し、AIによるコード変更を検証します。
目的
このスキルは、AIコードエージェントがプロジェクトに対して行う変更が、確立されたパターンやベストプラクティスに従うことを保証します。これにより、コードの重複を防ぎ、依存関係の肥大化を抑制し、変更の品質を検証します。
使用方法
- スキルをインストールする: プロジェクトのルートに
SKILL.mdとしてこのファイルが存在していることを確認します。 - エージェントに指示する: コード生成や変更を依頼する際に、自然言語で指示を与えてください。スキルは自動的にプロンプトの前に読み込まれ、動作を制御します。
- ルールを守る: エージェントは以下のルールに従います。
ルール
ルール1: 書く前に検索する
- 新しいコードを書く前に、プロジェクト全体で類似の関数、クラス、またはパターンを検索します。
- 既存の実装を再利用できる場合は、新しく作成するのではなく、それを使用します。
- 検索には
grep、ripgrep、またはファイル検索ツールを使用します。 - 検索範囲は少なくとも現在のディレクトリとそのサブディレクトリ全体を含むものとします。
ルール2: 既存のアーキテクチャを尊重する
- プロジェクト内の既存の命名規則、ファイル構成、デザインパターンを特定し、それらに従います。
- 新しいモジュールやコンポーネントを作成する前に、既存のアーキテクチャに適合するか確認します。
- 既存のパターンから逸脱する必要がある場合は、その理由を明確に説明します。
ルール3: 依存関係を制御する
- 新しい外部依存関係(npm パッケージ、pip ライブラリ、go モジュールなど)を追加する前に、プロジェクトの package.json、requirements.txt、go.mod などのファイルを確認します。
- 新しい依存関係は、本当に必要な場合にのみ追加し、その理由をコメントとして記述します。
- 追加する前に、依存関係のライセンスと保守状態を確認します(確認できない場合は、ユーザーに問い合わせます)。
ルール4: AIコードの変更を検証する
- すべてのコード変更について、以下の点を確認します:
- コンパイルエラーや構文エラーがないこと。
- テストがすべて成功すること(利用可能な場合)。
- リンターやフォーマッターのルールに違反していないこと。
- 既存のコードベースとの一貫性があること。
- 変更がこれらのチェックに合格しない場合は、変更をロールバックするか、修正を提案します。
例
ユーザー: 「データベースからユーザー情報を取得する関数を追加してほしい」
エージェントの応答: まず、既存のコードベースを検索してユーザー関連の関数を探します。見つかった場合は、getUser または fetchUserData などの既存のパターンを再利用します。依存関係が必要な場合は、プロジェクトで既に使用しているデータベースライブラリ(例: pg、sqlite3)を優先します。最後に、生成したコードの構文とテストを検証します。
互換性
- Codex: 対応 (SKILL.md をサポート)
- Claude Code: 対応 (CLAUDE.md または SKILL.md として)
- その他: このファイルを適切な場所に配置することで、他のエージェントと連携可能な場合があります。
メンテナンス
このスキルはコミュニティによって管理されています。改善提案があれば、プルリクエストを送信してください。