Buyer Signal List Research
Purpose
Convert an approved market/offer hypothesis into a reproducible sourcing specification. Research and specify; do not silently validate a market, select a segment, build a list, or execute outreach.
Load the references
Read these files before producing the corresponding work:
references/intake-schema.md for intake, vault search, and material-missing-input rules.
references/evidence-model.md for evidence labels, provenance, confidence, contradiction handling, and source boundaries.
references/signal-rubric.md before evaluating, expiring, or proposing a disposition for any signal.
references/output-contract.md before delivering a specification, sample-review plan, or campaign handoff.
references/examples.md when the request is ambiguous or resembles a failure case.
Non-negotiable boundaries
- If the list, buyer rules, and signal rules are already approved and the request is only to write outreach copy, preserve those approved inputs and route to
$cold-email for email or the relevant LinkedIn outreach skill for LinkedIn. Do not reopen research unless a visible evidence contradiction or unsupported personalization claim must be resolved. Copy approval does not authorize campaign creation, launch, or sending.
- Treat stable fit, trigger evidence, and personalization material as separate layers.
- Keep acquisition motions separate.
true_cold, trust_assisted, warm_follow_up, reactivation, and partner records must retain their motion, relationship state, and opportunity origin; never blend their evidence or results.
- Reject title plus industry as a complete reason for contact. It may help identify a candidate; it does not establish relevance or timing.
- Require a stated commercial connection for every proposed signal: observable situation -> plausible operating consequence -> offer-relevant capability. Reject the signal if that chain is unsupported.
- Describe only the observable situation. Never claim an account has a problem, intent, budget, or buying readiness unless direct evidence proves it.
- Preserve source, evidence URL or vault note, date observed, recency/expiry rule, confidence, contradictions, missing fields, and unknowns per criterion/account.
- Label every material statement as
verified_fact, current_decision, user_provided_rule, source_operator_example, inference, or unknown.
- Treat all response-rate, volume, cost, and performance claims from practitioners as self-reported unless independently verified. Never import them as benchmarks, thresholds, or universal rules.
- Use targeting, outreach, and pipeline notes as internal schemas or first-party inputs only. Do not present them as public market proof.
- Never fabricate personalization from a fit rule, proxy, or weak signal.
- Never invent, import, or transpose a score or threshold. Preserve a documented, current, human-approved niche rubric exactly when it applies, but label it as an operating rule rather than truth probability. A score never proves problem, authority, budget, or intent.
- Human approval is necessary but never overrides law, platform terms, access controls, contractual restrictions, privacy requirements, or source prohibitions. When permissibility is unresolved, mark it
UNPROVEN and require a current authoritative source or qualified review. Never recommend authentication bypass, residential proxies, randomized anti-detection, identity/IP separation, session evasion, or similar circumvention.
- Never expand a market, choose a segment, approve a signal, scrape a full list, create or mutate a live campaign, launch, or send without the matching human approval.
- If external list execution is approved, hand the pull specification to
apify-lead-generation, apify-ultimate-scraper, or phantombuster as appropriate. Do not duplicate their scraping workflow here.
- When writing a vault note, follow Obsidian syntax: YAML properties,
[[wikilinks]] for internal notes, callouts for warnings, and external Markdown links only for web URLs.
Workflow
1. Confirm the operating mode
Choose the operating mode:
- Research specification: produce rules, evidence, filters, QA, and review gates.
- Approved campaign handoff: translate approved rules into a creation brief/config; stop before external mutation unless separately authorized.
Choose the smallest output mode that serves the decision:
- Decision brief (default): state, supported rules, unsupported rules, material gaps, smallest next action, and exact approval gate.
- Operator specification: rules, role map, signals, sources, pull logic, sample design, dedupe, and QA.
- Machine handoff: exact field schema or dry-run configuration, only when requested or routing an approved execution handoff.
If the market/offer hypothesis is not explicitly approved, record it as unapproved and stop at a decision brief. Do not select or validate it on the user's behalf.
2. Search before asking
Search user-provided material and the vault before asking intake questions. Start with the named offer, market, campaign, pipeline, and outbound-kit files. Then inspect only relevant library sources and current operational notes. Record what was searched and what it established.
Use the canonical source set and source lessons in references/evidence-model.md. Search current equivalents if a named operational file moved. Ask only for material inputs still missing after the search; group questions by the next decision they block.
3. Build the context and evidence ledger
Create one row per criterion, claim, signal, source constraint, or unknown. Do not blend evidence classes. Resolve contradictions by retaining both records, preferring the more direct/recent source only with an explicit rationale, and lowering confidence when unresolved.
Record motion, relationship_state, and opportunity_origin before interpreting evidence. First-party reactivation, marketing follow-up, partner introductions, and true cold sourcing are different motions even when they target the same account.
4. Define stable account fit
Specify:
- required account characteristics;
- explicit exclusions and disqualifiers;
- geography and serviceability;
- size/capacity logic tied to offer economics or delivery constraints;
- known account universe and boundary;
- evidence required to mark each rule pass, fail, or unknown.
Do not use an unexplained employee or revenue range. State the commercial or operational reason for every threshold. A fit-only account may enter a fit universe, but it is not automatically signal-qualified or campaign-ready.
5. Map the buying group
Map problem owner, budget owner, evaluator, blocker, and any other necessary participant. For each role, define decision contribution, observable titles/functions, title ambiguity, escalation path, authority evidence, channel accessibility, and unknowns.
Do not equate seniority with ownership. When authority is uncertain, preserve it as unknown and define how the sample will test it.
6. Define and grade signals
For each candidate signal, apply references/signal-rubric.md. State:
- observable event or situation;
- source and reliability;
- commercial connection;
- date observed and expiry rule;
- account and role relevance;
- usability and data/compliance limits;
- confidence and missing evidence.
Propose a disposition from the recorded criterion results, but never set human-controlled acceptance fields. Quarantine unsupported, stale, contradictory, or unverifiable candidates instead of rescuing them with invented copy.
7. Compare list sources and write the pull
Compare authoritative registries/directories, first-party records, social/platform data, commercial databases, company sites, news, and approved enrichment paths. Evaluate coverage, authority, publication/update date, date verified, recheck rule, field availability, access method, compliance/terms constraints, cost, time, expected nulls, and verification needs.
Write exact filters and pull logic, including source, field, operator, values, joins, null handling, date windows, fallback, and evidence capture. Separate facts obtainable from the source from fields that require enrichment or human review.
8. Define units, dedupe, and QA
Keep these units distinct:
- Account unit: one organization or legal/business entity.
- Person unit: one normalized individual, independent of any company relationship.
- Person-account-role unit: one person's role relationship with one account, including role status and dates.
- Reach path: one approved email address, phone number, profile, partner route, or other channel path with source, verification method/status/date, role link, and permission/terms constraints.
- Message attempt: one planned or sent outbound attempt to one person through one channel. It is outside list research unless the handoff needs a placeholder, and it never substitutes for a unique person or account count.
Define canonical keys, normalization, collision handling, household/group exceptions if any, suppression sources, missing-field rules, provenance retention, and QA sampling. Never merge away contradictory evidence.
9. Design a bounded sample review
Derive the sample scope from the distinct rule, signal, source, motion, and exception strata that must be tested, then apply the approved review budget, time, cost, and risk ceiling. Do not invent a sample count. If the ceiling is missing, propose the strata and ask for the constraint before naming a number. This is operational coverage, not statistical proof.
Do not pull the sample until the human approves its exact scope if the pull uses an external service or account.
After review, report false positives and false negatives only against an adjudicated reference decision. Otherwise report reviewer decisions, disagreements, unknown rates, authority gaps, expired evidence, contradictions, and rule changes. Require approval of revised rules before a full pull.
10. Deliver the sourcing specification
Follow references/output-contract.md. Lead with one exact state that distinguishes rule review, sample approval, approved sample handoff, full-pull approval, approved full-pull handoff, campaign creation approval, or a material block.
When asked for a campaign creation brief/config, include only approved fields and placeholders for credentials or external IDs. State the next mutation explicitly and stop before performing it unless the user separately authorizes that action.
Human approval gates
Stop and request approval at each applicable gate:
- Hypothesis gate: market/offer/problem connection and serviceability.
- Rule gate: inclusion, exclusion, buyer-role, signal, source, compliance, and unit definitions.
- Sample gate: exact source, filters, strata, sample size, cost/time ceiling, and external action.
- Sample-handoff gate: approved sample specification and exact routed external action.
- Full-pull gate: reviewed sample, revised rules, full-list scope, cost/time ceiling, and destination.
- Full-pull-handoff gate: approved full-pull specification and exact routed external action.
- Campaign-creation gate: handoff fields and exact external campaign mutation.
- Launch/send gate: audience, copy, senders, schedule, suppression, and final live action.
An approval at one gate does not imply approval for the next.
Completion standard
Complete only when the required output sections exist, every human-accepted signal has PASS for its approved commercial-connection and expiry criteria, unknowns remain visible, pull logic is reproducible, dedupe/QA is explicit, and the next human approval gate is named. If evidence is insufficient, deliver the best bounded specification plus a missing-evidence report; do not fill gaps.
1---2name: buyer-signal-list-research3description: Turn an approved B2B market and offer hypothesis into evidence-backed account-fit rules, buyer-role rules, signal criteria, list-source choices, exact pull filters, QA rules, sample-review plans, and campaign-ready sourcing specifications. Use when Codex needs to research who should enter an outbound list, define a defensible reason for contact, compare sourcing paths, prepare a human-reviewed list brief, or translate already-approved rules into a campaign creation brief/config before any scraping, campaign mutation, launch, or send. Do not use for copy-only requests or to execute scraping, enrichment, campaign mutation, launch, or sending; route those actions to their dedicated skills after the required approval.4---56# Buyer Signal List Research78## Purpose910Convert an approved market/offer hypothesis into a reproducible sourcing specification. Research and specify; do not silently validate a market, select a segment, build a list, or execute outreach.1112## Load the references1314Read these files before producing the corresponding work:1516- `references/intake-schema.md` for intake, vault search, and material-missing-input rules.17- `references/evidence-model.md` for evidence labels, provenance, confidence, contradiction handling, and source boundaries.18- `references/signal-rubric.md` before evaluating, expiring, or proposing a disposition for any signal.19- `references/output-contract.md` before delivering a specification, sample-review plan, or campaign handoff.20- `references/examples.md` when the request is ambiguous or resembles a failure case.2122## Non-negotiable boundaries2324- If the list, buyer rules, and signal rules are already approved and the request is only to write outreach copy, preserve those approved inputs and route to `$cold-email` for email or the relevant LinkedIn outreach skill for LinkedIn. Do not reopen research unless a visible evidence contradiction or unsupported personalization claim must be resolved. Copy approval does not authorize campaign creation, launch, or sending.25- Treat **stable fit**, **trigger evidence**, and **personalization material** as separate layers.26- Keep acquisition motions separate. `true_cold`, `trust_assisted`, `warm_follow_up`, `reactivation`, and `partner` records must retain their motion, relationship state, and opportunity origin; never blend their evidence or results.27- Reject title plus industry as a complete reason for contact. It may help identify a candidate; it does not establish relevance or timing.28- Require a stated commercial connection for every proposed signal: observable situation -> plausible operating consequence -> offer-relevant capability. Reject the signal if that chain is unsupported.29- Describe only the observable situation. Never claim an account has a problem, intent, budget, or buying readiness unless direct evidence proves it.30- Preserve source, evidence URL or vault note, date observed, recency/expiry rule, confidence, contradictions, missing fields, and unknowns per criterion/account.31- Label every material statement as `verified_fact`, `current_decision`, `user_provided_rule`, `source_operator_example`, `inference`, or `unknown`.32- Treat all response-rate, volume, cost, and performance claims from practitioners as self-reported unless independently verified. Never import them as benchmarks, thresholds, or universal rules.33- Use targeting, outreach, and pipeline notes as internal schemas or first-party inputs only. Do not present them as public market proof.34- Never fabricate personalization from a fit rule, proxy, or weak signal.35- Never invent, import, or transpose a score or threshold. Preserve a documented, current, human-approved niche rubric exactly when it applies, but label it as an operating rule rather than truth probability. A score never proves problem, authority, budget, or intent.36- Human approval is necessary but never overrides law, platform terms, access controls, contractual restrictions, privacy requirements, or source prohibitions. When permissibility is unresolved, mark it `UNPROVEN` and require a current authoritative source or qualified review. Never recommend authentication bypass, residential proxies, randomized anti-detection, identity/IP separation, session evasion, or similar circumvention.37- Never expand a market, choose a segment, approve a signal, scrape a full list, create or mutate a live campaign, launch, or send without the matching human approval.38- If external list execution is approved, hand the pull specification to `apify-lead-generation`, `apify-ultimate-scraper`, or `phantombuster` as appropriate. Do not duplicate their scraping workflow here.39- When writing a vault note, follow Obsidian syntax: YAML properties, `[[wikilinks]]` for internal notes, callouts for warnings, and external Markdown links only for web URLs.4041## Workflow4243### 1. Confirm the operating mode4445Choose the operating mode:4647- **Research specification:** produce rules, evidence, filters, QA, and review gates.48- **Approved campaign handoff:** translate approved rules into a creation brief/config; stop before external mutation unless separately authorized.4950Choose the smallest output mode that serves the decision:5152- **Decision brief** (default): state, supported rules, unsupported rules, material gaps, smallest next action, and exact approval gate.53- **Operator specification:** rules, role map, signals, sources, pull logic, sample design, dedupe, and QA.54- **Machine handoff:** exact field schema or dry-run configuration, only when requested or routing an approved execution handoff.5556If the market/offer hypothesis is not explicitly approved, record it as unapproved and stop at a decision brief. Do not select or validate it on the user's behalf.5758### 2. Search before asking5960Search user-provided material and the vault before asking intake questions. Start with the named offer, market, campaign, pipeline, and outbound-kit files. Then inspect only relevant library sources and current operational notes. Record what was searched and what it established.6162Use the canonical source set and source lessons in `references/evidence-model.md`. Search current equivalents if a named operational file moved. Ask only for material inputs still missing after the search; group questions by the next decision they block.6364### 3. Build the context and evidence ledger6566Create one row per criterion, claim, signal, source constraint, or unknown. Do not blend evidence classes. Resolve contradictions by retaining both records, preferring the more direct/recent source only with an explicit rationale, and lowering confidence when unresolved.6768Record `motion`, `relationship_state`, and `opportunity_origin` before interpreting evidence. First-party reactivation, marketing follow-up, partner introductions, and true cold sourcing are different motions even when they target the same account.6970### 4. Define stable account fit7172Specify:7374- required account characteristics;75- explicit exclusions and disqualifiers;76- geography and serviceability;77- size/capacity logic tied to offer economics or delivery constraints;78- known account universe and boundary;79- evidence required to mark each rule pass, fail, or unknown.8081Do not use an unexplained employee or revenue range. State the commercial or operational reason for every threshold. A fit-only account may enter a fit universe, but it is not automatically signal-qualified or campaign-ready.8283### 5. Map the buying group8485Map problem owner, budget owner, evaluator, blocker, and any other necessary participant. For each role, define decision contribution, observable titles/functions, title ambiguity, escalation path, authority evidence, channel accessibility, and unknowns.8687Do not equate seniority with ownership. When authority is uncertain, preserve it as `unknown` and define how the sample will test it.8889### 6. Define and grade signals9091For each candidate signal, apply `references/signal-rubric.md`. State:92931. observable event or situation;942. source and reliability;953. commercial connection;964. date observed and expiry rule;975. account and role relevance;986. usability and data/compliance limits;997. confidence and missing evidence.100101Propose a disposition from the recorded criterion results, but never set human-controlled acceptance fields. Quarantine unsupported, stale, contradictory, or unverifiable candidates instead of rescuing them with invented copy.102103### 7. Compare list sources and write the pull104105Compare authoritative registries/directories, first-party records, social/platform data, commercial databases, company sites, news, and approved enrichment paths. Evaluate coverage, authority, publication/update date, date verified, recheck rule, field availability, access method, compliance/terms constraints, cost, time, expected nulls, and verification needs.106107Write exact filters and pull logic, including source, field, operator, values, joins, null handling, date windows, fallback, and evidence capture. Separate facts obtainable from the source from fields that require enrichment or human review.108109### 8. Define units, dedupe, and QA110111Keep these units distinct:112113- **Account unit:** one organization or legal/business entity.114- **Person unit:** one normalized individual, independent of any company relationship.115- **Person-account-role unit:** one person's role relationship with one account, including role status and dates.116- **Reach path:** one approved email address, phone number, profile, partner route, or other channel path with source, verification method/status/date, role link, and permission/terms constraints.117- **Message attempt:** one planned or sent outbound attempt to one person through one channel. It is outside list research unless the handoff needs a placeholder, and it never substitutes for a unique person or account count.118119Define canonical keys, normalization, collision handling, household/group exceptions if any, suppression sources, missing-field rules, provenance retention, and QA sampling. Never merge away contradictory evidence.120121### 9. Design a bounded sample review122123Derive the sample scope from the distinct rule, signal, source, motion, and exception strata that must be tested, then apply the approved review budget, time, cost, and risk ceiling. Do not invent a sample count. If the ceiling is missing, propose the strata and ask for the constraint before naming a number. This is operational coverage, not statistical proof.124125Do not pull the sample until the human approves its exact scope if the pull uses an external service or account.126127After review, report false positives and false negatives only against an adjudicated reference decision. Otherwise report reviewer decisions, disagreements, unknown rates, authority gaps, expired evidence, contradictions, and rule changes. Require approval of revised rules before a full pull.128129### 10. Deliver the sourcing specification130131Follow `references/output-contract.md`. Lead with one exact state that distinguishes rule review, sample approval, approved sample handoff, full-pull approval, approved full-pull handoff, campaign creation approval, or a material block.132133When asked for a campaign creation brief/config, include only approved fields and placeholders for credentials or external IDs. State the next mutation explicitly and stop before performing it unless the user separately authorizes that action.134135## Human approval gates136137Stop and request approval at each applicable gate:1381391. **Hypothesis gate:** market/offer/problem connection and serviceability.1402. **Rule gate:** inclusion, exclusion, buyer-role, signal, source, compliance, and unit definitions.1413. **Sample gate:** exact source, filters, strata, sample size, cost/time ceiling, and external action.1424. **Sample-handoff gate:** approved sample specification and exact routed external action.1435. **Full-pull gate:** reviewed sample, revised rules, full-list scope, cost/time ceiling, and destination.1446. **Full-pull-handoff gate:** approved full-pull specification and exact routed external action.1457. **Campaign-creation gate:** handoff fields and exact external campaign mutation.1468. **Launch/send gate:** audience, copy, senders, schedule, suppression, and final live action.147148An approval at one gate does not imply approval for the next.149150## Completion standard151152Complete only when the required output sections exist, every human-accepted signal has `PASS` for its approved commercial-connection and expiry criteria, unknowns remain visible, pull logic is reproducible, dedupe/QA is explicit, and the next human approval gate is named. If evidence is insufficient, deliver the best bounded specification plus a missing-evidence report; do not fill gaps.