Prospect research
The Bubble Shop — free, open-source Claude Code skills & plugins by Bubble Invest. One-command install. We're not developers — we built these to run our own family office. Help us improve them.
npx -y skills add vdk888/bubble-skills --skill prospect-researchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build or refresh a Research Capsule for a sales prospect. Pulls background, workflow pain points, recent signals, and three outreach angles (V1/V2/V3). Writes a structured Markdown file to your local vault. Read-only on social sources — never sends or posts anything.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.4 KB, as published. Nobody here has run it
prospect-research
Build or refresh a Research Capsule for a sales prospect: a structured Markdown file in your local vault plus an optional short summary projection you can paste into your CRM.
When to invoke
- On demand: "Research [prospect name / company]" or "refresh capsule for [slug]"
- In a pipeline: call this skill after a discovery step produces a new lead row, before drafting outreach
- Batch: iterate over a list of slugs sorted by
next_refresh_at ASC, research each one before handing off to your outreach step
Inputs
slug(required) — a short kebab-case identifier for this prospect (e.g.jane-smith-acme). You define the slug convention; keep it stable across refreshes.force_refresh(optional, defaultfalse) — iftrue, recompute all sections even when a capsule file already exists. Iffalseand the file exists, append a refresh timestamp line to the History section and stop.
Configuration — fill in before first use
Before running this skill, set your context in prospect-research/config.md (create it from the template at prospect-research/templates/config-template.md):
- ICP definition — who your ideal customer is (industry, role, company size, geography, problem type)
- Your product/service — what you offer and the core value proposition
- Outreach angles — customize the V1/V2/V3 framework (see below) to fit your offer
- Vault directory — where Research Capsules will be written (
~/your-vault/Capsules/or any absolute path) - CRM field name — the label for the short summary projection in your CRM (optional)
Process
-
Check for an existing capsule at
{vault_dir}/Capsules/{slug}.md.- If it exists and
force_refresh=false→ append a one-line refresh note to the History section and stop. - Otherwise → full research.
- If it exists and
-
Gather prospect data — collect the following. If a source is unavailable or uncertain, write
To enrich.(do not invent).- Current role and background: LinkedIn profile, company website, press releases. Note title, company, tenure, and any recent role change.
- Company context: industry, size, business model. Public filings, Crunchbase, or company site.
- Mutual connections / existing relationship: note any shared contacts, past interactions, or referrals.
- Recent signals: LinkedIn activity (posts, comments), job postings at their company, recent news (funding, product launch, M&A, regulatory event). These are the hooks for V3.
- Workflow pain: infer from their role + industry + your ICP definition. What time-consuming, error-prone, or high-stakes workflow does your product address for this person? Be specific (e.g. "manual reconciliation of X", "copy-paste between Y and Z").
-
Build three outreach angles — adapt these to your product using your
config.md:- V1 — Workflow pain: the concrete, manual task your product removes. Frame it from their daily reality, not your feature list.
- V2 — Expertise / peer credibility: a "practitioner-to-practitioner" angle — you understand their domain, not just their job title.
- V3 — External signal: a rebound off a recent market event, regulatory change, industry consolidation, or news item relevant to them. Shows you did your homework.
- Recommended angle: pick V1/V2/V3 based on what you found. Justify in one sentence.
-
Recommended action: propose a next step (
draft-outreach,warm-engage,research-more, orskip). Base it on fit with your ICP + strength of signals found. -
Render the capsule using
lib/capsule.py:render_capsule(research_input)and the template attemplates/capsule-template.md. -
Write the capsule file to
{vault_dir}/Capsules/{slug}.md(idempotent overwrite). -
Compute the CRM projection (optional):
lib/capsule.py:compute_notes_projection(research_input)→ a ≤ 200-character summary suitable for a CRM notes field. -
Log a line in
{vault_dir}/Daily/{YYYY-MM-DD}.md: skill name, slug, recommended angle, proposed action, capsule path.
Output
- Capsule path — absolute path of the written
.mdfile - One-line summary for your log or CRM:
{slug} — capsule {created|refreshed} — angle V{1|2|3} — action {draft-outreach|warm-engage|research-more|skip}
Guardrails
- Read-only on social sources. This skill never posts, likes, comments, or sends messages. Outreach is a separate, human-approved step.
- Do not invent signals. If a piece of information cannot be found or verified, write
To enrich.— never fabricate data to fill a section. - Defensive CRM writes. If you integrate CRM writes, wrap them so a transient API error never prevents the capsule file from being written (the
.mdis the primary output). - Idempotent. Re-running without
force_refresh=trueonly adds a history line — nothing is overwritten.
Files in this skill
prospect-research/
SKILL.md # this file — skill instructions for Claude
lib/
capsule.py # pure-Python rendering helpers (stdlib only)
templates/
capsule-template.md # Markdown template for Research Capsules
config-template.md # Fill this in with your ICP + vault path
examples/
example-research-input.py # Annotated example of a research_input dict
Quick start
- Copy
templates/config-template.mdtoprospect-research/config.mdand fill it in. - Ask Claude:
"Research [Name] at [Company] — slug: name-company". - The capsule lands in your configured vault directory.
Python helpers
See lib/capsule.py for the public API:
render_capsule(research_input, template_path=None) -> strwrite_capsule_file(slug, content, vault_dir) -> Pathcompute_notes_projection(research_input, max_len=200) -> strappend_interaction_line(capsule_path, line) -> None
All functions are pure Python (stdlib only), fully documented, and tested independently of any CRM or database backend.