Helps developers author and debug Clix personalization templates (Liquid-style) for message content, deep links/URLs, and audience targeting. Use when the user mentions personalization variables, Liquid, templates, conditional logic, loops, filters, deep links, message logs, or when the user types `clix-personalization`.
/plugin marketplace add clix-so/skills/plugin install all@clix-agent-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
LICENSE.txtreferences/common-patterns.mdreferences/debugging.mdreferences/template-syntax.mdscripts/validate-template.shUse this skill to help developers write personalized Clix campaigns using template-based variables and light logic in:
user.* (user traits/properties)event.* (event payload properties)trigger.* (custom properties passed via API-trigger)device.id, device.platform, device.locale,
device.language, device.timezone, plus user.id, event.name{{ ... }}.{% if %}, {% else %}, {% endif %} with operators
== != > < >= <= and or not. Invalid conditions evaluate to false.{% for x in y %} / {% endfor %} (use guards for empty lists).upcase, downcase, capitalize, default, join, split,
escape, strip, replace (chain with |).If the Clix MCP tools are available, treat them as the source of truth:
clix-mcp-server:search_docs for personalization behavior and supported
syntaxIf MCP tools are not available, use the bundled references in references/.
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)
Ask only what’s needed:
event.* is availabletrigger.* is availableuser.* properties are set by the appevent.* / trigger.* properties are passed (include example
payload)Return a compact table the user can approve:
default over complex branching.size > 0) before looping."7.4 miles",
"38m 40s") instead of formatting inside templates.If you have a template file (recommended for review), run:
bash <skill-dir>/scripts/validate-template.sh path/to/template.liquid
This script does lightweight checks (matching {% if %}/{% endif %},
{% for %}/{% endfor %}, and brace balancing). It can’t guarantee the
variables exist — you still need a payload + console verification.
trigger.* (not event.*).user.* is missing → fix user property setting (see
clix-user-management)event.* is missing → fix event tracking payload (see
clix-event-tracking)SKILL.md (always loaded)references/ (load when writing/debugging templates)scripts/ (execute directly, do not load into context)references/template-syntax.md - Variables, output, conditionals, loops,
filtersreferences/common-patterns.md - Copy/paste patterns for messages + URLs +
guardsreferences/debugging.md - Troubleshooting missing variables and Message LogsMaster authentication and authorization patterns including JWT, OAuth2, session management, and RBAC to build secure, scalable access control systems. Use when implementing auth systems, securing APIs, or debugging security issues.