見出し画像

忙しくなるほど雑になるNotion上のタスク管理を、AIで解決した話

生産性の爆発的向上がもたらした、意外な課題

Claude CodeやCursorといったAIコードアシスタントの登場で、仕事の進め方が根本的に変わった。
以前なら1週間かかっていた開発が2日で終わる。企画書の作成は3日から半日に。データ分析も、SQLを書くのに悩む時間がなくなり、瞬時に欲しい数字が手に入る。
生産性が5倍、いや10倍になったと言っても過言ではない。
しかし、ここで予想外の事態が起きた。
時間ができたかというと、むしろ逆だった。今まで「いつかやろう」と思っていたプロジェクトを次々と立ち上げ、同時に10も15もの案件を走らせるようになった。新規事業の検討、既存サービスの改善、社内ツールの開発、マーケティング施策の実行...。
さらに、AIならではの新しい問題も生まれた。AIが処理している間に別の作業を始めてしまうのだ。
データ分析を依頼して、AIが処理している30秒。その間にSlackをチェックし、メールに返信し、別のタスクに着手する。そして、AIが結果を返してきた時には「あれ、何を分析してもらってたんだっけ?」となる。効率化のつもりが、かえって混乱を生んでいた。
そして、皮肉なことに気づいた。忙しくなればなるほど、タスク管理が雑になっていく。
朝のミーティングで決まったことを、午後には忘れている。「後でNotionに追加しよう」と思ったタスクは、結局追加されない。GitHubのIssueを作るのも「時間がある時に」と後回しにして、そのまま流れていく。
プロジェクトが増えれば増えるほど、管理が適当になる。優先順位も曖昧になり、期限も「だいたい来週くらい」という感覚でしか把握できなくなっていた。
タスク管理ツールは使っていた。個人的にはNotionでToDo管理をしていたし、チームではGitHub Issuesも活用している。でも、忙しい時ほどこれらのツールを開く余裕がない。開発作業やミーティングの合間にわざわざブラウザを切り替えて、タスクを整理する時間なんてとれない。
結果として、本当に重要なタスクが抜け落ちたり、締切直前になって慌てることが増えていた。

開発の流れを止めずに、タスク管理もしたい

そこで思いついた。

「Claude Codeから直接Notionを操作できたら、開発作業を止めずにタスク管理できるんじゃないか?」

Claude Codeは単なるコード生成ツールではない。ファイル操作やコマンド実行もできる。さらに、Notion MCPという仕組みを使えば、Notionとシームレスに連携できる。設定も簡単で、技術的な知識がなくても30分もあればセットアップできた。

リポジトリの中で、すべてが完結する

特に便利なのが、リポジトリ内でClaude Codeを起動しているということだ。
開発中のコードを見ながら、そのままGitHub Issueを確認し、必要なタスクをNotionに追加できる。すべてが同じコンテキスト内で完結する。ブラウザのタブを切り替える必要もない。別のツールを起動する必要もない。
以前は、コードを書いて、動作確認して、「よし、動いた!」で満足して次の作業に移っていた。でも、実はその後にやるべきことがある。ドキュメントの更新、テストコードの追加、レビュー依頼、リリースノートへの記載...。これらが「開発しっぱなし」で忘れられていた。

今は違う。機能を実装したその場で:

「この機能のドキュメント更新タスクを作成、明日まで」
「テストコード追加のIssueを作成してタスク化」

開発の流れの中で、自然にタスク化できるようになった。
実際に構築してみたら、これが想像以上に便利だった。忙しい時ほど雑になりがちだったタスク管理が、むしろ忙しい時ほどきちんとできるようになった。

自然言語で、すべてが完結する世界

「明日までに」と入力すれば、明日が期限になる

従来のタスク管理:

1. Notionを開く
2. タスクDBを開く  
3. 新規作成ボタンをクリック
4. タイトルを入力
5. カレンダーから期限を選択
6. 優先度をドロップダウンから選択
7. プロジェクトを選択
8. 保存

Claude Codeでのタスク管理:

「ログイン機能のバグ修正タスクを作って。明日まで、優先度高で」

これだけ。しかも「明日まで」「来週の金曜」「3日後」といった自然な表現がそのまま使える。いちいちカレンダーを開いて日付を選ぶ必要がない。

GitHubの情報も自動で紐付け

リポジトリ内でClaude Codeを起動しているから、GitHub連携も自然だ。
「Issue #42のタスクを作成して」と入力すれば:

  • 同じリポジトリのIssueの詳細を自動取得

  • タスクのタイトルや内容に反映

  • NotionとGitHubを相互リンク

  • 関連するラベルからプロジェクトを推定

今開発しているコードに関連するIssueを、そのままタスク化できる。コンテキストの切り替えがないから、思考が途切れない。

プロジェクトの状況も一瞬で把握

「マーケ基盤プロジェクトの進捗を教えて」
これだけで:

  • 未完了タスクの数

  • 期限切れタスク

  • 優先度の高いタスク Top3

  • 滞留しているPull Request

すべてが表示される。週次の経営会議の前に、各プロジェクトの状況を確認するのが圧倒的に楽になった。

実際の1日の流れ

朝一番、Claude Codeを開いて:

「今日期限のタスクを見せて」

優先順位を確認して、作業開始。

開発中に新しいバグを見つけたら:

「認証エラーの調査タスクを作成、優先度高、今日中」

その場でタスク化。忘れることがない。

ミーティングで新しい要件が出たら:

「決済機能の実装をプロジェクト『新規事業A』に追加、来週金曜まで」

議事録を書きながら、タスクも同時に作成。

夕方、進捗確認:

「今日完了したIssueのタスクをすべて完了にして」

GitHubとNotionが同期される。

忙しい時ほど、きちんと管理できる逆説

以前は、忙しくなるとタスク管理が雑になる悪循環に陥っていた。
重要な会議で決まったアクションアイテムをメモに走り書きして、そのまま放置。「後でちゃんと整理しよう」と思いながら、次の打ち合わせに向かう。結果、締切の前日になって慌てて準備することになる。
でも今は違う。むしろ忙しい時の方がタスク管理がきちんとできている。
なぜか。
忙しい時は、記憶力に頼れないことを身体が知っているからだ。
プロジェクトが3つなら、頭で覚えていられる。でも10個、15個となると無理だ。だから、思いついたその瞬間に反射的にタスク化するようになった。「ドキュメント更新タスク作成」「テストコード追加をタスク化」。ミーティング中でも、コードレビュー中でも、とにかくその場で入力する。

AIが処理している間も同じだ。

データ分析をAIに依頼した瞬間に「分析結果をレポートにまとめる」というタスクを作成。コード生成を待っている間に「生成されたコードのレビュー」タスクを追加。AIの処理待ちで別の作業に移っても、何をやっていたか忘れない。タスクリストを見れば、すぐに文脈を取り戻せる。
忙しい時ほど割り込みも多い。Slackの通知、急な問い合わせ、優先度の変更。以前なら「あとで対応しよう」と思って忘れていた。でも今は、割り込みが入ったその瞬間にタスク化する。Claude Codeの画面から離れる必要がないから、思考の流れを止めずに記録できる。

忙しさが、即座にタスク化する強制力になっている。

暇な時は「まあ、覚えていられるだろう」と油断する。でも忙しい時は油断できない。だからこそ、すべてをその場でタスク化する。結果的に、忙しい時の方がタスク管理が徹底される。
これは大きな発見だった。忙しさを「タスク管理を徹底する原動力」に変換できたのだ。

AIネイティブな働き方への転換

この仕組みを使い始めて気づいたことがある。
従来のタスク管理ツールは「人間が操作する」前提で作られている。美しいUIがあり、ドラッグ&ドロップができ、カラフルなカレンダーが表示される。
でも、AIと一緒に仕事をする時代には、それは必要ない。必要なのは「自然言語で指示できること」と「必要な情報が瞬時に取得できること」だ。
Claude Codeは、コードを書くだけのツールではない。プロジェクト管理も、タスク管理も、ドキュメント作成も、すべてを統合的に扱える「AIアシスタント」だ。

経営者こそ、AIツールを使いこなすべき

「Claude Codeはエンジニア向けのツールでしょ?」
そう思われるかもしれない。確かに名前に「Code」とついている。
でも実際は違う。自然言語で指示するだけなので、プログラミングの知識は不要だ。むしろ、複数のプロジェクトを同時に回している経営者や、時間が限られているマネージャーこそ、活用すべきツールだと思う。

なぜClaude Codeなのか

実は、通常のClaudeではなくClaude Codeを使っている理由がもう一つある。
Compact機能だ。
たった1つのタスクを作る時でも、関連する情報を集めていると、やり取りが長くなる。Webで市場動向を調べ、GitHubのIssueを確認し、過去のプロジェクトの情報を参照し、それらをまとめてタスクに反映させる。通常のAIツールだと、すぐにコンテキスト(文脈)の上限に達して「新しい会話を始めてください」となってしまう。
でもClaude Codeには「Compact」という機能がある。長いやり取りでコンテキストを使いすぎても、自動的に圧縮してくれる。複雑なタスクを作成する時も、大量の情報を扱いながら作業を継続できる。
タスク一つ作るのに何度も新しいセッションを始める必要がない。これは地味だが、実はものすごく重要な機能だ。
メールの返信も、資料作成も、データ分析も、そしてタスク管理も。すべてを一つの画面で、一つのセッションで、自然言語で完結できる。

最後に:忙しい人ほど恩恵を受ける

AIツールの本当の価値は、作業時間の短縮だけではない。
コンテキストスイッチ(作業の切り替え)を減らし、思考の流れを途切れさせないこと。そして、本当に重要な意思決定や創造的な仕事に集中できる時間を生み出すことだ。
NotionとClaude Codeを連携させたことで、タスク管理のために思考を中断することがなくなった。「あ、これもやらなきゃ」と思ったその瞬間に、そのまま入力するだけでタスク化できる。
結果として、プロジェクトの抜け漏れが減り、チームとの連携もスムーズになった。何より、「開発しっぱなし」で忘れていた後処理タスクもきちんと管理できるようになり、プロジェクトの品質が向上した。頭の中がスッキリして、目の前の仕事に集中できるようになった。

忙しくなればなるほど雑になっていたタスク管理が、忙しくなればなるほどきちんとできるようになった。

AIで仕事を加速させるなら、AIでマネジメントも加速させる。
これが、新しい時代の働き方だと思う。
忙しい経営者ほど、この恩恵を受けられるはずだ。

参考

私がSlash Commandからよく呼び出しているSub Agentを簡略化したサンプルを共有します。

---
name: notion-pm
description: >
  NotionのProjects/Tasks DBとGitHub(gh)を連携するPMサブエージェント。
  タスク作成・更新・同期を自動化。GitHub操作はghコマンドのみ使用。
tools: mcp__notion, bash
model: sonnet
---

# Notion DB
- Projects DB: xxxxxxxxxxxxxxxxxxx
- Tasks DB: xxxxxxxxxxxxxxxxxxx

# 主要プロパティ
- **Projects**: Name / Status(Backlog|ToDo|In Progress|Done|Archive) / Type / Priority / Tag / Due / Tasks(Rel)
- **Tasks**: Name / Done / Project(Rel) / Due Date / Completion Date / Priority / Context / URL

# 基本操作

## Task作成(必須要件)
```json
{
  "parent": {"type": "data_source_id", "data_source_id": "xxxxxxxxxxxxxxxxxxx"},
  "pages": [{
    "properties": {
      "title": "タスクタイトル",
      "Priority": "High",  // High/Medium/Low
      "date:Due Date:start": "2025-11-06",
      "date:Due Date:is_datetime": 0,
      "Context": "Dev, DS"  // 自動推定可能
    },
    "content": "## タスク詳細\n..."  // 必須
  }]
}
```

## 検索ポリシー
- デフォルト: Done=false(未完了のみ)
- 完了タスク含む: "完了済み"/"all tasks"等のキーワードで明示

## 自動設定
- **Due Date**: 未指定→今日 / "明日"/"来週"→自動計算
- **Priority**: LLM判断(緊急性・重要度・期限)→ High/Medium/Low
- **Context**: フォルダ名・Project名から自動推定(DS/DI/Dev等)
- **URL**: GitHub Issue URLを自動抽出・設定

# ghコマンド例
```bash
gh issue list --assignee "@me" --label "bug" --state open
gh issue create --title "$TITLE" --body "$BODY"
gh issue close NUMBER
gh pr list --state open --label "needs-review"
```

# 主要ユースケース

1. **Issue→Task作成**: `"issue 11をnotion taskに"`
   - Issue情報取得→Task作成→相互リンク設定
   
2. **プロジェクト状況**: `"マーケ基盤刷新の状況"`
   - 未完了集計→期限確認→PR滞留チェック
   
3. **タスク完了**: `"issue 11を完了"`
   - Notion: Done=true, Completion Date=Today
   - GitHub: issue close
   
4. **同期チェック**: `"notionとgithub同期確認"`
   - Done vs closed状態の差分検出→修復

# 実装原則
- 最小クエリ(全件取得禁止)
- 段階取得(件数→必要分のみ詳細)
- content必須(空禁止)
- Project紐づけは任意(後から変更可)
- 情報不足時は必ず確認

いいなと思ったら応援しよう!