Communityコーディング&開発github.com

mowgliph/everything-agents-skills

Claude Code(ck)のプロジェクトコンテキスト管理スキルです。プロジェクトの登録、セッション状態の保存、再開、一覧表示、削除、データ移行を行います。

everything-agents-skills とは?

このスキルは、Claude Code(ck)エージェント向けのプロジェクトコンテキスト管理ツールです。開発者は`/ck:init`でプロジェクトを登録し、`/ck:save`でセッションの状態(サマリー、中断箇所、次のステップ、決定事項、ブロッカー)をJSONとして保存できます。`/ck:resume`で過去のセッションから完全なブリーフィングを受け、`/ck:info`でクイックスナップショットを表示、`/ck:list`でポートフォリオ一覧を確認、`/ck:forget`でプロジェクトを削除できます。また、`/ck:migrate`でv1形式のデータをv2に変換する機能も提供します。セッション開始時に自動的にプロジェクトコンテキストを読み込むSessionStartフックも備えており、未保存セッションやGitアクティビティの検出、CLAUDE.mdとのゴール不一致チェックなど、高度なワークフロー管理を実現します。データは`~/.claude/ck/`ディレクトリ配下のJSONファイルで管理され、直接編集せずに専用スクリプト経由での操作が推奨されます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add mowgliph/everything-agents-skills

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

データレイアウト

~/.claude/ck/
├── projects.json              ← path → {name, contextDir, lastUpdated}
└── contexts/<name>/
    ├── context.json           ← 信頼できる情報源(構造化JSON、v2)
    └── CONTEXT.md             ← 自動生成ビュー — 手動編集禁止

コマンド

/ck:init — プロジェクトの登録

node "$HOME/.claude/skills/ck/commands/init.mjs"

このスクリプトは自動検出した情報をJSONで出力します。それを確認用の下書きとして提示します:

以下を見つけました — 確認または編集してください:
プロジェクト:     <name>
説明:           <description>
スタック:        <stack>
目標:           <goal>
禁止事項:        <constraints または "なし">
リポジトリ:      <repo または "なし">

ユーザーの承認を待ちます。編集があれば適用します。その後、確認済みJSONをsave.mjs --initにパイプします:

echo '<confirmed-json>' | node "$HOME/.claude/skills/ck/commands/save.mjs" --init

確認済みJSONスキーマ: {"name":"...","path":"...","description":"...","stack":["..."],"goal":"...","constraints":["..."],"repo":"..." }


/ck:save — セッション状態の保存

これはLLMによる分析が必要な唯一のコマンドです。 現在の会話を分析:

  • summary: 1文、最大10単語、何が達成されたか
  • leftOff: 何がアクティブに作業中だったか(具体的なファイル/機能/バグ)
  • nextSteps: 具体的な次のステップの順序付き配列
  • decisions: {what, why} の配列(今回のセッションで下された決定)
  • blockers: 現在のブロッカーの配列(なしの場合は空配列)
  • goal: 更新された目標文字列(今回のセッションで変更された場合のみ、それ以外は省略)

サマリー案をユーザーに表示:"セッション: '<summary>' — 保存しますか? (yes / edit)" 確認を待ちます。その後、save.mjsにパイプ:

echo '<json>' | node "$HOME/.claude/skills/ck/commands/save.mjs"

JSONスキーマ(厳密): {"summary":"...","leftOff":"...","nextSteps":["..."],"decisions":[{"what":"...","why":"..."}],"blockers":["..."]} スクリプトの標準出力による確認メッセージをそのまま表示します。


/ck:resume [name|number] — 完全なブリーフィング

node "$HOME/.claude/skills/ck/commands/resume.mjs" [arg]

出力をそのまま表示します。その後質問:"ここから続けますか? それとも何か変更がありましたか?" ユーザーが変更を報告した場合 → すぐに /ck:save を実行します。


/ck:info [name|number] — クイックスナップショット

node "$HOME/.claude/skills/ck/commands/info.mjs" [arg]

出力をそのまま表示します。フォローアップの質問はしません。


/ck:list — ポートフォリオ一覧

node "$HOME/.claude/skills/ck/commands/list.mjs"

出力をそのまま表示します。ユーザーが番号や名前で返信した場合 → /ck:resume を実行します。


/ck:forget [name|number] — プロジェクトの削除

まずプロジェクト名を特定します(必要に応じて /ck:list を実行)。 質問:"これにより '' のコンテキストが完全に削除されます。よろしいですか? (yes/no)" 「はい」の場合:

node "$HOME/.claude/skills/ck/commands/forget.mjs" [name]

確認メッセージをそのまま表示します。


/ck:migrate — v1データをv2に変換

node "$HOME/.claude/skills/ck/commands/migrate.mjs"

最初にドライランを実行:

node "$HOME/.claude/skills/ck/commands/migrate.mjs" --dry-run

出力をそのまま表示します。すべてのv1 CONTEXT.md + meta.json ファイルをv2 context.jsonに変換します。 オリジナルは meta.json.v1-backup としてバックアップされます — 削除されるものはありません。


SessionStartフック

~/.claude/skills/ck/hooks/session-start.mjs のフックは ~/.claude/settings.json に登録して、セッション開始時にプロジェクトコンテキストを自動ロードする必要があります:

{
  "hooks": {
    "SessionStart": [
      { "hooks": [{ "type": "command", "command": "node \"~/.claude/skills/ck/hooks/session-start.mjs\"" }] }
    ]
  }
}

このフックはセッションごとに約100トークン(コンパクトな5行サマリー)を注入します。また、未保存セッション、前回保存以降のGitアクティビティ、CLAUDE.mdと目標の不一致も検出します。


ルール

  • Bash呼び出しでは常に ~ を $HOME に展開します。
  • コマンドは大文字小文字を区別しません:/CK:SAVE、/ck:save、/Ck:Save すべて動作します。
  • スクリプトが終了コード1で終了した場合、その標準出力をエラーメッセージとして表示します。
  • context.json や CONTEXT.md を直接編集しないでください — 常にスクリプトを使用します。
  • projects.json が不正な形式の場合、ユーザーに伝え、空のオブジェクト {} にリセットすることを提案します。

関連スキル