Context Capsule について
Context Capsuleは、コーディングエージェント向けのオープンソースかつローカル優先の引き継ぎツールです。タスクの目的、決定事項、制約、検証状況、次の作業をまとめ、引き継ぎ先がリポジトリとの整合性を確認できます。
主な機能
- 01コーディングタスクの引き継ぎを記録
- 02リポジトリ状態と変更ファイル名を取得
- 03引き継ぎの古さや不一致を確認
- 04ローカル保存と任意のホスト共有
- 05ProofSlipの証拠を参照
活用シーン
- 01コーディングエージェント間でタスクを移行
- 02中断した作業を後から再開
- 03短期間有効な引き継ぎリンクを共有
MCP 対応
任意のMCPサーバーがホスト型APIに接続し、create_capsule、fetch_capsule、signupツールを公開します。作成にはCONTEXTCAPSULE_API_KEYが必要で、取得は認証不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| summary | string | はい | 現在のコンテキストの人間が読みやすい要約(最大 500 文字) |
| decisions | array | いいえ | 重要な決定事項(最大 20 項目、各 500 文字) |
| next_steps | array | いいえ | 次に行うこと(最大 20 項目、各 500 文字) |
| payload | object | いいえ | 任意の構造化 JSON データ(最大 32KB) |
| refs | object | いいえ | 任意のワークフロー参照(workflow_id、agent_id、session_id など) |
| expires_in | number | いいえ | TTL(秒)(60~604800、デフォルトは 604800 = 7 日) |
| idempotency_key | string | いいえ | 同じリクエストを再試行した際に、カプセルの重複作成を防ぎます |
| audience | string | いいえ | ビュー ページにソーシャルカードを表示するには、"human" に設定します |
詳細
Context Capsule
コーディングエージェントを切り替えても、作業の流れを失いません。
Context Capsule は、実行中のコーディングタスクを Codex から Claude Code、Cursor、別のエージェント、または未来の自分に引き継ぐための、オープンソースでローカルファーストな Agent Skill です。リポジトリの識別情報、決定事項、制約、検証内容、ブロッカー、具体的な次のアクションを 1 つという、必要最小限の状態を記録します。
引き継ぎを受け取るエージェントは、それを信頼する前に、引き継ぎ内容が現在も整合しているかを確認します。
ウェブサイト · Skill のソース · 現在の方針 · 引き継ぎの例 · オプションのホスト型 API · ProofSlip
Agent Skill をインストールする
npx skills add Johnny-Z13/context-capsule --skill contextcapsule-handoff
この Skill は、オープンな SKILL.md と、依存関係のない Node ヘルパーを使用します。Codex、Claude Code、Cursor、および Agent Skills 形式に対応するその他のツールを対象としています。
プロンプトの例:
Create a Context Capsule before I switch this task from Codex to Claude Code.
Resume from .contextcapsule/latest.json, but check whether it is stale first.
ローカルのワークフローでは、アカウント、API キー、データベース、アップロードは必要ありません。
記録する内容
coding-handoff/v1 形式には、以下が含まれます。
| 項目 | 確認できる内容 |
|---|---|
| 目標 | どのような成果を目指していますか? |
| 現在の状況 | 完了、一部完了、未検証、または対象外の項目は何ですか? |
| リポジトリ | どのリモート、ブランチ、HEAD、作業ツリーのフィンガープリントについて記述していますか? |
| 決定事項 | 次のエージェントが引き継ぐべき選択は何ですか? |
| 制約 | 行ってはならないこと、または前提としてはならないことは何ですか? |
| 検証 | いつ、どのコマンドと結果が確認されたか、あるいは報告されただけか? |
| ブロッカー | 権限、認証情報、他の人、または外部の状態が必要な作業は何ですか? |
| 次のアクション | 次に行うべき、範囲を限定した 1 つのステップは何ですか? |
| 参照 | 関連する ProofSlip の証明、Issue、またはプルリクエストはどれですか? |
これは引き継ぎ用であり、トランスクリプト、汎用メモリストア、自律型オーケストレーター、または主張の真偽を確定する情報源ではありません。
ローカルワークフロー
通常、Skill がこれらのコマンドを代わりに実行します。動作を確認できるよう、ここに記載しています。
1. リポジトリの状態を記録する
node .agents/skills/contextcapsule-handoff/scripts/contextcapsule.mjs \
capture --repo /path/to/repository
記録処理は読み取り専用です。サニタイズ済みのリポジトリメタデータと、変更されたファイル名を上限付きで記録します。ソースファイルの内容を読み取ったり、コピーしたりすることはありません。
2. 引き継ぎを作成する
形式のリファレンスに従って意味情報を含む入力ファイルを用意し、次を実行します。
node .agents/skills/contextcapsule-handoff/scripts/contextcapsule.mjs \
create \
--repo /path/to/repository \
--input /path/to/handoff-input.json
デフォルトの出力先:
.contextcapsule/
├── latest.json
├── latest.md
├── previous.json # when an older capsule existed
└── previous.md
ヘルパーは、ユーザーが書き込み先を承認した後にのみ実行してください。.gitignore` を自動で編集することはありません。
3. 安全に再開する
node .agents/skills/contextcapsule-handoff/scripts/contextcapsule.mjs \
resume \
--repo /path/to/repository \
--capsule /path/to/repository/.contextcapsule/latest.json
結果は次のいずれかです。
compatible— リポジトリの識別情報と記録された状態が引き続き一致しています。stale— 同じリポジトリですが、ブランチ、HEAD、作業ツリー、ファイル、または有効期限が変更されています。mismatched— 引き継ぎの対象が別のリポジトリです。unverifiable— 現在のリポジトリ状態を確認できませんでした。
古くなったカプセルでも、目標、決定事項、制約は保持できます。続行する前に、変更されたファイル、検証内容、ブロッカー、次のアクションを再確認してください。
プライバシーと信頼境界
- デフォルトはローカルです。通常のワークフローでは Context Capsule サーバーに接続しません。
- エージェントは、
.contextcapsule/への書き込み、無視ルールの変更、またはアップロードの前に確認します。 - 自動記録では、ファイルの内容ではなくファイル名と Git メタデータを記録します。
- 一般的な認証情報のパターンは、カプセルを書き込む前に拒否されます。
- シークレット検出は保護策であり、保証ではありません。共有する前に引き継ぎ内容を確認してください。
- ホスト型カプセルは、URL を知っている人なら誰でも閲覧できるため、明示的な同意が必要です。
- カプセルが報告するのはコンテキストです。コマンド、デプロイ、またはリリースが実行されたことを独立して証明するものではありません。
ローカルとホスト型のデフォルトの有効期限は 24 時間です。ホスト型の有効期限は最長 7 日間です。
Context Capsule + ProofSlip
各製品は別々のまま、任意の参照情報を通じて連携します。
- Context Capsule はナビゲーション用です:「状況はどうなっていて、何が重要で、次に何をすべきですか?」
- ProofSlip は証拠用です:「リリース環境は何を証明し、次のエージェントはそれを確認できますか?」
引き継ぎ時の主張に関連する独立した証拠がある場合に限り、ProofSlip ID を references.proofslip_ids に記載してください。次のエージェントは引き続き証拠を取得して確認する必要があります。ID だけでは、主張が検証済みになるわけではありません。
オプションのホステッド共有
既存の Hono/Postgres API は、別のマシンや相手に渡す有効期限付き URL が必要な場合に、明示的に利用できます。これはオプションの転送手段であり、デフォルトの作成方法ではありません。
API キーを取得する
curl -X POST https://www.contextcapsule.ai/v1/auth/signup \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]"}'
API キーのプレフィックスは ak_ です。
ホステッドカプセルを作成する
curl -X POST https://www.contextcapsule.ai/v1/capsules \
-H "Authorization: Bearer ak_your_key" \
-H "Content-Type: application/json" \
-d '{
"summary":"Refresh-token migration implemented; staging is not verified",
"decisions":["Keep the legacy endpoint for three consumers"],
"next_steps":["Run the staging smoke test","Ask before release"],
"payload":{"schema_version":"coding-handoff/v1"},
"refs":{"receipt_ids":[]},
"expires_in":86400,
"idempotency_key":"refresh-handoff-81d9c1a",
"audience":"human"
}'
レスポンスフィールドには、capsule_id、capsule_url、summary、decisions、next_steps、created_at、expires_at、idempotency_key が含まれます。
取得する
curl "https://www.contextcapsule.ai/v1/capsules/cap_...?format=json"
取得に認証は必要ありません。ID または URL を知っている人なら誰でも、有効期限が切れるまでカプセルを閲覧できます。
ホステッド版の仕様全体:API ドキュメント · OpenAPI · llms-full.txt
オプションの MCP トランスポート
npx -y @contextcapsule/mcp-server
MCP サーバーは、ホステッド API に対して create_capsule、fetch_capsule、signup を公開します。作成には CONTEXTCAPSULE_API_KEY が必要ですが、取得は公開されています。ローカルでのコーディング作業の引き継ぎには Agent Skill を推奨します。リポジトリの鮮度を確認でき、アップロードも不要なためです。
セルフホスティング
必要なもの:Node.js 18+ と PostgreSQL。
git clone https://github.com/Johnny-Z13/context-capsule.git
cd context-capsule
npm install
cp .env.example .env
npm run db:migrate
npm run db:seed -- [email protected]
npm run dev
環境変数:
| 変数 | 必須 | 用途 |
|---|---|---|
DATABASE_URL | はい | PostgreSQL 接続文字列 |
BASE_URL | はい | カプセルリンクの公開ベース URL |
CRON_SECRET | 本番環境 | 有効期限切れデータのクリーンアップを保護します |
RESEND_API_KEY | Web サインアップ | source: web の API キーをメールで送信します |
DEV_SECRET | 任意 | ローカルの開発者コンソールを保護します |
NODEJS_HELPERS | Vercel | デプロイランタイムでは 0 に設定します |
開発
npm run dev
npm test -- --run --configLoader runner
npx tsc --noEmit
スキルに絞ったテスト:
npx vitest run tests/skills/contextcapsule-handoff.test.ts --configLoader runner
ローカルスキルがより豊富な作成機能と鮮度に関する仕様を提供する一方で、HTTP API は元のフラットな summary、decisions、next_steps、payload、refs のスキーマとの後方互換性を意図的に維持しています。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。