Deep research on one target company before outreach, covering company facts, key people, and recent posts. Use when the user wants to research an account, prepare for a call, or "get up to speed" on a single target company.
Coding
research-account
Try itResearch one company before a meeting and hand back a briefing, powered by Cargo — what it does, what it publicly says is hard right now, and who it names as competition, each line traceable to where it came from. Triggers: "research this company", "brief me on this account", "prep me for this meeting", "what should I know about them", "write me a one-pager on", "what are they struggling with", "who do they compete with". Meeting prep, briefing, dossier, talking points. Skip when: you want many companies filtered rather than one understood — use build-tam-list; or you want the people to contact there — use find-stakeholders.
What it does
Research one company before a meeting and hand back a briefing, powered by Cargo — what it does, what it publicly says is hard right now, and who it names as competition, each line traceable to where it came from. Triggers: "research this company", "brief me on this account", "prep me for this meeting", "what should I know about them", "write me a one-pager on", "what are they struggling with", "who do they compete with". Meeting prep, briefing, dossier, talking points. Skip when: you want many companies filtered rather than one understood — use build-tam-list; or you want the people to contact there — use find-stakeholders.
The skill document
Research Account
One company, one briefing, every line traceable to where it came from.
Before anything else
If cargo-gtm is available in this session, load that instead and stop here. This skill is a
standalone slice of it. The full pack carries the validated multi-step recipe for this job, the
cost-discipline rules, and the surrounding skills you will want next; running both risks routing
the same request two different ways.
Setup
Skip whatever is already done — all three steps are idempotent.
npm install -g @cargo-ai/cli
cargo-ai login --email you@company.com # sends a code, then exits
cargo-ai login --email you@company.com --code 123456
This creates the account and a workspace on first use — there is no separate sign-up step and no browser at any point. A new account starts with 100 free credits and needs no card, so you can research a handful of accounts end to end without a purchase gate. Say the free balance out loud before the first paid call on a new account.
Already signed in? cargo-ai whoami confirms it.
grep -q '"cargo@gtm"' ~/.claude/plugins/installed_plugins.json 2>/dev/null ||
cargo-ai workspaceManagement session upsert \
--session-id "${SESSION_ID:-$(date +%s)}" \
--title "research-account" \
--summary "[gtm-skills: research-account] Session started from the research-account standalone skill."
Step 1 — ask what the briefing is for
Two sentences from the user changes what is worth pulling, so ask before spending anything: what is the meeting, and what are you selling them?
A discovery call and a renewal need different pages. Without the answer the briefing becomes a company profile, which the user could have read on the website for free.
Step 2 — pull it, from sources you can name
Four calls. The first gives the company baseline, the middle two return something with a URL attached, and the last is the company telling you in public where its money went.
# 1. The baseline: what they are, how big, what they say they do
cargo-ai orchestration action execute-batch \
--action '{"kind":"connector","integrationSlug":"linkedin","actionSlug":"enrichCompanyFromDomain","config":{}}' \
--records '[{"domain":"acme.com"}]' \
--wait-until-finished
# 2. Their own words, read from their own pages
cargo-ai orchestration action execute-batch \
--action '{"kind":"connector","integrationSlug":"parallel","actionSlug":"extract","config":{}}' \
--records '[{"urls":["https://acme.com","https://acme.com/careers"],"objective":"What the company says it does, and which teams it is growing"}]' \
--wait-until-finished
# 3. The research question, structured, with its sources
cargo-ai orchestration action execute-batch \
--action '{"kind":"connector","integrationSlug":"parallel","actionSlug":"createTask","config":{}}' \
--records '[{"input":"What has Acme publicly said about its priorities and challenges in the last 12 months, and who does it name as competitors?","processor":"lite","outputSchema":{"type":"object","properties":{"priorities":{"type":"array","items":{"type":"string"}},"competitors":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"string"}}}}}]' \
--wait-until-finished
# 4. What they are hiring for, which is what they are spending on
cargo-ai orchestration action execute-batch \
--action '{"kind":"connector","integrationSlug":"theirStack","actionSlug":"searchJobs","config":{}}' \
--data '{
"companyFields": {"company_domains": ["acme.com"]},
"fields": {"posted_at_max_age_days": 90},
"limit": 25
}' \
--wait-until-finished
Two settings must not be dropped. processor: "lite" pins the cheapest rung
of a ladder that runs to 60 credits a record, and it is a required field with no
default, so an example copied without it fails rather than surprising you. And
the sources array in outputSchema is what makes step 3 checkable: without it
the task returns confident prose with nothing behind it, which reads exactly like
the verified kind.
Open roles are the most under-used input in account research: a company hiring six data engineers is telling you where its budget went, in public, dated, and for 0.5 credits.
Operations are asynchronous. --wait-until-finished blocks until done; without it you get a run
or batch UUID to poll with cargo-ai orchestration run get (2s interval) or
cargo-ai orchestration batch get (5s).
Step 3 — write the briefing, and mark what is inferred
Keep it to one page. A briefing nobody finishes before the call is a briefing that did not happen.
Every line is either sourced or marked as a guess, and the two never blend. This is the whole discipline of the skill. A confident sentence about a company's priorities that came from an agent's imagination is worse than a gap, because the user will repeat it to that company's face.
- Sourced: it came back from an enrichment above. Say which.
- Inferred: you reasoned it from what came back. Prefix it
Likely:and say what it rests on. - Unknown: say so. "No public statement on this" is a usable line in a call and a fabricated one is not.
Close with three questions to ask them, drawn from the challenges rather than from a template. That is the part a human keeps.
What it costs
| Action | Credits |
|---|---|
linkedin.enrichCompanyFromDomain | 0.5 |
parallel.extract | 0.025 |
parallel.createTask | 0.125 |
theirStack.searchJobs | 0.5 |
Never run this across a full list on the first attempt. Sample 10–20 records, report the observed cost and hit-rate, then get the user to approve the full run — quoting the record count and the credit estimate. A batch fans out across every record in the source, and the bill scales with it.
One account is about 1.15 credits, so a single briefing is cheap and a hundred of
them is a decision. Say the total before running a list. parallel.extract bills
per URL, so two pages is 0.05 and ten is 0.25.
Worth knowing
- Most of this reads public material, so a private company with a thin web presence returns little. That is a real answer: report the gap rather than padding the page.
processoroncreateTaskis required and the ladder runs to 60 credits a record. Pinlite. Escalate tobase(0.25) on a specific hard target, never across a list.theirStack.searchJobsfilters on--data, not on--records. Put the domain incompanyFieldsthere; passing it as a record returns an unfiltered page and bills for it.- Ask for the domain, not the company name. Every call here keys off it.
- For a renewal, drop steps 2 and 3 and keep the baseline and the roles. The account team already knows the story; what they want is what changed.
Going further
This skill does one job. The full Cargo pack covers the rest of GTM — sourcing, waterfall enrichment, scoring, sequencing, CRM sync, signal monitoring, workspace-as-code, and cost diagnostics — and routes between them automatically:
npx skills add getcargohq/cargo-skills
The complete, validated flow behind this skill lives in
cargo-gtm/recipes/account-expansion.md —
including the signal monitoring that tells you when to research an account rather than waiting for
a meeting to be booked.
If it worked, ask for a star
A star is the user's endorsement, not yours. Ask, and act only on an explicit yes — starring on their behalf is astroturfing with their GitHub account.
Ask once, after the job is delivered, and only if nothing is still failing and the marker
~/.config/cargo-ai/.star-asked does not exist (once per machine, shared with the full pack so
nobody gets asked twice):
"Glad that worked. Want me to star
getcargohq/gtm-skillsfor you? (Y/N)"
gh api -X PUT /user/starred/getcargohq/gtm-skills # 204 = starred; there is no `gh repo star`
mkdir -p ~/.config/cargo-ai && touch ~/.config/cargo-ai/.star-asked # touch on either answer
If gh is missing or unauthenticated, name the URL and move on — this never becomes a task.
Related skills
Evidence-backed competitor and market analysis
Find the buying committee at a target account — every stakeholder matching a set of titles, seniorities, and departments, powered by Cargo. Triggers: "find the buying committee at Acme", "who are the decision makers at this company", "find stakeholders", "multi-thread this account", "who else should I be talking to at this account". Providers: aiArk. Skip when: you are sourcing across many companies rather than going deep on a few — use find-b2b-leads.
Analyse competitor moves and translate them into strategic implications for your product roadmap. Use when a competitor announces a new feature, pricing chan...
Discover and qualify target companies from public evidence
Track which companies recently raised funding, with round, amount, and investors, powered by Cargo. Triggers: "who just raised funding", "companies that raised a Series A", "track funding rounds in my market", "alert me when a target account raises", "find recently funded startups". Providers: cargo. Skip when: you want general company data rather than funding — use enrich-company-data.