Claudeのproductivityプラグインでmemory-managementとTASKS.mdを使う
productivityプラグインの2スキルが作るCLAUDE.md・memory/・TASKS.mdの構造と、/productivity:startと/updateの流れ、既存のCLAUDE.mdと併用するときの注意点をまとめます。
「toddにoracleのPSRを頼んで」と書いて、Claudeが誰のどの資料のことか分かる状態を作るのが、productivityプラグインの狙いです。仕組みは単純で、略語・人名・プロジェクトのコードネームをCLAUDE.mdとmemory/ディレクトリに貯め、タスクはTASKS.mdに置きます。ここでは、プラグインに入っている2つのスキル(memory-managementとtask-management)が何をどこに書くのかを、リポジトリのファイルに沿って追います。
productivityプラグインは何をするものか
anthropics/knowledge-work-pluginsリポジトリのproductivityディレクトリ(plugin.jsonの版は1.3.1、作者はAnthropic)に入っています。READMEによると、主な対象はCoworkですが、Claude Codeでも動きます。
入っているものは次の3つです。
- タスク管理:
TASKS.mdを読み書きするスキル - 職場の記憶: 略語や人名を解読するための2層のメモリー
- ダッシュボード: タスクと記憶を見渡せるローカルの
dashboard.html
インストールはREADMEの2行です。
claude plugin marketplace add anthropics/knowledge-work-plugins
claude plugin install productivity@knowledge-work-pluginsCoworkでのプラグインの探し方や配布は、Coworkのディレクトリでスキル・コネクタ・プラグインを探すにまとめています。Anthropic製の別のプラグインはClaude Coworkのプラグイン3種で扱っています。
入口は/productivity:startと/productivity:update
操作の入口はスラッシュコマンド2つです。2つとも、どのファイルを読み、どこに書くかが手順書に決まっています。
| コマンド | することの要点 |
|---|---|
/productivity:start | することの要点TASKS.md・CLAUDE.md・memory/・dashboard.htmlの有無を調べ、無いものを作る |
/productivity:update | することの要点外部のタスクとの突き合わせ、古いタスクの整理、記憶の抜けの確認 |
/productivity:update --comprehensive | することの要点上に加えて、チャット・メール・カレンダー・文書を走査し、拾えていないTODOと新しい記憶を提案する |
startは、作業ディレクトリ(カレントディレクトリ)の中だけを見ます。TASKS.mdが無ければテンプレートで作り、dashboard.htmlが無ければプラグインから複製します。CLAUDE.mdとmemory/のどちらも無いときだけ、初回の記憶づくり(ブートストラップ)に進みます。
ここは読み落としやすい点です。すでにCLAUDE.mdがあるディレクトリでは、初回の記憶づくりが走りません。次の節で触れる併用の問題とつながります。
ダッシュボードの開き方にも指定があります。openやxdg-openは使わず、「dashboard.htmlの準備ができました。ファイルブラウザから開いてください」と案内する手順です。CoworkではエージェントがVMの中で動き、シェルのコマンドではユーザーのブラウザに届かないという理由が手順書に書かれています。
初回は「実際のタスク」から略語を拾う
初回の記憶づくりは、既存のタスク一覧を材料にします。startは「TODOや作業リストはどこにありますか」と尋ね、ローカルファイル(TASKS.md・todo.txt)でも、Asana・Linear・Jira・Notion・Todoistのようなアプリでもよいとしています。
その上で、タスクの1行ごとに略語・あだ名・コードネームを探し、対話で意味を確認します。手順書にある例は次の形です。
Task: "Send PSR to Todd re: Phoenix blockers"
1. PSR - What does this stand for?
2. Todd - Who is Todd? (full name, role)
3. Phoenix - Is this a project codename? What's it about?実際の仕事で使う言い回しがいちばん確かな材料になる、という考え方です。聞くのは未解読の語だけで、すでに分かった語は聞き直しません。
そのあと、チャット・メール・文書・カレンダーを広く走査するかどうかを選べます。走査すると、確度の高い順に「そのまま追加できる」「確認が要る」「頻度が低く保留」の3群に分けて提示されます。どれを記憶に入れるかは、最後にユーザーが決めます。
memory-managementの2層構造
記憶は2層に分かれます。
CLAUDE.md ← ホットキャッシュ(約30人と頻出語)
memory/
glossary.md ← 全部入りの解読表
people/ ← 人物ごとの詳細
projects/ ← プロジェクトごとの詳細
context/ ← 会社・チーム・ツールCLAUDE.mdには、よく使う約30人、約30語、進行中の5〜15プロジェクト、自分の好みを表で置きます。目標は日常の解読の9割をここで済ませることで、長さは50〜80行、多くても約100行に抑えるとされています。それ以外はmemory/に置き、数は増えても構いません。
調べる順序も決まっています。
CLAUDE.mdを見る- 無ければ
memory/glossary.mdを検索する - さらに詳細が要れば
memory/people/とprojects/を読む - それでも無ければユーザーに尋ね、答えを記憶する
人物ファイルには、連絡の好み(Slack DMが早い、など)や担当範囲を書きます。あだ名の記録は「解読に決定的」とされ、glossary.mdに「あだ名→本名」の表を持ちます。ファイル名は小文字とハイフンで、todd-martinez.mdのようにします。
日本の職場に当てはめたCLAUDE.mdは、例えば次のような形になります(手順書の雛形に沿った例示で、実際の出力ではありません)。
# Memory
## Me
田中、営業企画チーム。週次の案件レポートを作る。
## People
| Who | Role |
|-----|------|
| **佐藤** | 佐藤花子、経理リーダー |
| **山本** | 山本一郎、営業部長 |
→ Full list: memory/glossary.md
## Terms
| Term | Meaning |
|------|---------|
| 案件会議 | 月曜10時の営業定例 |
| P0 | 他を止めて対応する優先度 |
→ Full glossary: memory/glossary.md
## Projects
| Name | What |
|------|------|
| **北斗** | 基幹システムの移行、来期Q2稼働 |
→ Details: memory/projects/昇格と降格で肥大を防ぐ
2層が崩れる原因は、CLAUDE.mdが膨らむことです。手順書には入れ替えの条件が書かれています。
| 動き | 条件 |
|---|---|
CLAUDE.mdへ昇格 | 条件よく使う語・人物、または進行中の仕事に関わるもの |
memory/のみへ降格 | 条件プロジェクトの完了、頻繁に連絡しなくなった人物、ほとんど使わない語 |
過去のものはCLAUDE.mdから外し、memory/には残します。/productivity:updateの途中でも、プロジェクトの状況が「完了」に変わったタスクを見つけると、CLAUDE.mdからの降格が候補に挙がります。
task-managementはTASKS.mdの書式を決める
もう一方のスキルはTASKS.mdの置き場所と書式を決めます。置き場所は「カレントディレクトリのTASKS.md」で固定です。無ければ次のテンプレートで作ります。
# Tasks
## Active
## Waiting On
## Someday
## Doneタスクの書き方は次の約束です。
- 1行目は
- [ ] **タスク名** - 文脈、誰のために、期限 - 補足はサブ項目で書く
- 完了は
- [x] ~~タスク~~ (日付)にしてDoneへ移す - 他人への約束には「for相手」、期限には「due日付」、待ち案件には「since日付」を添える
Doneは約1週間置いてから消す
「今日やること」と聞けばActiveとWaiting Onを要約し、期限切れを強調します。「何を待っているか」と聞けば、待ち案件ごとの経過日数も添えます。
会議の要約などからタスクを抽出するときは「追加しましょうか」と尋ねる決まりです。確認なしに追加しません。updateの手順書にも、タスクや記憶を勝手に足さないと書かれています。
TASKS.mdは人間も直接編集できます。ダッシュボード側のタスクボードは同じファイルを読み書きし、変更を自動で保存し、ファイルが外から書き換わると同期します。ドラッグ&ドロップでの並べ替えにも対応します。
updateで外部のタスクと突き合わせる
/productivity:updateの核は、TASKS.mdと外部の情報源の突き合わせです。情報源は、使えるMCPがあればプロジェクト管理ツール、リポジトリの中ならgh issue list --assignee=@meで出したGitHub Issuesです。
| 外部のタスク | TASKS.mdとの関係 | 動き |
|---|---|---|
| 見つかった | TASKS.mdとの関係載っていない | 動き追加を提案 |
| 見つかった | TASKS.mdとの関係題名が近いものがある | 動き何もしない |
| 載っている | TASKS.mdとの関係外部に無い | 動き古くなった可能性として提示 |
| 外部で完了 | TASKS.mdとの関係Activeにある | 動き完了にするか提案 |
次に、Activeのタスクから整理の候補を挙げます。基準は、期限が過ぎた、30日以上Activeのまま、人もプロジェクトも書かれていない、の3つです。候補ごとに「完了」「期限の変更」「Somedayへ移す」を尋ねます。
最後にタスク中の語をすべて解読し、記憶にない語を一覧で質問します。タスクに貼られたリンクや状況の変化も、人物・プロジェクトのファイルに反映されます。--comprehensiveを付けると、チャットやメールのやりとりから「追えていないTODO」も候補に加わります。
既存のCLAUDE.mdと併用するときの注意
ここまでの動作は、すべて「カレントディレクトリのCLAUDE.mdとmemory/」を前提にしています。Claude Codeのリポジトリで使うなら、次の点を見ておく必要があります。
Claude Codeは、起動した場所とその上位にあるCLAUDE.mdを読み込みます。公式のメモリー解説にあるとおり、開発規約を書いたCLAUDE.mdは毎回のセッションの文脈に入ります。一方、手順書の言う作業記憶も同じCLAUDE.mdです。コーディング規約のファイルに人名と略語の表を足すと、役割の違う2種類の内容が1つのファイルに同居します。
公式のメモリー解説は、CLAUDE.mdを200行未満に保つことを勧めています。人物・用語・プロジェクトの表は、この枠をすぐに使い切ります。長すぎる場合の症状と直し方はCLAUDE.md is too long警告の意味と直し方にあります。
整理の選択肢は2つです。
- 作業フォルダーを分ける: 開発リポジトリとは別に、業務の記憶用のフォルダー(例:
~/work-memory/)を作り、そこでセッションを開く。startもTASKS.mdもそこに作られる - 開発リポジトリで使う:
startの初回の記憶づくりが走らないため、memory/とTASKS.mdは手で用意するか、CLAUDE.mdに表を追記する運用にする
もうひとつ区別しておきたいのが、Claude Codeの自動メモリーとの違いです。自動メモリーはClaudeが自分でメモを書く機能で、保存先は~/.claude/projects/<project>/memory/です。プラグインのmemory/は作業ディレクトリの直下にあり、場所も書き手も別物です。プロジェクトのフォルダーにmemory/があっても、自動メモリーの保存先とは関係がありません。自動メモリーの保存先を変えたり切ったりする手順は自動メモリの保存先変更とオフ設定に書いています。
memory/が読み込まれる経路にも触れておきます。公式の読み込みルールに載っているのはCLAUDE.mdと.claude/rules/などで、作業ディレクトリ直下のmemory/は含まれません。memory/を読むきっかけは、「CLAUDE.mdに無い語はmemory/glossary.mdを検索する」というスキルの手順です。ディレクトリを置いただけでは起動時に文脈へ入らないので、CLAUDE.mdの各表の末尾にある「→ Full list: memory/glossary.md」の案内行を消さないほうが安全です。
連携先と、使えないときの動き
CONNECTORS.mdによると、このプラグインの文面は「~~chat」「~~project tracker」のようなカテゴリ名のプレースホルダで書かれ、特定の製品に縛られません。同梱の接続先は次のとおりです。
| カテゴリ | 同梱 | ほかの選択肢 |
|---|---|---|
| チャット | 同梱Slack | ほかの選択肢Microsoft Teams、Discord |
| メール・カレンダー | 同梱Microsoft 365 | ほかの選択肢なし |
| ナレッジベース | 同梱Notion | ほかの選択肢Confluence、Guru、Coda |
| プロジェクト管理 | 同梱Asana、Linear、Atlassian(Jira/Confluence)、monday.com、ClickUp | ほかの選択肢Shortcut、Basecamp、Wrike |
| オフィススイート | 同梱Microsoft 365 | ほかの選択肢なし |
READMEには、これらを接続しなくても「タスクと記憶は手動で管理できる」とあります。接続先が無い環境では、updateの外部突き合わせの段階が飛ばされ、TASKS.mdの整理と記憶の確認だけが残ります。
試すときの順序
最初の1日は、次の順序が手戻りを減らします。
- 業務用のフォルダーを作り、そこでセッションを開く
/productivity:startを実行し、普段のタスク一覧を渡す- 質問に答えて、
CLAUDE.mdとmemory/の初期状態を作る - 「toddにoracleのPSRを頼んで」のような略語まじりの依頼を投げ、解読結果を確認する
- 週に一度
/productivity:updateを回し、Activeの古い項目を整理する
解読結果が違っていたら、その場で訂正します。「Xは〜のこと」と伝えれば、手順書によってglossary.mdと、頻出ならCLAUDE.mdにも書き込まれます。
まとめ
productivityプラグインの要は、CLAUDE.mdを約100行のホットキャッシュ、memory/を無制限の辞書として分ける設計と、TASKS.mdの4区分(Active・Waiting On・Someday・Done)です。Claude Codeの開発リポジトリに入れるとCLAUDE.mdの役割が衝突するので、業務の記憶は専用のフォルダーに分けて使うほうが、読み込みの面でも手入れの面でも素直に収まります。