smithery.ai

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

First seen Mar 19, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,499 B
  • docs SUMMARY.md 427 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

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:

# 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