本記事は /setup が完了している前提です。claude --version がターミナルで返ってくる状態。まだの方は先に準備ガイドへ。
第1章始める前に、30分でやることを書き出した
Play 01 を書いたあと、自分でも「最小構成」を組み直してみることにしました。**128行を一気に書く** のはきついので、まず 30分で動くところまで に絞る。
付箋に書いたのはこの3つでした。
・ CLAUDE.md を5行で書く
・ memory/style.md を切り出す
・ カスタムコマンド /daily-schedule を、仮データで動く形まで
カレンダー接続(MCP)は 30分には収まらない ので、後の Play 04 に回します。今回は「仮のカレンダー」を Claude Code に渡して、流れだけ確認するところまで。
0:00第2章CLAUDE.md を、5行で書く
ターミナルを開いて、作業フォルダを作る。これが すべての出発点 です。
$ mkdir ~/my-playbook && cd ~/my-playbook $ touch CLAUDE.md
ここで 編集者の選択を1つ残しておくと、CLAUDE.md は「プロジェクトのトップ階層」に置きます。ホームの下でも、Documents/ の下でも、どこに作ったフォルダでも構いません。「そのフォルダで claude を起動した時に、同じ階層にあるか」 だけが条件です。
中身は、Play 01 で出した文体メモから5行だけ抜き出しました。
# 私の指示 体裁: です・ます調 1文の長さ: 60字を目安 苦手語: 「実は」「ぶっちゃけ」 強調記号: 「**」は使わない
保存して、ターミナルで claude と打って起動。
$ claude > あなたが今読んでいる CLAUDE.md には、何が書かれていますか? # Claude が5行の内容を要約して返してきたら、最初の動作確認はOK。
ここまで4分。**Claude Code が「自分の指示」を読んでいる**状態になりました。
0:05第3章memory/style.md に、切り出す
5行のままでも動きますが、Play 01 で書いた 「触る頻度が違うものは別ファイルに」 のルールを最初から適用しておきます。文体は半年触らない情報なので、memory/style.md に切り出します。
$ mkdir memory $ touch memory/style.md
# 文体メモ 体裁: です・ます調 1文の長さ: 60字を目安 苦手語: 「実は」「ぶっちゃけ」 強調記号: 「**」は使わない 語順: 結論 → 根拠 → 次の動き 数値: 半角、単位の前に半角スペース
CLAUDE.md 側は、参照だけ残します。
# 私の指示 文体: memory/style.md を参照
これで、CLAUDE.md は 「どこに何があるかの目次」 に変わりました。実体は memory/ 側にある、という構造です。
なぜ切り出したか ─ 来週も再来週も触らない情報を CLAUDE.md に直書きすると、後で「今週のテーマ」「プロジェクト一覧」などを足す時に、毎回 CLAUDE.md を編集する羽目になります。CLAUDE.md は 「変わらないルール」 だけを置く方が、長期的に楽でした。
0:10第4章commands/daily-schedule.md で、動きを定義する
ここからが カスタムコマンド の出番。/daily-schedule を1コマンドで起動できる形にします。
$ mkdir -p .claude/commands $ touch .claude/commands/daily-schedule.md
Claude Code は .claude/commands/ に置かれた md ファイルを、/ファイル名 でカスタムコマンドとして認識 します。今回は /daily-schedule で起動できるようになります。
中身はこの30行(コメント含む)。
# /daily-schedule 今日の予定から、15分単位の工程表を作ります。 ## 入力 今日の予定リスト(仮データの場合はサンプルを使う) バッファ時間: 各タスクに 10分 ## 動き 1. memory/style.md を読み、文体を合わせる 2. 入力された予定を時系列に並べる 3. 15分単位のブロックに割り当てる 4. 各ブロックに「目的1行」を添える 5. 12:00-13:00 は昼休みとして固定 ## 出力フォーマット 09:00 ─ タスク名 (目的) 10:30 ─ タスク名 (目的) 12:00 ─ 昼休み 14:00 ─ タスク名 (目的) ## 仮データ(テスト用) - 09:00 Play 02 草稿 - 10:30 取引先 A 商談準備 - 14:00 メール返信 - 16:00 MCP 検証
仮データを コマンド定義の中に直接書いた のは、30分の制約の中で「カレンダー接続なしで動作確認できる形」を優先したからです。本物のカレンダーに繋ぐのは Play 04 で。
合計: 3行 (CLAUDE.md) + 7行 (style.md) + 30行 (daily-schedule.md) + 2行 (空行) = 42行。これが「実コード行数」の中身です。
0:20第5章動かしてみる
ターミナルに戻って claude を再起動し、/daily-schedule を打ちました。
$ claude > /daily-schedule # 3秒後、画面に流れたもの: 09:00 ─ Play 02 草稿 (今週テーマ) 目的: 30分で組める最小構成を書き下ろす 10:30 ─ 取引先 A 商談準備 目的: 体制移行案の最終確認 12:00 ─ 昼休み 14:00 ─ メール返信 目的: 火曜分の未返信を処理 16:00 ─ MCP 検証 目的: Google Calendar 接続テスト
文体が「です・ます調」で揃い、目的が1行ずつ添えられ、昼休みが守られている。最初の /daily-schedule が動きました。
この時点ではまだ「仮データ」ですが、カレンダーを差し替えるだけで本物に切り替わる 構造になっています。Play 04 でその差し替えを実装します。
0:25第6章1件、踏んだ失敗
CLAUDE.md をホームディレクトリ(~/)に置いた。
最初 ~/CLAUDE.md を作って、その後 ~/my-playbook/ で claude を起動したら、文体メモが効いていない出力が返ってきました。「あれ、style.md 読んでない?」と思って memory/style.md の内容を直接プロンプトに貼ったら効いたので、CLAUDE.md 自体が読まれていない ことに気づいた。
Claude Code は 「現在のフォルダ」 の CLAUDE.md を読みます。ホームに置いた ~/CLAUDE.md は、グローバル用なので別物。~/my-playbook/CLAUDE.md に移動したら、想定通り動きました。
所要、5分。原因が分かるまでに memory/style.md の中身を直接プロンプトに貼って試したのが回り道でした。「動かないときは、まず CLAUDE.md の位置を確認」 が、その後の自分のルールになっています。
0:30第7章30分で見えてきたもの
付箋の3項目は、全部消えました。
✓ CLAUDE.md を5行で書く
✓ memory/style.md を切り出す
✓ /daily-schedule を仮データで動かす
30分で組み終わったのは事実ですが、まだ 「本物の業務」が動いているわけではない。仮データを差し替えるだけで本物になる構造、までしか到達していません。
残る2つは別の Play で扱います。
Play 03 :「毎朝の予定を、AIに組ませる」 ─ 今週のテーマや日次の優先度を別ファイルに切り出し、本気で運用する設計に拡張する
Play 04 :「Google Calendar を、AIに渡す」 ─ 仮データを本物のカレンダーに繋ぐ。MCP 接続体験。
30分の意味は「業務が動き始める」ことではなく、「自分の机にAIが住み始める」 ことでした。明日以降に、もう少し荷物を運び込んでいきます。