勉強会・2026年5月

AIに「うちのやり方」を
教える 4つの方法

CLAUDE.md / Memory / Rules / Hooks の使い分け。
Claude Code を毎日使う人のための実践ガイド。

所要 40〜50分 対象:Claude Code 経験者 2026-05-06
OPENING

オープニング — 困った話から始めます

「ねえ Claude、また同じこと言わせる気?」

こんな経験ありませんか?

  • .env は暗号化して」と毎回伝える羽目に
  • 書籍執筆を頼むと、なぜか常体で書いてくる(敬体って言ったのに)
  • マーケ資料を頼むと、既存版を無視して新規作成する
  • レポートのデザインが毎回派手すぎる

問題:Claude Code は新入社員と同じ。教えないと知らない。

でも、毎回口頭で教えるのは時間の無駄ですよね。今日は、Claude に「うちのやり方」を永続的に教える4つの方法を紹介します。


CHAPTER 01

第1章CLAUDE.md = 社則

🏢 たとえ話

新入社員が出社しました。あなたは毎朝こう言わなきゃいけないでしょうか?

「服装はオフィスカジュアルで」
「重要書類はキャビネット A に」
「お客様には敬語で」

いいえ。 入社初日に社則を渡せばいい。社員は毎朝それを読んでから仕事を始めます。

→ Claude にとっての社則が CLAUDE.md です。

🎯 何ができる

プロジェクト直下に置いた CLAUDE.md ファイルを、Claude は毎セッション最初に必ず読みます。そこに書かれたルールを前提として動き始めます。

📝 ビフォー・アフター

Before

あなた:「業務委託契約書を作って」

Claude:「了解です」→ 表記ゆれ多発、金額が「$10,000」とドル表記、固有名詞バラバラ

After

CLAUDE.md にルールを書いておく。
同じ依頼でも自動的にルール準拠の書類を出してくる ✨

たとえばこう書いておく:

## 契約書作成ルール
- 当事者の表記: 株式会社AIVEST(甲)、相手方(乙)
- 金額表記: ¥10,000,000 形式(カンマ区切り、日本円のみ)
- 期間表記: 2026年4月1日〜2027年3月31日 形式
- 印紙税の必要性を末尾に明記
!
重要な注意

CLAUDE.md は「お願い」であって「強制」ではありません

公式:"Claude reads it and tries to follow it, but there's no guarantee of strict compliance"

大事なルールは「短く・具体的に」。曖昧な指示は守られません。

曖昧(NG)

「ファイルはちゃんと整理する」

具体的(OK)

「投資リサーチは 02_投資リサーチ/ に置く」

持って帰ってほしいこと
  1. 「毎回同じこと言ってるな」と気づいたら CLAUDE.md に書く
  2. 200行を超えそうになったら → Rules(第3章)に分割
  3. 「絶対守らせたい」ものは → Hooks(第4章)

CHAPTER 02

第2章Memory = 新人が勝手に取る メモ帳

📔 たとえ話

CLAUDE.md はあなたが書く社則。でも新人って、自分でメモを取るじゃないですか。新人が会話しながらこんなメモを書いています:

📒 ユーザーメモ
・HTML レポートは Notion 風が好み(→ 派手なやつ作ったら嫌そうな顔された)
.env は dotenvx 暗号化が必須(→ 何度か注意された)
・月次レビューは毎月5日

これが Auto Memory(自動メモ) です。

🎯 何ができる

Claude が勝手に「この人、これ大事そう」と思ったことをファイルに書き溜めます。あなたは何もしなくていい

🗂️ 場所

~/.claude/projects/<プロジェクトパス>/memory/
├── MEMORY.md           ← 目次(毎セッション最初に読む)
├── user_xxx.md         ← ユーザープロフィール
├── feedback_xxx.md     ← フィードバック・好み
├── project_xxx.md      ← プロジェクト状況
└── reference_xxx.md    ← 外部リソースの場所

📊 実例:実際に勝手に溜まっているもの

実プロジェクトのメモ目次(抜粋):

# MEMORY.md(目次・抜粋・サンプル)

## 会社・ユーザー
- ユーザー:株式会社 XYZ 代表、SaaS 事業、年商◯億目標

## プロジェクト
- 市場リサーチ完了(YYYY/MM/DD)
- 提携先向けセミナー実施(MM/DD)
- 社内チャットボットの Docker 化完了

## フィードバック
- HTML レポートは Notion / Stripe 風ホワイトベース
- .env は必ず dotenvx で暗号化
- 該当スキル / エージェントがある作業は必ずそれを使う

→ これらは意識的に書いたわけじゃなく、Claude が「これは覚えとこう」と判断して自動保存したもの

📝 ビフォー・アフター

Memory が無い世界

月:「Notion風で」
火:「Notion風で」
水:「Notion風で」
金:「Notion風で(4回目)」

Memory が有る世界

月:「Notion風で」 → Claude が自動でメモ
火曜以降:何も言わなくても Notion 風 ✨

🎤 「これ覚えて」と明示的に頼むこともできる

あなた: 毎月5日10時に月次レビューやるからね、覚えといて
Claude: project memory に保存しました

🆚 CLAUDE.md との違い

CLAUDE.mdMemory
誰が書く?あなたClaude が勝手に
中身ルール・指示学んだ事実・好み
編集自分でファイルを開いて/memory コマンドで管理
i
安全性

保存先は自分の Mac のローカルファイル。クラウドには行きません。中身も普通の .md なので開いて確認・編集・削除可能です。

持って帰ってほしいこと
  1. Memory は何もしなくても勝手に育つ
  2. でも定期的に中身を見て、古いメモは消す
  3. 「これ覚えて」と明示的に頼むと確実に保存される
  4. /memory コマンドで一覧と編集ができる

CHAPTER 03

第3章Rules = 場面別マニュアル

📚 たとえ話

社則(CLAUDE.md)はだんだん肥大化してきます:

服装規定/経理処理ルール/営業時の電話応対/契約書の書式/
議事録テンプレ/コーディング規約(Python編)/コーディング規約(React編)/…

毎朝これ全部読ませるの、効率悪くないですか?

→「営業の日は営業マニュアルだけ」「経理の日は経理マニュアルだけ」と分けたい。それが Rules(.claude/rules/ です。

🎯 何ができる

社則をトピック別ファイルに分解:

.claude/rules/
├── 営業時のルール.md
├── 経理処理ルール.md
├── 契約書作成ルール.md
└── ...

各ファイルに「いつ読むか」を指定できる:

---
paths:
  - "**/契約書/**"   # 契約書フォルダを開いた時だけ読む
---
# 契約書作成ルール
- 当事者表記: 株式会社AIVEST(甲)...

📊 実例:プロジェクト全体を Rules 化

Before

巨大な CLAUDE.md 1個 → 肥大化、トークン無駄

After

トピック別 6ファイル → 関係ないルールはロードされない

.claude/rules/
├── universal.md          # 全部に常時適用(dotenvx等)
├── app-development.md    # 01_APP/ のコード触る時のみ
├── knowledge-research.md # ナレッジ作業時のみ
├── marketing-funnel.md   # マーケ作業時のみ
├── deployment-cf.md      # 仕様書をデプロイする時のみ
└── company-confidential.md # 会社管理作業時のみ

📝 1ファイル丸ごと例

.claude/rules/marketing-funnel.md の中身:

---
paths:
  - "02_Workspace/03_マーケティング/**"
---

# マーケ・ファネル作業ルール

## 共有リポジトリ確認(着手前 必須)
着手前に必ず最新確認:
gh api repos/<your-org>/<your-repo>/contents/<path>

## ファネル設計の標準フォーマット
1. アバター(ペルソナ詳細)
2. ペイン(顧客の現状の痛み)
3. 解決策(AIVEST のサービス)
4. 証拠(実績・数値・お客様の声)
5. CTA(次のアクション)

## コピーライティング
- 「機会損失」訴求より「現状の痛み」訴求を優先
- 数値は具体的に(「効率化」ではなく「月20時間削減」)

→ マーケ作業の時だけ Claude はこれを読む。アプリ開発の時は読まない。

🆚 CLAUDE.md との違い

CLAUDE.mdRules
構造1ファイルトピック別の複数ファイル
いつ読まれる?必ず毎回該当ファイルを触った時だけ
粒度粗い細かい(パスパターン単位)
公式推奨200行まで超えたらこれに移行
持って帰ってほしいこと
  1. CLAUDE.md が肥大化したら Rules に分割
  2. 「このタスクの時だけ」というルールは Rules 向き
  3. paths: で絞ると、関係ないトークンを節約できる
  4. でも結局これも「お願い」レベル(強制ではない)

CHAPTER 04

第4章Hooks = 自動安全装置

🚨 たとえ話

ここまでの3つは全部「お願い」でした。新人がうっかりミスしたら? ルール書いても忘れたら?

お願いベースじゃなく、物理的に止めたい場面ありますよね:

🔒 金庫の前に自動センサーを設置:
・誰かが手を伸ばすと → アラーム
・鍵の組合せが間違ってると → ロック解除しない
・5時を過ぎると → 自動施錠

これが Hooks です。

🎯 何ができる

決まったタイミングでシェルコマンドを自動実行します。

イベントいつ発動?
SessionStartClaude 起動時
PreToolUseClaude がツールを使う直前ブロック可能
PostToolUseClaude がツールを使った直後
StopClaude が返答完了した瞬間
SessionEndClaude 終了時
重要

これは Claude 本体ではなく、Claude Code の土台が実行する。Claude の気分で発動しない=確実

📝 デモ1: 「.env をコミット」を物理的にブロック

シナリオ:あなた「変更をコミットして」 → Claude(うっかり)git add .envここで止めたい。

~/.claude/hooks/block-env-commit.sh

#!/usr/bin/env bash
INPUT=$(cat)
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command // ""')

if echo "$COMMAND" | grep -qE 'git (add|commit|push).*\.env\b'; then
    echo "🚫 BLOCKED: .env を git 操作しようとしています"
    echo "   → dotenvx で暗号化してから .envx をコミットしてください"
    exit 2   # exit 2 で Claude を物理ブロック
fi
exit 0

~/.claude/settings.json

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "/Users/ren/.claude/hooks/block-env-commit.sh"
      }]
    }]
  }
}

結果:Claude が git add .env を実行しようとした瞬間に、コマンドが実行されず止まる ✅

📝 デモ2: 朝のステータス自動表示

~/.claude/hooks/session-start.sh

#!/usr/bin/env bash
echo ""
echo "📅 $(date '+%Y-%m-%d (%a)')"

# 未処理 Zoom 録画
ZOOM_COUNT=$(ls ~/Documents/Zoom/*.m4a 2>/dev/null | wc -l | tr -d ' ')
[ "$ZOOM_COUNT" -gt 0 ] && echo "🎬 未処理 Zoom: ${ZOOM_COUNT} 件"

# メインリポジトリ最新コミット
LAST=$(gh api repos/<your-org>/<your-repo>/commits/main --jq '.commit.message' 2>/dev/null | head -1)
[ -n "$LAST" ] && echo "📝 repo: $LAST"

結果:claude 起動した瞬間に:

📅 2026-05-06 (Wed)
🎬 未処理 Zoom: 3 件
📝 repo: feat: ファネル v3 を追加

🆚 違いの整理

CLAUDE.md / RulesHooks
性質お願い強制実行
守らない可能性あり無し
用途スタイル・流儀セキュリティ・自動化
記述場所.md ファイルsettings.json + シェルスクリプト
持って帰ってほしいこと
  1. お願いで済むことは CLAUDE.md / Rules
  2. 絶対守らせたいことは Hooks
  3. 自動化(朝の起動メッセージ等)も Hooks
  4. exit 2 でブロック、exit 0 で通過

DECISION MAP

全体マップ — どれを使うか1秒で判断

┌─────────────────────────────────────────┐ │ Claude にやらせたいこと │ └─────────────────────────────────────────┘ 全プロジェクト共通の好み? ~/.claude/CLAUDE.md このプロジェクト全体のルール? ./CLAUDE.md 特定のフォルダ・ファイルだけ? .claude/rules/<topic>.md (with paths:) Claude が学ぶべき事実・好み? 何もしない(自動学習) or「これ覚えて」と頼む 100%守らせたい? Hooks(exit 2 でブロック)

ACTION ITEMS

勉強会後にやってほしい3ステップ

① 自分の CLAUDE.md を開く(5分)

open ~/.claude/CLAUDE.md
# なければ作る
touch ~/.claude/CLAUDE.md && open ~/.claude/CLAUDE.md

個人の好みを3つ書く(フォント、文体、レポート形式など)。

② 自分の Memory を覗く(5分)

ls ~/.claude/projects/

Claude が勝手に書いたメモを見て驚いてください。

③ 1個だけ Hook を入れる(10分)

.env コミット阻止 Hook が一番リスク削減効果大。

# 1. ディレクトリ作成
mkdir -p ~/.claude/hooks

# 2. スクリプト作成
cat > ~/.claude/hooks/block-env-commit.sh <<'EOF'
#!/usr/bin/env bash
INPUT=$(cat)
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command // ""')
if echo "$COMMAND" | grep -qE 'git (add|commit|push).*\.env\b'; then
    echo "🚫 BLOCKED: .env を git 操作しようとしています"
    exit 2
fi
exit 0
EOF

# 3. 実行権限付与
chmod +x ~/.claude/hooks/block-env-commit.sh

# 4. settings.json の hooks セクションに登録

FAQ

想定 Q&A

Q1. CLAUDE.md と Rules、結局どっち使えばいいの?

200行までなら CLAUDE.md。超えたら Rules に分割。シンプル。

Q2. Memory って勝手に何でも保存される?セキュリティ大丈夫?

自分の Mac のローカルファイル。クラウドには行きません。中身も普通の md なので開いて確認・削除可能です。

Q3. Hooks 設定したらやばいことになりそう…

Hook スクリプトは自分で書いたシェルコマンドが動くだけ。最悪は exit 0 にして無効化すれば OK。最初は安全な SessionStart から始めるのがおすすめ。

Q4. これ全部 Cursor とか他の AI ツールでもできる?

Cursor は .cursorrules で似たことができますが、Hooks のような強制実行・Memory の自動学習は Claude Code 独自の強みです。

Q5. チームで共有できる?

CLAUDE.md / Rules は git コミット可(チーム共有 OK)。Memory は個人ローカル。Hooks は settings.json でリポジトリにコミット可能。

Q6. 既存のプロジェクトにあとから入れられる?

はい。CLAUDE.md を後から追加しても OK。既存コードに影響なし。

Q7. トークン消費が増える?お金かかる?

CLAUDE.md / Rules は毎回読まれるのでトークンを使います。ただし「200行ルール」を守れば誤差レベル。Memory は目次200行だけ読まれるので軽い。Hooks はトークン消費ゼロ(シェル実行のみ)。


REFERENCES

参考資料

公式ドキュメント

まとめ

機能たとえ性質用途
CLAUDE.md社則お願い(毎回読む)プロジェクト基本ルール
Memory新人のメモ帳Claude が自動で書く学習・好み・履歴
Rules場面別マニュアルお願い(条件付き)トピック別ルール
Hooks自動センサー強制実行セキュリティ・自動化
今日から始める1歩

.env コミット阻止 Hook を入れる(10分)。セキュリティ事故を物理的に防げます。