Account contact shortlist skill

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.

by explorium-ai·MIT license·★ 197 Stars on the repo·GitHub ↗

Use now

Inside this skill

SKILL.md · the author's own words
# Account Contact Shortlist
Pull the right people at a target account and rank them for outreach, with a use-case lens (new business, active deal, renewal) and a reach…

## Input
The user provides:
- A company name or domain (required).
- Optional use case: "prospecting" (default), "deal acceleration", or "renewal" / "expansion".
- Optional seniority focus (C-level, VP+, Director+) or a specific function (sales, marketing, RevOps, security, finance).
- Optional size of the shortlist (default 25, max 100).

## Workflow

1. Resolve the company. Match the business from the name or domain. If multiple plausible matches surface, present the top 2 to 3 with indu…

2. Enrich the resolved business with firmographics to anchor the output header (industry, size bucket, revenue bucket, HQ, public vs privat…

Word-for-word excerpt, not a result. Read the full SKILL.md ↓

Files of Account contact shortlist

explorium-ai/main1 file shown
SKILL.md
Show the full text65 lines

Account Contact Shortlist

Pull the right people at a target account and rank them for outreach, with a use-case lens (new business, active deal, renewal) and a reachability check.

Input

The user provides:

  • A company name or domain (required).
  • Optional use case: "prospecting" (default), "deal acceleration", or "renewal" / "expansion".
  • Optional seniority focus (C-level, VP+, Director+) or a specific function (sales, marketing, RevOps, security, finance).
  • Optional size of the shortlist (default 25, max 100).

Workflow

  1. Resolve the company. Match the business from the name or domain. If multiple plausible matches surface, present the top 2 to 3 with industry, size, and HQ, then ask the user to confirm. Sanity-check the resolved firmographics: if a major-brand input comes back as 1-50 employees in a Corporate-Managing-Offices category, the match likely routed to a shell entity. Retry with the alternate domain or the name string before proceeding.

  2. Enrich the resolved business with firmographics to anchor the output header (industry, size bucket, revenue bucket, HQ, public vs private).

  3. Translate the use case into a persona blueprint before any prospect fetch. Prospecting / default: broad buying-committee coverage across Sales, Marketing, RevOps, IT, and Product, weighted toward Director, VP, and C-level. Deal acceleration: economic buyer plus technical evaluator plus procurement, biased to C-level and VP in the relevant function, plus one Director-level champion. Renewal / expansion: existing product-owner functions plus an executive sponsor, including Manager and Director levels alongside VP+. Intersect any user-supplied seniority or function override with the blueprint and note dropped roles.

  4. Discover canonical values for every free-text role or industry token before filtering. Combine a job-title filter with an explicit seniority constraint to keep matches tight: a title-only filter for "Vice President of Engineering" leaks non-VP rows, so intersect title with seniority.

  5. Sample 5 prospects scoped to the resolved account, matching the blueprint's titles, seniority, and department, with a reachability proxy (has-email true). Present this preview for the user to sanity-check the persona translation and wait for approval before going full size. When the user names a role rather than a person ("the CFO at Notion"), do not try to resolve a title string as a person; surface candidates via the filtered prospect fetch instead.

  6. After approval, materialize the full shortlist and enrich prospects for contact data. Default to email-only contact enrichment because it is the cheaper option; opt in to phone only when the user explicitly needs dialer-ready output. For the top 10, also pull profile enrichment so tenure and prior-role signals can feed the ranking rationale.

  7. Rank and group. Score each contact on persona fit (title and department match, weighted by seniority), reachability (professional email, then personal email, then phone), and tenure or stability from the profile pull (recent joiners get a small bump for prospecting, a penalty for renewal). Break ties by seniority.

Output Format

Target Account

One line: company name, domain, industry, headcount bucket, revenue bucket, HQ, public vs private.

Use Case Frame

State the resolved use case and what the shortlist optimizes for (prospecting = buying-committee coverage on a first conversation; deal acceleration = economic buyer plus technical evaluator plus procurement plus a Director-level champion; renewal / expansion = current product owners plus an executive sponsor). List any user-provided overrides that narrowed the blueprint.

Shortlist
Rank Full Name Job Title Seniority Department Professional Email Phone LinkedIn Why On The List

"Why On The List" is one short clause referencing the persona-blueprint slot the contact fills (e.g. "VP-level economic buyer in Sales"). Show "Unattributed" in the Department column for cross-functional senior roles where department is null.

Coverage Read

Counts by department, by seniority band, and by reachability (professional email, personal email only, phone, none). Flag gaps where the use case expected a slot but no contact was found (e.g. "No procurement contact surfaced for deal acceleration").

Engagement Priority

Pick the top 5 to contact first with a one-line reason each, distinguishing entry points (Manager / Director with strong reachability) from decision makers (VP / CXO in the relevant function). Suggest an outreach order.

Next Steps
  • Brief the opener with fresh account context via funding, challenges, or strategic-insights enrichments.
  • Fetch prospect events on the shortlist to catch recent role changes or new-hire signals before the first touch.
  • Re-run with a different use case to compare the buying committee against an in-flight deal team.

Limitations

  • No native contact data-quality sort. Reachability is approximated from the has-email flag plus enriched professional email and phone.
  • Headcount and revenue are bucketed, so very narrow size cutoffs are not possible.
  • No sub-department job-function filter. The finest cut on function is department plus title.
  • The only company-type filter is public vs private. Private subsidiary cannot be distinguished from independent private.
  • Department is null for many cross-functional senior roles. Group those under "Unattributed" rather than dropping them.
  • Sample previews are capped at 5 rows. Full shortlists materialize only after user approval.
1---
2name: account-contact-shortlist
3description: "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. Returns verified contact data including email, phone, LinkedIn profile, title, seniority, and department. Provide a company name or domain plus optional seniority focus or use case. Use for contact data enrichment, LinkedIn profile lookup, and building outbound contact lists. Works in Claude Code, Codex, Hermes-Agent, and OpenClaw."
4---
5 
6# Account Contact Shortlist
7Pull the right people at a target account and rank them for outreach, with a use-case lens (new business, active deal, renewal) and a reachability check.
8 
9## Input
10The user provides:
11- A company name or domain (required).
12- Optional use case: "prospecting" (default), "deal acceleration", or "renewal" / "expansion".
13- Optional seniority focus (C-level, VP+, Director+) or a specific function (sales, marketing, RevOps, security, finance).
14- Optional size of the shortlist (default 25, max 100).
15 
16## Workflow
17 
181. Resolve the company. Match the business from the name or domain. If multiple plausible matches surface, present the top 2 to 3 with industry, size, and HQ, then ask the user to confirm. Sanity-check the resolved firmographics: if a major-brand input comes back as 1-50 employees in a Corporate-Managing-Offices category, the match likely routed to a shell entity. Retry with the alternate domain or the name string before proceeding.
19 
202. Enrich the resolved business with firmographics to anchor the output header (industry, size bucket, revenue bucket, HQ, public vs private).
21 
223. Translate the use case into a persona blueprint before any prospect fetch. Prospecting / default: broad buying-committee coverage across Sales, Marketing, RevOps, IT, and Product, weighted toward Director, VP, and C-level. Deal acceleration: economic buyer plus technical evaluator plus procurement, biased to C-level and VP in the relevant function, plus one Director-level champion. Renewal / expansion: existing product-owner functions plus an executive sponsor, including Manager and Director levels alongside VP+. Intersect any user-supplied seniority or function override with the blueprint and note dropped roles.
23 
244. Discover canonical values for every free-text role or industry token before filtering. Combine a job-title filter with an explicit seniority constraint to keep matches tight: a title-only filter for "Vice President of Engineering" leaks non-VP rows, so intersect title with seniority.
25 
265. Sample 5 prospects scoped to the resolved account, matching the blueprint's titles, seniority, and department, with a reachability proxy (has-email true). Present this preview for the user to sanity-check the persona translation and wait for approval before going full size. When the user names a role rather than a person ("the CFO at Notion"), do not try to resolve a title string as a person; surface candidates via the filtered prospect fetch instead.
27 
286. After approval, materialize the full shortlist and enrich prospects for contact data. Default to email-only contact enrichment because it is the cheaper option; opt in to phone only when the user explicitly needs dialer-ready output. For the top 10, also pull profile enrichment so tenure and prior-role signals can feed the ranking rationale.
29 
307. Rank and group. Score each contact on persona fit (title and department match, weighted by seniority), reachability (professional email, then personal email, then phone), and tenure or stability from the profile pull (recent joiners get a small bump for prospecting, a penalty for renewal). Break ties by seniority.
31 
32## Output Format
33 
34### Target Account
35One line: company name, domain, industry, headcount bucket, revenue bucket, HQ, public vs private.
36 
37### Use Case Frame
38State the resolved use case and what the shortlist optimizes for (prospecting = buying-committee coverage on a first conversation; deal acceleration = economic buyer plus technical evaluator plus procurement plus a Director-level champion; renewal / expansion = current product owners plus an executive sponsor). List any user-provided overrides that narrowed the blueprint.
39 
40### Shortlist
41 
42| Rank | Full Name | Job Title | Seniority | Department | Professional Email | Phone | LinkedIn | Why On The List |
43|------|-----------|-----------|-----------|------------|--------------------|-------|----------|-----------------|
44 
45"Why On The List" is one short clause referencing the persona-blueprint slot the contact fills (e.g. "VP-level economic buyer in Sales"). Show "Unattributed" in the Department column for cross-functional senior roles where department is null.
46 
47### Coverage Read
48Counts by department, by seniority band, and by reachability (professional email, personal email only, phone, none). Flag gaps where the use case expected a slot but no contact was found (e.g. "No procurement contact surfaced for deal acceleration").
49 
50### Engagement Priority
51Pick the top 5 to contact first with a one-line reason each, distinguishing entry points (Manager / Director with strong reachability) from decision makers (VP / CXO in the relevant function). Suggest an outreach order.
52 
53### Next Steps
54- Brief the opener with fresh account context via funding, challenges, or strategic-insights enrichments.
55- Fetch prospect events on the shortlist to catch recent role changes or new-hire signals before the first touch.
56- Re-run with a different use case to compare the buying committee against an in-flight deal team.
57 
58## Limitations
59- No native contact data-quality sort. Reachability is approximated from the has-email flag plus enriched professional email and phone.
60- Headcount and revenue are bucketed, so very narrow size cutoffs are not possible.
61- No sub-department job-function filter. The finest cut on function is department plus title.
62- The only company-type filter is public vs private. Private subsidiary cannot be distinguished from independent private.
63- Department is null for many cross-functional senior roles. Group those under "Unattributed" rather than dropping them.
64- Sample previews are capped at 5 rows. Full shortlists materialize only after user approval.
65 

Discussion

Alternatives

AI Sales Team — Main OrchestratorYou are a comprehensive AI sales intelligence and outreach system for Claude Code. You help founders, sales teams, agency owners, and…Sales & ecommerce · MITAuto research publicAutonomous cold email campaign launcher. Takes one target company domain, scrapes their website, generates an ICP with Claude, pulls matching leads via Prospeo, enriches emails + company descriptions, personalizes each lead with parallel Claude Code Task sub-agents (A/B/C variants), and uploads as a live Smartlead campaign. Uses local JSON files for state (no database required). Use for automated daily campaign launches after you have an initial `client-profile.yaml` from /icp-onboarding. Triggers on "auto-research", "launch an automated campaign", "daily campaign", "run the research loop".Sales & ecommerce · MITABM Campaign — DIY PlaybookABM campaign skill for Claude Code: run a full Account-Based Marketing campaign end-to-end — from ICP definition to live LinkedIn Ads. Builds targeted account lists with Vibe Prospecting, enriches and scores companies with real-time B2B data, generates personalized ad creatives with Claude Code and Figma, pushes matched audiences to LinkedIn Ads, and monitors campaigns daily at scale. The complete GTM skill for AI-driven account-based marketing in Claude Code, Codex, Hermes-Agent, and OpenClaw. No agency needed.Sales & ecommerce · MITAccount fit rankLead 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. Returns composite score (0-100), tier (A/B/C), and a 'why now' signal per account. Use for account-based selling, ABM list prioritization, territory planning, signal-based selling, and buyer-intent ranking. Triggers on 'score these accounts', 'rank by ICP fit and intent', 'prioritize this account list', 'which accounts have the strongest buying signals', 'ICP scoring', 'account prioritization'. Works in Claude Code, Codex, Hermes-Agent, OpenClaw, and Claude Cowork.Sales & ecommerce · MIT