なぜ要るか
ここまで何回か頼んでみて、こう思ったはずです。「毎回同じことを言っている」と。
日本語で答えてほしい。CSSは分けないでほしい。見た目はこの雰囲気で揃えてほしい。頼むたびに書き添えるのは無駄です。しかも書き忘れた回だけ出来が落ちます。
リポジトリに1つファイルを置いておけば、AIが毎回それを読んでから作業します。 言わなくても揃うようになります。ここを作っておくかどうかで、この先の作業の質が変わります。
使う道具: Claude Code
ルールは AGENTS.md に書きます
先に置き場所を決めておきます。ルールの本体は AGENTS.md に書きます。
理由は、AGENTS.md が道具をまたいで通じる名前だからです。Codex はこのファイルを読みます。他のAIも増えてきています。ここに書いておけば、道具を乗り換えても書き直さずに済みます。
ただし1つ注意があります。Claude Code は AGENTS.md を直接読みません。読むのは CLAUDE.md です。 そこで、CLAUDE.md は1行だけにして、AGENTS.md を読み込ませます。
@AGENTS.md
この1行だけのファイルを置けば、中身は AGENTS.md に集約できます。同じルールを2箇所に書かないのが大事です。
やってみる
リポジトリの一番上に
AGENTS.mdを作る場所が大事です。
my-first-gameの直下に置きます。cd my-first-game守ってほしいことを日本語で書く
お好きなエディタで
AGENTS.mdを作り、こう書きます。僕が実際に使ったものです。# このゲームのルール - 返事は日本語で書く。 - 新しく作る画面は、背景を暗い色、文字を明るい色にする。文字は画面の中央に置く。 - CSSは同じHTMLファイルの中に書く。別ファイルにしない。 - 同じ処理を2箇所に書かない。すでに同じことをしている場所があれば、そこを直して使い回す。 - ファイルを消す前に、必ず何を消すか先に伝える。コツは具体的に書くことです。「いい感じにして」では効きません。「暗い背景・明るい文字・中央寄せ」まで書きます。
4行目がいちばん効くルールです。理由は次の節で説明します。
CLAUDE.mdを1行だけ作るClaude Code に
AGENTS.mdを読ませるための橋渡しです。echo "@AGENTS.md" > CLAUDE.md保存する
git add . git commit -m "AIへのルールを追加"ルールを書いていないことを頼んでみる
ここが確かめどころです。見た目の指定を一切せずに、新しい画面を作らせます。
claude -p "credits.html を作って。作った人の名前を1行書いて、index.html に戻るリンクを付けて。"返事を読む
実際に返ってきたのがこれです。頼んでいない指定が、全部入っています。
credits.html を作りました。 - 作った人の名前を1行: 「作った人: kentaroh7777」 - index.html に戻るリンク: 「ゲームにもどる」 - 背景は暗い色、文字は明るい色、中央ぞろえ。 CSSは同じHTMLファイル内に書いています「暗い背景」「中央寄せ」「CSSは同じファイル」は、この頼みごとには書いていません。
AGENTS.mdを読んで守っています。開いて目で確かめる
open credits.htmlルールどおりの画面が出てきます。
保存する
git add . git commit -m "credits.html を追加" git push
「同じ処理を2箇所に書かない」を必ず入れる
AIに任せていて、いちばん困るのがこれです。
AIは頼まれた仕事を素直にやります。ただ、すでに同じことをしている場所を探すより、新しく書き足す方が簡単です。だから放っておくと、似た処理が2箇所、3箇所に増えていきます。
そうなると何が起きるか。片方だけ直して、もう片方が古いまま残ります。 直したのに直っていない、という一番やる気を削がれるバグがここから生まれます。ゲームだと「1人プレイでは直ったのに2人プレイでは直っていない」のような形で出てきます。
だから、このルールを最初から入れておきます。
- 同じ処理を2箇所に書かない。すでに同じことをしている場所があれば、そこを直して使い回す。
これを書いておくと、AIは新しく書き足す前に「似たものが既にないか」を探すようになります。まだコードが少ないうちに入れておくのが肝心です。増えてから片付けるのは何倍も大変です。
同じ考え方で、こういうルールも効きます。
- 新しいファイルを増やす前に、いまあるファイルで済まないか確認する。
- 設定や数値は1箇所にまとめて、そこから読む。同じ数字を別の場所に書き写さない。
「作らせる」だけでなく「散らかさせない」。ここまで含めてルールにすると、作り続けられる状態になります。
何を書くとよいか
最初から完璧を狙う必要はありません。同じことを2回言ったら、その時に1行足す。 これで育ちます。
僕が実際に足していったのは、だいたいこの種類です。
| 種類 | 例 |
|---|---|
| 言葉 | 返事は日本語で書く |
| 見た目 | 背景は暗い色、文字は中央寄せ |
| 作り方 | CSSは同じファイルに書く。ファイルを増やさない |
| 散らからせない | 同じ処理を2箇所に書かない。設定は1箇所にまとめる |
| やってほしくないこと | ファイルを消す前に何を消すか先に伝える |
| 完成の基準 | ブラウザで開いて動くまで確認する |
逆に、長すぎるルールは効きが落ちます。10行くらいから始めて、効いていないと感じたら書き方を具体的にしてください。
つまずきどころ
ルールが効いていない気がする
まず置き場所を確認してください。AGENTS.md と CLAUDE.md はどちらもリポジトリの直下です。ls して、README.md と同じ並びに見えていれば正しい場所です。
CLAUDE.md の中身が @AGENTS.md の1行になっているかも確認してください。この橋渡しが無いと、Claude Code は AGENTS.md を読みません。
書いたのに守られない
書き方が抽象的な可能性があります。「かっこよくして」ではなく「背景は #101820、文字は中央寄せ」のように、判定できる言葉にしてください。
ルールが増えすぎた
使っていないルールは消します。生きているルールだけ残すのが、いちばん効きます。
Windows の場合
置き場所も中身も同じです。ファイルを作るところだけ、PowerShell ならこう書けます。
notepad AGENTS.md
メモ帳が開くので、そこに書いて保存してください。橋渡しの CLAUDE.md はこちらです。
"@AGENTS.md" | Out-File -Encoding utf8 CLAUDE.md
ファイル名の大文字小文字はそのままにします。
Codex で進める場合
何もしなくてよいのが、この置き方の利点です。 Codex は AGENTS.md をそのまま読みます。橋渡しの CLAUDE.md は無視されるだけで害はありません。
codex exec "credits.html を作って。"
同じルールで両方が動きます。同じ内容を2箇所に書かずに済むので、道具を行き来しても品質が揃います。
次の一歩
AGENTS.md に、あなた自身のこだわりを1行足してみてください。「ボタンは角丸にする」でも「効果音は必ず付ける」でも構いません。
足したら、また何か作らせて確かめる。ルールが育つほど、頼む言葉は短くなります!
