# Research

> Researches a company, person, buying committee, signal, domain, stack, financial context, or competitor mention. Produces a focused answer with sources and confidence notes.

- **Type:** Skill
- **Install:** `agentstack add skill-swan-gtm-gtm-skills-research`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [swan-gtm](https://agentstack.voostack.com/s/swan-gtm)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [swan-gtm](https://github.com/swan-gtm)
- **Source:** https://github.com/swan-gtm/gtm-skills/tree/main/skills/ido-goldberg/research

## Install

```sh
agentstack add skill-swan-gtm-gtm-skills-research
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

## Instructions

Research is target-driven and doesn't require org config to function — there's no state-hint paragraph and no `Setup.md`. The agent just routes to the right sub-page and runs.

### Step 1 — Parse the ask, pick the sub-page

Route based on what the user is asking about. Load the sub-page via `swan-get-skill`.

| Ask shape | Sub-page |
|-----------|----------|
| Generic company / one company / "what does X do" / "/research acme" | `Company` |
| Named person — "/research tom from acme", "tell me about Jane Doe" | `Person` |
| Mapping the people inside one account — buying committee, who to thread to | `AccountTeam` |
| How does the target sell / their GTM / pricing posture | `GTMmotion` |
| What's recent / news / signals / last-30-days | `News` |
| Domain-level / web traffic / SEO / digital footprint | `Domain` |
| Financial health / funding / revenue / runway / ownership | `Financial` |
| Tech stack only — what tools do they run | `TechStack` |
| Where the target talks about competitors / displacement signals | `CompetitorMentions` |

If the ask is ambiguous (e.g. just a company name with no further context), default to `Company`. If the ask explicitly chains multiple facets ("research acme — company plus the buying committee"), it's fine to load two sub-pages — but always pick a primary.

### Step 2 — Pick the depth

Most asks want a one-paragraph answer; some want a dossier. Read the user's phrasing:

- "/research acme" / "what does acme do" → brief read (3–5 lines, the essentials).
- "deep brief on acme" / "full dossier" / pre-meeting prep with a VP+ → run the sub-page end-to-end.
- "quick — is acme an ICP fit" → micro-answer, one paragraph.

Default to brief. Scale up only when the user signals depth, or when the situation (board prep, founder intro, executive outreach) demands it. Over-researching when a sentence would do is the most common failure mode.

### Step 3 — Load the sub-page and execute

The sub-page owns the procedure for its facet. Follow it.

Across all sub-pages, the same cheap-before-expensive pattern applies:
- check what Swan already has (`swan-search-companies`, `swan-get-memory`, prior briefs)
- check the CRM if connected
- reach for free preview tools (`swan-fetch-scraped-url`, `swan-fetch-businesses`, `swan-website-traffic`, `swan-fetch-business-events`) before paid enrichment
- enrich (`swan-enrich-company`, `swan-enrich-contact`) only when the cheap signals left a real gap

### Step 4 — Output shape

Default to a structured short summary, not raw scraped data. Every sub-page ends with a composed block — follow its shape. Always:

- Cite sources inline (e.g. "via `swan-website-traffic`", "from LinkedIn post 2026-05-03", "press").
- Flag confidence on soft signals (high / medium / low based on signal density).
- Surface the highest-signal finding first. Don't bury the lede in a wall of context.
- Tag the company in Swan via `swan-update-company` when the research produced a durable fact worth reusing (financial state, tech stack, motion type) so the next play inherits it.

---

## What good looks like

- **Right depth for the ask.** A one-paragraph answer when a paragraph is enough; a full dossier when the stakes justify it. Reading the room beats running every facet.
- **Sources cited, confidence flagged.** Every claim points to a tool result, a URL, or a CRM record. Soft signals (inferred revenue, motion type, runway) carry an explicit "est" or "looks like" — never stated as fact.
- **Lede first.** The user sees in 30 seconds what they came for. The strongest hook is line one of the output, not buried below firmographics.
- **Knows when to stop.** If business events covered the surface area, no more web fetches. If a person has no public profile, the dossier says so and ends.

What gets overlooked:
- **Over-researching.** Running every sub-page when only one matters. Running the deep flow when a brief was the right call.
- **Treating all signals as equal-confidence.** Headcount × industry-avg as a revenue figure stated like a fact. Inferred motion stated without hedge.
- **Raw dumps.** Pasting 40 LinkedIn posts, 200 keywords, or the full enrichment payload into the chat. Synthesize, then summarize.

---

## Rules

- MUST pick a single sub-page per call unless the user explicitly asks for multi-facet research.
- MUST cite sources inline and flag confidence on soft signals.
- MUST check the free preview tools (`swan-fetch-scraped-url`, `swan-fetch-businesses`, `swan-website-traffic`, `swan-fetch-business-events`) before chaining paid enrichments.
- MUST tag the company in Swan with any durable fact (motion type, financial state, detected stack, ICP fit) the research produced.
- NEVER produce a raw dump. Always synthesize into the sub-page's composed output shape.
- NEVER invent quotes, beliefs, financials, or priorities not present in the source.
- NEVER chain `swan-enrich-company` or `swan-enrich-contact` calls without first checking what Swan and the CRM already have.
- If a tool result is truncated, read the JSON from `files/tool-outputs/_.json` in `swan-execute-code` and summarize from there.

---

## Specificity sub-pages this skill will grow

Shipped today:

- `Company` — general company research (the default landing for "/research acme")
- `Person` — full dossier on a named person
- `AccountTeam` — buying-committee mapping inside one account
- `GTMmotion` — how the target sells today
- `News` — last-30-days signal scan
- `Domain` — digital footprint, traffic, SEO posture
- `Financial` — funding history, ownership, runway, pressure
- `TechStack` — detected tools by category
- `CompetitorMentions` — public mentions of a named competitor

Accreted over time as use cases sharpen:

- `AcquisitionTargets` — research for M&A or partnership shortlists
- `CustomerHealth` — research framing for an existing customer (expansion / churn risk)
- `IndustryDeepDive` — a whole vertical, not one account
- `Investor` — partner / fund research
- `Board` — board prep on a director or chair

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [swan-gtm](https://github.com/swan-gtm)
- **Source:** [swan-gtm/gtm-skills](https://github.com/swan-gtm/gtm-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-swan-gtm-gtm-skills-research
- Seller: https://agentstack.voostack.com/s/swan-gtm
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
