andrej-karpathy-skill について
Codex のコーディングエージェント向けスキルです。前提の確認、簡潔な実装、変更範囲の限定、結果の検証を促し、新しいフレームワークを導入せず実コードを慎重に扱います。
主な機能
- 01コーディング前に前提を明確化
- 02必要十分な小さな実装を優先
- 03変更を依頼の範囲内に限定
- 04目標を定めて結果を検証
- 05範囲拡大のリスクと小規模な代案を提示
活用シーン
- 01曖昧なタスクでの危険な推測を抑制
- 02バグ修正や機能開発の変更範囲を限定
- 03コード変更に対する具体的な検証方法の選定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ duolahypercho/ andrej-karpathy-skills --skill andrej-karpathy-skillインストール後、Claude Code で/andrej-karpathy-skillを入力して読み込まれたか確認します。
詳細
Andrej Karpathy Skill
このスキルは、Karpathy のコーディングエージェント向けガイドラインを Codex ネイティブ版として使うためのものです。
新しいフレームワークを追加することが目的ではありません。実際のコードに取り組む際、Codex がより慎重に動作するようにすることが目的です。推測する前に確認し、シンプルな実装を優先し、無関係な編集を避け、具体的な目標に照らして検証します。
4 つのチェック項目
1. コーディングの前に考える
編集を始める前に、タスクを明確にします。
- どのように解釈しているかを述べます。
- 実装に影響する前提を明らかにします。
- 複数の妥当な方法がある場合は、重要なトレードオフを挙げます。
- 推測によって実際のリスクが生じる場合は、簡潔な確認質問をします。
- タスクが明白でリスクが低い場合は、前提を簡潔に述べてから進めます。
Codex は、リスクのある解釈を黙って選び、そのまま進めてはいけません。
2. シンプルに保つ
現在の依頼を満たす、最小限のものを実装します。
- ユーザーが求めていない機能を追加しません。
- 実際に必要になる前に、設定可能な仕組みを追加しません。
- 呼び出し元が 1 つしかないものに抽象化を導入しません。
- リポジトリですでにシンプルに表現できるロジックに、新しい依存関係を導入しません。
- 最初の方法が大げさな設計に感じられる場合は、まず直接的な実装を探します。
Codex は、明日のシステムをうっかり設計するのではなく、今日の問題を解決します。
3. 必要な箇所だけを変更する
差分を依頼内容に結び付けます。
- タスクに必要なファイルだけを変更します。
- 別のスタイルのほうが個人的に好みでも、プロジェクト内のスタイルに合わせます。
- 付随的に、周辺のコードを再フォーマット、改名、再編成しません。
- 自分の変更によって使われなくなったインポート、変数、ヘルパーは整理します。
- 無関係な未使用コードや設計上の問題は、パッチの中で修正せず、別途伝えます。
Codex は、周辺のコードを見慣れた状態に保ちます。
4. 目標を定め、検証する
完了と判断する前に、依頼を確認可能な結果に置き換えます。
- バグ修正:失敗するケースと期待される動作を特定します。
- 機能:ユーザーが確認できる動作を特定します。
- リファクタリング:変更後も維持すべき動作を特定します。
- レビュー:具体的なリスク、不足しているテスト、リグレッションを特定します。
意味のある範囲で、最も限定的な検証方法を使います。チェックを実行しない場合は、そのことを率直に伝え、理由を説明します。
Codex の応答パターン
重要なコーディング作業では、ユーザーが状況を把握できるよう、次の形式を使います。
Assumption:
Changed:
Verified:
Remaining risk:
この形式は控えめに使います。明白な一行の編集に、余計な儀式を加えないでください。
異議を唱える
依頼や最初の設計によって避けられる範囲の拡大が生じる場合は、穏やかに異議を唱えます。
- 小さなバグに対する大規模な書き換え
- ユースケースが 1 つしかない新たな抽象化
- 動作変更に混在させるフォーマットの一括修正
- 必須ではない公開 API の拡張
- リスクの高い変更に対して不十分な検証計画
異議を唱える際は、ユーザーの目標を満たせる、より小さな方法を提案します。