context-manager について
プロジェクトのコンテキストを検索、取得、抽出、管理するコマンドラインスキルです。段階的な手順と安全な操作を案内し、ファイルの整理やクリーンアップにも対応します。
主な機能
- 01コンテキストファイルの検索
- 02外部ドキュメントの取得
- 03情報の抽出と蓄積
- 04ファイルの圧縮と整理
- 05古いファイルのクリーンアップ
- 06コンテキスト作業のガイド
活用シーン
- 01トピック別のプロジェクト規約の検索
- 02ライブラリ資料のコンテキストへの保存
- 03分析メモの永続的なコンテキスト化
- 04一時ファイルの整理や削除
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ darrenhinde/ openagentscontrol --skill context-managerインストール後、Claude Code で/context-managerを入力して読み込まれたか確認します。
同梱ファイルrouter.sh
詳細
コンテキストマネージャースキル
目的: プロジェクトのコンテキストを検出、整理、維持するための、明確なガイダンス、遅延読み込み、安全な操作を備えた包括的なコンテキスト管理機能です。
できること
コンテキストを管理するための強力な操作を8つ提供します。
- DISCOVER - トピックやパスでコンテキストファイルを検索します
- FETCH - ライブラリの外部ドキュメントを取得します
- HARVEST - 要約ファイルからコンテキストを抽出します
- EXTRACT - コンテキストから特定の情報を抽出します
- COMPRESS - 大きなファイルのサイズを縮小します
- ORGANIZE - 関心事ごとにコンテキストを再構成します
- CLEANUP - 古いファイルや一時ファイルを削除します
- PROCESS - コンテキスト操作のためのガイド付きワークフローです
クイックスタート
1. コンテキストを検出する
bash .opencode/skills/context-manager/router.sh discover authentication
認証パターンに関連するすべてのコンテキストファイルを検出します。
2. 外部ドキュメントを取得する
bash .opencode/skills/context-manager/router.sh fetch "Drizzle ORM" "modular schemas"
外部ライブラリの最新ドキュメントを取得します。
3. コンテキストを収集する
bash .opencode/skills/context-manager/router.sh harvest ANALYSIS.md
要約ファイルから主要な概念を抽出し、永続的なコンテキストにします。
4. 情報を抽出する
bash .opencode/skills/context-manager/router.sh extract code-quality.md "naming conventions"
コンテキストファイルから特定の情報を抽出します。
5. ファイルを圧縮する
bash .opencode/skills/context-manager/router.sh compress .opencode/context/ 100KB
大きなコンテキストファイルを縮小して、容量を節約します。
6. コンテキストを整理する
bash .opencode/skills/context-manager/router.sh organize .opencode/context/
関心事ごとにコンテキストを再構成し、整理しやすくします。
7. 古いファイルをクリーンアップする
bash .opencode/skills/context-manager/router.sh cleanup .tmp/ 7
一時ファイルや古いファイル(7日より前のもの)を削除します。
8. ガイド付きワークフロー
bash .opencode/skills/context-manager/router.sh process "organize authentication context" .opencode/context/
複雑なコンテキスト操作を段階的に案内します。
操作リファレンス
操作 1: DISCOVER
目的: インテリジェントな検出または直接検索を使用してコンテキストファイルを検索します
使用する場面:
- リポジトリ内のすべてのコンテキストファイルを検索する必要がある場合
- トピック別に特定のコンテキストを探す場合
- コンテキストの構造を把握する場合
- どのようなコンテキストが存在するか理解する場合
構文:
discover [target]
例:
# Discover by topic
./router.sh discover "authentication patterns"
# Discover all context
./router.sh discover "all context files"
# Discover in specific directory
./router.sh discover ".opencode/context/core/"
出力:
- 検出されたファイルのパスとサイズの一覧
- ファイル統計(件数、合計サイズ、最終更新日時)
- 種類別の分類
- 次のステップの提案
操作 2: FETCH
目的: ExternalScout を使用して外部ドキュメントを取得します
使用する場面:
- 外部ライブラリの最新ドキュメントが必要な場合
- 新しい外部ライブラリとの連携を設定する場合
- バージョン固有のドキュメントが必要な場合
- チームで共有する外部ドキュメントをキャッシュする場合
構文:
fetch [libraries] [topics]
例:
# Fetch single library
./router.sh fetch "Drizzle ORM" "modular schemas"
# Fetch multiple libraries
./router.sh fetch "Drizzle ORM" "Better Auth" "Next.js" "modular schemas" "integration" "app router"
# Fetch with specific query
./router.sh fetch "Better Auth" "Next.js App Router integration with Drizzle adapter"
出力:
- 取得したファイルとそのパス
- ファイルサイズと統計
- ソース URL
- コンテキスト内での参照方法
- マニフェストの更新
操作 3: HARVEST
目的: 要約ファイルからコンテキストを抽出し、永続的なコンテキストを作成します
使用する場面:
- コンテキストにするべき要約ドキュメントがある場合
- 一時的なメモを永続的なコンテキストに変換する必要がある場合
- 大きなドキュメントから主要な概念を抽出する場合
- 散在する情報を整理する必要がある場合
構文:
harvest [source-file]
例:
# Harvest from analysis
./router.sh harvest DEVELOPER_PROFILE_ANALYSIS.md
# Harvest from brainstorm
./router.sh harvest AGENT_NAMING_BRAINSTORM.md
# Harvest from UX analysis
./router.sh harvest UX_ANALYSIS_THREE_MAIN_AGENTS.md
出力:
- 作成したコンテキストファイルのパス
- 節約できた容量(元のサイズと収集後のサイズ)
- コンテンツの構成
- 更新されたナビゲーションファイル
- 新しいコンテキストの使い方
操作 4: EXTRACT
目的: コンテキストファイルから特定の情報を抽出します
使用する場面:
- コンテキストから特定の情報が必要な場合
- 要約やレポートを作成する場合
- サブエージェント用のコンテキストバンドルを作成する場合
- コンテキストがすべて揃っているか検証する場合
構文:
extract [file] [what-to-extract]
例:
# Extract naming conventions
./router.sh extract code-quality.md "naming conventions"
# Extract test patterns
./router.sh extract test-coverage.md "test patterns"
# Extract all standards
./router.sh extract ".opencode/context/core/" "all standards"
出力:
- トピックごとに整理された抽出情報
- 出典ファイルの引用
- 関連度スコア
- 使用方法の提案
- 次のステップ
操作 5: COMPRESS
目的: 大きなコンテキストファイルを圧縮して、容量を節約します
使用する場面:
- コンテキストファイルが非常に大きい場合(>100 KB)
- ディスク使用量を減らす必要がある場合
- 古いコンテキストをアーカイブする場合
- コンテキストを配布する準備をする場合
構文:
compress [target] [size-threshold]
例:
# Compress large files
./router.sh compress ".opencode/context/" "100 KB"
# Compress all context
./router.sh compress ".opencode/context/"
# Compress and archive
./router.sh compress ".opencode/context/development/" "50 KB"
出力:
- 圧縮したファイルとそのパス
- 節約できた容量(圧縮前と圧縮後)
- 圧縮率
- 解凍手順
- マニフェストの更新
Operation 6: ORGANIZE
目的:機能ではなく、関心事(何をしているか)ごとにコンテキストファイルを再編成します
使用する場面:
- コンテキストが複数の場所に分散している場合
- 関心事やトピックごとに再編成する必要がある場合
- 新しいコンテキスト構造を作成する場合
- 関連するコンテキストを統合する場合
構文:
organize [target]
例:
# Organize by concern
./router.sh organize ".opencode/context/"
# Organize specific topic
./router.sh organize ".opencode/context/development/"
出力:
- 現在の構造の分析
- 提案する新しい構造
- 移動および再編成されたファイル
- 更新された参照
- ナビゲーションの更新
- 新しい構造の概要
Operation 7: CLEANUP
目的:古くなった、一時的な、または使用されていないコンテキストファイルを整理します
使用する場面:
- 一時ファイル(.tmp/)を削除する場合
- 古い外部コンテキスト(7日超)を削除する場合
- 重複したコンテキストを削除する場合
- 使用されていないコンテキストをアーカイブする場合
構文:
cleanup [target] [older-than-days]
例:
# Cleanup .tmp directory
./router.sh cleanup ".tmp/"
# Cleanup old external context
./router.sh cleanup ".tmp/external-context/" "7"
# Cleanup stale sessions
./router.sh cleanup ".tmp/sessions/" "3"
出力:
- 削除対象のファイル
- 解放される容量
- 影響分析
- 復元手順
- マニフェストの更新
Operation 8: PROCESS
目的:コンテキストを処理するためのガイド付きワークフローを提供します
使用する場面:
- コンテキスト操作について段階的なガイダンスが必要な場合
- 複数のコンテキストファイルを処理する場合
- コンテキスト管理のワークフローを学ぶ場合
- コンテキスト処理を自動化する場合
構文:
process [goal] [scope]
例:
# Process authentication context
./router.sh process "organize authentication context" ".opencode/context/development/"
# Process all development context
./router.sh process "organize all development context" ".opencode/context/development/"
# Process external context
./router.sh process "fetch, persist, and reference external context" ".tmp/external-context/"
出力:
- 段階的なワークフロー
- 進行状況インジケーター
- 発見されたコンテキスト
- 処理計画
- 実行結果
- 検証結果
- 概要と次のステップ
一般的なワークフロー
ワークフロー 1:検出と抽出
1. discover context for: "authentication"
→ Find all auth-related context
2. extract from: "security-patterns.md" what: "auth patterns"
→ Get specific patterns
3. Show results
→ Ready to use in session
ワークフロー 2:取得と参照
1. fetch external docs for: "Drizzle ORM"
→ Get live documentation
2. Show file paths
→ .tmp/external-context/drizzle-orm/...
3. Reference in session context
→ Add to "## External Context Fetched"
4. Pass to subagents
→ Include in subtask JSONs
ワークフロー 3:収集と整理
1. harvest context from: "ANALYSIS.md"
→ Extract key concepts
2. organize context by: "concern"
→ Restructure for clarity
3. Update documentation
→ Show new structure
4. Delete original summary
→ Clean up temporary files
ワークフロー 4:クリーンアップと保守
1. cleanup .tmp/ directory
→ Remove temporary files
2. cleanup external context older than: "7 days"
→ Remove stale external docs
3. Show space freed
→ Provide statistics
4. Update manifest
→ Keep tracking accurate
主な原則
1. 遅延読み込み
- まずファイルを検出します(glob、grep)
- 必要なものだけを読み込みます(特定のファイルを読み取る)
- 段階的に処理します(リポジトリ全体を読み込まないでください)
- コンテキストファイルを参照し、複製しないでください
2. 明確なガイダンス
- 各ステップで何をしているか説明します
- ファイルパスとサイズを示します
- 実行前後の指標を提示します
- 次のステップを提案します
- 破壊的な操作の前に確認を求めます
3. コンテキストの参照
- 検出時:見つかったファイルを明記します
- 処理時:適用した標準を参照します
- 整理時:使用したパターンを示します
- クリーンアップ時:削除する内容を説明します
4. 安全な操作
- 破壊的な操作の前に確認を求めます
- 必要に応じてバックアップを作成します
- 操作後に整合性を検証します
- 復元手順を提示します
ファイル構造
.opencode/skills/context-manager/
├── SKILL.md # This file
├── router.sh # CLI router (entry point)
├── CONTEXT_SKILL_QUICK_START.md # Quick start guide
├── context-manager.md # Detailed operation guide
└── navigation.md # Navigation index
統合ポイント
ContextScout との連携
- ContextScout はコンテキストファイルを検出します
- このスキルは ContextScout が検出した内容の整理に役立ちます
- ContextScout の結果からコンテキストを収集できます
ExternalScout との連携
- ExternalScout は外部ドキュメントを取得します
- このスキルは取得したドキュメントを保存し、整理します
- 操作時に外部コンテキストを参照できます
TaskManager との連携
- TaskManager はタスク定義でコンテキストを参照します
- このスキルはコンテキストファイルが存在し、有効であることを確認します
- どのタスクがどのコンテキストを使用するかを一覧化できます
その他のサブエージェントとの連携
- すべてのサブエージェントはコンテキスト構造に依存します
- このスキルはコンテキストを保守し、検証します
- サブエージェントが必要とするコンテキストの不足を特定できます
成功基準
次の条件を満たせば成功です: ✅ コンテキストファイルを効率的に検出できる ✅ 外部ドキュメントが取得され、保存されている ✅ 要約からコンテキストが収集されている ✅ 重要な情報が明確に抽出されている ✅ 大きなファイルが安全に圧縮されている ✅ コンテキストが関心事ごとに整理されている ✅ 古くなったファイルが安全に整理されている ✅ ユーザーが各ステップで明確なガイダンスを得られる ✅ すべての操作を元に戻せる ✅ ドキュメントが更新されている
ヒントとベストプラクティス
1. 定期的な検出
検出操作を定期的に実行して、コンテキスト構造を把握し、不足している項目を特定してください。
2. 関心事ごとに整理
コンテキストは機能(標準、ガイドなど)ではなく、何をしているか(認証、テストなど)に基づいて整理してください。
3. 外部ドキュメントの遅延読み込み
外部ドキュメントは事前にではなく、必要になったときにだけ取得してください。
4. 要約の取り込み
一時的な分析ドキュメントを、取り込みを使って永続的なコンテキストに変換します。
5. 定期的なクリーンアップ
古くなった一時ファイルを削除するため、定期的なクリーンアップ処理をスケジュールします。
6. 変更後の検証
変更を加えた後は、必ずコンテキストの整合性を検証してください。
7. ドキュメントの整理
コンテキストを整理する際は、navigation.md ファイルを最新の状態に保ってください。
8. 参照の基準
コンテキストを抽出するときは、必ずソースファイルを引用してください。
トラブルシューティング
「コンテキストファイルが見つかりません」
discover all context files を実行して、存在するファイルとその場所を確認してください。
「外部ドキュメントの取得に失敗しました」
ライブラリ名が正しいことと、ExternalScout が利用可能であることを確認してください。
「取り込みで空のファイルが作成されました」
ソースファイルに、重要度の高い内容が十分に含まれていない可能性があります。確認して、手動で追加してください。
「整理に失敗しました」
参照されているすべてのファイルが存在することと、navigation.md が有効であることを確認してください。
「クリーンアップで削除しすぎました」
復元するには、.backup/cleanup-{date}.tar.gz のバックアップを確認してください。
Context Manager Skill - プロジェクトのコンテキストを見つけ、整理し、維持します!