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
首先收集仓库事实
不要凭记忆编写提示。检查仓库并确认每个事实:
- 被测应用。 列举生成的测试将驱动的每个前端/应用。对于每个应用,确定测试必须访问的 URL。这是运行时使用的服务/部署 URL,通常不是在本地编写时使用的 Vite/开发 URL。交叉检查
momentic.config.yaml中的environments[].baseUrl以及每个应用在 CI 中如何启动(运行momentic ai explore diff的工作流)。 - 认证。 探索器应如何登录?优先使用可重用的登录模块——记录其确切的
name和id。注意访问假设(例如,“此用户可以访问应用的所有部分”)。 - 测试放置。 每个应用的测试所属的文件夹,相对于工作区表示,包括任何强制路径前缀。使约束明确无误。
- 临时/嵌套测试。 探索运行中作为副作用创建的测试必须保存的位置(通常是单个被 gitignore 的
momentic/junk/文件夹)。确认哪个路径被 gitignore。 - 特殊要求。 跨运行持久化的外部数据(必须每次运行随机化以避免冲突)、认证特性、不稳定区域、基本 URL 缓存标志等。
要生成的结构
编写简洁、命令式的 markdown。推荐的部分:
- 应用和目标 URL — 每个应用一个项目符号:名称 — 测试必须针对的 URL — 用途 — 如何服务/运行 — 如果需要认证,登录模块(名称 + ID)。
- 旅程 → 应用映射 — 如何将范围内的 diff 映射到受其影响的应用,以便驱动正确的编辑器/端口。
- 测试放置规则 — 每个应用的目标文件夹,使用显式的
HARD RULE标注任何强制前缀。否则探索器会将测试保存在错误的位置。 - 临时/嵌套测试规则 — 被 gitignore 的垃圾文件夹,每个嵌套测试必须放在其中,并且将文件命名为
junk-*不算。 - 需要注意的特殊要求 — 上面收集的仓库特定问题。
好提示的规则
- 目标 URL 必须是测试实际运行的 URL,绝不能是编写时的开发服务器 URL。
- 明确路径约束并使用
HARD RULE:标注——路径错误是最常见且代价最高的探索器失败。 - 保持仓库特定且简短。省略已经由一般 Momentic 文档/技能涵盖的内容。
- 通过
name和id引用登录模块,以便探索器可以精确定位模块。
参考模板
下面是一个仅包含占位符的骨架,包含好提示应有的部分。用你仓库的实际应用、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。
一些需要注意的特殊要求:
- <特殊要求,例如外部同步的数据跨运行持久化——每次运行随机化你写入的任何数据,以便运行不会冲突>。






