Agent skill

Analyticscli TS SDK

by LeoYeAI in LeoYeAI/openclaw-master-skills

A skill your agent uses when integrating or upgrading the AnalyticsCLI TypeScript SDK in web, TypeScript, React Native, or Expo apps.

MITAuto-check passedMobile

Install Analyticscli TS SDK

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill analyticscli-ts-sdk -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills analyticscli-ts-sdk --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/analyticscli-ts-sdk .claude/skills/analyticscli-ts-sdk && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
analyticscli-ts-sdk
GitHub stars
2.2k
Token cost
~5.3k tokens
SKILL.md length
2,247 words
Files
6 (incl. references)
Skills in repo
1,215
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when integrating or upgrading the AnalyticsCLI TypeScript SDK in web, TypeScript, React Native, or Expo apps.

  • Works in 12 steps: bootstrap uses init({ ... }) (no… → no explicit endpoint env var in host app… → no large event translation layer added → …
  • Upgrading the AnalyticsCLI TypeScript SDK in web
  • SKILL.md covers Use This Skill When, Supported Versions, Core Rules and Host App Minimalism Guardrails, plus 12 more sections
  • Needs WRITE_KEY and ANALYTICSCLI_PUBLISHABLE_API_KEY

What it does

Analyticscli TS SDK is an agent skill from LeoYeAI/openclaw-master-skills. Use when integrating or upgrading the AnalyticsCLI TypeScript SDK in web, TypeScript, React Native, or Expo apps.

Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `_meta.json`, `references/minimal-host-template.md` and `references/onboarding-paywall.md`).

It sits in Mobile, covering Cross-platform mobile apps. It works with TypeScript, Expo, React Native and Android. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Upgrading the AnalyticsCLI TypeScript SDK in web
  • Tasks that involve Cross-platform mobile apps

Example prompts

  • “/analyticscli-ts-sdk”

Requirements

  • A credential in YOUR_APP_KEY
  • A credential in ANALYTICSCLI_PUBLISHABLE_API_KEY

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. bootstrap uses init({ ... }) (no initFromEnv(...))
  2. no explicit endpoint env var in host app templates
  3. no large event translation layer added
  4. SDK APIs used directly at call sites for onboarding/paywall/purchase milestones
  5. identity uses SDK methods directly (identify/setUser/clearUser) without extra wrappers
  6. platform is web/ios/android/mac/windows or omitted (never framework labels)
  7. generated bootstrap sets identityTrackingMode explicitly (default 'consent_gated')
  8. paywall flow reuses a tracker instance per stable paywall context (no per-event tracker re-creation)
  9. host-app snippets only use publishable API key env names (no *WRITE_KEY* fallback)
  10. if provider exposes offering/paywall id, createPaywallTracker(...) defaults include offering
  11. exactly one screen-tracking owner exists per route transition
  12. touched onboarding/paywall/purchase call sites emit canonical AnalyticsCLI events only (no legacy aliases, no dual-write)

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • dash.analyticscli.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • WRITE_KEY
    • ANALYTICSCLI_PUBLISHABLE_API_KEY
    • ANALYTICSCLI_WRITE_KEY
    • EXPO_PUBLIC_ANALYTICSCLI_WRITE_KEY
    • NEXT_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY
    • EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Analyticscli TS SDK loads about 5.3k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 33 tokens; SKILL.md has 2,247 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~33
When it runs · the whole SKILL.md, loaded when a task matches
~5.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 2,247 words, ~5,303 tokens.

Download SKILL.mdSave it as .claude/skills/analyticscli-ts-sdk/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
analyticscli-ts-sdk
description
Use when integrating or upgrading the AnalyticsCLI TypeScript SDK in web, TypeScript, React Native, or Expo apps.
license
MIT
homepage
https://github.com/wotaso/analyticscli-skills
metadata.author
wotaso
metadata.version
1.6.8
metadata.analyticscli-target
@analyticscli/sdk
metadata.analyticscli-supported-range
>=0.1.0-preview.6 <0.2.0

AnalyticsCLI TypeScript SDK

Use This Skill When

  • adding AnalyticsCLI analytics to a JS or TS app
  • instrumenting onboarding, paywall, purchase, or survey events
  • upgrading within the current @analyticscli/sdk line
  • validating SDK behavior together with analyticscli

Supported Versions

  • Skill pack: 1.6.8
  • Target package: @analyticscli/sdk
  • Supported range: >=0.1.0-preview.6 <0.2.0
  • If a future SDK major changes APIs or event contracts in incompatible ways, add a sibling skill such as analyticscli-ts-sdk-v1

See Versioning Notes.

Core Rules

  • Initialize exactly once near app bootstrap.
  • For generated host-app code, prefer init({ ... }) with explicit identity mode (identityTrackingMode: 'consent_gated').
  • init('<YOUR_APP_KEY>') shortform is acceptable for quick demos/tests or low-level client-only integrations.
  • Keep setup options minimal: apiKey is enough for ingest.
  • In host apps, use client-safe publishable env names (for example ANALYTICSCLI_PUBLISHABLE_API_KEY).
  • Do not use WRITE_KEY env names in generated host-app snippets (ANALYTICSCLI_WRITE_KEY, EXPO_PUBLIC_ANALYTICSCLI_WRITE_KEY, etc.).
  • runtimeEnv is auto-attached. Do not pass a mode string.
  • debug is only a boolean for SDK console logging.
  • Do not pass endpoint and do not add endpoint env vars in app templates. Use the SDK default collector endpoint.
  • For platform, do not use framework labels (react-native, expo).
  • Use only canonical platform values (web, ios, android, mac, windows) or omit the field.
  • In React Native/Expo, pass Platform.OS directly; the SDK normalizes values like macos -> mac and win32 -> windows.
  • Treat platform as runtime family only (web/ios/android/mac/windows), not as OS version/name.
  • Treat osName as operating-system label (for example iOS, Android, Windows, macOS, Web). Prefer always setting/populating osName; keep platform optional.
  • init(...)/new AnalyticsClient(...) auto-emits one session_start event per client instance on SDK mount (source: sdk_mount), so host apps do not need manual startup wiring.
  • Do not manually emit duplicate session_start unless you intentionally also track a separate custom launch event (for example app_launch).
  • In React Native/Expo, prefer appVersion from expo-application (nativeApplicationVersion); nullable values can be passed directly.
  • Do not specify dedupeOnboardingStepViewsPerSession in generated host-app code by default; SDK default is true. Only set it explicitly when the user requests a different behavior or asks for explicit config.
  • Do not specify dedupeScreenViewsPerSession in generated host-app code by default; SDK default is true. Only set it explicitly when the user requests a different behavior or asks for explicit config.
  • Set screenViewDedupeWindowMs only when needed for a non-standard navigation stack; otherwise rely on SDK default (1200 ms).
  • Prefer SDK trackers over host-side wrapper utilities. Keep integration code close to call sites.
  • Keep event properties stable and query-relevant.
  • Avoid direct PII.
  • Set identityTrackingMode explicitly in generated host-app bootstrap code; use 'consent_gated' as the default.
  • For EU/EEA/UK user traffic, keep identityTrackingMode: 'consent_gated' (or strict) unless legal counsel approves a different setup.
  • identify / setUser only work when full tracking is enabled (always_on, or after full-tracking consent in consent_gated).
  • Do not force storage adapters in generated bootstrap code by default.
  • Avoid top-level Promise singletons in app utility files.
  • Use neutral file names like analytics.ts (not provider-specific names such as aptabase.ts).
  • Avoid re-exporting PAYWALL_EVENTS / PURCHASE_EVENTS from host app utility files. Import SDK constants directly when needed, or use createPaywallTracker(...).
  • When using createPaywallTracker(...), create one tracker per stable paywall context and reuse it across shown/skip/purchase calls. Recreate only when defaults change.
  • If your paywall provider exposes an offering/paywall identifier, pass it as offering in tracker defaults. RevenueCat: offering identifier; Adapty: paywall/placement identifier; Superwall: placement/paywall identifier.
  • In hosted paywall screens (RevenueCat UI / Adapty / Superwall or custom wrappers around them), do not use generic track(...) / trackEvent(...) for paywall or purchase milestones. Use one memoized createPaywallTracker(...) per screen/context and route lifecycle callbacks to tracker methods: shown (visible), purchaseStarted, one terminal event (purchaseSuccess/purchaseFailed/purchaseCancel), and skip (dismiss/close/back).
  • If multiple paywall screens exist, each screen/context must have its own stable tracker defaults (source, paywallId, optional offering) so events are not mixed across screens.
  • Prefer SDK identity helpers (setUser, identify, clearUser) directly instead of wrapping identify logic in host-app boilerplate.
  • Do not keep legacy analytics providers or event aliases active in generated host-app code.
  • For touched paywall/purchase/onboarding flows, use canonical AnalyticsCLI event names only.
  • For generated docs or README snippets, write from tenant developer perspective (your app, your workspace) and avoid provider-centric phrasing such as our SaaS.
  • Default to canonical SDK event names at call sites.
  • Before generating host-app code, ensure @analyticscli/sdk is upgraded to the newest preview in that repo.
  • For onboarding instrumentation, use dedicated SDK onboarding APIs instead of generic track(...)/trackEvent(...): createOnboardingTracker(...), trackOnboardingEvent(...), trackOnboardingSurveyResponse(...), plus step helpers (step(...).view(), step(...).complete(), step(...).surveyResponse(...)).
  • Use onboarding:step_view as the default step progression signal. Treat onboarding:step_complete as optional and only emit it when a step has a meaningful completion boundary (for example explicit submit/continue confirmation or async success).
  • For survey steps, default to onboarding:step_view + onboarding:survey_response; avoid unconditional onboarding:step_complete unless completion semantics are explicit.
  • For onboarding survey events, prefer trackOnboardingSurveyResponse(...) (or tracker survey helpers) so SDK sanitization/normalization is preserved.
  • To avoid repetitive payloads, create one onboarding tracker with shared flow defaults and use step(...).surveyResponse(...) with only survey-specific fields at call sites.
  • For React Native / Expo non-onboarding screens, track screen views on focus with useFocusEffect(...) and analytics.screen(...).
  • For RevenueCat correlation in host apps, keep AnalyticsCLI user identity in sync with the same stable user id used in Purchases.logIn(...) (setUser on sign-in/session restore, clearUser on sign-out).

Host App Minimalism Guardrails

When this skill writes host-app code, optimize for low boilerplate by default.

  • Do not generate a large event translation layer such as mapEventToCanonical(...) with many switch branches.
  • Do not create host-side wrappers around identify/setUser unless required by an existing app contract.
  • Do not add per-call try/catch wrappers around every analytics helper unless the user asked for that policy.
  • Do not duplicate SDK constants/events in host utility files.
  • Prefer direct SDK calls in feature code (trackPaywallEvent, tracker helpers, screen, track) instead of generic proxy helpers.
  • Keep a single screen-tracking owner per route boundary (parent layout or screen component, not both).
  • If a thin analytics.ts is needed, keep it focused to bootstrap + a few shared helpers. Avoid becoming an event-translation layer.

Hard Fail Patterns

Do not generate these patterns:

  • giant switch/if trees that translate event names
  • helpers like mapEventToCanonical(...) spanning many event cases
  • broad catch-all wrappers around every analytics call
  • top-level Promise<AnalyticsClient | null> bootstrap patterns
  • host-side re-exports of SDK constants/events
  • creating a new createPaywallTracker(...) instance inside each paywall callback/event helper
  • helper wrappers that create a fresh paywall tracker per call (for example trackPaywallTrackerEvent(...))
  • hosted paywall screens that only emit screen(...) / trackScreenView(...) but never emit paywall:shown
  • paywall/purchase milestones emitted via generic track(...) / trackEvent(...) although stable paywall context is available
  • onboarding step/survey milestones emitted via generic track(...) / trackEvent(...) although dedicated onboarding APIs are available
  • legacy/alias event names for onboarding/paywall/purchase milestones (for example view_paywall, purchase_completed)
  • dual-write analytics emission to preserve old event names/providers
  • apiKey fallback chains using *WRITE_KEY* env variables in host-app code
  • duplicate screen tracking for the same route transition from both parent layout and child screen

If such a pattern already exists in the target codebase:

  • do not expand it
  • prefer reducing it while keeping behavior stable

Pre-Ship Self-Check

Before finishing, verify the generated integration code meets all checks:

  1. bootstrap uses init({ ... }) (no initFromEnv(...))
  2. no explicit endpoint env var in host app templates
  3. no large event translation layer added
  4. SDK APIs used directly at call sites for onboarding/paywall/purchase milestones
  5. identity uses SDK methods directly (identify/setUser/clearUser) without extra wrappers
  6. platform is web/ios/android/mac/windows or omitted (never framework labels)
  7. generated bootstrap sets identityTrackingMode explicitly (default 'consent_gated')
  8. paywall flow reuses a tracker instance per stable paywall context (no per-event tracker re-creation)
  9. host-app snippets only use publishable API key env names (no *WRITE_KEY* fallback)
  10. if provider exposes offering/paywall id, createPaywallTracker(...) defaults include offering
  11. exactly one screen-tracking owner exists per route transition
  12. touched onboarding/paywall/purchase call sites emit canonical AnalyticsCLI events only (no legacy aliases, no dual-write)
  13. every touched hosted paywall screen emits paywall:shown via tracker when shown becomes visible (not only screen-view events)
  14. every touched hosted paywall screen maps purchase lifecycle callbacks to tracker methods (purchaseStarted + exactly one terminal outcome)
  15. every touched paywall dismissal path (close/back/skip) emits tracker skip(...)
  16. touched onboarding step milestones use dedicated onboarding APIs (tracker step helpers or trackOnboardingEvent(...)) instead of generic track(...)
  17. touched onboarding survey milestones use trackOnboardingSurveyResponse(...) (or tracker survey helpers), not ad-hoc generic track(...) payloads
  18. touched React Native / Expo non-onboarding screens use useFocusEffect(...) + analytics.screen(...) with one owner per route transition
  19. touched onboarding flows do not force onboarding:step_complete on every step; default to onboarding:step_view and add step_complete only where completion semantics are explicit
Show full SKILL.md (862 more words)Show less

Dashboard Credentials Checklist

Before SDK bootstrap, collect the required values from your dashboard:

  • Open dash.analyticscli.com and select the target project.
  • In API Keys, copy the publishable ingest API key for SDK init.
  • If you will verify ingestion with CLI, create/copy a CLI readonly_token in the same API Keys area.
  • Optional for CLI verification: set a default project once with analyticscli projects select (arrow-key picker), or pass --project <project_id> per command.

Minimal Web Setup

ts
import { init } from '@analyticscli/sdk';

const analytics = init({
  apiKey: process.env.NEXT_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY ?? '',
  platform: 'web',
  identityTrackingMode: 'consent_gated', // default
});

init(...) is preferred for host apps. Resolve env values in app code and pass apiKey explicitly.

React Native Setup

ts
import AsyncStorage from '@react-native-async-storage/async-storage';
import * as Application from 'expo-application';
import { Platform } from 'react-native';
import { init } from '@analyticscli/sdk';

const analytics = init({
  apiKey: process.env.EXPO_PUBLIC_ANALYTICSCLI_PUBLISHABLE_API_KEY,
  debug: __DEV__,
  platform: Platform.OS,
  appVersion: Application.nativeApplicationVersion,
  identityTrackingMode: 'consent_gated', // default
  storage: AsyncStorage, // optional for RN if you want persistent IDs after consent
});

Consent gate for full tracking:

ts
// user accepts full tracking
analytics.setFullTrackingConsent(true);

// user declines full tracking (strict analytics can continue)
analytics.setFullTrackingConsent(false);

There is no "do not start yet" init flag. Tracking starts on init(...); ready() (or initAsync(...)) is only for explicitly blocking first-flow logic until async storage hydration is done.

React Native Screen Tracking Pattern (Non-Onboarding)

Use useFocusEffect(...) for non-onboarding screens so screen views fire on route focus and not only on mount:

ts
import { useFocusEffect } from '@react-navigation/native';
import { useCallback } from 'react';
import { analytics } from '@/utils/analytics';

export function SettingsScreen() {
  useFocusEffect(
    useCallback(() => {
      analytics.screen('settings', {
        screen_class: 'SettingsScreen',
        source: 'tabs',
      });
    }, []),
  );

  return null;
}

Notes:

  • Keep exactly one screen-tracking owner per route transition.
  • Do not emit duplicate screen events from both parent layout and child screen.
  • For onboarding steps, do not replace onboarding milestone events with screen events.

Integration Depth Checklist

The integration should cover more than SDK bootstrap:

  1. onboarding flow boundaries and step progression
  2. paywall exposure, skip, purchase start, success, fail, cancel
  3. screen views for core routes/screens
  4. key product actions tied to user value (for example: first calibration complete, first result generated, export/share, restore purchases)
  5. stable context properties (appVersion, platform, source, flow identifiers)
  6. if using RevenueCat, correlate client-side paywall/purchase intent with server-side subscription lifecycle updates

RevenueCat + Analytics Sync (Trials & Subscriptions)

You can include trial/purchase/cancel lifecycle data inside user flows, but "perfectly synced in real time" is not realistic because app callbacks, store billing events, retries, and webhook delivery are eventually consistent.

Use this pattern for near-lossless correlation:

  1. Single identity key across both systems
    • Use the same stable app user id for RevenueCat appUserID and AnalyticsCLI analytics.setUser(...) (or setUser(...) on raw client).
    • Do not rely on anonymous ids alone for subscription lifecycle analysis.
  2. Dual event streams
    • Client stream (SDK): paywall and purchase journey intent (paywall:shown, purchase:started, purchase:success/failed/cancel).
    • Server stream (RevenueCat webhook): authoritative billing lifecycle changes (trial started, trial cancelled, renewal, subscription cancelled/expired, billing issue).
  3. Correlation keys on every relevant event
    • Always include stable keys when available: userId, offering, paywallId, packageId, entitlementKey.
    • For webhook-derived events, also include RevenueCat identifiers from payload (rcEventId, rcEventType, original transaction/subscription ids, environment/store).
  4. Webhook idempotency is mandatory
    • Deduplicate webhook ingestion by RevenueCat event id before emitting analytics events.
    • Replays/retries must not create duplicate cancellation or renewal events.
  5. Model cancellation reasons explicitly
    • Persist store/webhook cancellation reason fields when provided (or unknown).
    • Cancellation can happen outside the app; only webhook ingestion gives reliable coverage.

Recommended custom lifecycle events (in addition to canonical purchase:* journey events):

  • billing:trial_started
  • billing:trial_cancelled
  • billing:trial_converted
  • billing:subscription_renewed
  • billing:subscription_cancelled
  • billing:subscription_expired
  • billing:billing_issue

This split lets funnels answer both questions:

  • Journey intent: "what users did in-app before purchase/cancel"
  • Billing truth: "what subscription state changed in the store/backend"

Instrumentation Rules

  • Use createOnboardingTracker(...) for onboarding flows.
  • For onboarding steps in touched flows, prefer createOnboardingTracker(...).step(...).view()/complete() over generic track(...).
  • For low-noise step funnels, use view() as baseline and call complete() only on steps with explicit completion semantics.
  • For onboarding surveys in touched flows, prefer trackOnboardingSurveyResponse(...) or tracker survey helpers over generic track(...).
  • For survey steps, default to view() + surveyResponse(...); emit complete() only when the host flow has a real completion boundary.
  • Prefer tracker defaults for repeated fields in onboarding/survey flows; avoid re-sending unchanged flow metadata at every call site.
  • For React Native / Expo non-onboarding screens, use useFocusEffect(...) to call analytics.screen(...) on focus.
  • Use createPaywallTracker(...) when paywall context is stable in a flow (source, paywallId, experiment variant).
  • Keep createPaywallTracker(...) instance lifetime aligned to one stable paywall context (for example one screen flow); do not create a new tracker for every paywall event.
  • Include offering in paywall tracker defaults when available from provider metadata (RevenueCat/Adapty/Superwall).
  • Use trackPaywallEvent(...) for one-off paywall and purchase milestones.
  • Hosted paywall callback mapping is mandatory for touched flows:
    • paywall visible callback -> paywallTracker.shown(...)
    • purchase started callback -> paywallTracker.purchaseStarted(...)
    • purchase success callback -> paywallTracker.purchaseSuccess(...)
    • purchase cancelled callback -> paywallTracker.purchaseCancel(...)
    • purchase error callback -> paywallTracker.purchaseFailed(...)
    • close/back/dismiss callback -> paywallTracker.skip(...)
  • Use canonical event names from ONBOARDING_EVENTS, PAYWALL_EVENTS, and PURCHASE_EVENTS.
  • Keep onboardingFlowId, onboardingFlowVersion, paywallId, source, and appVersion stable.
  • The SDK built-in dedupe covers onboarding:step_view (dedupeOnboardingStepViewsPerSession: true, default), immediate duplicate screen(...) calls (dedupeScreenViewsPerSession: true, default; window screenViewDedupeWindowMs, default 1200 ms), and immediate overlap between onboarding screen:* and onboarding:step_view for the same step (dedupeOnboardingScreenStepViewOverlapsPerSession: true, default).
  • Prevent duplicate tracking for the same user action across nested layouts/components.
  • Use a single tracking owner per route or lifecycle boundary; if multiple hooks can fire, gate with a session-local idempotency key.
  • For each paywall attempt, emit each milestone once (paywall:shown, purchase:started, and one terminal event: purchase:cancel or purchase:failed or purchase:success).

No-Legacy Policy

For pre-production integrations, do not preserve legacy compatibility by default:

  1. Remove legacy analytics providers from touched flows instead of dual-writing.
  2. Replace legacy/alias milestone names with canonical AnalyticsCLI events in the same change.
  3. Prefer dedicated SDK helpers (createOnboardingTracker(...), trackOnboardingSurveyResponse(...), createPaywallTracker(...)) over ad-hoc generic tracking wrappers.

Validation Loop

After integration or upgrade, verify ingestion with stable CLI checks:

bash
analyticscli schema events
analyticscli goal-completion --start onboarding:start --complete onboarding:complete --last 30d
analyticscli get onboarding-journey --last 30d --format text

References

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/analyticscli-ts-sdk of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json
  • references/minimal-host-template.md
  • references/onboarding-paywall.md
  • references/storage.md
  • references/versioning.md

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Analyticscli TS SDK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Analyticscli TS SDK compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Analyticscli TS SDK this skillLeoYeAI/openclaw-master-skills2.2k—~5.3kAutomated safety check: PassMIT
Code Review React Nativetalsec/Free-RASP-ReactNative175—~3.7kAutomated safety check: PassMIT
Expo Tailwind SetupCherryHQ/cherry-studio-app4k8 repos~3kAutomated safety check: PassMIT
Screenmapaleqsio/screenmap239—~7.2kAutomated safety check: PassMIT
Expo Brownfield Integrationmweinbach/agent-coworker1562 repos~900Automated safety check: NotesCustom licence
Simulator Audio E2Ehyochan/react-native-nitro-sound961—~1.1kAutomated safety check: PassMIT

Similar skills

  • Code Review React Native

    talsec/Free-RASP-ReactNative

    Performs strict code reviews on React Native plugin projects covering TypeScript, the Kotlin (Android) and Swift (iOS) native bridges, and the Expo config plugin.

    175 GitHub stars~3.7k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Expo Tailwind Setup

    CherryHQ/cherry-studio-app

    Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling

    4k GitHub starsUsed in 8 repos~3k tokens
    MobileAuto-check passed
  • Screenmap

    aleqsio/screenmap

    Generate a visual navigation map of an Expo / React Native or NativeScript app.

    239 GitHub stars~7.2k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Expo Brownfield Integration

    mweinbach/agent-coworker

    Helps add Expo and React Native to an existing native iOS or Android app, and choose between a prebuilt AAR or XCFramework and a fully integrated build.

    156 GitHub starsUsed in 2 repos~900 tokens
    MobileAuto-check: notes
  • Simulator Audio E2E

    hyochan/react-native-nitro-sound

    Build and run repeatable react-native-nitro-sound recorder/player regression tests on an iOS Simulator or Android emulator, with explicit virtual-device selection, microphone permission, Maestro…

    961 GitHub stars~1.1k tokensUpdated 8 days ago
    MobileAuto-check passed
  • React Native Healthkit

    kingstinct/react-native-healthkit

    How to use @kingstinct/react-native-healthkit (and its sibling @react-native-healthkit/health-records) to read, write and subscribe to Apple HealthKit data from React Native / Expo apps.

    715 GitHub stars~1.6k tokensUpdated today
    MobileAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,215 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Categories

Questions about Analyticscli TS SDK

What does Analyticscli TS SDK do?

A skill your agent uses when integrating or upgrading the AnalyticsCLI TypeScript SDK in web, TypeScript, React Native, or Expo apps. Analyticscli TS SDK is an agent skill from LeoYeAI/openclaw-master-skills. Use when integrating or upgrading the AnalyticsCLI TypeScript SDK in web, TypeScript, React Native, or Expo apps.

When should I use Analyticscli TS SDK?

Analyticscli TS SDK fits situations like: upgrading the AnalyticsCLI TypeScript SDK in web; tasks that involve Cross-platform mobile apps.

How do I install Analyticscli TS SDK in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill analyticscli-ts-sdk -a claude-code`. Or copy the skill folder (skills/analyticscli-ts-sdk in LeoYeAI/openclaw-master-skills) into .claude/skills/analyticscli-ts-sdk in your project. Claude Code loads it when a task matches its description.

How do I install Analyticscli TS SDK in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill analyticscli-ts-sdk -a codex`. Or copy the skill folder (skills/analyticscli-ts-sdk in LeoYeAI/openclaw-master-skills) into .agents/skills/analyticscli-ts-sdk in your project. Codex loads it when a task matches its description.

Can I use Analyticscli TS SDK in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill analyticscli-ts-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/analyticscli-ts-sdk, .gemini/skills/analyticscli-ts-sdk, .github/skills/analyticscli-ts-sdk and .opencode/skills/analyticscli-ts-sdk in your project.

What does Analyticscli TS SDK need to run?

Going by SKILL.md and its folder, Analyticscli TS SDK needs credentials named WRITE_KEY, ANALYTICSCLI_PUBLISHABLE_API_KEY, ANALYTICSCLI_WRITE_KEY and EXPO_PUBLIC_ANALYTICSCLI_WRITE_KEY. Our summary lists: A credential in YOUR_APP_KEY; A credential in ANALYTICSCLI_PUBLISHABLE_API_KEY.

Does Analyticscli TS SDK access the network?

SKILL.md names 1 domain. As links in the text: dash.analyticscli.com. This is read from the text; nothing was executed.

Is Analyticscli TS SDK safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Analyticscli TS SDK use?

Analyticscli TS SDK is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Analyticscli TS SDK use?

About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.7k tokens, read only when the agent opens those files.

What are the alternatives to Analyticscli TS SDK?

Skills that share tags, products or a category with Analyticscli TS SDK: Code Review React Native (talsec/Free-RASP-ReactNative, 175 stars), Expo Tailwind Setup (CherryHQ/cherry-studio-app, 4k stars), Screenmap (aleqsio/screenmap, 239 stars) and Expo Brownfield Integration (mweinbach/agent-coworker, 156 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Analyticscli TS SDK?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,158 GitHub stars. The repository holds 1,215 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.