Agent skill

Personalize Email

by explorium-ai in explorium-ai/gtm-skills

Cold email personalization skill for Claude Code and Codex: assemble an intent and firmographic signal pack for one prospect so a downstream LLM can compose a truly personalized outbound email.

MITAuto-check passedSales & Support

Install Personalize Email

skills CLI
$ npx skills add explorium-ai/gtm-skills --skill personalize-email -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install explorium-ai/gtm-skills personalize-email --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/explorium-ai/gtm-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/personalize-email .claude/skills/personalize-email && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
personalize-email
GitHub stars
175
Token cost
~2k tokens
SKILL.md length
1,062 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Cold email personalization skill for Claude Code and Codex: assemble an intent and firmographic signal pack for one prospect so a downstream LLM can compose a truly personalized outbound email.

  • Works in 11 steps: Resolve the prospect. If a LinkedIn URL… → Resolve-by-role path (the user named a… → Domain-variant sanity check at match… → …
  • Lead generation
  • SKILL.md covers Input, Workflow, Output Format and Limitations
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Personalize Email is an agent skill from explorium-ai/gtm-skills. Cold email personalization skill for Claude Code and Codex: assemble an intent and firmographic signal pack for one prospect so a downstream LLM can compose a truly personalized outbound email. Pulls company firmographics, recent business events, funding, workforce trends, LinkedIn posts, website changes, and intent topics. Returns a structured signal brief ready for cold outreach, follow-up, re-engagement, or expansion emails. Use for outbound, lead generation, account-based selling, and signal-led email…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Sales & Support, covering Cold outreach, Lead generation and Social media posts. It works with LinkedIn. The repository describes itself as: GTM Skills for Claude & Codex. The licence is MIT.

When your agent uses it

  • Lead generation
  • Account-based selling
  • Signal-led email personalization
  • Personalize an email

Example prompts

  • “personalize an email”
  • “draft outreach”
  • “outbound to X”
  • “/personalize-email”

Workflow steps

11 steps, taken from the first numbered list in SKILL.md.

  1. Resolve the prospect. If a LinkedIn URL or email is supplied, match the person directly. Otherwise match the business first to anchor the…
  2. Resolve-by-role path (the user named a seat, not a person). Matching by full_name="CFO" silently returns nothing: do NOT use that path…
  3. Domain-variant sanity check at match time. After firmographics land, if the input was a major brand but the resolved entity has headcount…
  4. Discover canonical values for any free-text dimension the user named (industry, technology, city) before applying a filter. Show top…
  5. Enrich the company. Firmographics first (industry, size, headcount, revenue range, HQ, age). Then pull recent signals broadly: funding and…
  6. Fetch business events on the last 90 days. Keep every event with a date; drop those older than the use-case recency floor during scoring…
  7. Enrich the prospect. Profile (seniority, department, tenure in seat, last 2 prior employers). Pull contacts only when the user intends to…
  8. Score and rank signals. Stamp each with age in days and a source tag. Score recency x persona relevance x use-case fit. Recency: 0-14d =…
  9. Build the persona cue block. Seniority, department, tenure in seat, last 2 prior employers. Tone hint by seat: executive (outcome first…
  10. Assemble the proof hook list. Suggest peer-segment framings by industry and size band. Do not invent customer names or stats; flag only…
  11. Flag gaps and refuse conditions. For cold_outbound or re_engagement, if zero events pass the recency floor and zero relevant posts exist…

What it can do on your machine

Read from SKILL.md and the folder at commit f0efa6b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Personalize Email loads about 2k tokens when it runs. Until then it costs about 183 tokens; SKILL.md has 1,062 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~183
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from explorium-ai/gtm-skills at commit f0efa6b, republished under its MIT licence (© explorium-ai). 1,062 words, ~1,978 tokens.

Download SKILL.mdSave it as .claude/skills/personalize-email/SKILL.md (or your agent's skills folder).
name
personalize-email
description
Cold email personalization skill for Claude Code and Codex: assemble an intent and firmographic signal pack for one prospect so a downstream LLM can compose a truly personalized outbound email. Pulls company firmographics, recent business events, funding, workforce trends, LinkedIn posts, website changes, and intent topics. Returns a structured signal brief ready for cold outreach, follow-up, re-engagement, or expansion emails. Use for outbound, lead generation, account-based selling, and signal-led email personalization. Triggers on 'personalize an email', 'draft outreach', 'outbound to X', 'find a hook for this contact', 'build me a personalization brief'. Works in Claude Code, Codex, and Hermes-Agent.

Personalize Email

Gather every personalization signal for a single prospect and their company so the calling model can write a sharp, specific email. This skill does NOT draft the email: it returns a structured brief; the calling model composes copy.

Input

  • Prospect identifier (required): full name + company, full name + company domain, LinkedIn URL, email, or a role at a company ("CFO at Notion") with no name.
  • Use case (default cold_outbound): one of cold_outbound, discovery_follow_up, demo_recap, re_engagement, renewal, expansion, objection_handling. Drives which signals matter most.
  • Recency floor (optional): days. Defaults: 14 for intent topics, 30 for executive moves, 90 for company events.
  • Sender / offering note (optional): one line on what the user sells, used only to rank signals.
  • Prior touchpoint summary (optional, recommended for follow-up, recap, renewal): what was last discussed, when, who was involved.

Workflow

  1. Resolve the prospect. If a LinkedIn URL or email is supplied, match the person directly. Otherwise match the business first to anchor the company, then match the person by full name plus the resolved company. On miss, retry first plus last name. Capture prospect_id, business_id, full_name, job_title, linkedin_url. If either id fails, stop and surface the gap.
  2. Resolve-by-role path (the user named a seat, not a person). Matching by full_name="CFO" silently returns nothing: do NOT use that path. Instead match the business, then sample prospects at that account filtered by canonical job title and seniority. This is the dominant cold-outbound shape when the user knows the seat but not the person.
  3. Domain-variant sanity check at match time. After firmographics land, if the input was a major brand but the resolved entity has headcount 1-50 and looks like a registered-agent shell, retry with the alternate domain (.so vs .com) or the company-name string. Do not proceed with the wrong account.
  4. Discover canonical values for any free-text dimension the user named (industry, technology, city) before applying a filter. Show top matches and wait for the user to pick.
  5. Enrich the company. Firmographics first (industry, size, headcount, revenue range, HQ, age). Then pull recent signals broadly: funding and acquisitions, workforce trends, LinkedIn posts, website changes, stated challenges and strategic priorities. Add technographics only when the offering implies a tech-stack pitch. Add competitive landscape only for objection_handling or competitive displacement framing.
  6. Fetch business events on the last 90 days. Keep every event with a date; drop those older than the use-case recency floor during scoring. Event-attribution sanity check: ensure events tie to the matched business, not blended across a parent / subsidiary tree.
  7. Enrich the prospect. Profile (seniority, department, tenure in seat, last 2 prior employers). Pull contacts only when the user intends to send outreach: default email-only (cheaper), switch to email + phone only when phone is required (SDR dialer flows). Skip contacts entirely otherwise. Fetch prospect events for job-change or promotion moves. Per-prospect post history is a current gap; pull the employer's recent posts as a substitute for company voice.
  8. Score and rank signals. Stamp each with age in days and a source tag. Score recency x persona relevance x use-case fit. Recency: 0-14d = 1.0, 15-30d = 0.7, 31-60d = 0.4, 61-90d = 0.2, older = drop. Persona: CFO maps to funding / earnings / M&A; CRO and VP Sales map to hiring surges, product launches, GTM posts; CTO and VP Eng map to website changes, technographics, engineering hires; CEO maps to all. Use case: cold outbound and re-engagement lean on fresh events; follow-up, recap, renewal, expansion lean on prior touchpoint plus role and company posts; objection handling leans on competitive landscape and strategic insights. Rank top 5; mark the highest anchor_candidate, next runner_up.
  9. Build the persona cue block. Seniority, department, tenure in seat, last 2 prior employers. Tone hint by seat: executive (outcome first, numeric), director / manager (problem then approach then outcome), IC (workflow friction then concrete benefit). Pull 1-3 direct quotes or themes from recent posts when available.
  10. Assemble the proof hook list. Suggest peer-segment framings by industry and size band. Do not invent customer names or stats; flag only categories where the calling model could later plug real customer proof.
  11. Flag gaps and refuse conditions. For cold_outbound or re_engagement, if zero events pass the recency floor and zero relevant posts exist, mark signal_layer: thin and recommend warming via another channel. For follow-up family without a prior touchpoint summary, surface the gap and ask; do not fabricate. If profile last update is older than 12 months or the resolved company does not match the user-named company, add stale_record: true and recommend verifying.
Show full SKILL.md (312 more words)Show less

Output Format

  • TL;DR: one paragraph with prospect name, title, company, the single strongest anchor signal with age, and the persona tone hint.
  • Prospect: full name, job title, company name, company domain, LinkedIn URL, prospect_id, business_id, email (only if contacts were pulled).
  • Company snapshot: 2-4 lines covering industry, size bucket, headcount, revenue range, HQ, founding year.
  • Signal ladder (ranked): for each of the top 5, rank, signal type, age in days, source tag, one-line description, why it matters for this persona and use case, anchor / runner-up flag.
  • Persona cues: seniority, department, tenure in seat, last 2 prior employers, tone hint, direct quotes or post themes (up to 3, with date).
  • Proof hook categories: peer-segment framings the calling model could plug real customer proof into. No invented stats or logos.
  • Brief for the drafting model: compact structured block with anchor and age, runner-up, persona block, company block, chosen use case, gaps, and an explicit "do_not_invent" list (customer names, stats not in this brief).
  • Flags: signal_layer (rich | moderate | thin), stale_record, missing_prior_touchpoint (only for follow-up family), competitor_mention_detected.

Limitations

  • Funding and acquisition data has coverage gaps for late-stage privates with no S-1. For CFO personas at private targets, lean on business events (M&A, new funding round, cost cutting, hiring in finance) instead.
  • No native sort by signal recency at the API level; ranking is done client-side.
  • No metro taxonomy; location filtering relies on city autocomplete plus country code.
  • No similar-companies tool; peer framing falls back to industry plus size band.
  • Headcount and revenue are buckets, not exact values.
  • This skill does not draft email copy. The calling model writes subject lines and bodies from the brief.
  • Per-prospect post history is not available; flag as a gap when the use case wants the individual's posting voice.
  • Department is null for many cross-functional senior roles (Chief X Officer, President, Founder). Group these under "Unattributed" in the persona cue block.

© explorium-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/personalize-email of explorium-ai/gtm-skills.

Open the folder on GitHubat commit f0efa6b

Compare with similar skills

Personalize Email next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Personalize Email compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Personalize Email this skillexplorium-ai/gtm-skills175—~2kAutomated safety check: PassMIT
B2B Lead Generationminhnv0807/ai-business-skills610—~1.2kAutomated safety check: PassMIT
Email Response Simulationextruct-ai/gtm-skills109—~2.8kAutomated safety check: PassNone
Linkedin Comment To Outreachgethouston/houston117—~2.1kAutomated safety check: PassMIT
Cold Outreach Sequence BuilderBrianRWagner/ai-marketing-claude-code-skills440—~1.9kAutomated safety check: PassNone
Cold Outreachericrisco/rsc-harness174—~4.1kAutomated safety check: PassMIT

Similar skills

  • B2B Lead Generation

    minhnv0807/ai-business-skills

    Plans B2B pipeline work from ICP definition and prospecting through lead scoring, outbound sequences, sales assets and MQL to SQL handoff, aiming at qualified pipeline.

    610 GitHub stars~1.2k tokensUpdated 27 days ago
    Sales & SupportAuto-check passed
  • Email Response Simulation

    extruct-ai/gtm-skills

    Deep persona simulation and skeptical buyer review for cold emails.

    109 GitHub stars~2.8k tokensUpdated 11 days ago
    Sales & SupportAuto-check passed
  • Turn a single LinkedIn post URL into a paused cold email campaign in Instantly.

    117 GitHub stars~2.1k tokensUpdated today
    Writing & ContentAuto-check passed
  • Cold Outreach Sequence Builder

    BrianRWagner/ai-marketing-claude-code-skills

    Builds researched LinkedIn and email outreach for prospects, from a single message to a multi-prospect system, with personalization graded by the signals found.

    440 GitHub stars~1.9k tokensUpdated 6 mo ago
    Sales & SupportAuto-check passed
  • Cold Outreach

    ericrisco/rsc-harness

    A skill your agent uses when writing a cold email or LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling, 4-7 step bump sequences, per-inbox volume and warm-up limits…

    174 GitHub stars~4.1k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Lead Research

    TheCraigHewitt/skills

    When the user wants to research accounts, contacts, or build target lists.

    157 GitHub stars~5.9k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed

More from explorium-ai/gtm-skills

All 17 skills in this repo
  • Browser Extension Builder

    explorium-ai/gtm-skills

    Browser extension builder skill for Claude Code and Codex: scaffolds a local, unpacked Chrome extension that reveals verified B2B contact info (email, phone, job title, company) directly on a…

    175 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Lead Gen Tool Builder

    explorium-ai/gtm-skills

    Lead generation tool builder skill for Claude Code and Codex: scaffolds a complete, self-hostable, ZoomInfo-style B2B lead-generation web app — company & contact search UI, firmographic and…

    175 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check: notes
  • Clean Data

    explorium-ai/gtm-skills

    Data cleaning, entity matching, and deduplication skill for Claude Code and Codex: triage, standardize, and validate a CSV, Excel, or JSON list of B2B companies or contacts before enrichment.

    175 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Abm Diy Campaign

    explorium-ai/gtm-skills

    ABM campaign skill for Claude Code: run a full Account-Based Marketing campaign end-to-end — from ICP definition to live LinkedIn Ads.

    175 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Account Contact Shortlist

    explorium-ai/gtm-skills

    Contact data skill for Claude Code and Codex: build a ranked shortlist of decision-makers and contacts at a target company for outbound prospecting, deal acceleration, or renewal/expansion plays.

    175 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Account Fit Rank

    explorium-ai/gtm-skills

    Lead scoring and buying signals skill for Claude Code and Codex: rank a list of accounts by ICP fit, buying intent, real-time trigger events, and workforce momentum.

    175 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Personalize Email

What does Personalize Email do?

Cold email personalization skill for Claude Code and Codex: assemble an intent and firmographic signal pack for one prospect so a downstream LLM can compose a truly personalized outbound email. Personalize Email is an agent skill from explorium-ai/gtm-skills. Cold email personalization skill for Claude Code and Codex: assemble an intent and firmographic signal pack for one prospect so a downstream LLM can compose a truly personalized outbound email.

When should I use Personalize Email?

Personalize Email fits situations like: lead generation; account-based selling; signal-led email personalization; personalize an email.

How do I install Personalize Email in Claude Code?

Run `npx skills add explorium-ai/gtm-skills --skill personalize-email -a claude-code`. Or copy the skill folder (skills/personalize-email in explorium-ai/gtm-skills) into .claude/skills/personalize-email in your project. Claude Code loads it when a task matches its description.

How do I install Personalize Email in Codex?

Run `npx skills add explorium-ai/gtm-skills --skill personalize-email -a codex`. Or copy the skill folder (skills/personalize-email in explorium-ai/gtm-skills) into .agents/skills/personalize-email in your project. Codex loads it when a task matches its description.

Can I use Personalize Email in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add explorium-ai/gtm-skills --skill personalize-email -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/personalize-email, .gemini/skills/personalize-email, .github/skills/personalize-email and .opencode/skills/personalize-email in your project.

What does Personalize Email need to run?

SKILL.md names no scripts, command-line tools or credentials: Personalize Email is instructions for the agent only.

Does Personalize Email access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Personalize Email safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Personalize Email use?

Personalize Email is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Personalize Email use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Personalize Email?

Skills that share tags, products or a category with Personalize Email: B2B Lead Generation (minhnv0807/ai-business-skills, 610 stars), Email Response Simulation (extruct-ai/gtm-skills, 109 stars), Linkedin Comment To Outreach (gethouston/houston, 117 stars) and Cold Outreach Sequence Builder (BrianRWagner/ai-marketing-claude-code-skills, 440 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Personalize Email?

explorium-ai (a GitHub organization) maintains it in explorium-ai/gtm-skills, which has 175 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 8, 2026.

Source: explorium-ai/gtm-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.