Agent skill
personalization-enricher
Builds a hyperpersonalization packet for each lead by chaining company-researcher, cro-auditor, and person-researcher.
Filed under Prospecting and list building and Positioning and messaging.
From ekatasingh1107/b2b-gtm-skills · 99 skills · 2 · pushed 2026-04-11
What it does when it runs
Builds a hyperpersonalization packet for each lead by chaining company-researcher, cro-auditor, and person-researcher. The packet feeds into message-generator for Tier 3 personalized outreach.
Read from the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- linkedin.com
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- network
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/ekatasingh1107/b2b-gtm-skills.git /tmp/b2b-gtm-skills git -C /tmp/b2b-gtm-skills sparse-checkout set "skills/composites/personalization-enricher" mkdir -p ~/.claude/skills/personalization-enricher cp -R "/tmp/b2b-gtm-skills/skills/composites/personalization-enricher/." ~/.claude/skills/personalization-enricher/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from ekatasingh1107/b2b-gtm-skills/blob/eae8dd0bb98da1c8e84abd297066a87015dd860f/skills/composites/personalization-enricher/SKILL.md, which is licensed MIT (repository). 660 words, 12 headings.
Personalization Enricher
Chains three research skills to build a "personalization packet" for each lead. This packet contains everything needed for Tier 3 hyperpersonalized outreach: company pain points, CRO findings, personal interests, and the original trigger signal.
Prerequisites
agency.config.jsonpopulated- Lead data: company name, website, contact name, linkedin URL
- Signal data: what triggered this lead (from signal-scanner or manual)
Capabilities Used
company-researcher-- business overview, tech stack, social presence, pain pointscro-auditor-- specific website issues with outreach hooksperson-researcher-- contact's recent activity, posts, interests
Phase 0: Intake
Gather for each lead:
- Company name + website URL
- Contact name + LinkedIn URL
- Contact title + company size (for role-appropriate messaging)
- Signal/trigger that initiated this lead
Batch mode: accept a list of leads (from CRM query) to process sequentially.
Phase 1: Company Research
Execute company-researcher for each lead:
- Visit their website via WebSearch
- Research their business, tech stack, social presence
- Identify pain points and growth signals
- Output:
company_researchJSON
Phase 2: CRO Audit
Execute cro-auditor for each lead:
- Audit homepage, product page, collection page
- Find 3 specific, actionable issues
- Each issue includes an
outreach_hookfor natural email reference - Output:
cro_auditJSON
Phase 3: Person Research
Execute person-researcher for each lead:
- Search for their recent LinkedIn posts, talks, articles
- Identify topics they care about
- Find personalization hooks (shared interests, recent achievements)
- Output:
person_researchJSON
Phase 4: Assemble Packet
Combine all three research outputs + the original signal into one personalization packet:
{
"lead_id": "...",
"company": {
"name": "Brand X",
"website": "brandx.com",
"summary": "D2C skincare brand, 2 years old, growing fast on Instagram",
"tech_stack": { "platform": "Shopify", "theme": "Dawn 2.0" },
"pain_points": ["No customer reviews visible", "Slow mobile load time"],
"social": { "instagram": "@brandx", "followers": "15K" }
},
"cro_findings": [
{
"issue": "No customer reviews on product pages",
"impact": "Reviews increase conversion by 15-25%",
"outreach_hook": "Noticed your product pages don't show customer reviews -- this alone could be leaving 15-25% of conversions on the table."
},
{
"issue": "4-step checkout process",
"impact": "Each step adds 10-15% abandonment",
"outreach_hook": "Your checkout has 4 steps -- simplifying to 1-step could recover a significant chunk of abandoned carts."
}
],
"person": {
"name": "Sarah Chen",
"title": "Head of Ecommerce",
"recent_posts": [
{ "topic": "D2C unit economics challenges", "date": "2 days ago", "hook": "Loved your take on D2C unit economics" }
],
"career_notes": "Joined 6 months ago from Glossier",
"personalization_hooks": ["Reference her post about unit economics", "Her Glossier background means she values CRO"]
},
"signal": {
"type": "linkedin_post",
"description": "Posted asking for Shopify CRO recommendations",
"date": "3 days ago",
"url": "https://linkedin.com/posts/..."
},
"recommended_approach": {
"framework": "PAS",
"primary_hook": "Their LinkedIn post about CRO + missing reviews on their site",
"case_study_to_use": "Kibi Sports -- CRO audit, similar situation",
"opening_line": "Sarah, your post about D2C unit economics resonated -- took a quick look at Brand X and found a few things that might be costing you conversions."
}
}
Phase 5: Review
Present the packet for each lead:
- Company summary (1 line)
- Top CRO finding with outreach hook
- Person's key interest/post
- Recommended approach + opening line
User can approve, modify, or skip each lead.
Phase 6: Store
Save packets to CRM via crm-writer:
- Update lead stage from NEW to RESEARCHED
- Write personalization data to notes/description columns
- Or export as JSON for
message-generatorconsumption
Batch Processing
For multiple leads:
- Process company research for all leads first (most WebSearch-heavy)
- Then CRO audits (visit each site)
- Then person research
- Assemble packets
- Present batch summary
Expected throughput: 5-10 leads per session (limited by WebSearch rate)
Example Usage
Trigger phrases:
- "Research and personalize these leads"
- "Build personalization packets for today's HOT leads"
- "Enrich [company name] for outreach"
- "Deep research [contact name] at [company]"
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- personalization-subagent-pattern by growthenginenowoslawski · 668
- personalization-writer by janskuba · 200
- personalization-at-scale by louisblythe · 143
- personalization-at-scale by manojbajaj95 · 95
- deep-personalization by impecablemee · 66
- personalization-engine by kenny589 · 64
- personalization by Frontal-so · 5
- ai-personalization-prompts by Frontal-so · 5
Need help setting it up?
This page tells you what personalization-enricher does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.