Systems Lab

Agent skill

account-researcher

Builds a one-page brief on a target company and its key people before outreach or a call: firmographics and team counts from the Lead Database, the people who own the decision with verified emails, the technologies that change the pitch (checked with Tech Stack Search only when they do), dated trigger events, and talking points that each cite a source.

activeNeeds a keyInstructions only2,950 words

Filed under Prospecting and list building.

From scrapercity/gtm-skills · 31 skill entries · 0 · pushed 2026-11-02

What it does when it runs

Builds a one-page brief on a target company and its key people before outreach or a call: firmographics and team counts from the Lead Database, the people who own the decision with verified emails, the technologies that change the pitch (checked with Tech Stack Search only when they do), dated trigger events, and talking points that each cite a source. Use when the user says "research this account", "brief me on acme.com before my call", "what do we know about X", "account plan", or names 1-10 priority companies for deep work before a sequence. For buyers across many named accounts use decision-maker-finder; across a market, icp-list-builder.

Automated analysis of the skill and the 11 files 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
  • SCRAPERCITY_API_KEY
Hosts it reaches
  • alexberman.com
  • app.scrapercity.com
  • aws.amazon.com
  • blitzmetrics.com
  • blog.google
  • business.linkedin.com
  • customerthink.com
  • datatracker.ietf.org
  • devrims.com
  • emt.gartnerweb.com
  • freightsalesfloor.example
  • hackernoon.com
  • harborlinelogistics.example
  • help.instantly.ai
  • helpcenter.smartlead.ai
  • knowledge.hubspot.com
  • leanb2bbook.com
  • meddicc.com
  • publicsuffix.org
  • scrapercity.com
  • senders.yahooinc.com
  • sidehustlelab.com
  • support.google.com
  • techcommunity.microsoft.com
  • www.bls.gov
  • www.bmj.com
  • www.crexi.com
  • www.entrepreneur.com
  • www.linkedin.com
  • www.rfc-editor.org
  • www.sec.gov
  • www.singlegrain.com
  • www.twilio.com
  • www.zerobounce.net
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about account-researcher

Opens your assistant with this page's recorded context. Check the linked sources before relying on it.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/scrapercity/gtm-skills.git /tmp/gtm-skills
git -C /tmp/gtm-skills sparse-checkout set "skills/list-building/account-researcher"
mkdir -p ~/.claude/skills/account-researcher
cp -R "/tmp/gtm-skills/skills/list-building/account-researcher/." ~/.claude/skills/account-researcher/

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 ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 31 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add scrapercity/gtm-skills
/plugin

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.

Before you install: this skill will not complete its job on a bare agent. It needs SCRAPERCITY_API_KEY, which you have to obtain separately.

Reproduced in full from scrapercity/gtm-skills/blob/46d446143690c8048b17817aecf36990ea6880e5/skills/list-building/account-researcher/SKILL.md, which is licensed MIT (skill frontmatter). 2,950 words, 24 headings.

Account Researcher

Overview

This skill produces a brief of one to two pages per account: a snapshot (size, revenue, HQ, keywords, team counts), dated trigger events, the technologies that decide which pitch to use, the people who own the decision with verified emails, a hypothesis with talking points that each cite a source, a contact plan, and the cost of the research.

The mistake it prevents is research that costs an hour and changes nothing: ten tabs of trivia, a "tech stack" pasted from a profile, and an email that opens with the company's founding year. Every item in the brief has to change who gets contacted, what gets said, or when. Paid lookups follow the same rule. Tech Stack Search costs $4.99 per technology, so it runs only for a technology whose presence or absence flips the pitch.

When to Use

  • "Brief me on harborlinelogistics.com before Thursday's call."
  • "Research our 10 tier 1 accounts before the AEs start."
  • "What do we know about Acme, and who should I email there?"
  • "Account plan for this enterprise target."
  • A reply came in from a good account and the rep wants context fast.

Use a different skill when:

The user wantsUse
Decision makers at 50+ accounts, no per-account briefdecision-maker-finder
Decision-makers across a market defined by industry, size and geography, with counts, tiers and verified emailsicp-list-builder
Company counts, a TAM or a tiered account universetam-builder
Every store running a given app or platformecommerce-by-techstack
A list built from an event (funding, hiring, leadership change) across many companiessignal-triggered-outbound
The email itself, once the brief existscold-email-copywriting

Prerequisites

InputWhyDefault if unknown
Account domain(s), 1-10Every lookup keys on domainAsk; resolve names with companyName
What the user sells, in one linePicks the roles and the technologies to checkAsk
Purpose: first cold email, discovery call, renewal, expansionSets depth and which sections leadFirst cold email
Deadline and time boxResearch expands to fill the timeAsk
Budget for paid lookupsTech Stack Search is $4.99 per technologyAsk
Technologies that would change the pitchDecides whether Tech Stack Search runsDerive from the product in step 4

Depth tiers

The user sets the time box for each tier.

TierPaid toolsUse for
Quickvalidate_emails onlyA reply that needs context in the next hour
StandardWebsite Finder, Email Finder, validation; Tech Stack Search when it flips the pitchTier 1 accounts before a sequence
DeepStandard plus EDGAR filings for public companiesEnterprise targets, a discovery call with an exec

Authoritative Foundations

SourceWhat it contributes
Gartner B2B Buying Report (2022 survey)The average enterprise buying group has five to 11 stakeholders from about five functions. The brief names the economic buyer, champion and evaluator by role, plus a backup, so the rep knows who else will weigh in.
MEDDIC, created at PTC in 1996 by Dick Dunkel with Jack Napoli under John McMahonEconomic Buyer and Champion become the first two people in the brief; Metrics and Identify Pain shape the hypothesis.
Craig Elias, trigger events (CustomerThink, 2008; book SHiFT!)Buyers move from status quo into a "window of dissatisfaction" after a bad experience, a transition (new leader, new rules, new priorities) or new awareness. The Why Now section sorts every signal into those three types.
US SEC EDGARFor public companies, the 10-K (business description, risk factors) and 8-K (Item 5.02 for officer changes) are primary evidence. Full-text search covers filings since 2001.
Alex Berman, personalization levelsHis templates page describes segment, account (news, funding, hiring, leadership change) and person (a post, podcast or talk) personalization, with depth matched to the buyer. A tier 1 account earns account and person level; see references/alex-berman-cold-email.md.
references/list-quality-standard.mdValidation buckets and column names for the people table.

Source details and the routing table: references/framework-notes.md.

Workflow

1. Scope the brief

Write one line per account: domain, what the user sells, purpose, depth tier, budget. List the 1-3 technologies whose presence would change the pitch (step 4). If the user names more than 10 accounts, switch to decision-maker-finder for the people and run this skill on the top 10 only.

2. Snapshot from the Lead Database

Call query_lead_database with companyDomain and limit: 1. The returned row carries company fields (industry, employee count, revenue, website, HQ city, state and country, keywords), and pagination.total is the number of people the database holds for the domain. Then size the target teams with more limit: 1 counts, one per department or title family (for example sales titles, engineering titles). These counts cost nothing and tell the rep how big the team they are selling into is.

Field readUse in the brief
company_industry, keywordsOne-line description; check it matches the user's ICP
employees_count or company_sizeSize band and which role map row applies
company_annual_revenueBudget plausibility for the deal size
company_city, company_state, company_countryTime zone for send and call times; language of the email
pagination.total for the domainContactable footprint
Team-size counts"41 people with sales titles" beats "mid-size sales team"

3. Key people

Pick the roles from the product category (the role map in decision-maker-finder lists 22 categories). Query the Lead Database with companyDomain, the role's title list, seniority and the universal notTitle set, limit: 25. Rank by title match, seniority, email present. For an empty role, run scrape_website_finder on the domain with one jobTitle. For a name without an email, run find_emails. Validate every email that did not come from Email Finder with validate_emails. Keep the economic buyer, champion, evaluator and a backup.

For each person, add one person-level detail if it exists within the time box: start date in role, a post, a talk, a podcast. Cite it.

4. Tech stack: only what changes the pitch

Run the decision table in references/tech-stack-decision-guide.md:

QuestionIf yesIf no
Would knowing this technology change the opening line, the case study, or whether to contact at all?Candidate for checkingSkip it; do not list it in the brief
Can a free signal settle it (the site's page source, a job posting, the validator's sc_mx_provider)?Use the free signal, mark "likely"Candidate for Tech Stack Search
Will the same technology be checked for 5+ accounts this month?Run Tech Stack Search once and reuse the domain list for every accountRun it only if the deal size justifies $4.99

Tech Stack Search (scrape_builtwith) takes one technology and returns every domain detected using it. Search the downloaded CSV for the account's domain. Keep the file: it answers the same question for every other account at no extra cost and seeds ecommerce-by-techstack or a TAM build.

5. Why now

Start with the seller's own history, which is free and the strongest opener: past meetings, demos, a closed-lost reason and date, and whether a champion from a current customer now works at the account (from the CRM, or a Sales Navigator lead list of customer champions filtered by Changed jobs). Then collect dated signals from primary sources: the company's newsroom and careers page, EDGAR for public companies, the executive's own posts or interviews, then press coverage. Sort each into Elias's three types (bad experience, transition, awareness). Signals older than the cutoff the user sets go to background. Job postings count as transitions when they describe a new team, a new tool or a rebuild.

6. Hypothesis and talking points

Write a two-sentence hypothesis: the likely pain and why this quarter. Then the talking points, each tied to a cited source. A talking point that cannot cite a source is cut. Map them to MEDDIC: which metric the buyer is judged on, who signs, who champions. Keep the phrases the buyer used in public (a post, a podcast, their own job posting) and write the talking points in those words.

7. Contact plan

Check for a warm path first: if the user's team has Sales Navigator, look up the economic buyer with TeamLink or the "Connections of" filter; a colleague who knows them makes Day 1 an introduction request instead of a cold email (LinkedIn's Sales Solutions blog says buyers are five times more likely to engage when outreach comes through a mutual connection). Then order the people, pick the channel and day for each, and the angle. Never email two people at the same account at once; Berman's guidance is to start at the top and move down a level after one to two weeks without a reply, since several people at once can get the sender blocked company wide. Add a mobile only for a planned call, after checking the do-not-contact list.

8. Write and check

Fill templates/output-template.md, list every source with a URL and the date checked, and run scripts/check-output.py.

ScraperCity Implementation

StepToolPrice (catalog)
Balance and plancheck_walletFree
Snapshot, team counts, peoplequery_lead_databaseIncluded on Growth and Scale; 100,000 new leads a day
Missing role at the domainscrape_website_finder$0.0499 per contact found
Email from a name and domainfind_emails$0.05 per email found, free if not found
Validate emails, read mail provider and gatewayvalidate_emails$0.00169 per email
Technology presencescrape_builtwith (Tech Stack Search)$4.99 per technology
Mobile for a planned call, if askedfind_mobiles$0.25 per number found, free if not found
Runscheck_run_status, download_results, list_runsFree

Calls

Snapshot and team count:

{"companyDomain": "harborlinelogistics.example", "limit": 1}
{"companyDomain": "harborlinelogistics.example", "title": "Account Executive, Sales, Carrier Sales, Business Development", "notTitle": "assistant, intern, former", "limit": 1}

People for one role:

{"companyDomain": "harborlinelogistics.example",
 "title": "Chief Revenue Officer, CRO, VP Sales, Director of Sales Operations, Revenue Operations, Salesforce Administrator",
 "notTitle": "assistant, intern, former, retired, advisor",
 "limit": 25}

Missing role:

{"domains": ["harborlinelogistics.example"], "jobTitle": "Salesforce Administrator", "autoValidateEmails": false}

Email for a known name: {"contacts": [{"first_name": "Priya", "last_name": "Natarajan", "domain": "harborlinelogistics.example"}]}

Tech Stack Search, MCP: {"technology": "HubSpot", "fileName": "techstack-hubspot-20261013"}. CLI: npx scrapercity builtwith "HubSpot". REST: POST /api/v1/scrape/techstack. Poll check_run_status, then download_results, then search the CSV for the account's registrable domain.

Worked cost estimate

One Standard brief, two technologies that flip the pitch (Salesforce and HubSpot), four people:

ItemUnitsUnit priceCost
Lead Database snapshot, 2 team counts, 9 people12 recordsIncluded in Growth$0.00
Tech Stack Search2 technologies$4.99$9.98
Website Finder for the missing evaluator1 contact found$0.0499$0.05
Email Finder for the champion1 email found$0.05$0.05
validate_emails3 emails$0.00169$0.01
Total$10.09

Ten tier 1 accounts checked against the same two technology lists cost $9.98 for Tech Stack Search in total, not $99.80, so the per-account cost falls to about $1.11. Call check_wallet, show this table and wait for a yes before any paid lookup.

Error handling

ResponseAction
pagination.total is 0 for the domainTry companyName, the parent company's domain, or the regional domain; note the alias
503 on a people queryShorten the title list or split it into two calls
Tech Stack Search CSV does not contain the domainRecord "not detected", which is weaker than "not used"; check one free signal before telling the rep
402check_wallet, report the shortfall, finish the brief with free sources
409 on a Tech Stack Search startThe same technology was submitted moments ago; reuse that run from list_runs

Output Format

  1. account-brief-[domain]-[date].md following templates/output-template.md: Account Snapshot, Why Now, Tech Stack, Key People, Hypothesis and Talking Points, Contact Plan, Sources, Cost Estimate, Open Questions and Next Steps.
  2. account-people-[domain]-[date].csv: the people table with the person columns from references/list-quality-standard.md section 2a plus buying_role and found_by.
  3. Saved Tech Stack Search CSVs named techstack-[technology]-[date].csv for reuse.

What the reader receives is the deliverable only: no internal file paths, reference section numbers, tool ids or skill names (name the product, such as Lead Database, Email Validator or Website Finder, and describe the next action instead of naming a skill); no sales-framework acronyms (keep the content: who signs, who champions); each figure stated once; every outside number with its source and date on first mention; no value left as "you set" when a sourced default or a dated step can carry it; no table of checks that were not run (one "Not checked:" line instead); no repeated identical rows where one template plus a list will do. Next steps are a table with Step, Owner, Date and Done when.

Quality Check

  • Every talking point and every Why Now signal cites a source ID that appears in Sources with a URL and a date checked.
  • Every signal has a date; anything older than the user's cutoff is marked background.
  • Every Tech Stack row says whether it changes the pitch; rows that do not were checked with free signals only.
  • Tech Stack Search ran only for technologies marked as changing the pitch, and the cost table shows $4.99 per technology.
  • Key People names the economic buyer and champion (plus evaluator and backup when found), each with a buying role, an email status and a found_by tool; only valid emails are marked ready to send.
  • The contact plan never puts two people at the account on the same day.
  • The brief fits on two pages.
  • scripts/check-output.py brief.md prints PASS.

Common Pitfalls

MistakeWhy it failsFix
Paying $4.99 for a technology that does not change the pitchSpend with no effect on the emailRun the decision table first; list only pitch-changing technologies.
Reading "not detected" as "not used"Detection misses tools without a public footprint, such as many CRMsSay "not detected" and check one free signal.
One Tech Stack Search per accountSame $4.99 paid ten times for one listRun once per technology, reuse the CSV across accounts.
Signals without datesA two-year-old funding round reads as newsDate every signal; older than the user's cutoff is background.
Opening with company triviaReads as a template; nothing for the buyerOpen with a dated trigger tied to their role.
Emailing the CRO and the VP Sales the same morningBerman: several people at one company at once can get the sender blocked company wideOne person at a time, move down after one to two weeks.
Using People Finder for a B2B brief$0.0199 a search for home addresses and personal phones; nothing in them goes into a work email or a discovery callStay with the Lead Database, Website Finder and Email Finder.
Skipping the seller's own history with the accountA past demo, a closed-lost on timing or a former customer champion now at the account is the strongest opener available, and it is freeCheck the CRM and the champion's job change before any paid lookup (step 5).

Execution Artifacts

FileOpen it when
references/framework-notes.mdYou need the source behind a rule or the routing table.
references/research-playbook.mdRunning steps 2, 3, 5 and 6: Lead Database recipes, signal catalog, EDGAR forms, question bank, recipes by account type.
references/tech-stack-decision-guide.mdStep 4: which technologies change which pitch, free signals, cost amortization, reading results.
references/list-quality-standard.mdColumn names and validation buckets for the people table (shared).
references/alex-berman-cold-email.mdPersonalization levels and account sequencing (shared).
references/scrapercity-agent-patterns.mdWallet checks, polling, retries (shared).
references/scrapercity-catalog.mdPrices and parameters (shared).
references/scrapercity-platform.mdPlans and database rules (shared).
templates/output-template.mdWriting the brief.
examples/worked-example.mdA finished brief for a 350-person freight brokerage.
scripts/check-output.pyFinal gate: python3 scripts/check-output.py brief.md.

Related Skills

  • decision-maker-finder for the people at many accounts at once.
  • icp-list-builder to find more accounts like the one researched.
  • ecommerce-by-techstack to turn a saved Tech Stack Search CSV into a list.
  • signal-triggered-outbound to build lists from the trigger types in Why Now.
  • cold-email-copywriting to write the first email from the talking points.
  • multi-channel-outreach to sequence email, phone and LinkedIn across the people.
  • crm-enricher to write the people and brief back to the CRM.

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.

Need help setting it up?

This page tells you what account-researcher 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.

Build my GTM engine

Tell us what you want to improve. Fedor reviews the workflow and replies by email when there is a useful fit.

Fedor reviews every request personally. If there is a useful fit, he will reply by email.