はじめに
Claude Code利用者の多くが経験する課題の一つが「毎日同じプロンプトを繰り返し実行している」ことです。コードレビュー、リファクタリング、テスト生成など、日常的な開発タスクにおいて同様のパターンが続くことは少なくありません。
この記事では、Prompt Schedulerを使ってClaude Codeでの繰り返しプロンプトを効率的に自動化する方法を、実際の開発シナリオとともに詳しく解説します。
免責事項
本記事で紹介するPrompt Schedulerは、私が個人的に開発したオープンソースツールです。Anthropic社のClaude、Claude Codeとは一切関係のない独立した個人開発プロジェクトであることを明記します。
繰り返しプロンプトの典型的パターン
1. 日次開発ルーチン
毎朝のコードレビュー:
{"prompt": "昨日のコミットをレビューして改善点を提案", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "10m"}
{"prompt": "新しいコードのセキュリティ脆弱性をチェック", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "15m"}
{"prompt": "パフォーマンスのボトルネックを特定", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "10m"}
{"prompt": "今日のタスクに向けた技術的課題を整理", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "5m"}
2. 機能開発サイクル
新機能開発の定型フロー:
{"prompt": "機能仕様から技術設計を立案", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "20m"}
{"prompt": "データベーススキーマの変更を提案", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "15m"}
{"prompt": "APIエンドポイントの実装", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "25m"}
{"prompt": "フロントエンドコンポーネントの実装", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "20m"}
{"prompt": "単体テストと統合テストの作成", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "15m"}
3. コード品質向上ルーチン
週次品質改善:
{"prompt": "コード複雑度の分析と改善提案", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "20m"}
{"prompt": "技術的負債の特定と優先度付け", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "15m"}
{"prompt": "依存関係の更新とセキュリティ監査", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "10m"}
{"prompt": "ドキュメント不足箇所の特定と改善", "tmux_session": "/tmp/tmux-1000/default", "sent": "false", "sent_timestamp": null, "default_wait": "10m"}
自動化による開発効率の向上
ビフォー:手動での繰り返し作業
# 毎朝の作業(約30分)
# 1. Claude Codeを起動
# 2. "昨日のコミットをレビュー..." 入力・実行・待機
# 3. "新しいコードのセキュリティ..." 入力・実行・待機
# 4. "パフォーマンスのボトルネック..." 入力・実行・待機
# 5. "今日のタスクに向けた..." 入力・実行・待機
問題点:
- 手動入力による時間ロス
- プロンプト内容のバリエーション不足
- 実行タイミングの不規則性
- 忘れによる実行漏れ
アフター:自動化による効率化
# 朝の準備(1分で完了)
npm run run
# または時間制限付きで実行
tsx src/claude-schedule.ts run --stop-at 9am --mode sequential
改善効果:
- 手動作業時間が90%削減
- 一貫した品質のプロンプト実行
- 定時実行による習慣化
- 他の重要な作業への集中時間増加
CLIツールとしての設計思想
なぜCLIなのか
開発者フレンドリーな理由:
- 既存ワークフローとの親和性: ターミナル作業の延長
- 自動化との相性: シェルスクリプト、cron、CI/CDとの連携
- 軽量性: GUI不要で高速起動
- 拡張性: パイプライン処理やバッチ実行が容易
CLI設計の特徴
# シンプルで覚えやすいコマンド
npm run run # 実行
npm run next # 次を実行
npm run status # 状況確認
npm run reset # リセット
npm run help # ヘルプ
# 柔軟なオプション指定
tsx src/claude-schedule.ts run --mode sequential --hours 2 --stop-at 5pm
ハッシュタグ #CLI の意義
CLIツールとしてのアイデンティティ:
- コマンドライン操作に特化した設計
- スクリプト化・自動化を前提とした機能
- 開発者の日常ワークフローに自然に統合
時間管理機能による柔軟なスケジューリング
業務時間内での制御
# 9時から17時までの業務時間内で実行
tsx src/claude-schedule.ts run --stop-at 5pm
# 朝の2時間だけ集中実行
tsx src/claude-schedule.ts run --hours 2 --mode sequential
夜間バッチ処理
# 夜間に長時間実行(制限を無視して積極的に)
tsx src/claude-schedule.ts run --ignore-approaching-limit --hours 8
# 深夜3時まで実行
tsx src/claude-schedule.ts run --stop-at 3am --mode sequential
プロジェクト別管理システム
複数プロジェクトの並行処理
# プロジェクトA(フロントエンド)
tsx src/claude-schedule.ts run --prompt-file ~/projects/frontend/daily-routine.jsonl
# プロジェクトB(バックエンド)
tsx src/claude-schedule.ts run --prompt-file ~/projects/backend/weekly-review.jsonl
# プロジェクトC(DevOps)
tsx src/claude-schedule.ts run --prompt-file ~/projects/devops/infrastructure-check.jsonl
ファイル構成例
~/development/
├── project-a/
│ ├── daily-review.jsonl
│ ├── feature-development.jsonl
│ └── bug-fix-routine.jsonl
├── project-b/
│ ├── weekly-analysis.jsonl
│ └── performance-check.jsonl
└── shared/
├── security-audit.jsonl
└── code-quality.jsonl
実用的な運用パターン
パターン1:朝のルーチン自動化
#!/bin/bash
# morning-routine.sh
echo "🌅 Starting morning development routine..."
# メールチェック中にバックグラウンド実行
tsx src/claude-schedule.ts run \
--prompt-file ~/routines/morning-check.jsonl \
--mode sequential \
--stop-at 9am &
# 30分後に状況確認
sleep 1800
npm run status
パターン2:機能開発の段階実行
# feature-development.sh
# 設計フェーズ(2時間)
tsx src/claude-schedule.ts run \
--prompt-file design-phase.jsonl \
--hours 2
# 実装フェーズ(4時間)
tsx src/claude-schedule.ts run \
--prompt-file implementation-phase.jsonl \
--hours 4
# テストフェーズ(2時間)
tsx src/claude-schedule.ts run \
--prompt-file testing-phase.jsonl \
--hours 2
パターン3:週次品質改善
# weekly-quality-improvement.sh
# 金曜日の午後に実行
if [ $(date +%u) -eq 5 ]; then
tsx src/claude-schedule.ts run \
--prompt-file ~/routines/weekly-quality.jsonl \
--stop-at 6pm \
--ignore-approaching-limit
fi
進捗追跡と効果測定
定量的効果の測定
# 実行履歴の確認
npm run status
# 完了したタスクの時間分析
tsx src/claude-schedule.ts status --prompt-file daily-routine.jsonl | grep "SENT"
測定可能な指標:
- 自動化前後の作業時間比較
- プロンプト実行の一貫性
- 実行漏れの削減率
- 開発速度の向上
質的改善の評価
改善されたポイント:
- コードレビューの網羅性向上
- 技術的課題の早期発見
- 開発プロセスの標準化
- チーム全体のコード品質向上
まとめ
Claude Codeでの繰り返しプロンプト自動化により、開発者の日常業務が劇的に効率化されました。
重要なポイント:
- 定型業務の自動化: 毎日・毎週の繰り返し作業を自動実行
- 時間管理の最適化: 業務時間や集中時間に合わせた実行制御
- プロジェクト別管理: 複数プロジェクトの並行管理と個別最適化
- CLI設計の利点: 開発者ワークフローとの自然な統合
#CLI の価値:
- コマンドライン操作による高い生産性
- 既存ツールチェーンとの連携
- スクリプト化による更なる自動化の可能性
繰り返しプロンプトの自動化は、Claude Codeを使った開発において「作業の効率化」から「開発プロセスの最適化」へのパラダイムシフトを実現します。
GitHub: https://github.com/prompt-scheduler/cli
インストール: curl -fsSL https://raw.githubusercontent.com/prompt-scheduler/cli/main/install.sh | bash