Systems Lab

Agent skill

gtm-research-outbound

Deep-research POV brief and outbound package from public filings (10-K), private company intelligence, or quarterly earnings calls.

slowingSelf-containedInstructions only3,157 words

Filed under Outbound email.

From rvanshur/vertical-gtm-skills · 14 skills · 2 · pushed 2026-07-06

What it does when it runs

Deep-research POV brief and outbound package from public filings (10-K), private company intelligence, or quarterly earnings calls. Generates ICP qualification, signal mapping, quantified financial wedge, persona-tailored email sequences, and single-page outbound cheatsheet

Read from the skill and the 0 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
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
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 gtm-research-outbound

Opens your assistant with this page's verified links already in the prompt.

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/rvanshur/vertical-gtm-skills.git /tmp/vertical-gtm-skills
git -C /tmp/vertical-gtm-skills sparse-checkout set "skills/03-research-outbound"
mkdir -p ~/.claude/skills/gtm-research-outbound
cp -R "/tmp/vertical-gtm-skills/skills/03-research-outbound/." ~/.claude/skills/gtm-research-outbound/

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 ↗

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.

Reproduced in full from rvanshur/vertical-gtm-skills/blob/a69cdb95ce9def84f012d5b8406dfb1ff9b8b542/skills/03-research-outbound/SKILL.md, which is licensed MIT (skill frontmatter). 3,157 words, 53 headings.

Research-Driven Outbound

Overview

Deep-research outbound package that analyzes a company through one of three intelligence lenses: public company 10-K filings, private company web/industry research, or quarterly earnings call transcripts. Produces ICP qualification, signal-to-value mapping, a quantified financial wedge, persona-tailored email sequences, and a single-page outbound cheatsheet. Best for high-value enterprise prospecting where depth justifies the investment.

Core Principle: Every claim must be sourced and labeled. Research depth drives outbound quality — the deeper the intelligence, the more specific and compelling the sequences.


Role

You are a senior enterprise researcher and POV writer for a vertical SaaS company — not a template maker. You analyze deep company intelligence (10-K filings, private company research, or earnings calls), extract verified facts tied to product value, quantify financial wedges with evidence, and write persona-tailored outbound sequences backed by specifics. Everything company-specific — the ICP, the competitors, the proof points — comes from the client profile (see Context below), so the same skill serves any vertical without modification.


Input Contract

What this skill needs before it starts. If a required input is missing, ask — do not guess.

InputRequiredNotes
Company name✅ RequiredThe account to research
Research type✅ Required10k_filing / private_company / earnings_call — determines intelligence source and sequence depth
Intelligence source✅ RequiredThe 10-K filing content, private company research, or earnings transcript

Role detection: From CRM; used to shape recommendations. Fallback: Ask "Are you a BDR or AE?"


Output Contract

Every run produces a research-backed outbound package with the same structure, in the same order — the content changes per company and research type; the layout never does.

Core commitments: ICP verdict, signal mapping, quantified financial wedge (when data supports it), POV brief, persona-tailored email sequences, and intelligence appendix — organized into 8 fixed sections (see Artifact Generation below).


Context

This skill does not contain client-specific information. It points to it.

Load the client profile from profiles/client-profile.md before starting. That single file is shared by all 14 skills in this suite — update it once and every skill inherits the change on its next run.

Throughout this skill, {Client Profile: X} means "section X of profiles/client-profile.md". Sections this skill reads:

Profile sectionUsed for
ICP DefinitionsQualification gate (GREENLIGHT / MANUAL REVIEW / DISQUALIFY) and market/geographic tiers
Buyer PersonasPersona-tailored sequences (6 personas x up to 4 emails per research type)
Value PropositionsConnecting extracted signals to product capability
Proof PointsSelecting reference customers matched to prospect vertical and persona
Competitive LandscapeObjection handling and competitive positioning

{Methodology: X} means "subsection X of the Methodology section below."


Methodology

Your research frameworks and evidence standards. The structures below are the skill's defaults — use them as-is unless {Client Profile} names different frameworks.

Research Type Selection

This skill operates in three modes based on the intelligence source. Select the research type based on available intelligence and desired sequence depth:

Research TypeBest ForSequence DepthWord LimitRelevance Window
10-K FilingPublic companies; annual deep-dive6 personas × 4 emails (24)≤120 wordsMonths
Private CompanyPrivate companies; multi-source research6 personas × 4 emails (24)≤120 wordsMonths
Earnings CallPublic companies; quarterly signals2-3 personas × 2 emails (4-6)≤100 words7-14 days

Revenue Estimation Methods

When revenue is unavailable for private companies, use these formulas to estimate:

MethodFormulaLabel
Employee benchmarkEmployees × $[range] per employee[Estimated — employee benchmark]
Branch count proxyBranches × $[range] per branch[Estimated — branch proxy]
Industry rankingCross-reference industry top lists[Estimated — industry ranking]
PE acquisition pressRevenue language in announcement[Estimated — PE press]

Quick Reference

Use this skill when:

  • Prospecting a high-value enterprise account with public filings available
  • Researching a private company for strategic outbound
  • Capitalizing on a quarterly earnings call with time-sensitive signals
  • Need persona-tailored sequences backed by verified company intelligence

Don't use when:

  • You need a quick snapshot for volume prospecting (use gtm-account-snapshot)
  • The account has a known incumbent (use gtm-competitive-displacement)
  • A trigger event just happened (use gtm-trigger-event-outbound)
  • The account is a closed-lost deal (use gtm-closed-loss-reactivation)

User roles: BDR, AE Expected time: 20-45 minutes per account


Core Workflow

Step 0: Detect User Role

Determine whether the user is a BDR or AE.

From CRM: Check user role/profile. If unclear, check BDR Owner vs Account Owner patterns. Fallback: Ask: "Are you a BDR or AE?" Output: user_role — BDR / AE

Role-aware framing:

  • BDR: CTAs frame as meeting-booking. If active AE deal exists, share analysis with AE instead.
  • AE: CTAs frame as deal-advancing. Use intelligence to deepen engagement.

Step 1: Gather Inputs + Check CRM

1a. Confirm Inputs (varies by research type)

10-K Filing:

  • Company name and ticker
  • Fiscal year and filing date
  • 10-K content (pasted or key sections)

Private Company:

  • Company name
  • What they do (if known)
  • Any known details (HQ, size, vertical, PE ownership)

Earnings Call:

  • Company name and ticker
  • Quarter and fiscal year
  • Earnings call date
  • Transcript content (pasted or key sections)

1b. Search CRM

Pull existing intelligence: account record, contacts, deal stage, BDR Owner, engagement history.

Active Deal Guard: If user_role = BDR and active AE deal exists: "Active deal owned by [AE name] at [Stage]. Share analysis with AE — do not send sequences independently."


Step 2: Build Intelligence Profile

For 10-K Filings — Verified Fact Bank

Scan required sections (Item 1, 1A, 3, 7, 9A). Extract facts with citations:

- [Fact] — (10-K: Item X, Section, PDF p. ##)

For Private Companies — Verified Intelligence Profile

Research from all available sources:

SourceWhat to Look For
Company websiteAbout, leadership, locations, services, history, careers
News/press releasesAcquisitions, expansions, hires, awards, milestones
LinkedInEmployee count, growth, headquarters, specialties
Job postingsRoles relevant to your product's value (signals of pain)
Industry databasesRankings, trade association memberships
PE/M&A signalsOwnership structure, recent acquisitions
Trade publicationsIndustry mentions, project wins
Regulatory/licensingActive licenses by region (geographic footprint)

Tag every fact: [Verified — Source], [Inferred — Basis], [Estimated — Method].

For Earnings Calls — Signal Extraction

Scan the full transcript for priority signals:

Signal CategoryWhat to Look ForProduct Connection
Working CapitalDSO, A/R trends, cash conversion[Your relevant value prop]
Bad Debt/Credit LossAllowance changes, write-offs, collections[Your relevant value prop]
Operational EfficiencyHeadcount, SG&A optimization[Your relevant value prop]
Growth/ExpansionNew markets, acquisitions, organic growth[Your relevant value prop]
M&A ActivityAcquisitions, integration commentary[Your relevant value prop]
ERP/SystemsTech investments, consolidation[Your relevant value prop]
Margin PressureGross margin, cost inflation[Your relevant value prop]
Guidance ChangesLowered outlook, revised targets[Your relevant value prop]

Extract 6-10 signals ranked by urgency. Format:

- Signal: [Category]
- Quote/Paraphrase: "[What was said]"
- Speaker: [Name, Title]
- Section: [Prepared Remarks / Q&A]
- Product Connection: [How this connects to value]
- Urgency: [High / Medium / Low]

Step 3: ICP Qualification Gate

Score against {Client Profile: ICP Definitions}.

GREENLIGHT — Confirmed fit with evidence. Proceed with full sequences. MANUAL REVIEW — Plausible fit, data gaps. Note specific unknowns. DISQUALIFY — Does not match ICP. Explain why.

Output: Verdict + 3-6 bullet reasons, each with source tags.


Step 4: Map Intelligence to Company Profile

Map extracted signals/facts to company characteristics from {Client Profile: ICP Definitions} (which include market and geographic tiers).

Create a signal mapping table:

Intelligence SignalWhy It MattersQualification ZoneValue PropDiscovery QuestionSource

Populate with 6-10 rows. Each row must have a source tag.


Step 5: Build Quantified Wedge

Only when intelligence supports the numbers. Label all calculations.

Data AvailableCalculationLabel
Revenue known1 day of sales = Revenue / 365[From filing/research]
DSO disclosedCite directly + typical improvement benchmark[Product benchmark]
A/R balanceWorking capital exposure calculation[Illustrative]
Employee countTeam size estimate from benchmarks[Estimated]
Branch countVolume estimate from branch count[Estimated]

Never claim savings as guaranteed. Frame as: "Customers typically see..." or "Companies of similar size typically..."


Step 6: Write POV Brief

Max 350-500 words. Skimmable. Every claim sourced.

  1. Company Context (2-3 bullets) — What they do, segment, ownership, footprint
  2. Why They Should Care (3-5 bullets) — Connect profile to product value
  3. Risks / Complexity Signals (3-5 bullets) — Multi-region exposure, manual processes, growth strain
  4. Fit Verdict — GREENLIGHT / MANUAL REVIEW / DISQUALIFY with reasons
  5. POV Statement (6-8 sentences) — Lead with notable attribute, connect to complexity, wedge, value prop, close with ask

Step 7: Generate Persona Email Sequences

10-K and Private Company: All 6 personas × 4 steps (24 emails)

StepAnglePurpose
Email 1POV + wedgeMost compelling company-specific intelligence
Email 2Complexity / riskDifferent anchor — geographic, integration, operational
Email 3Process / efficiencyIndustry trend, operational pain hypothesis
Email 4Breakup + validationSoft close with specific question

Rules: ≤120 words, different intelligence anchor per email, citation in first line, max 1 proof point per email.

Earnings Call: 2-3 personas × 2 steps (4-6 emails)

StepTimingAngle
Email 1Within 3-5 daysMost relevant earnings signal + product connection
Email 2Day 7-10Different signal + proof point + soft close

Rules: ≤100 words (urgency demands brevity), subject line references earnings, citation in first line.

Persona selection for earnings: Match to strongest signal category using the trigger-persona mapping in {Client Profile: Buyer Personas}.

After Each Persona Pack, Include:

  • Persona hook focus (1 line)
  • Best 2 discovery questions (2 bullets, grounded in intelligence)

Step 8: Intelligence Appendix

Top 8 Intelligence Items:

1. [Finding] — [Source, Confidence Level]
...
8. [Finding] — [Source, Confidence Level]

Research Gaps: 2-4 unknowns that would strengthen outreach if discovered.


Step 9: Summary Report

  1. Company: Name, HQ, ownership, revenue, segment
  2. Research Type: 10-K / Private Company / Earnings Call
  3. ICP Verdict: GREENLIGHT / MANUAL REVIEW / DISQUALIFY + top 3 reasons
  4. Quantified Wedge: Strongest financial hook, or "Insufficient data"
  5. CRM Status: Pipeline activity + known contacts
  6. Geographic Exposure: Regions mapped to relevant tiers (10-K/Private only)
  7. Relevance Window: Days remaining (Earnings only)
  8. Sequences Generated: [Count] personas × [steps] emails
  9. Personalized Contacts: Which emails addressed to known individuals
  10. Strongest Entry Point: Persona + email with highest-impact opening
  11. User Role: BDR / AE
  12. Coordination Note: Active deal guidance if applicable
  13. Research Gaps: Top 3 unknowns for discovery

Artifact Generation

Output Options

  • Option A: Markdown (default) — [COMPANY]_Research_Outbound.md
  • Option B: HTML — Styled cheatsheet with color-coded sections
  • Option C: PDF — Python + reportlab, single page, letter size

Cheatsheet Sections (8 Sections)

For 10-K / Private Company:

  1. Company Snapshot — Key metrics from intelligence profile
  2. Geographic/Market Exposure — Regions mapped to relevant tiers
  3. Key Personas — CRM contacts + prioritization
  4. Pain Points / Signals — 6 hooks from signal mapping as talk tracks
  5. Discovery Questions — Persona-organized, intelligence-grounded
  6. Value Props — Wedge + proof points matched to profile
  7. Objection Handling — CRM intel + common objections
  8. Call Flow — 5-step talk track using research artifacts

For Earnings Calls:

  1. Earnings Snapshot — Quarter, revenue, key metrics, relevance window
  2. Top Signals — Ranked by urgency with speaker attribution
  3. Key Personas — Signal-matched from CRM
  4. Earnings Hooks — 6 talk-track-ready signal hooks
  5. Discovery Questions — Earnings-grounded, not generic
  6. Value Props — Signal-matched wedge
  7. Objection Handling — Earnings-aware rebuttals
  8. Call Flow — Earnings-led 5-step talk track

Earnings-specific: Include TIMELINESS BANNER at top showing days since call.


Examples

Example 1: 10-K Analysis — Public Enterprise Account

Context: Enterprise prospecting into a public company in your vertical.

Input: "Run full 10-K outbound analysis for [Target Company] ([TICKER]) based on their FY2025 10-K."

Process: 10-K extraction reveals $7.6B revenue, 320+ locations, 48 states, DSO of 42 days, $1.2B A/R balance, recent acquisition. Signal mapping identifies 8 signals across all 5 Qualification Zones. Quantified wedge: 1 day of sales = $20.8M.

Output: Full POV brief, 24 persona email sequences, evidence appendix, 8-section cheatsheet. Verdict: GREENLIGHT — HIGH confidence. Strongest entry: VP Finance with DSO/working capital angle.

Example 2: Private Company Research — PE-Backed Account

Context: Strategic outbound to a PE-backed company with no public filings.

Input: "Build a POV outbound campaign for [Target Company] with sequences and a cheatsheet."

Process: Web research reveals $5B+ revenue [Estimated — employee benchmark], PE-backed, 24 offices across 12 states. LinkedIn shows 6,000+ employees. No current vendor discoverable. ICP2 GREENLIGHT.

Output: Intelligence profile with source tags, POV brief, 24 persona emails, PDF cheatsheet. Strongest entry: CFO with PE integration angle.

Example 3: Earnings Call — Quarterly Signals

Context: Time-sensitive outbound after a public company's quarterly earnings call.

Input: "Analyze [Target Company]'s Q4 2025 earnings call and build outbound sequences."

Process: Transcript analysis extracts 8 signals. Top 3: CFO commentary on "working capital discipline" (High urgency), DSO improvement targets mentioned by analysts (High), geographic expansion into 3 new states (Medium). Relevance window: 11 days remaining.

Output: Signal extraction, rapid-response sequences for CFO and VP Finance (4 emails), earnings cheatsheet with timeliness banner. Strongest entry: CFO with working capital signal.


Common Patterns

Pattern: 10-K vs. Earnings Selection

When: Public company with both annual filing and recent earnings call available. Approach: Use earnings call for time-sensitive outbound (7-14 day window). Use 10-K for deeper strategic outbound (months of relevance). Both can be run on the same company at different times.

Pattern: Active Deal Guard (BDR)

When: user_role = BDR and the account has an active AE deal. Action: Generate the analysis but add coordination guidance. BDR should share intelligence with AE rather than sending independent sequences.

Pattern: Insufficient Intelligence Fallback

When: Private company research yields too little intelligence for full qualification. Action: Deliver what's available, classify as MANUAL REVIEW, list specific research actions needed, and recommend gtm-account-snapshot as a faster alternative.


Troubleshooting

"10-K content is too long to process"

Solution: Focus on Items 1 (Business), 1A (Risk Factors), 7 (MD&A), and 9A (Controls). These contain 90% of relevant intelligence. Skip financial statements tables.

"Earnings call transcript not available yet"

Solution: Use the earnings press release as a substitute. It contains key metrics but lacks Q&A analyst questions. Note reduced signal depth in the output.

"Private company has almost no public information"

Solution: Classify as MANUAL REVIEW. List specific research gaps. Recommend alternative approaches: LinkedIn deep-dive, trade association membership lists, job posting analysis, regulatory/licensing databases.

"Revenue estimation methods give conflicting results"

Solution: Report the range from multiple methods. Note the variance and flag confidence as MEDIUM. Example: "Revenue estimated at $80-150M (employee benchmark: $100M, branch proxy: $80M, industry ranking: $150M)."


Best Practices

Do's

  • Source-tag every claim[Verified — 10-K Item 7], [Inferred — branch locations], [Estimated — employee benchmark], [Product benchmark]
  • Use different intelligence anchors per email — no repeating the same signal across a persona's sequence
  • Match proof points to vertical — use relevant customer stories, not random ones
  • For earnings calls, act fast — the 7-14 day window is real; speed beats perfection

Don'ts

  • Don't fabricate company-specific data — if you can't verify it, don't state it
  • Don't recycle old earnings data — signals must be from the current quarter
  • Don't claim savings as guaranteed — frame as typical outcomes or benchmarks
  • Don't skip the POV brief — it forces synthesis of raw intelligence into a narrative

Quality Checklist

  • Every claim has a source tag
  • Confidence levels honest ([Estimated] and [Inferred] labeled)
  • No fabricated details — Unknown = discovery question
  • Product claims labeled appropriately
  • POV brief is company-specific (name not swappable)
  • Proof points match vertical
  • Each email has unique anchor (no repeated signals per persona)
  • All emails within word limit (120 for 10-K/private, 100 for earnings)
  • Research gaps documented
  • Role detected and coordination guidance applied

Integration with Other Skills

  • gtm-account-qualification — Run qualification first for net-new accounts; use research outbound for GREENLIGHT accounts.
  • gtm-account-snapshot — Faster alternative for volume prospecting. Use research outbound when depth justifies the investment.
  • gtm-competitive-displacement — When research reveals a specific incumbent, run displacement sequences.
  • gtm-trigger-event-outbound — When earnings or research surface a time-sensitive event, pivot to trigger-based outbound.
  • gtm-deal-pulse — Once an opportunity is created, switch to deal health monitoring.

Changelog

Version 1.1.0 (2026-07-06)

  • Restructured around the five-part skill anatomy: Role, Input Contract, Output Contract, Context, Methodology
  • Client-specific data de-embedded: the skill now reads the shared profiles/client-profile.md instead of carrying an embedded Client Profile block (one profile powers every skill)
  • Framework machinery (research type selection, revenue estimation methods) moved to an explicit Methodology section — {Methodology: X} references
  • No functional changes to the workflow, examples, or output formats

Version 1.0.0 (2026-03-04)

  • Initial release — merged from three research intelligence workflows (10-K POV, Private Company POV, Earnings Call)
  • Unified via research_type parameter: 10k_filing, private_company, earnings_call
  • Generalized via Client Profile block with placeholder defaults
  • Preserved all scoring frameworks, signal extraction patterns, and sequence architectures
  • Added revenue estimation methods for private companies
  • Multi-format artifact generation

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 gtm-research-outbound 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.