Guides instrumenting FeatBit experiments and A/B tests by recording flag-evaluation exposures and metric events for the experimentation engine to analyze variant performance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/featbit-featbit-skills:featbit-experimentationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Wire flag exposures and metric events into FeatBit's experimentation engine so a hypothesis becomes a measurable result.
Wire flag exposures and metric events into FeatBit's experimentation engine so a hypothesis becomes a measurable result.
Activate when users:
flag_evaluation events)boolVariation() (or another SDK call) with experiment instrumentationFour steps. You only write code for two of them.
┌──────────────────────┐
│ your app │
│ │
│ ② flag evaluated ───┼──► POST /api/track/event
│ │ { user, variations } ┐
│ │ ├─► experiment data pool
│ ③ user converted ───┼──► POST /api/track/event │ │
│ │ { user, metrics } ┘ │
└──────────────────────┘ ▼
④ analysis engine ─► result
Two contracts bind ② and ③ together:
user.keyId on the exposure and the metric event — that's the join key.timestamp ≥ exposure timestamp — earlier metric events are dropped from attribution.POST /api/track/event accepts both. Different body, same URL.
| Event | Top-level field | Fires |
|---|---|---|
| Flag exposure | variations[] | once per evaluation site (after boolVariation() etc.) |
| Metric (binary conversion) | metrics[] without numericValue | once when the goal happens (e.g. checkout completed) |
| Metric (continuous value) | metrics[] with numericValue | per occurrence (revenue per purchase, ms per page load) |
Wire format, per-language SDK wrappers, and timestamp / queue / flush semantics live in references/tracking-api-and-sdks.md.
trackFlagForExpt(...)) keeps URL, env-secret, and transport in one place. Every call site becomes one line. Swap to batch / fire-and-forget later without touching business code.user.keyId the SDK evaluated against.Per-language helper + call-site examples (Node.js, .NET, Java, Go, Python, Browser JS, React) are in references/tracking-api-and-sdks.md §3.
Choose by where your analysis runs, not by where your flag service runs.
| You have… | You want… | Record to |
|---|---|---|
| FeatBit flags only | Variant distribution, flag health (no business metrics) | FeatBit flag-evaluation insights — zero instrumentation |
| FeatBit flags + managed analysis | Full experiment analysis without standing up a warehouse | FeatBit track-service (this skill's main path) |
| Existing data warehouse | Experiment events alongside other product data | Your own warehouse — same two-rule pattern, your endpoint |
Full trade-offs and pointers in references/tracking-api-and-sdks.md §4.
| File | Read when |
|---|---|
references/tracking-api-and-sdks.md | User asks about wire format, exact request bodies, SDK helper code, timestamp rules, batching / queueing behavior, attribution failures, or chooses between track-service and a self-hosted warehouse |
Additional references covering experiment design, integration with the
featbit-release-decisionskill, and deployment will be added as the skill grows. The single reference above is authoritative for instrumentation.
featbit-sdks-* — language SDKs that produce the variant before trackingfeatbit-evaluation-insights-api — direct HTTP for platforms without an SDKfeatbit-release-decision (planned) — promote a winning variant to full rolloutnpx claudepluginhub joshuarweaver/cascade-code-devops-misc-1 --plugin featbit-featbit-skillsGuides you through designing, creating, and running A/B experiments in LaunchDarkly—configuring metrics, treatments, flag rules, starting iterations, swapping treatments, and declaring a winner.
Configures PostHog experiment analytics: exposure criteria, metric types (count, sum, ratio, retention), multivariate handling, and result interpretation.
Launches a GrowthBook A/B test end-to-end via the REST API, creating the experiment, feature flag, and experiment-ref rule. Works for experiment-first and flag-first workflows.