momentic-explore-prompt

momentic-explore-prompt

生成一个 explore-prompt.md 文件,为 Momentic 的探索代理(`momentic ai explore diff` / `momentic ai explore latest`)提供仓库特定的上下文——要测试哪些应用、测试必须针对的 URL、如何认证、在哪里保存生成的测试以及仓库的特殊要求。在设置或改进通过 `--prompt-file` 传递的提示文件时使用。

12Star
0Fork
更新于 2026/7/23
SKILL.md
readonly只读
name
momentic-explore-prompt
description

生成一个 explore-prompt.md 文件,为 Momentic 的探索代理(`momentic ai explore diff` / `momentic ai explore latest`)提供仓库特定的上下文——要测试哪些应用、测试必须针对的 URL、如何认证、在哪里保存生成的测试以及仓库的特殊要求。在设置或改进通过 `--prompt-file` 传递的提示文件时使用。

生成 explore-prompt.md

这个文件是什么

探索代理(momentic ai explore diff 针对 git 范围,或 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-* 不算。
  • 需要注意的特殊要求 — 上面收集的仓库特定问题。

好提示的规则

  • 目标 URL 必须是测试实际运行的 URL,绝不能是编写时的开发服务器 URL。
  • 明确路径约束并使用 HARD RULE: 标注——路径错误是最常见且代价最高的探索器失败。
  • 保持仓库特定且简短。省略已经由一般 Momentic 文档/技能涵盖的内容。
  • 通过 nameid 引用登录模块,以便探索器可以精确定位模块。

参考模板

下面是一个仅包含占位符的骨架,包含好提示应有的部分。用你仓库的实际应用、URL、模块和文件夹填充括号中的值——不要发布占位符。

此仓库有 <N> 个前端应用。测试运行时,每个应用在下面的 URL 处提供服务——针对这些 URL,而不是编写时使用的开发服务器 URL。

- <app-name> — <一行用途> 位于 <https://url-tests-must-target>。首先使用名为 `<login-module-name>`(id: <login-module-id>)的模块登录。<访问假设,例如此用户可以访问应用的所有部分>。
- <app-name-2> — <用途> 位于 <https://url-2>。测试必须使用 <https://url-2> 作为其基本 URL。

在识别已更改的用户旅程时,将每个范围内的 diff 映射到上面的应用,以便驱动正确的应用/端口。

将新测试放在与其驱动的应用匹配的文件夹中。每个目标路径相对于你的工作区,并且 `<mandatory-prefix>/` 段是强制性的——绝不能省略:

- <app-name> 旅程 → <mandatory-prefix>/<app-folder>/。
- <app-name-2> 旅程 → <mandatory-prefix>/<app-2-folder>/。

HARD RULE — 在编写的测试中保留 `<mandatory-prefix>/` 前缀。保存到任何省略它的路径都是硬性失败。

HARD RULE: 任何作为构建另一个测试的副作用而创建的测试都是临时的,必须保存到被 gitignore 的 `<junk-folder>/` 目录中。将文件命名为 `junk-*` 不算——只有该目录被 gitignore。

一些需要注意的特殊要求:

- <特殊要求,例如外部同步的数据跨运行持久化——每次运行随机化你写入的任何数据,以便运行不会冲突>。