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`.
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.
setUserId(null) on logout; handle logout in app
logic only; when a different user logs in, call setUserId(newUserId) to
switch.If Clix MCP tools are available, treat them as the source of truth:
clix-mcp-server:search_docs for conceptual behavior and logout guidanceclix-mcp-server:search_sdk for exact SDK signatures per platformIf MCP tools are not available, use the bundled references:
references/user-management-contract.mdreferences/logout-and-switching.mdreferences/property-schema.mdreferences/implementation-patterns.mdreferences/personalization-and-audience.mdreferences/debugging.mdUser 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)
Ask only what’s needed:
Return a compact table:
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.
Use MCP to fetch the exact signatures per platform, then:
setUserId(...) after login/signup is confirmed.setUserId(null)).setUserId(newUserId) after the new login
succeeds.setUserIdsetUserId is called once and stableuser.* personalizationSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer