关于 experiments
用于 GrowthBook 的实验工作流路由技能,涵盖构思、设计、启动、分析、停止及 Learnings。它区分只读任务与会修改实验状态的操作,并说明 API 和任务交接约定。
主要功能
- 01将请求分派到实验工作流
- 02覆盖实验生命周期与 Learnings
- 03区分只读操作和写入操作
- 04说明 API 与界面链接约定
- 05将旗标及分析任务交接给其他技能
适用场景
- 01为实验请求选择合适工作流
- 02查找过往实验结论
- 03判断任务是否会修改实验状态
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ growthbook/ skills --skill experiments安装后在 Claude Code 中输入/experiments确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/experiment-analyze.mdexperiment-brainstorm.mdexperiment-design.mdexperiment-launch.mdexperiment-stop.mdlearnings.md详细介绍
experiments
GrowthBook 实验的领域路由器,以及从中提炼出的持久化经验。每个工作流都位于 references/ 下的一个参考文件中。阅读此路由器,选择符合用户当前需求的工作流,然后阅读对应文件并按其说明操作。
实验使用 v1 API(/api/v1/experiments)。如果工作流还涉及功能标志,标志调用则使用 v2 — 参考文件会明确说明各自使用哪个版本。
所有 API 调用都通过随附的辅助工具进行。在 Claude Code 插件安装中,该工具位于 ${CLAUDE_PLUGIN_ROOT}/scripts/gb-call(插件根目录)。通过 npx skills install 安装时,它位于相对于此技能目录的 scripts/gb-call。解析一次该路径,并在参考示例中出现 gb-call 时用它替换;不要假定 gb-call 已在 PATH 中。它会先从环境中读取 GB_API_KEY,再回退到 ~/.config/growthbook/.env(由 gb-setup 写入);环境变量优先。
如果工作流需要提供 GrowthBook UI 链接,支持 Shell 的运行环境应在每次对话中调用一次 gb-call app-origin,在工作流和领域交接期间保留返回的可信来源,并将其加到参考文件中的根相对 UI 路径前。如果上下文中已有该来源,则重复使用;不要为每个链接都调用一次命令。已知可信应用来源的嵌入式或 MCP 适配器可以直接解析相同路径。切勿从 GB_API_URL 推导应用来源;如果 app-origin 因可自托管配置不完整而拒绝执行,则转到 gb-setup。
选择工作流
实验生命周期依次为:头脑风暴 → 设计 → 启动 → 分析 → 停止。检查先前知识时,learnings 位于设计之前;有证据支持得出持久结论时,它位于分析之后。
这些工作流针对 type: "standard" 实验。GrowthBook 的 REST API 也支持多臂老虎机实验和单独的 Enterprise beta Contextual Bandit 资源,但此处均未实现对应的生命周期。如果用户询问这两类老虎机实验,请准确说明其类型,并引导用户使用 GrowthBook UI;不要将标准实验工作流用于这些实验。
| 阅读此文件 | 用户想要 |
|---|---|
references/experiment-brainstorm.md | 获取测试点子,并以过去已停止的实验为依据(仅提出建议) |
references/experiment-design.md | 将点子转化为可启动的规格 — 假设、变体、指标、样本量(不写入任何内容) |
references/experiment-launch.md | 创建实验、准备或复用标志、配置实验引用规则并启动实验 |
references/experiment-analyze.md | 查看结果 — 如果快照已过时,则刷新快照,然后进行解读(只读) |
references/experiment-stop.md | 停止正在运行的实验,可选择宣布获胜方案并将其推出 |
references/learnings.md | 搜索和阅读先前结论,或创建、更新和删除跨实验整理的经验 |
如果用户有一个点子但还没有假设,请从 experiment-design 开始;如果该点子需要依据现有信息,流程会转回 experiment-brainstorm。如果用户提供的是名称而不是 ID,experiment-analyze 和 experiment-stop 都会先执行按名称解析的步骤。
方法论权威
references/experiment-launch.md 由 GrowthBook 数据科学负责人直接编写,是统计框架、假设规范、目标指标数量和护栏要求的权威依据。如果其他参考文件的方法论似乎与之冲突,请遵循 experiment-launch 并指出差异。不要根据一般的 A/B 测试直觉来解决这类冲突 — GrowthBook 有自己的默认设置(默认采用贝叶斯方法,护栏不做多重比较校正,序贯检验会扩大区间)。
此路由器有意不包含自身的统计指导。解读规则位于参考文件中。
共享约定
- 指标必须已存在。 此处的任何工作流都不会创建指标。如果缺少指标,用户应先在 GrowthBook UI 中创建;参考文件会说明具体位置。
- **指标必须位于实验的数据源上,**否则实验 POST 请求会失败。
- 创建时不要混用
templateId与datasourceId/assignmentQueryId。 winnerVariationId是变体 ID 字符串(例如var_abc123),不是整数索引,也不是变体名称。- **按名称解析使用
q,**它会匹配名称、跟踪键、描述和假设。遇到!、~、^、>、<、=时会返回 400 错误——请发送纯文本field:value词元和自由文本。使用bandits筛选 bandit,切勿使用type(type不是列表参数;implementationType是另一个维度)。 - **
result是记录的结果,重启后仍会保留,**因此result=won可能会返回正在运行的实验。请将其与status=stopped配合使用。 - 实验列表中的
limit上限为 100。 - **向用户显示实验名称,并链接到 UI 路径
/experiment/<id>,**不要只显示原始 ID。 - **UI 链接是相对于根目录的路径。**切勿根据
GB_API_URL推断 GrowthBook UI 的源地址;API 和 UI 的源地址不一定共用主机名。运行时如果有可信的应用源地址,可以解析此路径;否则应直接提供相对于根目录的路径,不要猜测。 - **Learning 语料库为空,不代表实验记录为空。**在认定团队没有既往证据之前,请先回退到已停止实验的历史记录。
只读与写入
experiment-brainstorm、experiment-design 和 experiment-analyze 绝不会写入数据——brainstorm 和 design 仅提供方案,不得通过 POST 创建实验;analyze 不得停止或修改实验。experiment-launch 和 experiment-stop 会写入实验状态。learnings 的搜索和列表路径是只读的;其创建、更新和删除路径需要在写入前立即获得明确确认。
预算
GrowthBook 的速率限制为每分钟 60 次请求。experiment-brainstorm 会遍历分页历史记录;experiment-analyze 会在明确的迭代次数上限内轮询快照完成状态,并在轮询之间使用 sleep。请保留这两个上限——它们可以防止繁忙的组织耗尽速率限制。
移交
- feature-flags 技能——涉及标志本身的任何事项:创建标志、设置定向规则、推出标志、发布其草稿,以及测试发布后清理标志。
- analytics 技能——在设计之前从目录中挑选指标,或绘制非实验结果数据的产品数据图表。
- gb-setup——当
gb-call报告GB_API_KEY缺失或无效时。