home / skills / clix-so / skills / event-tracking

event-tracking skill

/skills/event-tracking

This skill helps you design and implement Clix event tracking with consistent naming, safe schemas, and campaign-ready validation.

npx playbooks add skill clix-so/skills --skill event-tracking

Review the files below or copy the command above to add this skill to your agents.

Files (8)
SKILL.md
4.7 KB
---
name: clix-event-tracking
display-name: Event Tracking
short-description: Event tracking setup
description: Implements Clix event tracking (Clix.trackEvent) with consistent naming, safe
  property schemas, and campaign-ready validation. Use when adding, reviewing,
  or debugging event tracking; when configuring event-triggered campaigns; or
  when the user mentions events, tracking, funnels, or properties — or when the
  user types `clix-event-tracking`.
user-invocable: true
---

# Tracking Clix Events

Use this skill to help developers design and implement **Clix event tracking**
via `Clix.trackEvent(...)` so events can drive **event-triggered campaigns**,
**audience filters**, and **personalization**.

## What the official docs guarantee (high-signal)

- **When to track**: identify the user action/system event, then attach
  meaningful properties (funnel checkpoints, milestones, button taps).
- **Property normalization**: booleans/numbers/strings map directly; date-like
  values serialize to ISO 8601; unsupported objects become strings.
- **Error handling**: event tracking calls can throw—always handle errors so the
  app stays robust.

## MCP-first (source of truth)

If Clix MCP tools are available, treat them as the **source of truth**:

- `clix-mcp-server:search_docs` for conceptual behavior (campaign triggers,
  personalization)
- `clix-mcp-server:search_sdk` for exact SDK signatures per platform

If MCP tools are not available, use the bundled references:

- Event API contract + pitfalls → `references/trackevent-contract.md`
- Naming + schemas + privacy → `references/naming-and-schema.md`
- Implementation patterns → `references/implementation-patterns.md`
- Campaign mapping → `references/campaign-mapping.md`
- Debugging checklist → `references/debugging.md`

## Workflow (copy + check off)

```
Event tracking progress:
- [ ] 1) Confirm platform(s) and goals (analytics vs campaign triggers)
- [ ] 2) Propose event plan (names, when fired, properties, where in code)
- [ ] 3) Validate plan (names, keys, types, PII constraints)
- [ ] 4) Implement trackEvent calls (platform-correct)
- [ ] 5) Verify: events fire once, serialize cleanly, match campaign configs
```

## 1) Confirm the minimum inputs

Ask only what’s needed:

- **Platform**: iOS / Android / React Native / Flutter
- **Goal**: analytics only, event-triggered campaigns, or both
- **Top flows** (1–3): e.g., onboarding, checkout, subscription
- **PII policy**: what must never be sent (email/phone/name/free-text, etc.)

## 2) Propose an “Event Plan” (before touching code)

Return a compact table the user can approve:

- **event_name** (stable, `snake_case`)
- **when** (exact moment the event fires)
- **properties** (key + type, mark required vs optional)
- **location** (file/function/UI handler/network response)
- **purpose** (campaign trigger / analytics / both)

If campaigns are involved, remind: **event names and property keys must match
exactly** in the Clix console.

## 3) Validate the plan (fast feedback loop)

Create `event-plan.json` in `.clix/` directory (recommended) or project root:

**Recommended location**: `.clix/event-plan.json`

- Organized: keeps tooling configs together
- Hidden: doesn't clutter project root
- Committable: planning document for team review

**Alternative**: `event-plan.json` in project root (simpler, but less organized)

**For agents**: Locate `scripts/validate-event-plan.sh` in the installed skill
directory, then run it:

```bash
# From project root:
bash <skill-dir>/scripts/validate-event-plan.sh .clix/event-plan.json
# Or if in root:
bash <skill-dir>/scripts/validate-event-plan.sh event-plan.json
```

The skill directory is typically:

- `.cursor/skills/event-tracking/` (Cursor)
- `.claude/skills/event-tracking/` (Claude Code)
- `.vscode/skills/event-tracking/` (VS Code)
- `.agents/skills/event-tracking/` (Amp)
- Or check where this skill was installed

If validation fails: fix the plan first, then implement.

## 4) Implement tracking (platform-correct)

Use MCP to fetch the exact `trackEvent` signature for the platform; then:

- **Place calls at stable boundaries** (action confirmed, request succeeded,
  state updated)
- **Avoid duplicates** (don’t fire on every render; debounce where needed)
- **Avoid null/complex values** (prefer primitives; serialize dates to ISO)
- **Do not track PII by default**

See `references/implementation-patterns.md` for placement heuristics and code
patterns.

## 5) Verify

Minimum verification:

- Event fires **exactly once** per user action (or the intended cadence)
- Properties are **primitive + stable** (no null surprises)
- For campaigns: console trigger conditions match **exact names/keys**

For troubleshooting steps, see `references/debugging.md`.

Overview

This skill implements Clix event tracking via Clix.trackEvent with consistent naming, safe property schemas, and campaign-ready validation. It helps you design, validate, implement, and debug events so they reliably drive campaigns, audience filters, and analytics. Use it to standardize event names, avoid PII leaks, and ensure events match Clix campaign configurations.

How this skill works

The skill guides you through a 5-step workflow: confirm platform and goals, propose an event plan, validate the plan, implement platform-correct Clix.trackEvent calls, and verify results. It validates names and property types against Clix rules, suggests where to place calls, and provides scripts for automated plan validation. It also includes references and a debugging checklist for common pitfalls.

When to use it

  • Adding new events that will trigger campaigns or define funnels
  • Reviewing or standardizing existing event names and property schemas
  • Debugging events that don’t appear in the Clix console or misfire
  • Preparing event-triggered personalization or audience filters
  • When the user types clix-event-tracking or mentions events/tracking/properties

Best practices

  • Use stable, snake_case event names and exact property keys required by campaigns
  • Send primitives only: strings, numbers, booleans; serialize dates to ISO 8601
  • Never send PII by default; confirm your project PII policy up front
  • Place trackEvent calls at stable boundaries (action confirmed, request succeeded)
  • Validate your event-plan with the provided script before implementation

Example use cases

  • Design an onboarding funnel: define checkpoint events, required properties, and where to emit them in the app
  • Prepare a purchase flow: map checkout events to campaign triggers and validate keys/types
  • Audit existing analytics: normalize event names, remove duplicated events, and fix schema issues
  • Debug a campaign that didn’t trigger: verify event fired once, property types, and exact key matches
  • Generate .clix/event-plan.json for team review and automated validation

FAQ

What platforms are supported?

The skill supports iOS, Android, React Native, Flutter and recommends using MCP SDK references when available for exact signatures.

Where should I store the event plan?

Recommended: .clix/event-plan.json in the project root for organization and team review; alternative: event-plan.json at root.