Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Investor Shortlist Builder

Build a structured, enriched investor shortlist (Excel, 31-column transaction pipeline) for any M&A or fundraising mandate — installed end-to-end as a Claude Code skill, in minutes.

Hectelion SA License: MIT Windows Python 3.9+ Claude Code skill

Every M&A advisor, banker or founder building an investor shortlist runs the same loop: open three spreadsheets of past investors, cross-reference LinkedIn and Outlook contacts, hunt down current decision-makers, find their emails, score relevance, drop everything into a clean Excel with a transaction pipeline. Half a day, every mandate.

This Claude Code skill automates the loop:

  1. Asks the right questions — target company, sector, mandate type (fundraise / sell-side / buy-side / refinancing), volume, investor typology, geography
  2. Searches multiple sources in parallel — local Excel databases of investors you've worked with before, your Outlook contacts, the open web (Firecrawl)
  3. Enriches emails via Dropcontact — with multi-pass fallback (CFO if CEO not found, then Head of M&A, then info@)
  4. Generates a clean Excel — branded cover page + 31-column investor table with the full transaction pipeline (First email → Teaser → NDA → IM → Management pitch → MBO/LOI → Dataroom → Signing → Closing) ready to fill as the deal progresses

Built for: M&A boutiques, investment banks, family office advisors, founders running their own fundraise, solo dealmakers.

Built by: Hectelion SA — independent M&A advisory, Lausanne (Switzerland).


Installation in 5 minutes — driven by Claude Code

No copy-paste of code, no PowerShell typing. You paste one prompt into Claude Code, click "Allow" to approve each step, answer 4 config questions, done.

How it works

  1. Have Claude Code installed and signed in (claude.com/claude-code).
  2. Open a terminal in any folder. Run claude.
  3. Copy-paste the prompt from CLAUDE_INSTALL_PROMPT.md into the conversation.
  4. Send. Claude Code: clones the repo, copies the skill files into ~/.claude/skills/investor-shortlist/, prompts you for your Dropcontact API key (or env var), asks where your local investor databases live (optional), writes config.yaml, runs a smoke test.
  5. From then on, in any Claude Code project, type /investor-shortlist to launch the questionnaire and build a new shortlist.

Why Claude Code (not Claude.ai web)? Because Claude Code can read your local Excel databases, scan your Outlook contacts (Windows COM), call Dropcontact and Firecrawl, write the final .xlsx to a network drive, and open it in Excel for you. Web chat can't.

Prerequisites

  • Windows 10 or 11 (macOS works for the core skill, but Outlook contact scanning is Windows-only)
  • Python 3.9+ on PATH (python.org)
  • Claude Code installed + active Anthropic plan
  • A Dropcontact API key — free trial at dropcontact.com (or skip Dropcontact and the skill falls back to web search + info@ patterns)
  • (Optional) Firecrawl MCP for live web research of current decision-makers

What you get

The questionnaire — 13 short questions, structured in 3 blocks

Block Questions
A — Target & mandate Client name + website, country, mandate type (fundraise / sell-side / buy-side / refi / restructuring)
B — Target profile Sector, sub-sector, funding round or M&A valuation range
C — Volume & typology Number of investors (15–20 / 20–30 / 30–50 / 50+), typology multi-select (HNWI/FO, institutional, strategic, public/para-public), investor geography
D — Sources & output Source mix (local / internet / hybrid), save path, filename

The Excel — 2 tabs, 31 columns

Tab 1 — Cover page (your firm name in your brand color)

FIRM NAME
TARGET COMPANY — Mandate type
Subtitle (e.g. "Series A investor shortlist — MedTech Switzerland")
Prepared for: Dr. Jane Doe, CEO TARGET COMPANY
Date: 21 May 2026
Targets: 48 investors Switzerland (financial, family offices, strategic, public)

Tab 2 — Investors (31 columns)

Identification  : # · Category · Investor · Country · City · Type · Focus · Civ · First · Last · Title · Email · Phone · Website
Scoring         : Score 1–5 (color-coded: 5 green, 4 pale blue, 3 grey, 2 orange)
Pipeline        : Type · Status · Contacted by · Last contact · First email · Date · Teaser · NDA · Date · IM · Date · Pitch date · MBO/LOI · Dataroom · Signing · Closing

The first 15 columns are populated by the skill. Columns 16–31 are the transaction pipeline you fill in over time — one row per investor, tracked from first email to closing.


Architecture

┌──────────────────┐     ┌─────────────────────┐     ┌─────────────────────┐
│   /investor-     │ ──▶ │  build_shortlist.py │ ──▶ │  YourClient.xlsx    │
│   shortlist      │     │  (this repo)        │     │  (Excel, 31 cols)   │
└──────────────────┘     └─────────────────────┘     └─────────────────────┘
        │                          │
        ▼                          ▼
┌──────────────────┐        ┌─────────────────┐
│  Local Excel     │        │  Dropcontact    │
│  databases       │ ─────▶ │  + Firecrawl    │
│  + Outlook       │        │  enrichment     │
└──────────────────┘        └─────────────────┘
  • Hybrid by default — first your own data (Outlook contacts, local Excel files of past investors), then the open web for fresh decision-makers
  • Your client data stays local — the skill writes the Excel to a path you choose (typically a OneDrive/SharePoint folder for the mandate)
  • Dropcontact is the only outbound call — and only for emails you opted to enrich; nothing else leaves your machine

Manual install (fallback, no Claude Code)

git clone https://github.com/hectelion-sa/claude-investor-shortlist.git
cd claude-investor-shortlist
python -m pip install openpyxl pyyaml pywin32 requests
copy config.example.yaml config.yaml
# Edit config.yaml: paste your Dropcontact API key, add local DB paths, customize brand
# Right-click install.ps1 → Run with PowerShell  (copies skill to ~/.claude/skills/)

Then in Claude Code, in any project: /investor-shortlist.


Configuration reference

config.yaml lives at ~/.claude/skills/investor-shortlist/config.yaml. Every option is documented inside config.example.yaml.

Section Purpose
dropcontact.api_key Your Dropcontact key. Set via env DROPCONTACT_API_KEY if you prefer.
local_databases List of {path, label} for your existing investor Excel files. Headers are auto-detected.
outlook.scan_contacts true = also scan your Outlook address book (Windows only).
output.default_folder Where new shortlists are saved by default.
output.filename_template Tokens {firm} {client} {mandate} {date} available.
brand.firm_name Your firm's name (cover page top-left).
brand.primary_color Hex (no #) — title color + table header fill.
brand.font_family Cover page + table font. Defaults to Cardo, but Calibri, Garamond, etc. all work.
defaults.prepared_by_initials Your initials, auto-filled in the "Contacté par" column.

How the enrichment works

Three sources, queried in this order:

  1. Local databasesopenpyxl reads every file in local_databases, fuzzy-matches sector + country, scores 1–5 based on focus alignment
  2. Outlook contacts (Windows) — PowerShell COM scan, then cross-reference by CompanyName and email domain. A hit here means you already know the contact → higher score, no Dropcontact call needed
  3. Web + Dropcontact — for investors with no contact info yet, Firecrawl (if MCP available) finds current decision-makers, then Dropcontact resolves their email. Multi-pass fallback if not found: try CFO instead of CEO, try Head of Investments, then info@

Every email is qualified: nominative@pro (validated), catch-all@pro (deliverable but not name-specific), not found. The Excel color-codes the qualification visually so you know which leads need a backup channel (LinkedIn DM, postal mail, etc.).

Anti-stale-data safeguards

  • The Dropcontact response for CEOs of large institutions is cross-checked against Firecrawl news to catch CEOs who've left in the last 12 months (Praemia REIM ex-Primonial pattern, 1875 Finance Pierre Mottu pattern, etc.)
  • If a name change is detected, the skill flags the row and asks you to confirm before keeping the contact

Privacy & safety

  • Your client data never goes to a third-party AI. Claude Code is in the loop only during runtime; it reads your local files and writes the Excel. Nothing is uploaded to Anthropic except the conversation context.
  • Dropcontact is the one external dependency. Per their GDPR policy, they don't keep enriched contacts.
  • Outlook scanning happens locally via COM. No mailbox content leaves your machine.
  • Source code is auditable — single-file Python (build_shortlist.py, ~450 lines).

Customizing for your firm

The default branding is Hectelion SA navy / Cardo. To use your own:

brand:
  firm_name: "Smith & Partners LLP"
  primary_color: "1A3258"           # your brand navy
  secondary_color: "0B1D38"
  font_family: "Calibri"             # or whatever your house font is
  logo_path: "C:\\firm\\logo.png"    # optional — embedded on cover page

Done. Every shortlist generated from then on uses your branding.


Uninstall

Remove-Item -Recurse -Force "$env:USERPROFILE\.claude\skills\investor-shortlist"

That's it. No scheduled task, no service, no registry edits.


License

MIT — see LICENSE. Use it, fork it, modify it for your firm, sell consulting on top of it. Pull requests welcome.


Disclaimer

This is an independent open-source project by Hectelion SA. It is not affiliated with, endorsed by, or sponsored by Anthropic, Dropcontact or Firecrawl. "Claude" and "Claude Code" are trademarks of Anthropic, PBC.


About Hectelion SA

Hectelion SA is an independent M&A advisory boutique based in Lausanne, Switzerland. We advise founders, family offices and corporates on the full transaction lifecycle:

  • M&A sell-side & buy-side mandates — France–Switzerland axis, deal sizes from CHF 2M to CHF 500M
  • Business valuations — independent valuation reports (DCF, multiples, asset-based) for tax, transaction, litigation
  • Intangible asset valuations — patents, trademarks, customer lists, technology
  • Financial due diligence — buy-side, sell-side, vendor due diligence
  • Transaction structuring — capital structure, earn-out design, deferred consideration, PPA

Why we open-source our internal tools: building an investor shortlist is repetitive admin we don't bill clients for, but it eats half a day per mandate. When we automate one of these steps for ourselves, we publish the result so peers benefit too.

Get in touch:

If your business is approaching a sale, an acquisition, a fundraising round, or needs an independent valuation — reach out.


Made with care by Hectelion SA — Lausanne, Switzerland.

About

Claude Code skill that builds branded M&A / fundraising investor shortlists — local DBs + Outlook + Firecrawl + Dropcontact → Excel with 31-column transaction pipeline.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages