mcpField
C
cco-task

cco-task

github.com/egorfedorovエージェントワークフロー12585 回インストール2 日前に更新
リポジトリ

cco-task について

cco-task は、プロジェクト内のタスクごとに実行状態とトークンコストを追跡するタスク管理スキルです。上限付きの JSON 状態を更新でき、コンテキスト圧縮後やセッション再開時に復元できます。

主な機能

  1. 01タスクの開始、切り替え、完了
  2. 02タスクごとのトークン数と費用を追跡
  3. 03簡潔な JSON 実行状態をパッチ更新
  4. 04圧縮後や再開時に状態を復元
  5. 05タスクと費用の一覧表示

活用シーン

  1. 01コンテキスト圧縮後もタスクの進捗を維持
  2. 02サブエージェントに簡潔なタスク概要を渡す
  3. 03プロジェクトのタスク別トークン使用量を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/egorfedorov/claude-context-optimizer --skill cco-task

インストール後、Claude Code で/cco-taskを入力して読み込まれたか確認します。

詳細

Tasks — タスクごとのコンテキスト、コスト、実行状態

タスクは、名前付きの作業単位です。タスクがアクティブな間、セッションが使用したトークンはそのタスクに割り当てられるため、Control Center(/cco)ではセッションごとだけでなく、タスクごとのコストを確認できます。

各タスクには、小さな JSON 実行状態(目標、完了したこと、未完了のこと、次のアクション)も保持されます。トランスクリプトから進捗を再導出するのではなく、パッチで更新します。サイズは約1Kトークンに制限されているため、ステップ数に応じて増えることはありません。また、/compact の直後(および --resume 時)にそのまま再注入されます。これは、プラグインが適用できる範囲で実現した SKILL.state の考え方です(Google / Purdue、2026)。圧縮後の要約は情報が失われ、自由形式ですが、状態は正確で上限が定められています。

Commands

ユーザーの引数を解析し、該当するコマンドを実行します(作業ディレクトリによって、タスクの対象は現在のプロジェクトに限定されます)。

タスクを開始/切り替え(前のアクティブなタスクも閉じます):

node ${CLAUDE_PLUGIN_ROOT}/src/tasks.js add "<task name>"

開始後、必要最小限のコンテキストをまとめるよう提案します: /cco-pack "<task name>"。また、目標と計画を状態に設定します: /cco-task patch '{"goal": "...", "plan": ["...", "..."], "next": "..."}'。

実行状態にパッチを適用(キーを設定。null はキーを削除します):

node ${CLAUDE_PLUGIN_ROOT}/src/tasks.js patch '{"done": ["read auth.ts"], "next": "write the failing test", "scratch": null}'

パッチは JSON オブジェクトである必要があります。状態が上限を超える場合、パッチは拒否されます。先に完了したキーを null で削除してください。

現在の状態を表示:

node ${CLAUDE_PLUGIN_ROOT}/src/tasks.js state

タスクを一覧表示(新しい順。タスクごとのトークン数と $ を表示):

node ${CLAUDE_PLUGIN_ROOT}/src/tasks.js list

アクティブなタスクを完了:

node ${CLAUDE_PLUGIN_ROOT}/src/tasks.js done

State discipline(維持する価値のある状態にする方法)

  • ログではなく、状態を維持します。done、open、next、decisions、files など、作業を続けるために必要な事実を記録し、そこに至るまでの経緯は記録しません。推論は一時的なものです。残るのは状態です。
  • テストの合格、意思決定、ファイルの完成など、マイルストーンごとにパッチを適用し、不要になったキーはその時点で削除します。
  • /compact の後は、SessionStart フックがアクティブなタスクの状態を新しいコンテキストに自動表示します。要約よりも状態を正確な情報として扱ってください。
  • サブエージェントに作業を委任する際は、会話ではなく状態をブリーフとして渡します。状態には、すでに最小限かつ最新のタスク説明が含まれています。

推奨する流れ

  1. /cco-task add "implement X" — タスクを開始する
  2. /cco-pack "implement X" — そのタスクに必要なファイルだけを読み込む
  3. /cco-task patch '{"goal": "...", "next": "..."}' — 状態を設定し、作業を進めながらパッチを適用する
  4. /cco — 予算、節約額、現在のタスクのコストを確認する
  5. /cco-task done — タスクのトークン数と $ の合計を確定する

プロジェクトごとにアクティブにできるタスクは一度に1つだけです。新しいタスクを開始すると、前のタスクのコストは自動的に確定されます。

コメント