#06
繰り返し作業を自動化する
上級Headlessモードとコマンドラインでの無人実行を学び、定期的な作業の自動化を実現します。
座学
この講座で学べること
- ✓-pオプションでClaude Codeを非対話的に1行で実行できることを理解する
- ✓--output-format jsonで出力をJSON形式にして他ツールと連携する方法を習得する
- ✓cronやタスクスケジューラと組み合わせた定期実行の設計方法を知る
- ✓自分の業務で定型化できる作業を1つ特定してヘッドレス化を検討できる
Claude Codeのヘッドレスモード(`-p` オプション)を使うと、対話なしに1行のコマンドでClaude Codeにタスクを実行させられます。OSのタスクスケジューラやcronと組み合わせると、毎朝決まった時間に自動でレポートを作る、といったことができます。
ヘッドレスモードに向いている作業は「毎回同じ手順で実行できる定型作業」です。具体的には、毎日のレポート生成・定期的なファイル整理・決まったフォーマットへの変換・ログの集計などが挙げられます。
一方、毎回内容が変わるクリエイティブな作業・人間の判断が必要な意思決定・重要なファイルの削除・対話が必要な作業はヘッドレスモードには向きません。自動化する前に「本当に毎回同じ結果でいいか?」を確認しましょう。
Headlessモードの仕組み
👤
コマンドを実行
claude -p "タスク"
🤖
Claude Codeが自動実行
画面操作なし・無人
📄
結果が出力される
テキスト or JSON
# 実行例
claude -p "今日の日付を含むメモファイルを作成してください" \
--output-format text
自動化に向いている作業・向いていない作業
✅ 向いている作業
- ▶毎日のレポート生成
- ▶定期的なファイル整理
- ▶決まったフォーマットへの変換
- ▶ログの集計・サマリー作成
❌ 向いていない作業
- ▶毎回内容が変わるクリエイティブな作業
- ▶人間の判断が必要な意思決定
- ▶重要なファイルの削除・変更
- ▶対話が必要な作業
`--output-format json` オプションで出力をJSON形式にできます。他のスクリプトと組み合わせるときに便利です。
実践手順
ヘッドレスモードで基本実行を試す
-p オプションでClaude Codeを非対話的に実行します。
zsh
claude -p "今日の日付を教えてください"出力形式を指定して実行する
JSON形式で出力することで、他のツールと連携しやすくなります。
zsh
claude -p "今日のTODOリストを3つ提案してください" --output-format json定期実行の設定を検討する
Windowsはタスクスケジューラ、Macはcronを使って定期実行を設定できます。
zsh
# Mac: cronで毎朝9時に実行する例
0 9 * * * claude -p "今日のデイリーレポートを生成してwork/daily.mdに保存してください"確認チェック
講座を終える前に、以下の項目を確認しましょう。
