ce-product-pulse について
ce-product-pulseは、指定期間のプロダクトデータを照会し、利用状況、パフォーマンス、エラー、フォローアップをまとめた簡潔なレポートを作成するスキルです。レポートを時系列で保存し、要点をチャットに表示します。
主な機能
- 01指定期間のプロダクトデータ照会
- 02利用状況、性能、エラーの要約
- 03レポートの時系列保存
- 04見出しと最優先のフォローアップをチャットに表示
- 05データソースの読み取り専用利用
活用シーン
- 01指定期間のプロダクト活動の確認
- 02利用状況、性能、エラー情報の集約
- 03後から確認できる日付付きレポートの保存
MCP 対応
MCPやその他のデータソース用ツールを読み取り専用で呼び出し、プロダクトデータを収集します。データベースへの接続は任意で、読み取り専用接続が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ everyinc/ compound-engineering-plugin --skill ce-product-pulseインストール後、Claude Code で/ce-product-pulseを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/config.mdinterview.mdreport-template.mdrun.mdsetup.md詳細
プロダクトパルス
ce-product-pulse は、指定された期間についてプロダクトのデータソースを照会し、利用状況、パフォーマンス、エラー、フォローアップをまとめた簡潔な1ページのレポートを作成します。レポートは <root>/pulse-reports/ に保存され、要点はチャットに表示されます。
完了条件: <root>/pulse-reports/YYYY-MM-DD_HH-MM.md に30〜40行のレポートが作成され、見出しと最優先のフォローアップがチャットに表示され、Phase 3(スケジュール設定)に到達していること。
範囲
- あらゆる場所で読み取り専用です。 このスキルは、プロダクト、データベース、外部システムを変更しません。書き込みを行うのは、
.compound-engineering/config.local.yamlに追記するパルス設定(インタビューとオプトアウトの設定はローカルオーバーライドに保存されます)とレポートファイルのみです。MCP およびその他のデータソースツールは読み取り専用で呼び出します。ツールに書き込みモードがある場合は使用しないでください。データベースの接続は読み取り専用である必要があります。インタビューでは読み書き可能な認証情報を受け付けません。また、データベースへのアクセスは任意です。多くのプロダクトでは、分析とトレーシングのみでパルスを完了できます。 - 保存するレポートに PII を含めません。 ディスクに書き込むファイルに、ユーザーのメールアドレス、アカウント ID、メッセージ内容を記載しないでください。
- 創業者の視点で読める内容にします。 ハードコードされたしきい値や、既定の「良い」「悪い」というラベル、アラートは使わず、数値を提示して判断は読者に委ねます。
- 1ページに収めます。 目安は30〜40行です。内容が少ないセクションはそのまま簡潔にし、レポートが長くなりそうな場合は削ってください。
- リリース記録やダッシュボードの代わりではありません。 リリースした作業はイシュートラッカーとコミット履歴で確認できます。詳細な調査には引き続きネイティブツールを使います。このスキルでは1ページで概況を把握できるようにまとめ、過去のパルスを時系列で参照できるよう、実行のたびに保存します。
対話方法
現在のツールリストにある、ホストのブロッキング型質問ツールを既定で使用してください(ホスト固有の名前ではなく、機能で照合します)。現在のツールリストに存在することが、そのツールの利用可能性を示します。利用できるかどうかを調べるために、ユーザー向け質問ツールを呼び出してはいけません。一致するツールがリストにあるものの未ロードの場合は、ホストのツール検出機能を使ってその機能をロードしてください。別のホストのツール名を探してはいけません。そのようなツールがリストにない場合、または実際の質問呼び出しでエラーが発生した場合に限り、ホストのユーザーに表示されるチャット画面で番号付きの選択肢を提示します。質問を黙って省略してはいけません。
質問は一度に1つずつ行ってください。複数選択は初回設定時に限って使用してください。
参照期間
参照期間とは、このスキルが呼び出されたときに指定された時間範囲です(例:24h、7d)。現在のプロンプトまたは会話に含まれており、ユーザーが直接指定した場合も、呼び出し元のスキルから渡された場合も該当します。よく使われる形式は、直近の時間数(24h、48h、72h)、直近の日数(7d、30d)、リリース時の 1h です。
引数が空の場合は、設定にある pulse_lookback_default を既定値として使用します(Phase 0 の設定状態に応じたルートで解決します)。これも未設定の場合は、最終的にハードデフォルトの 24h を使用します。引数を解析できない場合は、ユーザーに確認してください。
期間の上限には、直近15分のバッファを適用してください。多くの分析・トレーシングツールではデータの取り込みに遅延があります。now までのデータを照会すると、直近のイベントが実際より少なく報告されます。24h の場合、[now - 24h - 15m, now - 15m] を照会してください。
Artifact Root
このスキルは、パルスレポートを<root>/pulse-reports/の下に書き込みます。<root>/を含むパスを初めて作成するときに<root>を解決してください(以下のブロックに従います)。必要になる前に解決してはいけません。<root>/...への書き込みと<root>/solutions/の読み取りは、どちらも<root>/を含むパスの作成に該当するため、いずれの場合も解決が必要になります。<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を併せて読み取ってはいけません。
Phase 0: 設定状態による振り分け
通常の CE YAML キーは、2つのリポジトリファイルから解決します。
- 読み取る順序は、
<repo-root>/.compound-engineering/config.local.yaml、次にconfig.yamlです(<repo-root>=git rev-parse --show-toplevel)。存在しないファイルはスキップします。Gitignore は解決方法に影響しません。 - 優先するのは、最初に見つかった有効な(コメントアウトされていない)値です。スカラーでは、空の値は未設定として扱います。無効な値の場合は次のレイヤーを確認し、それでもなければスキルのデフォルトを使用します。リストとマップでは、空のリストやマップを含め、キーが存在すればそのキー全体を置き換えます。
docs_rootにはこのルールを適用しないでください。このキーはconfig.yamlのみが対象です。
git rev-parse --show-toplevelで<repo-root>を解決してから、上記の通常キーのルールをpulse_*キーに適用します。pulse_*の値を解釈する必要がある場合は、references/config.mdを読み取ってください。これはキーのスキーマのみを定めるもので、各キーの許容値とデフォルト値を記載しています。未設定または無効な値には、推測ではなく、ドキュメントに記載されたデフォルト値を適用します。
**振り分け:**すべての実行で、Phase 2(パルスの実行)を経てからPhase 3(スケジュール設定)に進みます。pulse_product_nameがカスケード適用後も未設定の場合、リポジトリのルートを解決できない場合、または引数がsetup、reconfigure、edit configの場合は、まずPhase 1(初回インタビュー)を実行します。それ以外の場合はPhase 2(パルスの実行)から開始します。
Phase 1: 初回インタビュー
まずreferences/setup.mdを読み取ってください。この読み取りは必須です。ここでは、戦略ドキュメントの初期投入、インタビューの順序と反論の基準、読み書き可能なデータベースへの対応を拒否する方法、他のキーに影響を与えずに設定をconfig.local.yamlへ書き込む方法、および一度限りのスケジュール設定の提案を定義しています。質問自体は、このファイルで必須の読み取り先として指定されているreferences/interview.mdに記載されています。
Phase 2: パルスの実行
Phase 1(初回インタビュー)を実行した場合は、Phase 1のレビュー段階で承認された変更を取得するため、クエリを実行する前に、リポジトリのルートからネイティブのファイル読み取りツールを使って、通常キーのルール(ローカル、次に追跡対象)を再適用してください。それ以外の場合は、Phase 0(設定状態による振り分け)ですでに抽出したpulse_*の値を使用し、未設定の値にはreferences/config.mdのデフォルトを適用してください。
クエリの実行を指示する前にreferences/run.mdを読み取ってください。この読み取りは必須です。ここでは、並列で実行するクエリと順次実行するクエリ、データベース関連の処理を実行するかどうかを決めるpulse_db_enabledの確認、任意の品質サンプリングとその評価手順、4つのレポートセクション、およびレポートの書き込み先を定義しています。
フェーズ 3:スケジュール設定
セットアップでは、1回だけ定期実行を設定できます(references/setup.md)。2回目以降の実行では、さりげなく再度案内します。引数がスケジュールを示すキーワード(daily、hourly、weekly)だった場合は、今回の実行がアドホックであることを伝え、ハーネスのスケジュール設定機能を案内します。スケジュールが設定されておらず、今回が3回目以降の実行である場合は、スケジュール設定が利用できることを一度だけ伝えます。毎回しつこく促してはいけません。また、自動でスケジュールを設定してはいけません。スケジュール設定機能への引き継ぎには、必ず明示的な確認が必要です。