mcpField
C
ce-compound

ce-compound

github.com/everyincエージェントワークフロー25.8k3.7k 回インストール今日更新
リポジトリ

ce-compound について

ce-compound は、検証済みで長期的に役立つプロジェクトの学びを解決策ドキュメントに記録するスキルです。解決済みの問題に保存すべき知見があるかを判断し、該当しない場合は文書を作成しません。

主な機能

  1. 01解決済みの問題の長期的価値を評価
  2. 02現在のコードベースに基づいて知見を確認
  3. 03解決策ドキュメントの作成と更新
  4. 04主張とドキュメントのメタデータを検証
  5. 05関連用語を記録

活用シーン

  1. 01コードから分かりにくい判断の保存
  2. 02変更で不正確になった知見の更新
  3. 03検証済みの問題の再発抑制

インストール

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

$npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-compound

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
resolution-template.md
references/
assembly.md
concepts-vocabulary.md
enhancement.md
grounding-validation.md
lightweight.md
modes.md
refresh-and-discoverability.md
report.md
research.md
schema.yaml
session-history.md
yaml-schema.md
references/agents/
best-practices-researcher.md
data-integrity-guardian.md
framework-docs-researcher.md
pattern-recognition-specialist.md
performance-oracle.md
security-sentinel.md
session-historian.md
scripts/
packs-resolve.py
validate-doc-claims.py
validate-frontmatter.py
scripts/session-history/
discover-sessions.sh
extract-errors.py
extract-metadata.py
extract-skeleton.py

詳細

/ce-compound

成果: 条件を満たす解決済みの問題を1つ、現在のツリーに照らして <root>/solutions/ 配下に永続的な学びとして記録し、次のエージェントが見つけられるようにします。

完了条件: 条件を満たすドキュメントを作成または更新し、そのフロントマターと主張を検証し、語彙の記録を残し、モードの完了レポートを出力します。該当する学びがない場合は何も書かず、その理由をレポートに記載します。

1回の実行につき学びは1つです。 複数の学びが得られたセッションでは、まとめて1回で処理せず、順番に複数回実行します。references/research.md を読んでください。まとめて処理すると何が損なわれるかが説明されています。

前提条件

解決済みで、検証済みの問題だけを記録します。

学びを記録する価値があるのは、最終的なコード、テスト、型、コメント、既存ドキュメントから容易に再発見できない、永続的なプロジェクト上の知見を含み、それを失うと問題の再発、重大なリスク、または大幅な再調査につながる可能性がある場合に限ります。次の反実仮想で判断してください。学びのドキュメントが消えた場合、最終的な実装を読む将来のエンジニアは、同じ誤りを繰り返したり、大幅な調査をやり直したりする可能性が高いでしょうか? 完了したこと、かけた労力、差分の大きさだけでは、記録に値する根拠になりません。

この反実仮想に当てはまらない場合は、何も書かず、その理由を報告します。質問するのではなく、セッションの内容から判断してください。明示的な呼び出しは今すぐ判断するよう求めるものですが、基準を引き下げるものではありません。

既存の学びが大幅に不正確になった、または不完全になった場合は、放置すると誤解を招くため、更新の条件を満たします。重複を作成するのではなく、その学びを更新してください。

ce-compound は CONCEPTS.md の初期作成を行いません。リポジトリ全体ではなく、その副次的な処理として学びに関する領域だけを整備します。このファイルの作成または初期設定を単独で依頼する場合は、ce-compound-refresh に送ってから終了してください。

モードの判定

/ce-compound [brief context]
/ce-compound mode:non-interactive depth:lightweight [context]
/ce-compound mode:non-interactive depth:full [context]

次のいずれかに該当する場合は、非対話モードに入ります。呼び出し時の引数に mode:non-interactive トークンまたは非推奨の別名 mode:headless が含まれている場合、あるいは呼び出しから非対話の意図が明白な場合です。たとえば、呼び出し元や継続的な指示が ce-compound を「ヘッドレスで」、「非対話で」、「無人で」、または「プロンプトや質問なしで」実行するよう求めている場合です。両方のトークンがあっても競合とはみなしません。「自動的に」や「自動実行」だけでは、非対話を示すシグナルにはなりません。これはスキルの呼び出し方を指すものであり、プロンプトを抑制することを意味しないためです。シグナルが曖昧または存在しない場合は、対話モードが既定です。mode: または depth: で始まるトークンはコンテキストではなくフラグです。残りを簡潔なコンテキストのヒントとして扱う前に取り除いてください。判定後は、実行全体にわたって非対話モードが適用されます。

深度は、非対話モードで明示的なトークンがある場合にのみ選択され、深度トークンは最大1つまで指定できます。depth:lightweight は軽量モードに直接進みます。depth:full または深度トークンなしの場合は、セッション履歴の自動調査を含むフルモードに入ります。したがって、深度トークンのない非対話の呼び出しは、従来どおりに動作します。非対話の軽量モードでは、応答を待つ質問は行わず、サブエージェントも起動しません。呼び出しに未知の depth: トークンが含まれる場合、depth: トークンが複数ある場合、または非対話の意図がないのに depth: トークンが含まれる場合は、推測せず、理由を添えて非対話の失敗レポートを出力し、Documentation skipped で終了してください。

非対話モードでは質問を一切行いません。 この経路に到達した呼び出し元には質問に答える人がいないため、どの段階でも応答を待つ質問をしてはいけません。いずれの段階も実行せずに終了する場合を含め、非対話モードのすべての終了時には、呼び出し元が解析できる終端シグナルとして、Documentation complete、またはドキュメントを書かなかった場合は理由を添えて Documentation skipped を出力してください。対話モードで質問するのは、各ステップのリファレンスで指定されている場合のみです。該当するのは、見つけやすさの確認に関する同意と、古くなったドキュメントが複数ある場合にどれを更新するかの確認です。

アーティファクトのルート

<root>/solutions/ のパスを最初に作成する際に <root> を解決し、設定ではなく、解決済みのパスをサブエージェントに渡してください。

アーティファクトのパスを作成する前に、CE アーティファクトのルート <root> を解決してください。

  • <repo-root>/.compound-engineering/config.yaml からのみ docs_root を読み取ってください(<repo-root> = git rev-parse --show-toplevel)。config.local.yaml からは読み取らないでください。未設定の場合、これまでどおり <root> は docs です。
  • 設定値がある場合は検証してください。リポジトリ相対のディレクトリであり、シンボリックリンクを解決した実パスがリポジトリ内にとどまり、リポジトリのルートでも .git/ 配下でもない必要があります。条件を満たさない場合は、docs_root とその値を示すエラーで停止してください。docs にフォールバックしてはいけません。
  • <root> を唯一のアーティファクト保存先として使用してください。存在しない場合は作成し、各パスを <root>/<subdir> として、このスキル独自のサブディレクトリを使って作成してください。また、docs を読み込んではいけません。

書き込み範囲

プロダクトファイルを書き込めるのはオーケストレーターだけです。 フェーズ 1 のサブエージェントは、実行ごとのスクラッチ領域にのみ書き込み、<root>/、プロジェクトの指示ファイル、その他の追跡対象パスには一切触れてはいけません。

オーケストレーターは、<root>/solutions/ に 1 件の学びを書き込みます。さらに、自身の手順で説明されている 2 つの保守作業も行います。用語の記録中に CONCEPTS.md を更新し、対話型 Full モードで同意を得た場合に限り、プロジェクトの指示ファイルに簡潔な発見性向上の行を追加します。対話型 Full モードでアセンブリ先を選択する手順においてユーザーが選んだ場合に限り、さらに 2 つの書き込みを行います。書き込み可能と宣言された Compound Pack 内のルールファイルと、.compound-engineering/config.yaml に追加する packs: エントリです。CONCEPTS.md が存在しない場合に作成するのは、想定された動作であり、違反ではありません。指示ファイルは編集のみ可能で、新規作成はしません。ツリー内のその他の場所には書き込みません。その他のドキュメントの編集は ce-compound-refresh の対象です。このスキルは、対象範囲を限定して推奨または呼び出しますが、代わりに作業することはありません。

パスの選択

ステップ 1 の前に references/modes.md を読んでください。対話型の実行では、ユーザーに尋ねずに実行の深さを選択します。このリファレンスでは、深さの選択やセッション履歴について尋ねない理由が説明されています。デフォルトは Full です。コンテキストの上限に近い場合に限り、Lightweight を選択してください。

Lightweight モードではセッション履歴を完全に省略します。非対話型の Full 実行では同じ自動調査を行いますが、質問はしないため、非対話型の契約を維持します。

Full モード

次の手順を順番に実行してください。各リファレンスは、記載されたステップで必ず読み込んでください。

  1. 調査 — references/research.md を読みます。
  2. セッション履歴 — references/session-history.md を読み、関連ドキュメントの検索エージェントをディスパッチした後に開始します。これにより、作業を直列化せず、文章の下書きと並行して進められます。セッション履歴はフェーズ 1 の最後の入力であり、ワークフローを止めるものではありません。「関連する過去のセッションはありません」という結果を含め、結果が返ったら、停止したり要約したりせず、すぐにアセンブリへ進んでください。
  3. アセンブリと書き込み — フェーズ 1 の入力がすべて揃うまで待ち、その後 references/assembly.md を読みます。
  4. 更新の確認と発見性 — references/refresh-and-discoverability.md を読みます。
  5. 任意の拡張 — references/enhancement.md を読みます。対話型の場合のみ実行します。
  6. 報告 — references/report.md を読み、選択したモードで出力する報告の形式と、スキルの終了方法を確認します。

Lightweight モードでは、ステップ 1〜6 を 1 回の処理に置き換えます。両モードでの完了出力について定義する references/lightweight.md を読んでください。

コメント