Individual skill

research-audience-people-and-contacts

For a list of companies, picks 1-3 current people per company in different buying roles, confirms each title with a dated source, finds a public contact route, labels email status honestly and flags regions with contact rules. Never contacts anyone. Use alone when you already have a vetted company list and the buyer titles; otherwise run research-audience.

skills/marketing/research-audience-people-and-contacts/SKILL.md

Read pinned source

Source commit 1add09bd8e0d057e91e25c96b9282498e2fcb2a2

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
Yes
Repository scan complete
No
Skill scan complete
No
Observed behavior
Network or broad shell
Last checked
Nov 10, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
1,312
Repository last updated
Nov 6, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# people-and-contacts

**Reads:** passing accounts; personas and title synonyms; `../research-audience/references/contacts-and-compliance.md`; `../research-audience/references/data-sources.md`.

**Does:**
1. Free first, breadth before depth: for every kept account, get names and titles from the cheapest place first — the company's team, about and leadership pages, press releases, conference speaker pages, podcast guest pages, public profile headlines in web-search results (`"<title>" "<company>"`), the company's LinkedIn page's public people list. Paid profile reads only in the approved top-up, to confirm titles the free pass could not.
2. Pick by company size and role (champion + economic buyer; category buyer for retail). Max 3 per account, different roles.
3. Confirm current employer and title from a dated source (a dated search headline counts, labelled `search-headline`); if sources disagree, the newer wins; if unclear, drop. Chains → an account row with the vendor portal or buying-office route, plus 1–2 person rows (same `account_id`) for a category buyer confirmed by a dated source: LinkedIn route, email only if published or pattern-evidenced. Leave person rows out only when the retailer's vendor page says portal-only or not to contact buyers — note it in `notes`. Independent shops and small venues → one account-level row with the shop's published inbox (own-domain or published webmail) or IG/DM as the route; the owner's name only if a dated source gives it — an unnamed owner is not a reason to drop. Drop third-party recruiters and consultants (people who don't work for the account), fractional/advisor, interns, ex-, agency staff named for a client, competitor and own staff. When the account *is* a recruiting or staffing firm, its recruiters, sourcers and researchers are the users and champions — keep them.
4. Contact route — when the connector has email find and check, follow `../research-audience/references/data-sources.md` § When the contact routes exist (cheapest first, stop at the first found address the checker passes — one checker, a second only on `unknown` — never phones or personal modes). Otherwise: look for the exact work address on public pages (team page, press release, filing, speaker bio). Found → `email_candidate` with status `published (<url>)` (an address moves to `email` only after a checker passes it). Pattern-guess only when a published address at the same domain shows the pattern — cite it. A shop's own published webmail address counts as `published`. Otherwise record the best other route (LinkedIn, buying inbox, contact form, phone, IG for small shops).
5. Set the person's location and `region_flag`; exclude Germany/Austria by default unless the human said otherwise; flag UK sole traders/partnerships `UK-soletrader: consent needed` (Companies House check) and give them a visit or a letter as the route (`other_contact_route` = `visit/letter: <published shop address> (<url>)`) (phone only after a TPS check, noted; never a cold IG DM), with `email` blank; a Canadian or AU/NZ `pattern-guess` is not sendable — give another route or drop; other countries flagged `other:<country>`.

6. **Suppression check:** hash each person's keys the ledger's way (outcomes-ledger § Suppression without personal data) and drop any that match a suppressed `key_hash` — before any paid lookup on them.

**Writes:** people rows with title source and date, `email` (checker-passed only), `email_candidate`, `email_status`, `email_source`, `other_contact_route`, `person_location`, `region_flag`, `persona_role`.
Back to top