linkrunner-eventslisted
Install: claude install-skill linkrunner-labs/skills
# Linkrunner - Events & revenue instrumentation
You are instrumenting **Linkrunner** event and revenue tracking. This skill is
the platform-agnostic layer: what to send, when to send it, and how to keep
revenue correct. It does **not** give you client call syntax - each platform's
SDK skill (`skills/sdk/<platform>/references/events.md`) owns the exact
`trackEvent` / `capturePayment` / `removePayment` snippets for that language.
## 0. Before you touch anything
1. Confirm **`signup()` has already been wired** for this app. Events and
revenue are only stored and displayed for attributed users - a user must
have been registered via `.signup` in an SDK before their events show up.
If it isn't wired yet, stop and set that up first via the relevant
`skills/sdk/<platform>/` skill.
2. Identify which SDK is installed (Flutter, React Native, Expo, iOS,
Android, Capacitor, Cordova, Unity, Web) - or whether this is a
backend/web flow with **no client SDK in the loop**. That decides whether
you write client code or call the HTTP API.
3. Ask what's actually being tracked: generic product/behavior events,
ecommerce events meant to feed Meta Catalog Sales, revenue/payments, or
server-side-only tracking (cron jobs, webhooks, web backend).
4. If this is server-side work, get the **server key** (dashboard → Settings
→ Data APIs: https://dashboard.linkrunner.io/settings?s=data-apis). Never
hardcode it - ask where the user keeps secrets.
## 1. Decide what the u