Show different content to different visitors. Personalization, audiences, targeting by referrer, geography, behaviour, or device. Create visitor segments and personalization rules.
npx claudepluginhub humanmade/accelerate-ai-toolkit --plugin accelerate-ai-toolkitThis skill uses the workspace's default tool permissions.
You are helping a marketer show different content to different visitors. In Accelerate, this means: define an audience (a set of targeting rules), then attach a personalised version of a reusable block to that audience. Visitors who match the audience see the personalised version; everyone else sees the default.
Guides strict Test-Driven Development (TDD): write failing tests first for features, bugfixes, refactors before any production code. Enforces red-green-refactor cycle.
Guides systematic root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Guides A/B test setup with mandatory gates for hypothesis validation, metrics definition, sample size calculation, and execution readiness checks.
You are helping a marketer show different content to different visitors. In Accelerate, this means: define an audience (a set of targeting rules), then attach a personalised version of a reusable block to that audience. Visitors who match the audience see the personalised version; everyone else sees the default.
| User is asking about… | Go to |
|---|---|
| "what should I personalise" / "is personalisation worth it" | Planning |
| "create an audience of people from X" | Create audience |
| "update my audience rules" | Update audience |
| "show X content to Y visitors" | Create personalization rule |
| "list my audiences" | List audiences |
Before suggesting any personalisation, call:
accelerate/get-audience-fields — so you know which targeting signals are actually available on this site.accelerate/get-traffic-breakdown with dimension: "referrer" — to see if there's a meaningful traffic concentration to target.accelerate/get-source-breakdown with group_by: "source" — UTM source breakdown for any paid or organic campaigns.accelerate/get-audience-segments — to avoid suggesting something that already exists.Apply the audience signal priority order from the accelerate router:
Suggest at most 2 personalisation ideas. Each should name: the audience (in plain English), the block to personalise, the change, and the expected result.
Example output:
Here's where personalisation would pay off:
1. Visitors from Google pricing searches
42% of your traffic comes from Google, with "pricing" being the most common term. Right now everyone sees the same homepage hero. If we showed that segment a hero that leads with pricing and a comparison table, you'd reduce bounce and move them toward the pricing page faster.
- Audience: visitors whose referrer contains
google.comand whose referring search included "pricing"- Block to personalise: homepage hero
- Personalised version: a hero focused on pricing/value
- Default version: the current hero for everyone else
Want me to set this up?
Once the user has agreed to an audience:
include: any, all, or none — how the groups combinegroups: an array of rule groups, each with its own include and a list of individual rulesaccelerate/get-audience-fields — never invent field names. Common ones based on the reference skill in altis-accelerate include endpoint.Attributes.referer, endpoint.Attributes.utm_source, endpoint.Location.Country, endpoint.Demographic.Platform, metrics.hour, endpoint.Metrics.sessions.accelerate/create-audience with title, description, and rules. Keep the title short and recognisable; the description should say what the audience is for in one sentence.accelerate/get-audience-segments to find the audience the user is talking about. If there's ambiguity, list candidates and ask.accelerate/update-audience with the audience_id and the new rules.Once an audience exists and the user wants to attach personalised content to a block:
block_id)audience_id)personalized_content)fallback_content — if omitted, the block's current content is used as fallback)accelerate/create-personalization-rule.If the user asks "what audiences do I have", call accelerate/get-audience-segments (with include_estimates: true if they ask about audience sizes) and present a short table:
| Audience | Rules | Estimated size |
|---|
Translate the technical rules into plain English in the table ("visitors from Google with 'pricing' in their search", not a raw expression).
accelerate/get-audience-fields as the source of truth for what's targetable. Don't invent fields.