ce-product-pulse

ce-product-pulse

熱門

根據已配置的訊號,生成指定時間窗口的產品脈動報告。

2.4萬星標
1957分支
更新於 2026/8/5
SKILL.md
唯讀
名稱
ce-product-pulse
描述

根據已配置的訊號,生成指定時間窗口的產品脈動報告。

Product Pulse

ce-product-pulse 會查詢產品在指定時間窗口內的資料源,並生成一份涵蓋使用量、效能、錯誤與後續跟進事項的精簡單頁報告。報告會儲存至 <root>/pulse-reports/,主要重點則會直接呈現在對話中。

本 Skill 不會修改產品本身、資料庫或任何外部系統。它唯一會寫入的內容僅有:追加至 .compound-engineering/config.local.yaml 的脈動設定(此檔案為統一的 CE 本地設定檔,已被 gitignore 忽略,僅存在於本機),以及報告檔案本身(<root>/pulse-reports/...)。MCP 及其他資料源工具皆以唯讀模式呼叫;若工具提供寫入模式,請勿使用。

互動方式

預設優先使用平台的阻斷式提問工具(blocking question tool):例如 Claude Code 中的 AskUserQuestion(若尚未載入其 schema,請先呼叫 ToolSearch 並指定 select:AskUserQuestion)、Codex 中的 request_user_input、Antigravity CLI (agy) 中的 ask_question,以及 Pi 中的 ask_user(需安裝 pi-ask-user 擴充套件)。僅當執行環境(harness)中沒有阻斷式工具或工具呼叫報錯(例如 Codex 的編輯模式)時,才降級退回到在對話中使用編號選項——絕不能僅因為需要載入 schema 就改用編號選項。切勿直接忽略提問。

每次僅提出一個問題。複選(multi-select)僅限用於首次執行的設定階段。

回溯窗口 (Lookback Window)

回溯窗口是指呼叫此 Skill 時指定的時間範圍(例如 24h7d)——無論是由使用者直接輸入,還是由其他 Skill 傳遞過來,均存在於當前的 Prompt 或對話上下文中。

請將參數解析為時間窗口,常見形式包括:

  • 24h48h72h - 過去 X 小時
  • 7d30d - 過去 X 天
  • 1h - 短窗口(適用於產品剛上線發布時)

若參數為空,預設使用設定檔中的 pulse_lookback_default(在階段 0 中解析);若該設定也未指定,則退回到硬編碼的預設值 24h。若參數無法解析,請要求使用者進一步澄清。

請為窗口的時間上限加上 15 分鐘的緩衝時間(trailing buffer)。許多分析與追蹤工具均存在資料同步延遲(ingestion lag);若直接查詢到 now(當前時間),會導致最新事件的資料偏低。例如對於 24h 的窗口,實際查詢範圍應為 [now - 24h - 15m, now - 15m]

產物根目錄 (Artifact Root)

此 Skill 會將脈動報告寫入 <root>/pulse-reports/ 目錄下。請僅在首次需要建構 <root>/ 路徑時才解析 <root>(依照下文邏輯),切勿過早解析。無論是寫入 <root>/... 還是讀取 <root>/solutions/,都算作建構 <root>/ 路徑,因此均會觸發解析;只有完全不觸及任何 <root>/ 路徑的執行(如純草稿或無 Repo 流程)才會跳過此步驟。

<!-- ce-docs-root:start -->
在建構任何產物路徑前,請先解析 CE 產物根目錄 <root>

  • 讀取 <repo-root>/.compound-engineering/config.local.yaml 中的 docs_root,若為空則再讀取 config.yaml;以第一個非空值作為結果(<repo-root> 透過 git rev-parse --show-toplevel 取得)。若均未設定 -> <root> 預設為 docs,與此前保持一致。
  • 驗證已設定的值:必須是相對於儲存庫的目錄路徑,且其經過符號連結解析(symlink-resolved)後的真實路徑必須在儲存庫內部,不能是儲存庫根目錄,也不能位於 .git/ 下。否則終止執行並報錯,說明 docs_root 及其設定值——切勿退回預設的 docs
  • 使用 <root> 作為唯一的產物儲存位置:若不存在則建立之,每個路徑均建構為 <root>/<subdir>(使用此 Skill 自身的子目錄),且絕不可同時讀取 docs
    <!-- ce-docs-root:end -->

核心原則

  1. 以創辦人視角閱讀。 切勿硬編碼門檻值。預設不要將指標直接標記為「好」或「壞」——直接呈現數據,讓讀者自行判斷。
  2. 控制在單頁內。 終端機輸出目標控制在 30-40 行。如果報告過長,請進行精簡。
  3. 儲存的報告中不得包含 PII(個人身份識別資訊)。 寫入磁碟的報告中請勿包含使用者 Email、帳號 ID 或訊息內容。
  4. 安全處並行,關鍵處串行。 分析與追蹤查詢採取並行執行;資料庫查詢則採取串行執行,以避免造成系統負載。
  5. 透過儲存的報告形成記憶。 每次執行都會寫入 <root>/pulse-reports/,使歷史脈動記錄可以作為時間線隨時查閱。
  6. 僅限唯讀資料庫存取。 若使用資料庫作為資料源,連線必須為唯讀。訪談/設定流程中拒絕接受讀寫權限的金鑰憑證。資料庫存取是可選的——許多產品僅靠分析與追蹤工具即可完成脈動報告。
  7. 優先使用策略檔案作為初始種子(策略預置)。 若存在 STRATEGY.md,訪談流程會在提問前先讀取該檔案,並擷取產品名稱及關鍵指標作為初始種子。資料源設定的目標是連接所需的分析管道,以實際測量這些指標。

執行流程

階段 0:依據設定狀態進行路由 (Route by Config State)

讀取設定。 執行期使用 Shell 工具執行 git rev-parse --show-toplevel 來解析 <repo-root>。然後使用原生檔案讀取工具(例如 Claude Code 中的 Read、Codex 中的 read_file)讀取 <repo-root>/.compound-engineering/config.local.yaml。若無法解析根目錄或檔案不存在,則視為首次執行。否則擷取下方「設定鍵名」中列出的 pulse_* 鍵值。

設定鍵名:

  • pulse_product_name -- 字串,用於報告標題。路由必需項:若未設定,則視為 Skill 未設定。
  • pulse_lookback_default -- 1h24h7d30d 之一(預設值:24h
  • pulse_primary_event -- 字串,主要互動事件(engagement event)名稱
  • pulse_value_event -- 字串,價值實現事件(value-realization event)名稱
  • pulse_completion_events -- 逗號分隔的字串,包含 0-3 個事件名稱
  • pulse_quality_scoring -- true 或預設 false(僅限 AI 產品)
  • pulse_quality_dimension -- 字串,當 pulse_quality_scoring 為 true 時評分 1-5 分;否則忽略
  • pulse_analytics_source -- 字串,標識分析服務提供者(例如 posthogmixpanelcustom
  • pulse_tracing_source -- 字串,標識追蹤服務提供者(例如 sentrydatadogcustom
  • pulse_payments_source -- 字串,標識金流服務提供者(例如 stripecustom);若未使用可省略
  • pulse_db_enabled -- true 或預設 false;為 true 時,唯讀資料庫存取將作為脈動報告的一部分
  • pulse_metric_sources -- 逗號分隔的 metric=source 鍵值對,用於覆蓋特定策略指標的資料源(例如 retention_d7=posthog,nps=delighted)。未列出的策略指標將退回使用 pulse_analytics_source,並帶有 (default source) 標記,以便呈現隱式路由。
  • pulse_pending_metrics -- 逗號分隔的字串,包含等待埋點整合的策略文件指標名稱;在埋點落地前,在每份脈動報告中顯示為 no data
  • pulse_excluded_metrics -- 逗號分隔的字串,包含刻意從脈動報告中排除的策略文件指標名稱;該指標仍保留在 STRATEGY.md 中,但不會呈現在脈動報告內

路由邏輯:

  • pulse_product_name 未設定(或設定檔缺失) -> 首次執行。進入階段 1(訪談),然後再進入階段 2。
  • pulse_product_name 已設定 -> 直接跳至階段 2。

若傳入的參數為 setupreconfigureedit config,無論當前設定狀態為何,一律進入階段 1。

階段 1:首次執行訪談 (First-Run Interview)

1.0 從策略檔案擷取初始種子(若存在)

在提出任何問題之前,先使用原生檔案讀取工具讀取 STRATEGY.md。若檔案存在,請擷取:

  • 從 YAML frontmatter 的 name 鍵擷取產品名稱;若無 frontmatter,則退回使用 H1 標題(去除末尾的 Strategy 字尾,例如 # Spiral Strategy -> Spiral
  • ## Key metrics 章節擷取關鍵指標清單(每行一個)

透過展示已擷取的內容開啟訪談:告知已找到策略文件,顯示擷取的產品名稱以及將帶入事件/資料設定的關鍵指標清單,並邀請使用者在繼續之前進行更正。

STRATEGY.md 不存在,請在對話中明確說明:未找到策略文件,將從頭開始執行設定,並提醒使用者若後續執行 ce-strategy,可以為脈動報告提供初始種子。

1.1 訪談流程

讀取 references/interview.md。此讀取步驟為必選項——推回規則(pushback rules)、反模式範例以及指標到資料源的對映邏輯均定義在該檔案中。

請按以下順序執行訪談:

  1. 產品名稱(確認或編輯初始種子值)
  2. 主要互動事件(Primary engagement event)
  3. 價值實現事件(Value-realization event)
  4. 完成或轉換事件(0-3 個)
  5. 品質評分(自由選擇開啟,僅限 AI 產品)
  6. 資料源——為每個確定的指標和事件建立連線。引導優先使用 MCP。拒絕讀寫權限的資料庫存取。資料庫完全可選。
  7. 系統效能——針對高頻錯誤與延遲的簡短推薦設定。使用者對此通常沒有強烈的偏好;呈現預設值並確認即可。
  8. 預設回溯窗口

對每個章節均應用 references/interview.md 中的推回規則。根據 references/interview.md 中「通用規則」所列出的 SMART 原則(具體、可衡量、可行動、相關、有時效)評估使用者提出的每個指標、事件和訊號——推回任何模糊、虛榮或不可行動的建議。

若使用者提供具有讀寫權限的資料庫存取金鑰,請予以拒絕,並提供 references/interview.md 第 6 節中記錄的替代方案。

將獲取到的設定作為平鋪的 pulse_* 鍵名寫入 <repo-root>/.compound-engineering/config.local.yaml,並遵循 references/interview.md 中「設定檔結構」對應的 Schema。使用 git rev-parse --show-toplevel 解析儲存庫根目錄。寫入邏輯:(1) 若檔案或目錄不存在,建立 .compound-engineering/ 並寫入 YAML 檔案;(2) 若檔案已存在,將新鍵名合併至現有的 YAML 中,保持非 pulse 鍵名(例如 plan_*)不受影響。若 .compound-engineering/config.local.yaml 尚未被儲存庫的 .gitignore 覆蓋,請在寫入前提示使用者新增該條目。在對話中向使用者展示生成的 pulse 設定區塊,並提供一輪修改機會。

設定寫入完成後,執行 references/interview.md 第 9 節的排程建議 (scheduling recommendation):詢問是否設定定期自動執行,以便使用者定期接收脈動報告,而無需手動記憶執行。接受 Yes / No / Later 選項。若使用者同意(Yes),則交由當前執行環境(harness)所提供的排程原語處理——若已安裝外掛內的 schedule Skill,則直接呼叫;否則提示排程機制取決於平台(如 cron、GitHub Actions、宿主環境自身的自動化機制),並給出所需執行命令的簡短說明。切勿在行內直接排程。隨後進入階段 2。

階段 2:執行脈動報告 (Run the Pulse)

若此前執行了階段 1(首次執行,或參數為 setup/reconfigure),請使用原生檔案讀取工具重新讀取儲存庫根目錄下的 .compound-engineering/config.local.yaml,以取得在階段 1 審核步驟中接受的任何修改。否則,直接使用在階段 0 中已擷取的 pulse_* 值。對任何未設定的項目套用硬編碼預設值(參見階段 0 「設定鍵名」)。

2.1 分派查詢

並行執行以下查詢(不同的工具,無共享負載):

  • 產品分析查詢(窗口內主要事件數、價值實現數、完成數、轉換率)
  • 應用追蹤查詢(窗口內按類別劃分的錯誤數、延遲分布、高頻錯誤特徵)
  • 金流查詢(若已設定:窗口內的新客戶數、流失率、營收增量)

在並行查詢完成後,串行執行以下查詢:

  • 唯讀資料庫查詢。每次執行一條。僅限精細且限定範圍的查詢。切勿對大表進行全表掃描。若某個資料庫查詢成本較高,請跳過並標註「已跳過資料庫查詢(預估成本過高)」。
2.2 可選:抽樣品質評分

pulse_quality_scoringtrue(僅限 AI 產品),從窗口內抽樣最多 10 個 Session 或對話,並針對 pulse_quality_dimension 中記錄的維度對每個進行 1-5 分的評分。

評分準則: 預設為 4 o