Agent skill

clix-user-management

Implements Clix user identification and user properties (setUserId, removeUserId, setUserProperty/setUserProperties, removeUserProperty/removeUserProperties) with safe schemas, logout best practices, and campaign-ready personalization/audience usage. Use when the user mentions login/logout, userId, user properties, personalization, audience targeting or when the user types `clix-user-management`.

Stars 5
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/clix-so/skills/tree/main/skills/user-management

SKILL.md

Clix User Management

Use this skill to help developers implement Clix user identification and user properties so campaigns can use user.* variables and audience filters, and so user identity is consistent across devices and sessions.

What the official docs guarantee (high-signal)

  • Anonymous vs identified: if no user ID is set, Clix treats the user as anonymous; setting a user ID converts the anonymous user into an identified user and links prior activity.
  • Logout: do not call setUserId(null) on logout; handle logout in app logic only; when a different user logs in, call setUserId(newUserId) to switch.
  • User properties: values are strings, numbers, or booleans; user operations can throw—handle errors.

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 and logout guidance
  • clix-mcp-server:search_sdk for exact SDK signatures per platform

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

  • Contract + pitfalls → references/user-management-contract.md
  • Logout + switching rules → references/logout-and-switching.md
  • Property schema + PII → references/property-schema.md
  • Implementation patterns → references/implementation-patterns.md
  • Personalization + audience mapping → references/personalization-and-audience.md
  • Debugging checklist → references/debugging.md

Workflow (copy + check off)

User management progress:
- [ ] 1) Confirm platform(s) and auth model (anonymous browsing? login? shared devices?)
- [ ] 2) Propose user plan (when setUserId/removeUserId, properties, logout policy)
- [ ] 3) Validate plan (PII, property types, logout rules)
- [ ] 4) Implement (platform-correct calls + error handling)
- [ ] 5) Verify (switching works, properties appear, campaigns can target/personalize)

1) Confirm the minimum inputs

Ask only what’s needed:

  • Platform: iOS / Android / React Native / Flutter
  • Auth events: where login success and logout happen in code
  • User identifier: what stable ID to use (prefer internal user id, not email)
  • PII policy: what must never be stored as user properties
  • Campaign goals: personalization, audience filters, or both

2) Propose a “User Plan” (before touching code)

Return a compact table:

  • user_id source: where it comes from (auth response, local db)
  • setUserId timing: exact point (after login success / token saved)
  • logout behavior: explicitly “no call to setUserId(null)”
  • properties: key + type, required vs optional
  • purpose: personalization / audience / analytics

3) Validate the plan (fast feedback loop)

Create user-plan.json in .clix/ (recommended) or project root.

For agents: locate scripts/validate-user-plan.sh in the installed skill directory and run:

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

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

4) Implement (platform-correct)

Use MCP to fetch the exact signatures per platform, then:

  • Place setUserId(...) after login/signup is confirmed.
  • On logout: do nothing with Clix (no setUserId(null)).
  • When switching users: call setUserId(newUserId) after the new login succeeds.
  • Set user properties only from controlled sources; avoid free-text/PII.
  • Always handle errors (async calls can throw).

5) Verify

  • Identity:
    • Anonymous flow works without calling setUserId
    • After login, setUserId is called once and stable
    • Switching accounts updates the active profile
  • Properties:
    • Properties are primitives (string/number/boolean) and consistent
    • Campaign audiences can filter on them
    • Messages can use user.* personalization

Expand your agent's capabilities with these related and highly-rated skills.

clix-so/skills

clix-integration

Integrates Clix Mobile SDK into iOS, Android, Flutter, and React Native projects. Provides step-by-step guidance for installation, initialization, and verification. Use when the user asks to install, setup, integrate Clix or when the user types `clix-integration` / "clix integration".

5 0
Explore
clix-so/skills

push-notification-designer

Design and implement local push notification campaigns to boost user engagement in mobile apps. Use this skill whenever the user mentions local push notifications, in-app notifications, user engagement campaigns, retention messaging, re-engagement nudges, or wants to add scheduled notifications to their app. Also trigger when the user asks about notification timing strategies, onboarding notification flows, or workout/habit/goal reminder systems. Covers iOS (Swift/UNUserNotificationCenter), Android (Kotlin/WorkManager+NotificationManager), Flutter (flutter_local_notifications), and React Native (notifee/expo-notifications).

5 0
Explore
clix-so/skills

clix-api-triggered-campaigns

Helps developers configure API-triggered campaigns in the Clix console and trigger them from backend services with safe auth, payload schemas, dynamic audience filters (trigger.*), and personalization best practices. Use when the user mentions transactional notifications, backend-triggered sends, campaign_id trigger APIs, or "API-triggered campaigns".

5 0
Explore
clix-so/skills

push-notification-best-practices

Comprehensive mobile push notification guide for iOS (APNS) and Android (FCM). Use when setting up push notifications, debugging delivery issues, implementing background/foreground handlers, managing push tokens, integrating deep linking, or troubleshooting platform-specific issues.

5 0
Explore
clix-so/skills

clix-event-tracking

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`.

5 0
Explore
clix-so/skills

auditing-permission-ux

Audits notification permission request flows. Use when reviewing or improving permission prompts, settings paths, or denial handling.

5 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results