Helps developers author and debug Clix personalization templates
View on GitHubclix-so/skills
auditing-deep-link-contracts
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/clix-so/skills/blob/main/skills/personalization/SKILL.md -a claude-code --skill clix-personalizationInstallation paths:
.claude/skills/clix-personalization/# Clix Personalization
Use this skill to help developers write **personalized Clix campaigns** using
template-based variables and light logic in:
- **Message content** (title, body, subtitle)
- **Links** (dynamic URL or deep link params)
- **Audience targeting** (conditional include/exclude rules)
## What the official docs guarantee (high-signal)
- **Data namespaces**:
- `user.*` (user traits/properties)
- `event.*` (event payload properties)
- `trigger.*` (custom properties passed via API-trigger)
- Device/system vars: `device.id`, `device.platform`, `device.locale`,
`device.language`, `device.timezone`, plus `user.id`, `event.name`
- **Missing variables** render as an **empty string**.
- **Output**: print values with `{{ ... }}`.
- **Conditionals**: `{% if %}`, `{% else %}`, `{% endif %}` with operators
`== != > < >= <= and or not`. Invalid conditions evaluate to `false`.
- **Loops**: `{% for x in y %}` / `{% endfor %}` (use guards for empty lists).
- **Filters**: `upcase`, `downcase`, `capitalize`, `default`, `join`, `split`,
`escape`, `strip`, `replace` (chain with `|`).
- **Errors**: template rendering errors show up in **Message Logs**.
## MCP-first (source of truth)
If the Clix MCP tools are available, treat them as the source of truth:
- `clix-mcp-server:search_docs` for personalization behavior and supported
syntax
If MCP tools are not available, use the bundled references in `references/`.
## Workflow (copy + check off)
```
Personalization progress:
- [ ] 1) Identify where the template runs (message / URL / audience rule)
- [ ] 2) Identify trigger type (event-triggered vs API-triggered)
- [ ] 3) Confirm available inputs (user.*, event.*, trigger.*, device.*)
- [ ] 4) Draft templates with guards/defaults
- [ ] 5) Validate template structure (balance tags, avoid missing vars)
- [ ] 6) Verify in Clix (preview/test payloads, check Message Logs)
```
## 1) Confirm the minimum inputs
Ask only what’s needed:
- **Where used**: title/bIssues Found: