Tech Racho エンジニアの「?」を「!」に。
  • IT Tips

Claude Code秘書で実現するマルチプロジェクト業務整理: 1ヶ月使い倒して得た運用ノウハウと成果

morimorihoge です。生成AIやAI Agentの利用、今年初頭はまだまだ一部の人達が試していたくらいの感じだったのに、今や使いこなして当たり前な時代になりました。
個人的にはGitHubが現れて開発フローがPRベースになり、コードレビューが当たり前のものになったときと同じくらいのインパクトを感じています。

今回はここ1ヶ月間、Claude Codeを自分専用の秘書として運用してきた経験をもとに、AI活用の新しい形を紹介します。特に、エンジニアや技術系の中間管理職の方々にとって、日々の業務効率化のヒントになれば幸いです。

Claude Codeとは?

言わずと知れたAnthropicのAIエージェントで、特にプログラミングや技術的なタスクに特化した機能を持っているとされています。
CLIベースで操作でき、次々と自分でタスクをこなしていくので有能ですが、たまに大暴走してよく分からないことをやり始めるお茶目な一面もあります。

なぜ「秘書」として使うのか?

僕はチームリーダーという中間管理職でもあるため、エンジニアリング業務と管理業務を両立させる中で、以下のような課題を抱えていました:

  • 複数プロジェクトの並行管理: 複数のプロジェクトを同時に進める中で、タスクや進捗の把握が煩雑になりがち
  • 情報の散在: GitHub、GitLab、Backlog、Slack、メールなど複数のツールに情報が分散
  • タスクの見落とし: 複数プロジェクトを並行して進める中で、レビュー依頼や期限のあるタスクを見落とすことがある
  • 定型作業の負担: 議事録作成、進捗報告、タスク整理などの定型的な作業に時間を取られる
  • コンテキストスイッチのコスト: プロジェクト間を頻繁に切り替える際の認知的負荷

これらの課題を解決するために、Claude Codeを情報整理してくれる秘書として活用することにしました。

実際の運用方法

どのように使っているか、具体的な内容を紹介します。

1. ファイル構造の設計

まず、Claude Codeが効率的に情報を管理できるよう、以下のようなディレクトリ構造を構築しました:

claude-work/
├── CLAUDE.md                # Claude Code用の共通指示書
├── projects/               # プロジェクト別情報
│   ├── project1.md
│   ├── project2.md
│   └── project3.md
├── scripts/                # 自動化スクリプト
│   ├── github/
│   ├── gitlab/
│   ├── backlog/
│   └── slack/
├── reports/                # レポート・成果物
│   └── 2025-07/
├── histories/              # 作業履歴
│   └── 2025-07/
├── cache/                  # APIキャッシュ
└── configs/                # 設定ファイル

Claude Codeのメモリは有限なので、プロジェクトごとに必要な情報をprojects/ディレクトリにまとめ、各プロジェクトについて必要な時に当該プロジェクトの定義情報を読み込むようにさせています。
これにより、プロンプトで「project1について、XXをやって」といった形で指定することができ、メモリを節約しつつ複数のプロジェクトを効率的に管理できます。

  • scripts/ディレクトリにはある程度定常化した作業を実行するためのスクリプトを配置し、適宜Claude Codeに利用させることで定型作業の効率化・再現性の向上を図っています。
    AI Agentは同じ指示を出しても毎回同じ結果が得られるわけではないため、ある程度同じ事をやらせることが多いのであればスクリプト化しておくことで安定した結果を得ることができます。

  • reports/ 及び histories/ ディレクトリには日々の作業結果やレポートを保存し、後から振り返ることができるようにしています。秘書業務ではよく「XXXについて直近の状況を整理して、次にやるべきことをまとめて」といったことをやることが多いのですが、Claude Codeのコンソール上で表示させると情報が多すぎて見づらくなることがあるため、Markdown形式でレポートを作成し、別途VS Codeでファイルを閲覧できるようにしています。

  • cache/ ディレクトリには、scriptsで利用するAPIのレスポンスや定期的に取得した情報を保存し、Claude Codeが必要なときに参照できるようにしています。これにより、APIの呼び出し回数を減らしてレスポンス時間を短縮できます。
    秘書利用だとSlackやGitHubなどの情報を頻繁に参照することが多いのですが、都度APIを叩かせると重いだけでなくAPI制限にすぐに引っかかってしまいますが、一度ファイルとしてキャッシュ化することでこのあたりの問題を解決できます。

  • configs/ ディレクトリには各種設定ファイルを配置しています。APIキーなどの機密情報の他、プロジェクト横断で利用するチームメンバーの情報やSlack Channel IDや各種アカウント情報なども記載しています。
    Slack APIではChannel名やユーザー名ではなくChannel IDやユーザーIDを指定する必要があるため、これらの情報を一元管理しておくことで、Claude Code秘書が適切にメッセージを送信できるようにしています。

2. CLAUDE.mdによる指示体系

CLAUDE.mdファイルに、秘書としての行動原則や必要な情報を記載しています。全て貼ると長いので、一部抜粋します:

# Claude Code メモリー

## 🚨 絶対厳守ルール

### 日付確認の必須化【違反厳禁】
**すべての作業開始時および日付言及時は、必ずdateコマンドで現在日時を確認すること**
- 環境変数の日付情報は信頼せず、必ず`date`コマンドで確認
- ユーザーからの日付関連の質問には必ず最初に現在日時を確認
- **違反は致命的エラー** - 日付確認なしでの作業は絶対禁止
- **更新作業時は必ず最初に`date`コマンド実行** - プロジェクトファイル更新前に必須

### 議事録作成時のリンク必須化【違反厳禁】
**すべての議事録・MTG記録作成時は、必ず関連するIssue/PR/MR/課題にリンクを付けること**
- **GitHub Issues/PRs**: `[#123](GitHub_URL)` 形式でリンク
- **GitLab Issues/MRs**: `[#123](GitLab_URL)` 形式でリンク
- **Backlog課題**: `[PROJECT-123](Backlog_URL)` 形式でリンク
- **DocBase**: `[記事タイトル](DocBase_URL)` 形式でリンク
- **目的**: 議事録の価値向上・後からの参照性確保・チーム共有の効率化
- **違反は致命的エラー** - リンクなしの議事録作成は絶対禁止

### 書き込み操作の事前許可必須
以下の操作は**必ずユーザーの明示的な許可を得てから**実行すること:
- **Slack**: メッセージ投稿、リアクション追加、スレッド返信
- **Backlog**: 課題の作成・更新、コメント投稿、ステータス変更
- **GitHub/GitLab**: Issue起票、PR/MR作成、コメント投稿、レビュー、マージ
- **DocBase**: メモ作成・更新、コメント投稿
- **その他**: 外部サービスへの書き込み操作全般

## 対応優先順位ルール

1. **期限が明確なもの** (特に1週間以内)
2. **他者が待機中のレビュー** (特にMR/PR)
3. **本番環境に影響するもの**
4. **チーム・他者に影響するもの**
5. **個人学習・長期改善項目**

## プロジェクト別管理ツール

各プロジェクトで使用している管理ツール・リポジトリの詳細は `projects/` ディレクトリ内の各mdファイルを参照してください。

## 注意事項

- **本番リリース**: 必ずテスト・レビューを経てから
- **期限管理**: 特にAWS廃止系は影響大
- **レビュー**: 他者作業の停滞を避けるため優先対応
- **コミット**: 明確でなければ必ずユーザーに確認を求める
- **外部書き込み**: 上記「絶対厳守ルール」参照 - 必ず事前許可を得る

# タスク管理システム(秘書機能)

## 概要
複数プロジェクトでのタスク管理を効率化するため、Claude Codeが秘書機能として以下を実行:
- 各種ツールからのタスク抽出・優先度付け
- Todoistとの同期管理
- 適切なリマインドとタスク提案

## Todoist同期時のエラー対処法
Todoist APIがレート制限やエラーを返す場合は以下の対処を行う:
1. **レート制限エラー(400 Bad Request)の場合**:
   - `retry_after`の値を確認し、指定秒数以上待機
   - 通常は5-15秒程度の待機が必要
   - 連続リクエストは避け、適切な間隔を空ける
2. **MCPサーバーとREST APIの使い分け**:
   - MCPサーバー(mcp__todoist__)で失敗した場合は直接REST APIを試す
   - REST APIも失敗する場合は時間を置いてリトライ
3. **一括同期時の注意**:
   - 大量タスクの同期は小分けにして実行
   - 各リクエスト間に3-5秒程度の間隔を設ける
   - エラーが続く場合は10-15秒の長い待機時間を設定

...(以下略)

このCLAUDE.mdファイルも適宜更新しながら、Claude Codeに指示を与えています。特に、日付確認や議事録のリンク付けなどのルールは、秘書としての行動を一貫させるために重要です。

なお「日付確認の必須化」としてdateコマンドを必ず実行させるようにしているのは、なぜか分かりませんが「今日」や「昨日」といった表現で指示をするとなぜか今月を1月と誤認することが多発したためです。
こういった地道な微調整は特に使い始めの段階で試行錯誤が必要ですが、運用を続ける中で徐々に精度が上がっていきます。

3. 情報収集の自動化

各プラットフォームからの情報収集を自動化するスクリプトを作成し、定期的に実行しています。
例えば、GitHubのPRやIssueを確認しに行き、僕が何かしらの対応すべきタスクがある場合はTODOに登録する、といったことを行わせています。

この際、単純にAssigneeの状態をチェックするだけではなく、Issueのコメントのやり取りの中で自分宛のmentionがあるかどうかも確認させ、自分宛のmentionがあった場合に自分がコメントで返信しているかどうかなども確認対象としています。
このあたり、GitHubは無料リポジトリだとAssigneeが1人しか設定できないなどの制限があるため工夫している点になります。

4. MCPサーバーによる外部連携

以下のMCPサーバーを登録しています。

backlog: docker run -i --rm -e BACKLOG_DOMAIN -e BACKLOG_API_KEY ghcr.io/nulab/backlog-mcp-server
docbaseMcp: npx @krayinc/docbase-mcp-server@latest
github: docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
google-docs-mcp: node /home/morimori/claude-work/mcp-googledocs-server/dist/server.js
slack: docker run -i --rm -e SLACK_BOT_TOKEN -e SLACK_TEAM_ID -e SLACK_CHANNEL_IDS mcp/slack
todoist: npx @abhiz123/todoist-mcp-server
workspace-mcp: uvx workspace-mcp
playwright: npx mcp-server-playwright-local

ただ、SlackやGitHub、DocBaseなどはMCPサーバー経由だとtoken limitに引っかかってしまって取得に失敗することも多いため、必要に応じてREST APIを直接叩くように指示しています。
playwright-mcpについては自作の browser_get_request_info APIを実装して、特定のURLに対して情報を取得するようにしています。

具体的な活用例

1. 朝の定例タスク

/project-update all という Slash Command を実装し、これで全プロジェクトの連携先の最新状態を取得・更新しています。

その上で「今日の私の予定を確認してTODOを教えて」と指示を出すと、以下のような形で今日のTODOをまとめてくれます。

これまで人力でGitHub、GitLab、Backlog、Slackなどの複数の情報を確認してTODOをまとめていたのが、これで一発で横断確認できるようになりました。これだけでも大分嬉しい。

2. プロジェクト間の切り替え

各プロジェクトごとに現状を確認したい場合は「XXXプロジェクトの現状を教えて」のようにプロジェクト名を指定して指示を出します。

当該プロジェクトについて詳細が知りたければ自然言語で「Issue #123について、詳細を教えて」など指示を出せば、関連するIssueやPRの情報をまとめてくれます。賢い。

3. 議事録の自動生成

最近はMeetやZoomに文字起こし・議事録作成の機能がありますが、Claude Code秘書を使うとより高精度かつ良い感じの議事録を作成してくれます。
チームの夕会を実施しました。文字起こしを添付するので各プロジェクトに更新することがあれば記録しておいて 【文字起こしテキストを貼り付け or Meet文字起こしのGoogle Docs URL】」とかやると、よしなに議事録を作成した上で、関連プロジェクトがあればそれぞれ更新してくれます。

ちなみに、この議事録はプロジェクトのIssue情報などの情報も参照できるため、ZoomやMeetの文字起こしより圧倒的に精度の高い議事録が作成できます。特に、プロジェクトごとに関連するIssueやPRのリンクを自動で挿入してくれるので、後から参照しやすいのがポイントです。

僕は文字起こしからの議事録を作成した後、ざっとチェックした上で議事録MarkdownファイルをプロジェクトのSlack Channelに投稿させています。いちいち議事録を作る手間がなくなったのでとてもありがたいです。
議事録作成については色々と思うところがあるので、また別記事でも書くかもしれません。

4. ごちゃごちゃしてきたやり取りの要約と提案

Slack上のスレッドで相談をしていると、段々スレッドが伸びてきてごちゃごちゃしてくることが多々あります。
そんなときに「xxxxプロジェクトについて、このスレッドの内容を要約して次に何をすれば良いか教えて 【Slack PostのURL】」といった形で指示を出すと、良い感じに整理してくれたりします。

これも重要なのは当該Slackのスレッドの情報だけでなく、プロジェクトのIssueやPRの情報も参照してくれるという所です。単純な文章要約だと背景情報が抜け落ちていて要約させても使えない内容になったりしますが、Claude Code秘書だと必要に応じて関連情報を参照してくれるので、より実用的な要約が得られます。

得られた知見とメリット

そんなこんなで現在大小合わせて38ものプロジェクトを定義してClaude Code秘書に管理させています。システム開発系のプロジェクトだけでなく採用や社内業務系のものも管理させられるので、ちょくちょく業務を教え込ませて賢くさせています。

実際に1か月実運用して得られた知見とメリットをまとめてみます。

1. 情報の一元管理

複数のプラットフォームに散在していた情報を、Claude Codeを通じて一元的に管理できるようになりました。「あのタスクどこだっけ?」という時間の無駄が大幅に削減されました。
また、様々なプロジェクトを渡り歩いていると、毎日何かしらあるプロジェクトの定例MTGのための準備で一日が過ぎていくということが多かったのですが、Claude Code秘書を使うことで、必要な情報をすぐに引き出せるようになり、MTGの準備時間が大幅に短縮されました。

何より「あのプロジェクトどうだったっけ・・・」という脳の負担が減ったことで、目の前のタスクに集中しやすくなりました。これはありがたい。

2. コンテキストの保持

プロジェクトごとに詳細な情報をmarkdownファイルで管理することで、Claude Codeが常に適切なコンテキストを保持できます。プロジェクトを切り替えても、すぐに状況を把握して適切な提案ができます。

また、過去の作業履歴やレポートについてもファイルとして残していることで、今後Claude Code以外のより高度なAIエージェントが出てきたとしても、過去の情報を活用しやすくなっています。これにより、将来のAIエージェントの学習データとしても利用可能でしょう。

Claude Codeは結構ポンコツな所もあって、割と細かく指導してあげないといけないことも多いのですが、一度指導した結果がちゃんと履歴として保存されていて、将来に渡って再利用できるのは大きなメリットです。教え甲斐がある。

3. 定型作業の自動化

議事録作成、進捗報告、タスク整理などの定型的な作業を自動化することで、より創造的な業務に時間を使えるようになりました。ブラウザの窓を沢山開いて情報を探し回る時間が減ったのはありがたいです。タイピング量は増えましたが。

4. 見落としの防止

定期的な自動チェックにより、レビュー依頼の見落としや期限切れタスクの発生を防げるようになりました。

課題

個人的には現時点でも充分満足していますが、他の人も参考にするとしたら以下のような課題があるでしょう。

  • コスト: Claude Codeを秘書として使う場合、MAX 20xプランでないとすぐにLimitに到達してしまいます。僕の場合は沢山のプロジェクトを抱えているため 200 USD / 月を払う価値がありそうですが、1-2プロジェクト程度に集中して作業できる人にはあまり費用対効果を感じられないかもしれません
  • 初期設定の複雑さ: 環境構築やMCPサーバーの設定にある程度の技術的知識が必要
  • 学習コスト: Claude Codeとの効果的なやり取り方法を習得するまでに時間がかかる
  • セキュリティ: 認証情報の管理やアクセス権限の設定に注意が必要

まとめ

Claude Codeを秘書として活用することで、エンジニアリング業務と管理業務の両立が格段に楽になりました。特に、情報の一元管理と定型作業の自動化による効果は大きく、本来注力すべき業務により多くの時間を割けるようになりました。

AIツールは単なる質問応答システムではなく、適切に設計・運用すれば、真の意味での「デジタル秘書」として機能します。この記事が、皆さんの業務効率化の一助となれば幸いです。

関連記事

playwright-mcpで大きなページのtoken limit問題を解決するAPIを実装してみた


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。