
Supported libraries
Skene knows the call shape of each library. It tracks event name, properties, and where in the control flow the call sits. The list is short on purpose. If your library is not here, open an issue.
PostHog
posthog.capture(event, properties)
posthog.identify(distinctId, properties)
posthog.group(groupType, groupKey, properties)
posthog.alias(alias)
Both the browser SDK (posthog-js) and the Node SDK (posthog-node) are covered. Same call shapes, different runtimes.
Mixpanel
mixpanel.track(event, properties)
mixpanel.identify(distinctId)
mixpanel.people.set(properties)
mixpanel.register(properties)
Browser and Node SDKs both covered.
Segment
analytics.track(event, properties)
analytics.identify(userId, traits)
analytics.page(category, name, properties)
analytics.screen(name, properties)
analytics.group(groupId, traits)
Works with analytics-node and the browser analytics.js.
Amplitude
amplitude.track(eventName, eventProperties)
amplitude.identify(identifyObject)
amplitude.setUserId(userId)
amplitude.groupIdentify(groupType, groupName, identifyObject)
The newer @amplitude/analytics-browser and @amplitude/analytics-node SDKs.
Heap
heap.track(event, properties)
heap.identify(identity)
heap.addUserProperties(properties)
Both the browser SDK and the server SDK.
Snowplow
trackSelfDescribingEvent({ event, context })
trackStructEvent({ category, action, label, property, value })
Both @snowplow/browser-tracker and @snowplow/node-tracker.
What is next
- Install Skene: pick a surface
- What Skene catches: the five failure modes
- Configuration: allowlist, ignore patterns