Personalization Engine logo

Personalization Engine

Community
kenny589
personalization-engine

Turn raw prospect data into compelling personalized email elements. Signal detection, personalization layers, and variable frameworks that make cold emails feel warm.

Overview

Publisherkenny589
Repositorygtm-flywheel
Skill namepersonalization-engine
Stars
71
Forks
26
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by kenny589 on GitHub. Read the source before you install it.

Installation

Install the Personalization Engine AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/kenny589/gtm-flywheel/tree/main/cold-email/personalization-engine
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/kenny589/gtm-flywheel.git /tmp/gtm-flywheel
mkdir -p .claude/skills
cp -r /tmp/gtm-flywheel/cold-email/personalization-engine .claude/skills/personalization-engine
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Personalization Engine in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Personalization Engine on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Personalization Engine is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Personalization Engine

When to Use

  • Building personalization workflows for outbound campaigns
  • Training SDRs or AI systems on what "good personalization" looks like
  • Designing variable strategies for email templates
  • Upgrading campaigns from generic to signal-based personalization

Framework

The Personalization Hierarchy

Not all personalization is equal. Higher levels convert better but take more effort. Match your level to your volume and deal size.

LevelTypeExampleEffortImpact
5Behavioral Signal"Saw you just posted about switching from HubSpot to Salesforce"HighHighest
4Business Event"Congrats on the Series B — scaling outbound is usually next"Medium-HighVery High
3Company-Specific"{{companyName}} is hiring 3 SDRs — building the outbound team?"MediumHigh
2Role-Specific"Most VPs of Sales at Series B companies deal with..."Low-MediumMedium
1Industry-Specific"SaaS companies in your space typically see..."LowLow-Medium
0None (Spray & Pray)"Hi {{firstName}}, I wanted to reach out..."NoneLowest

Rule of thumb:

  • High-value accounts (>$50K ACV): Level 4-5 personalization
  • Mid-market (10K-50K): Level 3-4
  • SMB at scale (<10K): Level 2-3 with automation

6 Signal Categories

Every personalization starts with a signal — something you observed about the prospect or their company. Here are the six signal categories ranked by conversion impact:

1. Hiring Signals (Highest Intent)

What to look for: Job postings that indicate a need your product solves.

SignalWhat It MeansPersonalization Angle
Hiring SDRs/BDRsBuilding outbound team"Scaling outbound? Here's how to ramp reps 2x faster"
Hiring first VP SalesMoving from founder-led to scalable sales"The founder-to-VP Sales transition is where pipeline breaks"
Hiring RevOps/SalesOpsOperationalizing the GTM motion"Systematizing your sales process? Here's what top teams automate first"
Hiring Marketing rolesInvesting in demand gen"Most teams hire marketers before they have the infrastructure to support them"

Data sources: LinkedIn Jobs, Indeed, company careers page, Otta, Wellfound

2. Funding Signals

What to look for: Recent capital raises that trigger growth mode.

SignalWhat It MeansPersonalization Angle
Seed roundBuilding product-market fit"Post-seed is when most founders realize inbound won't scale"
Series AScaling what works"Series A = time to build the repeatable pipeline machine"
Series B+Aggressive growth targets"Series B boards expect 3x. Here's how teams actually hit that"
PE acquisitionEfficiency and EBITDA focus"Post-acquisition teams usually need to do more with less"

Data sources: Crunchbase, PitchBook, TechCrunch, LinkedIn announcements

3. Technology Signals

What to look for: Tech stack changes that indicate shifting priorities.

SignalWhat It MeansPersonalization Angle
New CRM adoptionSales infrastructure investment"Migrating CRMs usually means the old process broke"
Adding outreach toolsBuilding outbound capability"Noticed you're using {{tool}} — most teams hit a wall at step 2"
Removing a competitorDissatisfaction with current solution"Switching from {{competitor}}? Here's what teams wish they knew"
Adding analytics toolsData-driven decision making"Companies that add BI tools are usually 6 months from optimizing their funnel"

Data sources: BuiltWith, Wappalyzer, SimilarTech, G2 reviews, job descriptions (tech requirements)

4. Content Signals

What to look for: What the prospect is publishing, sharing, or engaging with.

SignalWhat It MeansPersonalization Angle
LinkedIn post on a pain pointActive problem awareness"Your post about {{topic}} resonated — we see this across our clients"
Podcast appearanceThought leadership, specific opinions"Heard you on {{podcast}} — your point about {{topic}} was spot on"
Blog/article publishedStrategic priorities"Your article on {{topic}} aligns with what we've been seeing"
Conference speakingIndustry visibility"Your talk at {{event}} — the framework you shared maps to what we do"

Data sources: LinkedIn feed, podcast directories, company blog, event speaker lists

5. Company Event Signals

What to look for: Organizational changes that create new needs.

SignalWhat It MeansPersonalization Angle
Product launchNew market/audience expansion"New product = new ICP. Most teams underestimate the outbound lift needed"
Office expansionGrowth phase"New markets usually mean new pipeline targets"
Leadership changeStrategic shift likely"New leadership often means new priorities for the sales team"
M&A activityIntegration and growth mandates"Post-merger teams usually need to consolidate and scale fast"
6. Performance Signals

What to look for: Publicly visible indicators of business performance.

SignalWhat It MeansPersonalization Angle
G2/Capterra reviews decliningCustomer satisfaction issuesApproach carefully — focus on solutions, not the problem
Glassdoor sales complaintsSales team challenges"High SDR turnover usually means the process needs fixing"
Website traffic changesGrowth or contraction"Noticed {{companyName}} traffic is up 40% — is inbound keeping up?"
Award/recognitionPositive momentum"Congrats on the {{award}} — companies at your stage usually..."

The Personalization Formula

Every personalized email element follows this 3-part structure:

[OBSERVATION] + [IMPLICATION] + [BRIDGE]
PartWhat It DoesExample
ObservationWhat you noticed (the signal)"Saw you're hiring 3 SDRs"
ImplicationWhat that usually means"Which usually means you're building a scalable outbound motion"
BridgeHow it connects to your value"Most teams at that stage need X to avoid Y"

Bad personalization: "Hi Sarah, I see you work at Acme Corp. We help companies like Acme..." Good personalization: "Sarah — noticed Acme just posted 3 SDR roles in Austin. Scaling the outbound team usually means the founder-led selling phase worked, but the playbook isn't documented yet."

The difference: bad personalization names facts. Good personalization draws insights from facts.


Variable Architecture

Design your email templates with a layered variable system:

Tier 1: Auto-Populated (No Manual Work)

These come straight from your lead list:

VariableSourceExample
{{firstName}}Lead dataSarah
{{companyName}}Lead dataAcme Corp
{{title}}Lead dataVP of Sales
{{industry}}EnrichmentB2B SaaS
{{companySize}}Enrichment150 employees
{{location}}Lead dataAustin, TX
Tier 2: Enrichment-Derived (Automated Research)

These require data enrichment but can be automated:

VariableSourceExample
{{recentFunding}}Crunchbase/PitchBookSeries B, $25M
{{techStack}}BuiltWith/WappalyzerUses Salesforce, Outreach
{{headcount_growth}}LinkedIn/data providers+40% in 6 months
{{openRoles}}Job boards3 SDRs, 1 AE
{{competitorUsed}}Tech detectionCurrently using ZoomInfo
Tier 3: Research-Derived (Manual or AI-Assisted)

These require reading/analyzing content:

VariableSourceExample
{{linkedinInsight}}LinkedIn posts"Your post about cold email being dead..."
{{podcastQuote}}Podcast appearance"On the Revenue Podcast you mentioned..."
{{specificChallenge}}Content + inference"Scaling past 10 reps without losing quality"
{{customCampaignIdea}}AI analysis of company"Target CFOs at PE-backed SaaS with the efficiency angle"

Personalization at Scale: The Bucket Strategy

For high-volume campaigns (1,000+ leads), you can't write individual emails. Instead, create personalization "buckets":

Step 1: Segment your list by signal type

List of 2,000 leads
├── Bucket A: Recently funded (400 leads)
├── Bucket B: Hiring sales roles (350 leads)
├── Bucket C: Tech stack change (250 leads)
├── Bucket D: Industry-specific pain (600 leads)
└── Bucket E: No strong signal (400 leads)

Step 2: Write bucket-specific opening lines Each bucket gets its own personalized opener that feels individual but applies to the whole segment:

BucketOpening Line
Recently funded"Post-{{fundingRound}} is when most {{industry}} companies realize outbound needs to be a machine, not a side project."
Hiring sales"Hiring {{openRoles}} is usually the sign that founder-led sales worked — now you need the playbook to scale it."
Tech stack change"Teams switching to {{newTool}} are usually 90 days into a bigger GTM overhaul."
Industry pain"{{industry}} companies at your stage typically hit a wall at {{specificMilestone}}."
No signalUse Archetype 6 (Whole Offer) from copy-frameworks — lead with your strongest proof point

Step 3: Layer in Tier 1 variables for the personal touch

The result: every lead gets an email that feels researched, but you wrote 5 versions, not 2,000.


Personalization Quality Scoring

Rate every personalized email element on this scale before sending:

ScoreCriteriaExample
5 — ExceptionalReferences specific, timely signal + draws a non-obvious insight"Your LinkedIn post last week about SDR burnout — we just published data showing teams with AI-assisted prospecting see 40% less rep turnover"
4 — StrongReferences a real signal + connects to a relevant outcome"Saw you raised a Series B — most teams at this stage need to 3x pipeline in 6 months"
3 — GoodReferences company-level data + makes a reasonable inference"With 3 SDR roles open, it looks like you're building the outbound engine"
2 — AdequateRole or industry-level personalization"Most VPs of Sales at B2B SaaS companies face..."
1 — WeakName and company only"Hi Sarah, I noticed Acme Corp..."
0 — NoneNo personalization"Hi, I wanted to reach out about..."

Minimum threshold: Score 3+ for mid-market, Score 4+ for enterprise.

Templates

Signal Research Template

For each lead, capture:

Company: {{companyName}}
Contact: {{firstName}} {{lastName}}, {{title}}

Signal Scan:
- [ ] Hiring signals: ___
- [ ] Funding signals: ___
- [ ] Tech signals: ___
- [ ] Content signals: ___
- [ ] Company events: ___
- [ ] Performance signals: ___

Strongest signal: ___
Personalization angle: ___
Opening line draft: ___
Quality score (1-5): ___

Personalization Brief (For AI or SDR)

Client: {{clientName}}
Target Persona: {{persona}}
Campaign Angle: {{angle}}

Personalization Requirements:
- Minimum quality score: {{minScore}}
- Required signal types: {{signalTypes}}
- Variables available: {{variableList}}

Bucket Definitions:
- Bucket A ({{bucketName}}): {{criteria}} → {{openingApproach}}
- Bucket B ({{bucketName}}): {{criteria}} → {{openingApproach}}
- Bucket C ({{bucketName}}): {{criteria}} → {{openingApproach}}

Tips

  • The best personalization references something the prospect DID, not something they ARE. "I saw you posted about X" beats "I see you're a VP of Sales" every time.
  • Don't over-personalize Step 1 if it comes at the cost of volume. A Level 3 email sent to 500 people beats a Level 5 email sent to 50 — unless your ACV justifies the time.
  • Keep a running database of which signal types drive the highest positive reply rates. After 3 months, you'll know exactly which signals to prioritize.
  • When in doubt, lead with the hiring signal. It's the most reliable indicator of active buying intent.
  • AI can handle Tier 1-2 personalization at scale. Reserve human effort for Tier 3 (content-based insights) on your highest-value targets.
  • Test "no personalization" as a control variant. Sometimes a strong offer with zero personalization beats weak personalization — and it tells you if your copy is doing the heavy lifting.

Progressive disclosure: load signal-specific research playbooks and enrichment tool integrations only when building personalization for a specific campaign.

Frequently asked questions

What does the Personalization Engine AI skill do?

Turn raw prospect data into compelling personalized email elements. Signal detection, personalization layers, and variable frameworks that make cold emails feel warm.

Why use Personalization Engine on TypingMind?

Because you install it once and use it with any model. Personalization Engine is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Personalization Engine in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/kenny589/gtm-flywheel/tree/main/cold-email/personalization-engine. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Personalization Engine?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Personalization Engine?

As many as you like. As long as a model supports skills, you can use Personalization Engine with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Personalization Engine AI skill free?

Yes. It is published on GitHub by kenny589 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇