- General
- v1.0.0
- research
Research
Researches a company, person, buying committee, signal, domain, stack, financial context, or competitor mention. Produces a focused answer with sources and confidence notes.
SKILL.md
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-companywhen 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-companyorswan-enrich-contactcalls without first checking what Swan and the CRM already have. - If a tool result is truncated, read the JSON from
files/tool-outputs/<toolName>_<callId>.jsoninswan-execute-codeand 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 personAccountTeam— buying-committee mapping inside one accountGTMmotion— how the target sells todayNews— last-30-days signal scanDomain— digital footprint, traffic, SEO postureFinancial— funding history, ownership, runway, pressureTechStack— detected tools by categoryCompetitorMentions— public mentions of a named competitor
Accreted over time as use cases sharpen:
AcquisitionTargets— research for M&A or partnership shortlistsCustomerHealth— research framing for an existing customer (expansion / churn risk)IndustryDeepDive— a whole vertical, not one accountInvestor— partner / fund researchBoard— board prep on a director or chair
Files
10 files ship with this skill. They are installed beside the SKILL.md.
Research
Imported from the GTM Skills library by Swan (https://www.gtmskills.com), skills/ido-goldberg/research
at https://github.com/swan-gtm/gtm-skills/commit/5d786aad0c7b2ca59b1abf1f601f9407ca261996. Written by Ido Goldberg (https://www.linkedin.com/in/ido-goldberg-ab1590b0/).
The skill is shared under the MIT License below; this notice must stay with any copy.
MIT License
Copyright (c) 2026 Swan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.