Claude Code に作業を頼むたびに、成果物の形式や確認してほしい項目を説明していないでしょうか。

毎回の指示は、チャットではなくファイルに残すと再利用できます。私も、成果物の作り方を CLAUDE.md、agent、rules、scripts に分けて定義し、同じ手順で作業できるようにしていました。

大切なのは、どの情報を、どの仕組みに置くかです。それぞれの役割を整理します。

4つの仕組みの使い分け

仕組み 置く場所 向いている内容
CLAUDE.md プロジェクト直下 毎回前提にしたい情報
rules .claude/rules/ テーマや対象ファイルごとのルール
agent .claude/agents/ 別の文脈で任せたい専門的な作業
scripts リポジトリ内 毎回同じ結果になってほしい定型処理

CLAUDE.mdとrulesを指示として読み込み、agentとscriptsに作業を任せる関係を示す図

ファイルの場所や書式は、バージョンによって変わる場合があります。導入するときは公式ドキュメントも確認してください。

CLAUDE.md: 毎回読んでほしい前提

CLAUDE.md は、作業の開始時に読み込まれる指示書です。プロジェクトの概要、よく使うコマンド、守ってほしい作業の進め方を書きます。

# プロジェクトの概要

提案資料の構成案を作成するリポジトリです。

## 作業の進め方

- 入力資料は input/ に置く
- 成果物は output/ に Markdown で出力する
- 不明点は推測せず、確認事項として一覧にする

毎回読み込まれる分だけ、コンテキストを消費します。公式ドキュメントでも、1ファイルあたり200行以内を目安にすることが推奨されています。長くなってきたら、次の rules へ分けます。

rules: 必要なときだけ読ませるルール

.claude/rules/ には、テーマごとのルールをファイルに分けて置けます。paths を指定すると、対象のファイルを扱うときだけ読み込まれます。

---
paths:
  - "output/**/*.md"
---

# 成果物の書き方

- 冒頭に結論を書く
- 表は3列以内にする
- 数字には根拠を添える

すべてをCLAUDE.mdに書くと毎回読み込まれるが、共通の前提だけを残してrulesへ分けると必要なときだけ読み込まれることを比べた図

CLAUDE.md に全部を書くのではなく、特定の作業だけで必要なルールをここへ移すと、普段の指示を短く保てます。

agent: 別の文脈で任せる作業

.claude/agents/ に Markdown ファイルを置くと、役割を持ったサブエージェントを定義できます。サブエージェントは、自分のコンテキストで作業し、結果の要約をメインの会話へ返します。

---
name: requirements-reader
description: 資料を読み、要件と確認事項を整理する
tools: Read, Glob, Grep
---

資料を読み、要件の一覧と、確認が必要な事項を出力してください。
資料に書かれていないことは推測しないでください。

たくさんの資料を読むなど、途中の過程をメインの会話に残さなくてよい作業に向いています。tools で使えるツールを絞ることもできます。

メインの会話から依頼を受けたサブエージェントが自分のコンテキストで資料を読み、結果の要約だけをメインの会話へ返す図

サブエージェントは、メインの会話の履歴を見ることができません。必要な情報は、依頼の内容や定義の中で渡す必要があります。

scripts: 判断が要らない処理はコードにする

ファイルの形式変換、集計、チェックなど、手順が決まっている処理は、生成AIに毎回考えてもらうよりスクリプトにするほうが確実です。

CLAUDE.md には、スクリプトの使い方を書いておきます。

## 成果物の確認

出力後に `node scripts/check-output.mjs` を実行し、
エラーがあれば修正してください。

判断が必要な部分は生成AIに任せ、毎回同じ結果になってほしい部分はコードに任せます。この線引きが、品質を安定させるポイントです。

どこに書くか迷ったときの判断基準

判断の基準 置き場所
すべての作業で必要か CLAUDE.md
特定のテーマやファイルでだけ必要か rules
途中経過を分けて、独立して任せたい作業か agent
同じ入力に対して必ず同じ結果になってほしいか scripts

なお、CLAUDE.md や rules は、Claude Code への指示として扱われるものです。絶対に実行させたくない操作を確実に止めたい場合は、権限の設定や hooks を使います。

ルールは使いながら育てる

最初からすべてを用意する必要はありません。

  1. まず CLAUDE.md に、繰り返している指示を書く
  2. 同じ修正を何度も頼んでいたら、ルールに追加する
  3. 長くなったら rules へ分ける
  4. 独立した作業は agent に、定型処理は scripts に切り出す

ルールはコードと同じようにリポジトリで管理すると、変更の履歴を残し、チームで共有できます。

まとめ

Claude Code への指示は、毎回の会話ではなくファイルに残すことで再利用できます。前提は CLAUDE.md、部分的なルールは rules、独立した作業は agent、定型処理は scripts と分けることで、毎回の説明を減らし、成果物の品質を揃えやすくなります。