momentic-explore-prompt

momentic-explore-prompt

產生一個 explore-prompt.md 檔案,提供 Momentic 的探索代理(`momentic ai explore diff` / `momentic ai explore latest`)儲存庫特定的上下文——要測試哪些應用程式、測試必須指向的 URL、如何驗證、產生的測試儲存在哪裡,以及儲存庫的特殊注意事項。在設定或改進透過 `--prompt-file` 傳遞的提示檔案時使用。

12星標
0分支
更新於 2026/7/23
SKILL.md
唯讀
名稱
momentic-explore-prompt
描述

產生一個 explore-prompt.md 檔案,提供 Momentic 的探索代理(`momentic ai explore diff` / `momentic ai explore latest`)儲存庫特定的上下文——要測試哪些應用程式、測試必須指向的 URL、如何驗證、產生的測試儲存在哪裡,以及儲存庫的特殊注意事項。在設定或改進透過 `--prompt-file` 傳遞的提示檔案時使用。

產生 explore-prompt.md

這個檔案是什麼

探索代理(在 git 範圍上執行 momentic ai explore diff,或在整個應用程式上執行 momentic ai explore latest)會識別已變更的使用者旅程,並為它們建立 Momentic 測試。兩者都接受透過兩個可重複選項附加到探索器系統提示的額外指令:

  • --prompt <text> — 內嵌文字。可重複。
  • --prompt-file <path> — 一個檔案,其內容會被附加。可重複。

傳遞任何 --prompt--prompt-file 會取代專案的雲端自訂提示。組合的指令是所有 --prompt-file 的內容,接著是所有 --prompt 的值,每個都按照傳遞的順序——因此多個旗標會疊加,而不是互相覆蓋。

explore-prompt.md 是傳遞給 --prompt-file 的慣例檔案。它是儲存庫特定的:它告訴探索器這個儲存庫中有哪些應用程式、測試必須指向的 URL、如何登入、產生的測試要儲存在哪裡,以及必須遵守的任何特殊注意事項。它不是用來重述一般 Momentic 行為的地方——那些已經存在於 momentic-test 技能中。

用法:

momentic ai explore diff --prompt-file ./explore-prompt.md

先收集儲存庫的事實

不要憑記憶撰寫提示。檢查儲存庫並確認每個事實:

  1. 受測應用程式。 列舉產生的測試將驅動的每個前端/應用程式。對於每個應用程式,確定測試必須指向的 URL。這是執行時使用的服務/部署 URL,通常不等於在本機撰寫時使用的 Vite/開發 URL。交叉檢查 momentic.config.yaml 中的 environments[].baseUrl,以及每個應用程式在 CI 中如何啟動(執行 momentic ai explore diff 的工作流程)。
  2. 驗證。 探索器應該如何登入?偏好使用可重複使用的登入模組——記錄其確切的 nameid。注意存取假設(例如「此使用者可以到達應用程式的所有部分」)。
  3. 測試放置。 每個應用程式的測試所屬的資料夾,相對於工作區表示,包括任何強制路徑前綴。使限制條件明確無歧義。
  4. 拋棄式 / 巢狀測試。 探索執行過程中作為副作用建立的測試必須儲存在哪裡(通常是單一被 gitignore 的 momentic/junk/ 資料夾)。確認哪個路徑被 gitignore。
  5. 特殊注意事項。 跨執行持續存在的外部持久化資料(必須每次執行隨機化以避免衝突)、驗證特性、不穩定區域、基礎 URL 快取標誌等。

要產生的結構

撰寫簡潔、命令式的 Markdown。建議的章節:

  • 應用程式與目標 URL — 每個應用程式一個項目符號:名稱 — 測試必須指向的 URL — 用途 — 如何服務/執行 — 如果需要驗證,登入模組(名稱 + ID)。
  • 旅程 → 應用程式對應 — 如何將範圍內的 diff 對應到受影響的應用程式,以便驅動正確的編輯器/埠。
  • 測試放置規則 — 每個應用程式的目標資料夾,並明確使用 HARD RULE 標註任何強制前綴。否則探索器會將測試儲存在錯誤的位置。
  • 拋棄式 / 巢狀測試規則 — 被 gitignore 的 junk 資料夾,每個巢狀測試必須放在那裡,且命名檔案為 junk-* 並不算數。
  • 需要注意的特殊注意事項 — 上面收集的儲存庫特定陷阱。

良好提示的規則

  • 目標 URL 必須是測試實際執行的 URL,絕不能是撰寫時的開發伺服器 URL。
  • 明確說明路徑限制,並使用 HARD RULE: 標註——路徑錯誤是最常見且代價最高的探索器失敗原因。
  • 保持儲存庫特定且簡短。省略一般 Momentic 文件/技能已涵蓋的內容。
  • 同時使用 nameid 引用登入模組,以便探索器能鎖定確切的模組。

參考範本

以下是僅包含佔位符的骨架,展示了良好提示應有的章節。將括號中的值替換為您儲存庫的真實應用程式、URL、模組和資料夾——不要出貨佔位符。

此儲存庫有 <N> 個前端應用程式。測試執行時,每個應用程式在以下 URL 提供服務——請指向這些 URL,而不是撰寫時使用的開發伺服器 URL。

- <應用程式名稱> — <一行用途> 位於 <https://url-tests-must-target>。首先使用名為 `<login-module-name>`(id: <login-module-id>)的模組登入。<存取假設,例如此使用者可以到達應用程式的所有部分>。
- <應用程式名稱-2> — <用途> 位於 <https://url-2>。測試必須使用 <https://url-2> 作為其基礎 URL。

在識別已變更的使用者旅程時,將每個範圍內的 diff 對應到上述應用程式,以便驅動正確的應用程式/埠。

將新測試放置在與其驅動的應用程式對應的資料夾中。每個目標路徑都是相對於您的工作區,且 `<mandatory-prefix>/` 區段是強制的——絕不能省略:

- <應用程式名稱> 旅程 → <mandatory-prefix>/<應用程式資料夾>/。
- <應用程式名稱-2> 旅程 → <mandatory-prefix>/<應用程式-2-資料夾>/。

HARD RULE — 在撰寫的測試中保留 `<mandatory-prefix>/` 前綴。儲存到任何省略它的路徑都是嚴重失敗。

HARD RULE: 任何作為建立其他測試的副作用而建立的測試都是拋棄式的,且必須儲存到被 gitignore 的 `<junk-folder>/` 目錄中。將檔案命名為 `junk-*` 並不算數——只有該目錄被 gitignore。

一些需要注意的特殊注意事項:

- <特殊注意事項,例如外部同步的資料跨執行持續存在——每次執行時隨機化您寫入的任何資料,以免執行衝突>。