ワンクリックで
karpathy-guidelines
LLM コーディングの 4 大失敗パターン(暗黙の仮定/過剰実装/関係ない箇所への手出し/成功基準の曖昧さ)を抑制するための行動規範。コード生成・編集・リファクタ時に参照。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
LLM コーディングの 4 大失敗パターン(暗黙の仮定/過剰実装/関係ない箇所への手出し/成功基準の曖昧さ)を抑制するための行動規範。コード生成・編集・リファクタ時に参照。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Rust/Axum などで SPA 向け OAuth 2.0 / OpenID Connect BFF を実装・レビュー・検証する。ブラウザにアクセストークンやリフレッシュトークンを出さない設計、HttpOnly Cookie セッション、CSRF/CORS/Origin 検証、Hydra などの認可サーバー連携、Playwright でのログイン往復検証を扱うときに使用。
公式翻訳との比較から導出した技術書翻訳の品質基準。翻訳作業時に自動参照。
Build→Test→Feedback→Refineの反復改善ワークフロー。ツール開発時のフィードバックループとOSS検証を支援。
Claude Code TaskList と vibe-ticket の同期。タスク管理の状態を双方向で同期する。
AWS アカウントの FinOps 調査・コスト削減分析。ReadOnly + MFA 環境での非対話認証突破、Cost Explorer の読み解き罠、RI/SP の誤認パターン、レポート数値の分母混在を避けるための学び集。
Spawn a parallel coding-agent session in its own jj workspace. Uses `jj_agent` if the nwiizo/jujutsu.fish plugin is installed, otherwise falls back to raw `jj workspace add`. Use when starting a second (or Nth) agent on a different task without disturbing the current working copy. Invoke manually; creates a workspace directory on disk.
| name | karpathy-guidelines |
| description | LLM コーディングの 4 大失敗パターン(暗黙の仮定/過剰実装/関係ない箇所への手出し/成功基準の曖昧さ)を抑制するための行動規範。コード生成・編集・リファクタ時に参照。 |
| license | MIT |
Andrej Karpathy の LLM コーディング観察に基づく 4 原則。 出典: https://x.com/karpathy/status/2015883857489522876 適応元: https://github.com/multica-ai/andrej-karpathy-skills
トレードオフ: 速度より慎重さに振っている。自明な変更(typo 修正、明白な one-liner)は判断で省略してよい。
元リポジトリは Claude Code / Cursor 向けだが、この skill では Codex CLI の作業単位に読み替える。
CLAUDE.md や Cursor rules 相当の規則は、Codex では system/developer instructions、AGENTS.md、ユーザー依頼、skill 本文として扱う。rg / sed / git status などで対象範囲を確認し、依頼と関係するファイルだけ読む。apply_patch を優先し、生成コマンドや formatter 以外でファイルを書き換えない。LLM は曖昧な指示に対して暗黙に解釈を 1 つ選び、確認せず走り出す。これが最大の手戻り源。
実装に着手する前に:
❌ アンチパターン:
「○○を実装してください」→ 解釈の余地があるのに、勝手に方針 A を選んで 200 行書く
✅ 望ましい:
「方針 A(API 拡張)と方針 B(既存メソッドの shadowing)の 2 解釈がある。A は外部影響が大きい代わりに将来拡張しやすく、B は局所的だが同名の別実装を作るので将来衝突する。どちらを採用?」
LLM は abstraction や柔軟性を過剰に盛りがち。
セルフテスト: 「シニアエンジニアがこれを見て『過剰だ』と言わないか?」 言うなら簡素化。
Codex でのセルフチェック:
既存コード/文書を編集するとき:
変更によって発生した orphan の扱い:
判定基準: 変更された全行が、ユーザーの依頼に直接トレースできるか。
文書編集でもコード編集でも同じ姿勢を取る。依頼に直接必要な差分だけを作る。
命令形タスクを宣言形ゴールに変換する:
| ❌ 指示形 | ✅ ゴール形 |
|---|---|
| 「validation を追加して」 | 「不正入力のテストを書き、通るまで実装する」 |
| 「このバグを直して」 | 「バグを再現するテストを書き、緑にする」 |
| 「X をリファクタして」 | 「リファクタ前後でテストが通ることを保証する」 |
複数ステップのタスクでは、簡潔な計画を述べる:
1. [手順] → verify: [チェック]
2. [手順] → verify: [チェック]
3. [手順] → verify: [チェック]
強い成功基準があれば LLM は自律的にループできる。弱い基準(「動くようにして」)は常に再確認が必要になる。
Karpathy の指摘:
"LLMs are exceptionally good at looping until they meet specific goals... Don't tell it what to do, give it success criteria and watch it go."
非自明なコード変更では、次の順で進める。
git status と rg で変更対象と既存パターンを確認する。読み取った事実と仮定を分ける。レビュー依頼では、同じ原則を「指摘の質」に適用する。推測で大きな修正案を出さず、再現条件・影響範囲・該当行を示す。