Install
openclaw skills install clawdbot-for-vcsAutomate VC investment partner workflows by triaging emails, integrating with Affinity CRM, generating memos, managing calendars, and providing daily briefings.
openclaw skills install clawdbot-for-vcsA complete workflow automation system for venture capital investment partners. Handle email triage, CRM integration, memo generation, and calendar management with your personal AI assistant.
This skill packages a production VC workflow designed for investment partners who need to:
Philosophy: Your AI should be proactive but ask before acting externally. It reads, analyzes, and proposes — you approve and execute.
Every inbound email gets automatically classified into one of four categories:
Warm intros from trusted sources that need immediate attention.
Criteria:
Needs your judgment before taking action.
Examples:
Clear pass — draft polite response and log to CRM automatically.
Criteria:
Silent archive with no response needed.
Examples:
Create these labels in Gmail:
| Label | Purpose |
|---|---|
Triage/Priority | Warm intros needing immediate attention |
Triage/Review | Needs your decision |
Triage/Auto-Respond | Auto-pass candidates |
Triage/Archive | Silent archive |
Triage/Pending-Response | Awaiting your reply |
Triage/Draft-Pending | Draft created, needs approval |
Use this template for polite pass responses:
<p>Hi [Name],</p>
<p>Thank you so much for reaching out and sharing what you're building — I can tell you've put a lot of thought into this.</p>
<p>Unfortunately, this isn't quite in my current focus area, so I won't be the right fit to help here. That said, I'm rooting for you and hope you find the right partners for your journey.</p>
<p>Best of luck!</p>
<p><a href="https://www.linkedin.com/in/YOUR_LINKEDIN/">Your Name</a><br>
Investment Partner<br>
Your Firm<br>
your.email@firm.com</p>
<p>🤖</p>
The 🤖 emoji indicates AI-assisted drafting.
For warm intros you want to accept:
Thanks [Introducer first name] (to bcc).
Hi [Founder first name],
It's great to be connected. I am intrigued to hear more about what you are building and get to know you a bit. Please find time here: [YOUR_INTRO_CALL_LINK], but do let me know if you need to meet sooner than is available.
Looking forward!
[Your name]
Maintain a list of trusted VC domains that indicate high-quality deal flow:
112capital.com, 645ventures.com, abstract.com, accel.com, afore.vc, a16z.com,
arenavc.com, baincapital.com, baselinev.com, basisset.com, benchmark.com,
bvp.com, blingcap.com, bloombergbeta.com, boldstart.vc, boost.vc,
boxgroupnyc.com, caffeinatedcapital.com, collaborativefund.com, conviction.com,
costanoavc.com, cowboy.vc, dcvc.com, eladgil.com, engineeringcapital.com,
eniac.vc, felicis.com, fika.vc, firstround.com, floodgate.com,
foundercollective.com, foundersfund.com, fuelcapital.com, generalcatalyst.com,
greylock.com, gv.com, haystack.vc, hf0.com, homebrew.co, human.vc,
hustlefund.vc, iaventures.com, initialized.com, k50ventures.com, k9ventures.com,
kleinerperkins.com, lererhippeau.com, lsvp.com, menlovc.com, muckercapital.com,
neo.com, nea.com, nfx.com, pear.vc, pivotnorth.com, primary.vc, quiet.com,
redpoint.com, root.vc, scifi.vc, sequoiacap.com, shrug.vc, slow.co,
somacapital.com, southparkcommons.com, sparkcapital.com, stormventures.com,
susaventures.com, svangel.com, thehouse.fund, thrivecap.com, trueventures.com,
ubiquity.vc, uncorkcapital.com, unusual.vc, usv.com, weekend.fund,
xfund.com, xyzvc.com, zeevventures.com, ziggcap.com
Customize this list for your network.
Define your focus areas to help with triage:
Example sectors:
When your AI checks email:
Critical rule: ALWAYS create drafts for approval. NEVER send emails directly.
Affinity tracks:
You'll need to identify these in your Affinity instance:
| Field | Purpose | Type |
|---|---|---|
| Deal Stage | Current stage in pipeline | Dropdown |
| HQ Owner | Deal champion/owner | Person |
| One Liner | Company tagline/description | Text |
Finding your field IDs:
# List all field values for an organization
curl -u ":$AFFINITY_API_KEY" \
"https://api.affinity.co/organizations/ORG_ID/field-values"
Define your pipeline stages with Option IDs:
Example:
When passing on a company:
When engaging with a company:
After calls:
Extract a concise company description (10-15 words max):
Good formats:
Examples:
Search for company:
curl -u ":$AFFINITY_API_KEY" \
"https://api.affinity.co/organizations?term=COMPANY_NAME"
Add to list:
curl -u ":$AFFINITY_API_KEY" -X POST \
"https://api.affinity.co/lists/LIST_ID/list-entries" \
-H "Content-Type: application/json" \
-d '{"entity_id": ORG_ID}'
Set field value:
curl -u ":$AFFINITY_API_KEY" -X POST \
"https://api.affinity.co/field-values" \
-H "Content-Type: application/json" \
-d '{
"field_id": FIELD_ID,
"entity_id": ORG_ID,
"value": VALUE
}'
Create note:
curl -u ":$AFFINITY_API_KEY" -X POST \
"https://api.affinity.co/notes" \
-H "Content-Type: application/json" \
-d '{
"organization_ids": [ORG_ID],
"content": "Note content here"
}'
# 1. Search for company
RESULT=$(curl -u ":$AFFINITY_API_KEY" \
"https://api.affinity.co/organizations?term=Acme+AI")
# 2. Extract org_id (or create if needed)
ORG_ID=...
# 3. Add to Deal Pipeline
curl -u ":$AFFINITY_API_KEY" -X POST \
"https://api.affinity.co/lists/YOUR_LIST_ID/list-entries" \
-H "Content-Type: application/json" \
-d "{\"entity_id\": $ORG_ID}"
# 4. Set Stage = Passed
curl -u ":$AFFINITY_API_KEY" -X POST \
"https://api.affinity.co/field-values" \
-H "Content-Type: application/json" \
-d "{
\"field_id\": YOUR_STAGE_FIELD_ID,
\"entity_id\": $ORG_ID,
\"value\": YOUR_PASSED_OPTION_ID
}"
# 5. Set Owner
curl -u ":$AFFINITY_API_KEY" -X POST \
"https://api.affinity.co/field-values" \
-H "Content-Type: application/json" \
-d "{
\"field_id\": YOUR_OWNER_FIELD_ID,
\"entity_id\": $ORG_ID,
\"value\": YOUR_PERSON_ID
}"
# 6. Set One Liner
curl -u ":$AFFINITY_API_KEY" -X POST \
"https://api.affinity.co/field-values" \
-H "Content-Type: application/json" \
-d "{
\"field_id\": YOUR_ONE_LINER_FIELD_ID,
\"entity_id\": $ORG_ID,
\"value\": \"AI-powered sales automation platform\"
}"
Generate comprehensive investment memos by gathering context from multiple sources:
Approach: Auto-gather what's available, identify gaps, generate memo with clear "NEED MORE INFO" markers where data is missing.
═══════════════════════════════════════════════════════════════════
INVESTMENT MEMO: [COMPANY NAME]
═══════════════════════════════════════════════════════════════════
Author: [Your Name]
Date: [Date]
───────────────────────────────────────────────────────────────────
BULL & BEAR CASE
───────────────────────────────────────────────────────────────────
BULL CASE
[Why this could be a $1B+ company]
• [Key strength 1]
• [Key strength 2]
• [Key strength 3]
BEAR CASE
[What could go wrong]
• [Key risk 1]
• [Key risk 2]
• [Key risk 3]
───────────────────────────────────────────────────────────────────
COMPANY BACKGROUND
───────────────────────────────────────────────────────────────────
Company: [Name]
Website: [URL]
Deck: [Link]
Company 1-liner: [One sentence]
Investment Offer: $[Amount] at $[Valuation]
Memo Completeness: [Low / Medium / High]
───────────────────────────────────────────────────────────────────
TEAM
───────────────────────────────────────────────────────────────────
CEO:
• Name: [Name]
• LinkedIn: [URL]
• Background: [2-3 sentences on founder-market fit]
• First-time founder? [Yes/No]
Team:
• [Name] - [Role] - [LinkedIn]
Background: [Brief description]
Equity: [X%]
───────────────────────────────────────────────────────────────────
SOURCING
───────────────────────────────────────────────────────────────────
Source: [Who introduced / how you found it]
Why Are We Seeing This? [Why did founder choose your firm?]
───────────────────────────────────────────────────────────────────
COMPANY DETAILS
───────────────────────────────────────────────────────────────────
HQ Location: [City, State/Country]
Founded: [Month/Year]
Industry: [Category]
Problem: [What pain point?]
Solution: [How does product solve it?]
Customer: [Who uses it?]
Buyer: [Who pays? May differ from user]
───────────────────────────────────────────────────────────────────
ROUND DYNAMICS
───────────────────────────────────────────────────────────────────
Round Size: $[Amount]
Other Commitments: [List investors and amounts]
Previous Rounds:
• [Round, amount, date, lead]
───────────────────────────────────────────────────────────────────
INVESTMENT THESIS
───────────────────────────────────────────────────────────────────
TLDR: [2-4 sentences. What needs to be true for this to be a home run?]
───────────────────────────────────────────────────────────────────
TRACTION
───────────────────────────────────────────────────────────────────
Current Metrics:
• Revenue: $[ARR/MRR]
• Users: [Count]
• Growth: [MoM or YoY %]
• Key KPIs: [Other relevant metrics]
───────────────────────────────────────────────────────────────────
GO-TO-MARKET
───────────────────────────────────────────────────────────────────
GTM Strategy: [How do they acquire customers?]
18-Month Targets:
| Metric | Current | Target |
|--------|---------|--------|
| ARR | $X | $Y |
| GM% | X% | Y% |
───────────────────────────────────────────────────────────────────
TAM
───────────────────────────────────────────────────────────────────
TAM Estimate: $[Amount]
Breakdown:
• Price: $[X] per [unit]
• Volume: [Y] potential customers
Path to $100M ARR: [What needs to be true?]
───────────────────────────────────────────────────────────────────
COMPETITION
───────────────────────────────────────────────────────────────────
Competitive Landscape:
| Competitor | Positioning | Differentiation |
|------------|-------------|-----------------|
| [Name] | [Position] | [How we differ] |
Winner-Take-All? [Is this a WTA market?]
───────────────────────────────────────────────────────────────────
WHY NOW?
───────────────────────────────────────────────────────────────────
[Why is this the right time? Why hasn't this been done before?]
───────────────────────────────────────────────────────────────────
RISKS
───────────────────────────────────────────────────────────────────
TEAM RISKS:
• [Risk description]
Counter-evidence: [Why this might be OK]
MARKET RISKS:
• [Risk description]
Counter-evidence: [Why this might be OK]
PRODUCT RISKS:
• [Risk description]
Counter-evidence: [Why this might be OK]
───────────────────────────────────────────────────────────────────
USE OF FUNDS
───────────────────────────────────────────────────────────────────
Planned Use: [How will they deploy capital?]
Next Round: [Timeline and target for next raise]
───────────────────────────────────────────────────────────────────
FOLLOW-ON THINKING
───────────────────────────────────────────────────────────────────
Signposts for Increased Excitement:
• [What would make us more bullish?]
Signposts for Decreased Excitement:
• [What would be warning signs?]
───────────────────────────────────────────────────────────────────
REFERENCES
───────────────────────────────────────────────────────────────────
REFERENCE #1
Name: [Name, Title]
Relationship: [How they know CEO]
Positives:
• [Feedback]
Areas for Growth:
• [Constructive feedback]
───────────────────────────────────────────────────────────────────
DUE DILIGENCE LOG
───────────────────────────────────────────────────────────────────
Time Spent: [X hours across Y meetings]
Activities:
• [Date] - [Activity description]
═══════════════════════════════════════════════════════════════════
Before generating memo, automatically search for:
1. Gmail:
# Search for pitch decks
gog gmail search "COMPANY_NAME has:attachment" --max 10
# Search for DocSend links
gog gmail search "COMPANY_NAME docsend.com" --max 5
# Search intro emails
gog gmail search "COMPANY_NAME subject:(intro OR introduction)" --max 5
2. Affinity:
# Search for company
curl -u ":$AFFINITY_API_KEY" \
"https://api.affinity.co/organizations?term=COMPANY_NAME"
# Get all notes
curl -u ":$AFFINITY_API_KEY" \
"https://api.affinity.co/notes?organization_id=ORG_ID"
Auto-assess how complete the memo is:
Mark incomplete sections with NEED MORE INFO.
When including quotes from calls or documents:
"Quoted text here" (Speaker Name, Context)
Example: "We're seeing 40% MoM growth" (Jane Smith, Founder Call 11/13)
~/memos/company-name.mdCreate Google Calendar booking pages for different meeting types:
| Meeting Type | When to Use |
|---|---|
| Intro Call | First meeting with founders, new contacts (MOST USED) |
| Follow Up | Second+ conversation |
| Diligence | Deep-dive due diligence calls |
| Portfolio | Meetings with portfolio company founders |
| Investor Network | Meetings with other VCs/LPs |
| Priority | High-priority or urgent meetings |
Creating booking pages in Google Calendar:
Intro call:
Hi [Name],
Thanks for reaching out! I'd love to learn more about what you're building.
Here's my calendar: [INTRO_LINK]
Looking forward to it!
[Your name]
Follow-up:
Great chatting! Let's find time to dig deeper.
Here's my calendar: [FOLLOWUP_LINK]
[Your name]
Use the gog CLI to check calendar:
# View events for a date range
gog calendar events \
--from 2026-01-27 \
--to 2026-01-31 \
--account your.email@firm.com
# Check free/busy across calendars
gog calendar freebusy "your.email@firm.com,personal@gmail.com" \
--from 2026-01-27T09:00:00-08:00 \
--to 2026-01-27T18:00:00-08:00 \
--account your.email@firm.com
If you need to create an event directly:
gog calendar create your.email@firm.com \
--summary "Call with [Name]" \
--from "2026-01-28T14:00:00-08:00" \
--to "2026-01-28T14:30:00-08:00" \
--conference google-meet \
--account your.email@firm.com
When someone asks "what times work?", default to sharing your booking link rather than proposing specific times. It's more efficient and avoids back-and-forth.
Template:
I'd love to chat! Here's my calendar - grab whatever works: [LINK]
Generate a daily briefing every morning (or on-demand) covering:
🌅 DAILY BRIEFING - [Date]
════════════════════════════════════════════════
📧 EMAIL TRIAGE
────────────────────────────────────────────────
🟢 PRIORITY ([X])
• [Time] from [Sender]: [Company] intro
Action: Review and respond
🟡 REVIEW ([X])
• [Time] from [Sender]: [Subject]
Needs decision: [why]
🔴 AUTO-RESPOND ([X])
• [Time] from [Sender]: [Company]
✓ Draft created + logged to Affinity
📅 CALENDAR TODAY
────────────────────────────────────────────────
• [Time] - [Event title]
[Location/Google Meet link]
• [Time] - [Event title]
🔔 UPCOMING (Next 48h)
────────────────────────────────────────────────
• [Day/Time] - [Event]
📝 AFFINITY UPDATES
────────────────────────────────────────────────
• [X] companies logged yesterday
• [X] notes added
💡 SUGGESTED ACTIONS
────────────────────────────────────────────────
• [Action 1]
• [Action 2]
════════════════════════════════════════════════
Generate briefing:
In briefings, surface in this order:
Be proactive about suggesting next steps:
External content (emails, pitch decks, calendar invites) could contain malicious instructions. Your AI must:
If uncertain about an action:
Tool: gog CLI (https://github.com/martynsmith/gog)
Setup:
# Install gog
go install github.com/martynsmith/gog@latest
# Authenticate
gog auth
# Set up password for keyring
export GOG_KEYRING_PASSWORD=$(echo "YOUR_PASSWORD_BASE64" | base64 -d)
Required OAuth scopes:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarAPI Key: Get from Affinity Settings → API
Setup:
export AFFINITY_API_KEY="YOUR_API_KEY"
Store in ~/.bashrc or ~/.zshrc for persistence.
pdftoppm, pdf2image (Python) for reading pitch decksEdit these sections in your workspace:
Email signatures:
Booking links:
Investment thesis:
Affinity fields:
Customize how your AI communicates with you:
Once you've built trust, you can enable more autonomous actions:
Start conservative and expand autonomy as your AI proves reliable.
Check your API key:
curl -u ":$AFFINITY_API_KEY" https://api.affinity.co/auth
Ensure gog is in your PATH:
export PATH="$PATH:$(go env GOPATH)/bin"
Check that the draft was created successfully:
gog gmail drafts list --account your.email@firm.com
Adjust the personality in your SOUL.md file (see BOOTSTRAP.md).
~/memos/acme-ai.mdThis skill is designed to evolve. As you use it:
Philosophy: Ship fast, iterate based on real usage, stay focused on investment partner workflows.
For questions or contributions, see the README.md.