Skip to content
Agentmart
Submit a tool

amplitude

Use when listing or checking Amplitude Experiment feature flags, turning a flag on or off (kill switch, rollout), shipping code that is gated behind a new…

Skill by tirupati17

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tirupati17-amplitude

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when listing or checking Amplitude Experiment feature flags, turning a flag on or off (kill switch, rollout), shipping code that is gated behind a new flag, or pulling event totals or unique users for the last N days from Amplitude Analytics.

Use cases: data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/amplitude

What's inside

Skill name
amplitude
Description
Use when listing or checking Amplitude Experiment feature flags, turning a flag on or off (kill switch, rollout), shipping code that is gated behind a new flag, or pulling event totals or unique users for the last N days from Amplitude Analytics.
License
MIT
Instructions
85 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Amplitude: feature flags and event totals

## Credentials

`cpm creds setup amplitude` asks for each one and says where it lives:

| Name | Where to get it |
|---|---|
| `AMPLITUDE_API_KEY` | Settings > Projects > the project > General. Also in the app. |
| `AMPLITUDE_SECRET_KEY` | Same page. Server-side only. Used with the API key for the Dashboard REST API (`events`). |
| `AMPLITUDE_MANAGEMENT_KEY` | Optional unless you use flags. Experiment > **Management API** > create key (some org layouts put it under Settings > Organization > API keys). A different key from the two above; neither works in the other's place. |
| `AMPLITUDE_REGION` | Optional: `us` (default) or `eu`. Must match where the project lives; a mismatch fails as 401, not as a region error. |

## Commands

```bash
cpm amplitude flags [--grep text] [--all]      # key, ON/off, rollout, variants, segments, deployments
cpm amplitude create <key> --project-id <id> --deployment-id <id> [--commit]
cpm amplitude flag <key> --off                 # dry run: current state and the PATCH
cpm amplitude flag <key> --on --commit         # changes `enabled` only
cpm amplitude rollout <key> --percent 100 [--commit] # simple on/off rollout; verified readback
cpm amplitude target <key> --property beta_tester [--value true] [--remove] [--commit]
cpm amplitude target --property beta_tester    # which flags carry that segment
cpm amplitude events                           # event types with this week's totals
cpm amplitude events --event app_opened --days 30 [--metric uniques] [--daily]
```

`flag` only flips `enabled`; rollout, variants and targeting stay as they are.
Use `create` for a new disabled boolean flag. It looks the key up to find the numeric id,
then patches `/api/1/flags/<id>`.

`create` makes a new boolean flag safely disabled. It creates without deployments,
sets OFF and 0%, reads that state back, then attaches the requested deployments
and verifies again. It never edits an existing flag. Use `rollout` only for an untargeted, single `on` variant attached to a deployment.
It refuses experiments and segments, checks concurrent edits, and verifies the result.
Use the dashboard for targeting and multivariate experiments. `flag --on` alone
does not increase a new flag's 0% rollout.

The management API's deployment list may contain ID strings or objects; normalize
both before checking it. Do not mistake a formatter failure for a failed create:
look up the existing key before retrying. The flag detail endpoint is the final
verification, not the POST response.

`target` gives one group a feature first: it adds a segment
`gp:<property> is <value> -> on` in front of the base rollout, named after the
property so a rerun replaces it. If the flag is off at 0% it switches it on
(nobody else is affected); if it is off with a base rollout above 0% it refuses,
because switching it on would release to that share of everyone.

## Traps

- **A targeting property has to be in the fetch.** Remote evaluation matches on
  the user properties sent with the Experiment fetch; the Analytics profile
  lags ingestion, so an app that only calls identify can miss its own segment
  for its first sessions. Put the property on the Experiment user and refetch
  when it changes.

- **A gate with no flag in the dashboard is not off, it is the code's
  fallback.** If the fallback is `true` the feature is live for everyone with no
  kill switch; if `false` it is dead for everyone. And debug builds that force
  flags on hide both cases. Create the flag in the same change that ships the
  gate, then check it here with `flags --grep`.
- **ON is not enough.** A flag reaches an app only if it is ON, rolled out above
  0% (or matched by a segment), and attached to the deployment whose key that app
  uses. `flags` marks `! no deployment` and `! 0% rollout`.
- **A kill switch should remove the gate, not only the feature.** If a flag
  turns off a paywall but the content locks read a different condition, users
  are left locked out with no way to pay.
- **Numeric companions.** A boolean "quota enabled" beside a numeric limit where
  0 means unlimited does nothing until the number is set too. Check both.
- **Changes are not instant.** Apps see a flip on their next flag fetch: local
  evaluation SDKs poll, remote evaluation often only at launch.
- **`events` returns 400 for an event name Amplitude never received**, shown as
  "no such event". Usually a typo, a renamed event on one platform only, or an
  event sent only from debug builds. Event names are a cross-platform contract.
- **Uniques do not add up.** A 30-day unique count is de-duplicated over the
  range; summing daily uniques overcounts. `events --metric uniques` prints
  Amplitude's own range figure.
- **Rate limits are tight** on smaller plans: queries run one at a time and
  429s are retried with Retry-After. Do not loop dozens of events per minute.

- **Create returns 400 for an empty description.** Supply a meaningful description;
  the toolkit defaults to a nonempty label when none is given.

From tirupati17/cpm, MIT.

More from tirupati17/cpm

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 11, 2026 (18 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from tirupati17

Cite this page

amplitude skill. Agent Mart. https://agentmart.dev/skills/tirupati17-amplitude (last updated 2026-10-24)