growthbook/skills

Agent Skills for GrowthBook

21

stars

67

commits

JavaScript

primary language

Sep 10, 2026

updated

README

GrowthBook Agent Skills

GrowthBook is an open source Feature Flagging and Experimentation platform.

Agent skills for GrowthBook — feature flagging and experimentation playbooks for Claude Code, Cursor, and other agent tools that follow the Agent Skills standard.

The skills call the GrowthBook REST API directly through a small bundled helper. No MCP server required.

What's included

Four skills, one per domain. Each one is a router: it loads a short index, then reads only the workflow that matches what you asked for. The 24 workflows live as reference files inside their skill and stay out of context until they're needed.

feature-flags

The full flag lifecycle. Flag changes go through a draft revision before going live, so the draft → review → publish workflows sit alongside the ones that make the change.

WorkflowWhat it does
flag-createCreate a new feature flag — collision check, value type, environments, defaultValue. Ships disabled everywhere.
flag-searchSearch, list, and audit flags by project, tag, owner, environment state, or staleness. Read-only.
flag-graphTrace a flag's dependency graph: prerequisites, dependents, linked experiments and holdouts. Read-only.
flag-toggleEnable or disable a flag in a specific environment (the kill switch). Review-gated.
flag-targetingAdd, edit, or remove force / rollout rules — with conditions, saved groups, and rule-level prerequisites. Full operator reference for MongoDB-style conditions.
flag-rulesList rules, delete a rule, reorder, or route to the right rule workflow.
flag-experimentAdd an experiment-ref rule to a flag to run an A/B test through it.
flag-scheduleTime-gate a rule: set a start and/or end datetime for automatic activation.
flag-rampMulti-step ramp schedule: progressively increase coverage over time with per-step intervals or manual approval gates. Includes live ramp management (advance, pause, rollback, approve-step).
flag-monitoringMonitored progressive rollout ("safe rollout"): ramp schedule with guardrail metric monitoring and optional auto-rollback.
flag-prerequisitesGate an entire flag on another boolean flag being on.
flag-default-valueChange the fallback value served when no rules match.
flag-metadataUpdate a flag's description, owner, project, tags, custom fields, or JSON schema.
flag-revisionsList and inspect open drafts, check who owns them, see approval status, create or discard drafts. The "what's in flight?" workflow.
flag-reviewRequest an approval review on a draft, or submit one (approve / request-changes / comment).
flag-publishPublish a draft live, resolve merge conflicts (rebase), discard, or revert to a prior revision.
flag-cleanupArchive or delete a stale flag, walking through code-site inlining first. Two-step safety gate (archive → verify → delete).

experiments

WorkflowWhat it does
experiment-brainstormPropose new experiment ideas grounded in your team's past stopped-experiment history.
experiment-designWalk through hypothesis, variations, primary metric, guardrails, and sample size to produce a launchable spec. Reads only.
experiment-launchEnd-to-end launch: create the experiment, prep or reuse the feature flag, wire the experiment-ref rule, and call /start. Handles approval and pre-launch checklist failure paths.
experiment-analyzeTrigger a fresh snapshot, poll until ready, then interpret results (SRM check, lifts, CIs, guardrails).
experiment-stopStop a running experiment, optionally declaring a winner and enabling a temporary rollout. Full post-stop flag disposition guidance.

analytics

Turn the metrics and fact tables you already use for experimentation into ad-hoc charts with GrowthBook's Product Analytics Explorer.

WorkflowWhat it does
metric-searchSearch, list, and audit fact metrics and fact tables — definitions, columns, and what's chartable. Read-only.
analytics-exploreBuild and run a chart: a metric over time, a fact-table aggregation, or a raw warehouse table. Returns the numbers plus a deep link to the rendered chart.

gb-setup

Walks you through your API key and (self-hosted) API URL. Validates against the live API and writes ~/.config/growthbook/.env with chmod 600. Re-run anytime to update.

Install

1. Install the plugin

Claude Code:

/plugin marketplace add growthbook/skills
/plugin install growthbook@growthbook-skills

Cursor, Codex, Warp, Zed, and other agentskills.io-compatible agents:

npx skills add growthbook/skills

This installs the skills at project scope. Restart your agent if the skills don't appear immediately. Node 18+ is required (which is what most agents already run on).

2. Configure credentials

The quickest path is to run the setup skill:

/growthbook:gb-setup

It walks you through your API key and (for self-hosted) your API URL — then validates against the live API and writes ~/.config/growthbook/.env with chmod 600. Every other skill reads that file automatically.

Prefer shell-rc? You can export the variables instead. The skills read environment variables first; the file is only consulted when an env var is unset.

export GB_API_KEY=<your-key>             # required: PAT or Secret Key
export GB_API_URL=https://api.your-host  # self-hosted only

Get a Personal Access Token from app.growthbook.io/account/personal-access-tokens. The token is tied to your GrowthBook user, so flags and experiments the write skills create are attributed to you automatically — no separate owner setting needed.

3. Verify

/growthbook:feature-flags

Ask it to list your flags. If anything's wrong with the config, the error points back at /growthbook:gb-setup.

How to invoke

Skills can activate automatically or through the client's explicit skill-invocation UI:

  • Automatically when the agent detects an intent matching the skill's description ("create a feature flag for the new pricing page" → feature-flags, which then reads its flag-create workflow; "what should we test next" → experimentsexperiment-brainstorm).
  • Claude Code plugin: type /growthbook:feature-flags, /growthbook:experiments, /growthbook:analytics, or /growthbook:gb-setup. These domain slash commands remain registered; reference workflows are not separate commands.
  • Other Agent Skills clients: explicitly select or invoke feature-flags, experiments, analytics, or gb-setup using that client's skill UI or syntax.

You don't invoke workflows directly — the domain skill picks one from your request. Workflows hand off to each other, so multi-step jobs compose cleanly:

  • Experiment-first: experiment-designexperiment-launchexperiment-analyzeexperiment-stopflag-cleanup
  • Flag-first: flag-createflag-toggleflag-targetingflag-ramp / flag-monitoringflag-cleanup
  • Experiment on an existing flag: flag-experimentexperiment-launch (reuses the existing flag) → experiment-stopflag-cleanup
  • Analytics: metric-searchanalytics-exploreexperiment-design (when a chart surfaces something worth testing)

What these skills do not do

  • No metric or datasource creation. Create metrics and datasources in the GrowthBook UI and reference them by ID in the experiment and analytics skills.
  • No SDK code generation. Follow GrowthBook's SDK docs; these skills manage flags and experiments via the REST API, not the SDK.
  • No bandit workflows yet. GrowthBook's REST API supports multi-armed bandit experiments and separate Enterprise beta Contextual Bandits, but these skills currently target standard A/B tests. They identify either bandit type and halt rather than apply fixed-allocation experiment guidance to an adaptive experiment.
  • No silent retries or rate-limit backoff in the helper. GrowthBook is rate-limited at 60 rpm. The skills that fan out cap their call counts; multi-tenant orgs hitting concurrent requests may still see 429s, which gb-call surfaces explicitly rather than retrying.

How it works

The plugin bundles a small Node helper (scripts/gb-call) that handles auth, base URL, and error reporting for every REST request. Each of the four skill directories also contains a scripts/gb-call symlink so agents installed via npx skills install (Cursor, Codex, etc.) can resolve it relative to the skill directory. Skills call it via Bash:

gb-call GET /api/v2/features
echo '<payload>' | gb-call POST /api/v2/features -

gb-call is shorthand in workflow examples. The domain router resolves it to ${CLAUDE_PLUGIN_ROOT}/scripts/gb-call for the Claude Code plugin or scripts/gb-call relative to a standalone skill install; it does not need to be globally available on PATH.

See scripts/README.md for the full usage reference.

Repository layout

.claude-plugin/
  marketplace.json
  plugin.json
scripts/
  gb-call                              # Node REST helper (zero deps, Node 18+)
  README.md                            # gb-call usage, config sources, error catalog
skills/
  <domain>/
    SKILL.md                           # router: description, workflow index, shared conventions
    scripts/gb-call                    # symlink → ../../../scripts/gb-call (for npx-installed agents)
    references/<workflow>.md           # one workflow: steps, guardrails, endpoints, handoffs

  feature-flags/
    SKILL.md
    references/
      flag-create.md  flag-search.md  flag-graph.md
      flag-toggle.md  flag-targeting.md  flag-rules.md  flag-experiment.md
      flag-schedule.md  flag-ramp.md  flag-monitoring.md  flag-prerequisites.md
      flag-default-value.md  flag-metadata.md
      flag-revisions.md  flag-review.md  flag-publish.md
      flag-cleanup.md
  experiments/
    SKILL.md
    references/
      experiment-brainstorm.md  experiment-design.md  experiment-launch.md
      experiment-analyze.md     experiment-stop.md
  analytics/
    SKILL.md
    references/
      metric-search.md  analytics-explore.md
  gb-setup/
    SKILL.md                           # one-time onboarding; no references/

CLAUDE.md                              # authoring conventions for contributors
.gitignore
README.md
LICENSE
CHANGELOG.md

Security & secrets

  • Where the key lives. gb-setup writes ~/.config/growthbook/.env inside a 0700 directory at file mode 0600 — owner-read/write only. Environment variables take precedence over the file, so CI and one-off overrides keep working.
  • Pasting a key into chat. The value you give gb-setup lands in your local transcript and is sent to your configured model provider as part of the conversation; it cannot be retroactively masked. Generate a fresh PAT for the plugin rather than reusing your personal admin token — that way you can revoke it independently if anything goes wrong.
  • Revoking a leaked key. Visit app.growthbook.io/account/personal-access-tokens (or your self-hosted equivalent) and revoke. Then re-run /growthbook:gb-setup with the replacement.
  • What the helper rejects. gb-call refuses values containing whitespace or control characters (CRLF in GB_API_KEY would inject headers); gb-setup refuses http:// URLs and URLs with a path component.

Contributing

Issues and PRs welcome at github.com/growthbook/skills. For larger proposals (new skills, changes to skill scope), open an issue first.

Before changing a skill: read CLAUDE.md. It documents the skill structure, the allowed-tools security model, the "verify every payload shape against the GrowthBook back-end source before shipping" rule, and a doc cross-reference map for finding the canonical answer on any GrowthBook concept.

License

MIT — see LICENSE.

Contributors

csbailey5t

30 commits

Auz

4 commits

jdorn

4 commits

growthbook/skills

Agent Skills for GrowthBook

21

stars

67

commits

JavaScript

primary language

Sep 10, 2026

updated

README

GrowthBook Agent Skills

GrowthBook is an open source Feature Flagging and Experimentation platform.

Agent skills for GrowthBook — feature flagging and experimentation playbooks for Claude Code, Cursor, and other agent tools that follow the Agent Skills standard.

The skills call the GrowthBook REST API directly through a small bundled helper. No MCP server required.

What's included

Four skills, one per domain. Each one is a router: it loads a short index, then reads only the workflow that matches what you asked for. The 24 workflows live as reference files inside their skill and stay out of context until they're needed.

feature-flags

The full flag lifecycle. Flag changes go through a draft revision before going live, so the draft → review → publish workflows sit alongside the ones that make the change.

WorkflowWhat it does
flag-createCreate a new feature flag — collision check, value type, environments, defaultValue. Ships disabled everywhere.
flag-searchSearch, list, and audit flags by project, tag, owner, environment state, or staleness. Read-only.
flag-graphTrace a flag's dependency graph: prerequisites, dependents, linked experiments and holdouts. Read-only.
flag-toggleEnable or disable a flag in a specific environment (the kill switch). Review-gated.
flag-targetingAdd, edit, or remove force / rollout rules — with conditions, saved groups, and rule-level prerequisites. Full operator reference for MongoDB-style conditions.
flag-rulesList rules, delete a rule, reorder, or route to the right rule workflow.
flag-experimentAdd an experiment-ref rule to a flag to run an A/B test through it.
flag-scheduleTime-gate a rule: set a start and/or end datetime for automatic activation.
flag-rampMulti-step ramp schedule: progressively increase coverage over time with per-step intervals or manual approval gates. Includes live ramp management (advance, pause, rollback, approve-step).
flag-monitoringMonitored progressive rollout ("safe rollout"): ramp schedule with guardrail metric monitoring and optional auto-rollback.
flag-prerequisitesGate an entire flag on another boolean flag being on.
flag-default-valueChange the fallback value served when no rules match.
flag-metadataUpdate a flag's description, owner, project, tags, custom fields, or JSON schema.
flag-revisionsList and inspect open drafts, check who owns them, see approval status, create or discard drafts. The "what's in flight?" workflow.
flag-reviewRequest an approval review on a draft, or submit one (approve / request-changes / comment).
flag-publishPublish a draft live, resolve merge conflicts (rebase), discard, or revert to a prior revision.
flag-cleanupArchive or delete a stale flag, walking through code-site inlining first. Two-step safety gate (archive → verify → delete).

experiments

WorkflowWhat it does
experiment-brainstormPropose new experiment ideas grounded in your team's past stopped-experiment history.
experiment-designWalk through hypothesis, variations, primary metric, guardrails, and sample size to produce a launchable spec. Reads only.
experiment-launchEnd-to-end launch: create the experiment, prep or reuse the feature flag, wire the experiment-ref rule, and call /start. Handles approval and pre-launch checklist failure paths.
experiment-analyzeTrigger a fresh snapshot, poll until ready, then interpret results (SRM check, lifts, CIs, guardrails).
experiment-stopStop a running experiment, optionally declaring a winner and enabling a temporary rollout. Full post-stop flag disposition guidance.

analytics

Turn the metrics and fact tables you already use for experimentation into ad-hoc charts with GrowthBook's Product Analytics Explorer.

WorkflowWhat it does
metric-searchSearch, list, and audit fact metrics and fact tables — definitions, columns, and what's chartable. Read-only.
analytics-exploreBuild and run a chart: a metric over time, a fact-table aggregation, or a raw warehouse table. Returns the numbers plus a deep link to the rendered chart.

gb-setup

Walks you through your API key and (self-hosted) API URL. Validates against the live API and writes ~/.config/growthbook/.env with chmod 600. Re-run anytime to update.

Install

1. Install the plugin

Claude Code:

/plugin marketplace add growthbook/skills
/plugin install growthbook@growthbook-skills

Cursor, Codex, Warp, Zed, and other agentskills.io-compatible agents:

npx skills add growthbook/skills

This installs the skills at project scope. Restart your agent if the skills don't appear immediately. Node 18+ is required (which is what most agents already run on).

2. Configure credentials

The quickest path is to run the setup skill:

/growthbook:gb-setup

It walks you through your API key and (for self-hosted) your API URL — then validates against the live API and writes ~/.config/growthbook/.env with chmod 600. Every other skill reads that file automatically.

Prefer shell-rc? You can export the variables instead. The skills read environment variables first; the file is only consulted when an env var is unset.

export GB_API_KEY=<your-key>             # required: PAT or Secret Key
export GB_API_URL=https://api.your-host  # self-hosted only

Get a Personal Access Token from app.growthbook.io/account/personal-access-tokens. The token is tied to your GrowthBook user, so flags and experiments the write skills create are attributed to you automatically — no separate owner setting needed.

3. Verify

/growthbook:feature-flags

Ask it to list your flags. If anything's wrong with the config, the error points back at /growthbook:gb-setup.

How to invoke

Skills can activate automatically or through the client's explicit skill-invocation UI:

  • Automatically when the agent detects an intent matching the skill's description ("create a feature flag for the new pricing page" → feature-flags, which then reads its flag-create workflow; "what should we test next" → experimentsexperiment-brainstorm).
  • Claude Code plugin: type /growthbook:feature-flags, /growthbook:experiments, /growthbook:analytics, or /growthbook:gb-setup. These domain slash commands remain registered; reference workflows are not separate commands.
  • Other Agent Skills clients: explicitly select or invoke feature-flags, experiments, analytics, or gb-setup using that client's skill UI or syntax.

You don't invoke workflows directly — the domain skill picks one from your request. Workflows hand off to each other, so multi-step jobs compose cleanly:

  • Experiment-first: experiment-designexperiment-launchexperiment-analyzeexperiment-stopflag-cleanup
  • Flag-first: flag-createflag-toggleflag-targetingflag-ramp / flag-monitoringflag-cleanup
  • Experiment on an existing flag: flag-experimentexperiment-launch (reuses the existing flag) → experiment-stopflag-cleanup
  • Analytics: metric-searchanalytics-exploreexperiment-design (when a chart surfaces something worth testing)

What these skills do not do

  • No metric or datasource creation. Create metrics and datasources in the GrowthBook UI and reference them by ID in the experiment and analytics skills.
  • No SDK code generation. Follow GrowthBook's SDK docs; these skills manage flags and experiments via the REST API, not the SDK.
  • No bandit workflows yet. GrowthBook's REST API supports multi-armed bandit experiments and separate Enterprise beta Contextual Bandits, but these skills currently target standard A/B tests. They identify either bandit type and halt rather than apply fixed-allocation experiment guidance to an adaptive experiment.
  • No silent retries or rate-limit backoff in the helper. GrowthBook is rate-limited at 60 rpm. The skills that fan out cap their call counts; multi-tenant orgs hitting concurrent requests may still see 429s, which gb-call surfaces explicitly rather than retrying.

How it works

The plugin bundles a small Node helper (scripts/gb-call) that handles auth, base URL, and error reporting for every REST request. Each of the four skill directories also contains a scripts/gb-call symlink so agents installed via npx skills install (Cursor, Codex, etc.) can resolve it relative to the skill directory. Skills call it via Bash:

gb-call GET /api/v2/features
echo '<payload>' | gb-call POST /api/v2/features -

gb-call is shorthand in workflow examples. The domain router resolves it to ${CLAUDE_PLUGIN_ROOT}/scripts/gb-call for the Claude Code plugin or scripts/gb-call relative to a standalone skill install; it does not need to be globally available on PATH.

See scripts/README.md for the full usage reference.

Repository layout

.claude-plugin/
  marketplace.json
  plugin.json
scripts/
  gb-call                              # Node REST helper (zero deps, Node 18+)
  README.md                            # gb-call usage, config sources, error catalog
skills/
  <domain>/
    SKILL.md                           # router: description, workflow index, shared conventions
    scripts/gb-call                    # symlink → ../../../scripts/gb-call (for npx-installed agents)
    references/<workflow>.md           # one workflow: steps, guardrails, endpoints, handoffs

  feature-flags/
    SKILL.md
    references/
      flag-create.md  flag-search.md  flag-graph.md
      flag-toggle.md  flag-targeting.md  flag-rules.md  flag-experiment.md
      flag-schedule.md  flag-ramp.md  flag-monitoring.md  flag-prerequisites.md
      flag-default-value.md  flag-metadata.md
      flag-revisions.md  flag-review.md  flag-publish.md
      flag-cleanup.md
  experiments/
    SKILL.md
    references/
      experiment-brainstorm.md  experiment-design.md  experiment-launch.md
      experiment-analyze.md     experiment-stop.md
  analytics/
    SKILL.md
    references/
      metric-search.md  analytics-explore.md
  gb-setup/
    SKILL.md                           # one-time onboarding; no references/

CLAUDE.md                              # authoring conventions for contributors
.gitignore
README.md
LICENSE
CHANGELOG.md

Security & secrets

  • Where the key lives. gb-setup writes ~/.config/growthbook/.env inside a 0700 directory at file mode 0600 — owner-read/write only. Environment variables take precedence over the file, so CI and one-off overrides keep working.
  • Pasting a key into chat. The value you give gb-setup lands in your local transcript and is sent to your configured model provider as part of the conversation; it cannot be retroactively masked. Generate a fresh PAT for the plugin rather than reusing your personal admin token — that way you can revoke it independently if anything goes wrong.
  • Revoking a leaked key. Visit app.growthbook.io/account/personal-access-tokens (or your self-hosted equivalent) and revoke. Then re-run /growthbook:gb-setup with the replacement.
  • What the helper rejects. gb-call refuses values containing whitespace or control characters (CRLF in GB_API_KEY would inject headers); gb-setup refuses http:// URLs and URLs with a path component.

Contributing

Issues and PRs welcome at github.com/growthbook/skills. For larger proposals (new skills, changes to skill scope), open an issue first.

Before changing a skill: read CLAUDE.md. It documents the skill structure, the allowed-tools security model, the "verify every payload shape against the GrowthBook back-end source before shipping" rule, and a doc cross-reference map for finding the canonical answer on any GrowthBook concept.

License

MIT — see LICENSE.

Contributors

csbailey5t

30 commits

Auz

4 commits

jdorn

4 commits

Languages

JavaScript

100.0%