⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
seed-closer
>-
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
// README
The Seed skill
11 Claude skills that take your startup from idea to funded: competitor research, investor matching, a business plan, a pitch deck and a closer that books your investor calls.
Free, MIT, no signup, no API key. The tools are plain Python that read free
public data (the App Store's own search and review feeds, SEC EDGAR) and do
the arithmetic. Everything they write lands in a seed/ folder in your
project, so every skill picks up where the last one stopped.
One finds the weak points of your competitors, straight from their own one-star reviews. Another researches the best investors for your idea, from public sources, and ranks them by fit with the reasons and the links. Then one turns your idea into a business plan, and another turns the plan into a pitch deck.
And the craziest one is the Closer. It writes a personalised outreach email to every investor on your list, keeps track of every conversation, sorts the replies, and follows up until an investor call is booked, with the calendar invite ready to send. So all you have to do is show up.
Nothing leaves your inbox until you say yes. The Closer drafts. Claude sends through your own Gmail connector only after you approve the batch, with a daily cap, an opt-out line in every email, and a thread that stops for good on a "no".
Install
Paste this into Claude:
https://github.com/Jakeschincariol/seed-skill
install skill
Or as a plugin, in Claude Code:
/plugin marketplace add Jakeschincariol/seed-skill
/plugin install seed-skill@seed-skill
Claude Code namespaces plugin skills, so installed as a plugin they show up as
/seed-skill:seed-scout and so on. Copy the folders instead if you want plain
/seed-scout:
git clone https://github.com/Jakeschincariol/seed-skill.git
cp -r seed-skill/seed-* ~/.claude/skills/
Project-local instead of global: copy the same folders into your repo's
.claude/skills/. No Claude Code at all? Paste any single SKILL.md at the
top of a chat and it runs as a mode. You lose the Python tools, but the method
works.
The tools need Python 3.8 or newer. Nothing to pip install. The investor
finder's SEC search asks you to identify yourself, as the SEC requires: put
your name and email in seed/config.json ("sec_user_agent": "Your Name [email protected]") or in the SEC_USER_AGENT environment variable.
To send email and book calls, connect Gmail and Google Calendar in Claude (Customize, Connectors) and set their send tools to "Needs approval".
The eleven
| command | job | what it does |
|---|---|---|
/seed-scout | Competitor Scout | Finds the weak points of your competitors: reads up to 500 of each rival app's latest App Store reviews and counts what the one- and two-star ones complain about. |
/seed-investors | Investor Finder | Researches the best investors for your idea from public sources and SEC Form D filings, then ranks them by fit with the reasons and the links. |
/seed-plan | Business Planner | Turns your idea into a business plan: the nine sections, with the unit economics worked out and every number cross-checked. |
/seed-deck | Pitch Deck Designer | Turns the plan into a 10-slide pitch deck, one self-contained file you can present or print to PDF. |
/seed-closer | The Closer | Sends personalised outreach to investors (only after your yes), manages the conversations, follows up and books the call. |
/seed-market | Market Sizer | Sizes your market top-down and bottom-up, TAM, SAM and SOM, with a source on every input. |
/seed-model | Financial Modeler | Builds the 36-month model: revenue, burn, runway, the month you break even and where the money goes. |
/seed-coach | Pitch Coach | Drills you on the hard questions this investor will ask, tailored to your numbers and your competitors. |
/seed-terms | Term Sheet Reader | Reads a SAFE or a term sheet in plain English, does the dilution math and flags the clauses to ask a lawyer about. |
/seed-dataroom | Data Room Builder | Builds the data room investors ask for and tells you what is missing. |
/seed-updates | Investor Updates | Writes the monthly update that keeps investors, and the ones who said "not now", warm. |
How to use it
Everything lands in a seed/ folder in your project, and each skill reads
what the last one wrote:
scout -> market -> model -> plan -> deck (the story and the numbers)
investors -> closer -> coach (the raise: who, the outreach, the call)
terms -> dataroom (when an investor says yes)
updates (every month, before and after)
Say what you want in plain words ("find my competitors' weak points", "who should I pitch", "write the deck", "follow up with everyone who hasn't replied") and Claude picks the skill.
Example: the reel
The startup in the reel is made up: Leashly, "a dog-walking app with flat prices and a backup walker on every walk", raising a $1.5M seed. The competitors and the market numbers are real.
/seed-scoutread the 500 most recent App Store reviews of Rover and of Wag! on October 25, 2026. Rover (4.9 stars, 515,771 ratings): 106 of its 341 one- and two-star reviews mention fees. Wag! (4.8 stars, 67,447 ratings): 81 of its 324 mention cancellations. Those are the weak points: fees, and walkers who cancel at the last minute./seed-marketsized it from APPA's 2026 report: $158 billion of US pet spending in 2025, and 71 million US homes (53%) with a dog./seed-modelran 36 months at $25 a walk and a 15% take rate, with the $1.5M raise (the example assumptions inseed-model/): $467,400 of revenue in year 1 and $2,993,520 in year 3, $2.23 of contribution per walk, LTV:CAC of 4.24x, peak burn $82,801 in month 5, break-even in month 29, and cash that never runs out (its low point is $252,553)./seed-planand/seed-deckturned that into the nine-section plan and the 10-slide deck that ends on "$1.5M seed to launch in 3 cities"./seed-investorsranked the investors who back pet and local-services marketplaces at seed (the reel's names, like Maya Chen of Northlight Ventures, are fictional too)./seed-closerdrafted one email per investor, each with its own first line ("Saw you led two pet-care seed rounds..."). After the yes, it followed up on day 3 and day 7 of the ones that went quiet, sorted the replies, answered Maya's take-rate question from the plan, and when she wrote "Thursday 10am works", wrote the invite: Leashly x Northlight Ventures, Thursday November 5, 10:00 AM ET./seed-coachprepared the 20-minute call, and/seed-termsand/seed-dataroomare there for what comes after it.
Fine print
No promise of funding. This is software that drafts, researches and does arithmetic. Investors decide whether to invest, based on your business. A better deck and a faster follow-up help; they do not guarantee a check.
Nothing sends without your yes. Only /seed-closer can lead to an email,
and only after you approve that batch in the chat. Set your Gmail connector's
send tool to "Needs approval" (Customize, Connectors, tool permissions), never
"Always allow", so Claude's own "Allow once / Deny" card is a second check.
Every email carries your real name and an opt-out line. A "no", an opt-out or
a bounce ends that thread for good. Default cap: 20 new emails a day.
Public sources only. The investor finder reads public pages (a firm's own site, public profiles found through search, SEC EDGAR, the press) and keeps the link for every fact. It never logs in anywhere, never scrapes behind a login and never scrapes LinkedIn. Check a fact before you lean on it in an email.
Not legal advice. /seed-terms explains the common clauses and does the
dilution math. Have a startup lawyer read anything befor
// HOW IT'S BUILT
// FILES
4 files shipped with this skill. Inline text is the catalog copy. The upstream link is the source repository.
seed-closer/SKILL.md13 KB6b71f2252002upstream ↗
--- name: seed-closer description: >- The Closer. Sends personalised outreach emails to investors, manages the conversations and keeps following up until an investor call is booked, and nothing leaves the user's inbox without their yes. Drafts one RFC 5322 .eml per investor from seed/investors.json and a template (a real personal line, the sender's real name and an opt-out line, generic lines refused), shows the batch, records the user's yes word for word, enforces a daily cap of 20, then Claude sends through the user's own Gmail connector where the Allow once card is a second check. Schedules follow-ups on +3 and +7 business days (3 touches at most, never after a reply), sorts replies into interested / question / not now / no / out of office, stops a thread for good on a no, an opt-out or a bounce, writes a valid .ics invite and shows the funnel. Reads seed/config.json and seed/investors.json, writes seed/pipeline.json, seed/outreach/ and seed/calls/. Use when the user says "email the investors", "send the outreach", "follow up with everyone who hasn't replied", "who do I follow up with today", "sort my replies", "book the call", "send her an invite", "how is the raise going", or after /seed-investors ranks the list. argument-hint: "[draft | batch | due | inbox | book | status]" --- # seed-closer The Closer does the part of a raise that eats the founder's week: one personal email per investor, the follow-ups nobody remembers to send, the replies sorted, and the call on the calendar. It writes everything; it never sends anything. Claude sends through the user's own Gmail, only after the user said yes to that exact batch in the chat, and Claude's own "Allow once" card asks again for every email. All the user has to do is say yes, show up and pitch. Investors decide; nothing here promises a check. `${CLAUDE_SKILL_DIR}` below is this skill's folder (where this SKILL.md lives). ```bash python3 "${CLAUDE_SKILL_DIR}/closer.py" draft --top 20 # one .eml per investor, status drafted python3 "${CLAUDE_SKILL_DIR}/closer.py" batch # recipients, their personal lines, the first email in full python3 "${CLAUDE_SKILL_DIR}/closer.py" approve --batch 3f9a1c2e --reply "yes" # the user's reply, word for word python3 "${CLAUDE_SKILL_DIR}/closer.py" outbox --json # exactly what to send: to, subject, body, thread python3 "${CLAUDE_SKILL_DIR}/closer.py" log --id maya-chen --event sent --thread-id 18c2f0a1 python3 "${CLAUDE_SKILL_DIR}/closer.py" due --today 2026-10-29 # who gets a follow-up today python3 "${CLAUDE_SKILL_DIR}/closer.py" followup --due --extra "Here's our 60-second demo: https://..." python3 "${CLAUDE_SKILL_DIR}/closer.py" inbox --file replies.json # sort replies, then --write python3 "${CLAUDE_SKILL_DIR}/closer.py" reply --id maya-chen --body-file answer.txt python3 "${CLAUDE_SKILL_DIR}/closer.py" book --id maya-chen --start "2026-11-05 10:00" --tz America/New_York --link https://meet.google.com/abc-defg-hij python3 "${CLAUDE_SKILL_DIR}/closer.py" status # the funnel ``` Every command takes `--dir` (default `./seed`) and `--today YYYY-MM-DD` (pin the date). `--json` on batch, outbox, due, inbox and status. ## What it reads and writes | file | what | | --- | --- | | `seed/config.json` | `startup` (name, one_liner, optional tagline, raise, stage), `founder` (your real name, the address you send from, company_address), `outreach` (daily_cap 20, followup_days [3, 7], max_touches 3, business_days true, optional holidays) | | `seed/investors.json` | from /seed-investors: id, name, firm, email, sources, fit, reasons, personal_line | | `template.txt` | the intro and the two follow-ups (this folder; copy it to `seed/template.txt` to make your own) | | `seed/outreach/<id>-<n>.eml` | each draft: a valid RFC 5322 message (CRLF, From, To, Subject, Date, Message-ID, plain text); follow-ups carry In-Reply-To | | `seed/pipeline.json` | one row per investor: status, touches, next_due, labels, notes, the waiting draft, the Gmail thread id, the call, the history | | `seed/calls/<id>.ics` | the invite: RFC 5545, CRLF, folded at 75 octets, UTC times, UID, SEQUENCE, ORGANIZER, ATTENDEE, the video link | ## The rules it enforces - **A real personal line or no email.** Each intro needs `personal_line`: one sentence about this investor from their public record. Refused: empty, under 7 words, cut off with "...", a placeholder, a stock opener ("hope this finds you well", "big fan", "love what you're doing", "impressive portfolio", "came across your profile"), the same line used for two people, and a line that names nothing from their row (a deal, a post, a sector, a number). Rows without an email or a public source URL are refused too. - **Your real name and the opt-out line.** `founder.name` must be a real name ("Your Name" is refused). Every intro and follow-up carries "Not a fit? Reply 'no' and I won't follow up." A batch whose .eml lost it is refused. - **The yes.** `approve` takes the user's reply word for word and the batch id `batch` printed. It counts only a reply that starts with "yes" and has no condition in it: "sure", "ok", "yes but drop Marcus", "yes tomorrow", "yes?" and a count that does not match the batch are not a yes. If the drafts changed after the batch was shown, the id no longer matches and nothing is recorded. `log --event sent` works only on an approved email. - **The daily cap.** 20 cold emails a day by default (intros and follow-ups, counting today's sends and every approved one not sent yet), 50 at most whatever the config says. Replies in a live conversation do not count. - **Three touches.** The intro on day 0, follow-up 1 on +3 business days and follow-up 2 on +7 (weekends and `outreach.holidays` skipped), never sooner than the planned gap after the touch before, and never once they replied. - **Stops.** A no, an opt-out or a bounce ends the thread for good: the waiting draft is void, nothing more is recorded, and `draft` refuses that address forever. "Not now" is a soft pass: no more follow-ups, and /seed-updates can keep them posted if they asked. - **Out of office** is not a reply: the follow-up waits until the business day after the return date it finds ("until Monday, November 9"), and a follow-up already drafted is voided and drafted again then. Statuses: drafted, approved, sent, replied, interested, booked, and the ends passed, bounced, optout. ## Sending: the Gmail-connector loop The user connects their own Gmail in Claude (Customize > Connectors) and sets the tools that send or draft to **Needs approval**, never Always allow. In Claude Code, keep them on ask in `.claude/settings.json` and never in allow. In the Claude Gmail connector checked on 2026-10-26 the tools are `send_message` (send), `create_draft` (leave it in Drafts), `reply` (answer inside a thread), `search_threads` and `get_thread` (read only); another Gmail connector may name them differently. Nothing goes out any other way: no mail-merge tool, no SMTP, no third-party sender. 1. `closer.py batch`. Show the user what it prints, as it prints it: every recipient with their personal line, the first email in full, the count against the daily cap. Ask: "Send these N emails from your Gmail? Reply yes or no." One batch per question. 2. `closer.py approve --batch <id> --reply "<their reply, word for word>"`. "Not recorded" means it was not a clear yes: ask again, never turn a reply into a yes yourself. To send fewer, show a smaller batch (`--ids`, `--limit`). 3. Only after "Recorded your yes", send each email from the JSON it printed, one tool call per email: `send_message` with that to, subject and body (or `create_draft` if the user would rather press send in Gmail). A follow-up or a reply goes in its thread with `reply` and the `thread_id`. Each call raises Claude's "Allow once / Deny" card: the second check. 4. After each send: `closer.py log --id <id> --event sent --thread-id <id from Gmail>`. Denied on the card: `log --id <id> --event denied` (back to drafted, it needs a new yes). Stop the loop if anything looks wrong. 5. Never from a scheduled or background task. A schedule may run `due`, `followup --due` and read replies; sending always waits for the user. ## Steps 1. Check `seed/config.json`: the user's real name, the address they send from, a postal address (anti-spam laws such as CAN-SPAM expect one). Read `seed/investors.json` from /seed-investors; ask before writing to anyone with a personal mailbox. 2. `closer.py draft --top 20`. Read back what it refused and why. Fix a refused personal line from the investor's sources, never by inventing a fact, then draft that id again. 3. Run the Gmail loop above for the batch: batch, the yes, send, log. 4. Every business day: `closer.py due`. For the ones due, `followup --due` (an optional `--extra` line for follow-up 1, `--ask` for the last one), then the same loop. 5. Read new replies with `search_threads` / `get_thread` (read only, for example `from:[email protected] newer_than:14d`). Put them in a replies.json (`[{"from", "subject", "date", "text"}]`) and run `inbox`. Show the user each label and the suggested next step, then `inbox --write`. Labelling the threads in Gmail (Interested, Asked a question, Not now) is optional: ask first. 6. A question: draft the answer from `seed/plan.json` and `seed/model.json` only (never a number that is not in them), `reply --id ... --body-file`, then the loop. The .eml carries no attachment: link the deck, or the user attaches the PDF in Gmail. 7. Interested: find two free slots with the user's calendar (read only, for example `suggest_time` or `list_events`) and offer them in a reply. When they agree on a time, `inbox --write` that reply, then `closer.py book`. Show the invite, ask "Send this invite to Maya? Reply yes or no", and after the yes create the event in the user's own calendar with the investor as a guest (Google Calendar `create_event` sends the invite), or attach the .ics to a reply in the thread. 8. `closer.py status` for the funnel. Hand off: /seed-coach `agenda` for each booked call, /seed-updates `--to prospects` for the soft passes, and /seed-terms and /seed-dataroom when an investor asks for next steps. ## Example: the reel Leashly is fictional, and so are the investors. `draft --top 6 --today 2026-10-26` writes six intros from the founder's own address; Maya Chen's (Northlight Ventures, fit 96) reads: ``` To: Maya Chen <[email protected]> Subject: Leashly: dog walks without the surprise fees Hi Maya, Saw you led two pet-care seed rounds, so you know the 20% fee problem better than anyone. Leashly is a dog-walking app with flat prices and a backup walker on every walk. We're raising a $1.5M seed. Open to a 20-minute call next week? Not a fit? Reply 'no' and I won't follow up. ``` After the user's "yes", Claude sends the six through Gmail. The reel's 40 emails would go out over two days at the daily cap of 20. With no reply, `due --today 2026-10-29` lists follow-up 1 on Thursday, Oct 29 (+3 business days), and follow-up 2 would come on Wednesday, Nov 4 (+7 business days; with `business_days: false` it is Monday, Nov 2). Maya replied on Oct 30: "What's your take rate, and how do you guarantee the backup walker?" `inbox` labels it Asked a question and the follow-ups stop. Claude answered from the plan ("15% flat, no owner fee. Every walk is booked with a second walker on standby within 1 mile.") and asked "Would Thursday at 10 work for 20 minutes?". Her "Thursday 10am works. Send an invite." is Interested, and ``` closer.py book --id maya-chen --start "2026-11-05 10:00" --tz America/New_York --link https://meet.google.com/abc-defg-hij ``` writes `seed/calls/maya-chen.ics`: "Leashly × Northlight Ventures · Intro call", DTSTART 20261105T150000Z, DTEND 20261105T153000Z (10:00 to 10:30 AM Eastern; the clocks went back on Nov 1, so it is UTC-05:00). The reel's funnel, 40 sent, 12 replied, 5 interested, shows in `status` as drafted 40, sent 40, replied 12 (30% of sent), interested 5, booked 1. ## What it never does - Never sends, and never lets Claude send, without the user's yes for that batch; never "yes to everything from now on"; never from a background task. - Never writes to anyone without a public source in their row, never guesses an email address, never collects a personal phone number or home address. - Never emails a thread again after a no, an opt-out or a bounce. - Never invents a fact in a personal line or a number in a reply. - Never promises funding. The pack does the work; investors decide.seed-closer/closer.py92 KB6aae3a36e92dupstream ↗
Contents are not inlined in the catalog. Open the upstream file.
seed-closer/template.txt1.3 KBdc753bd2f23bupstream ↗
# The Closer's email template (seed-closer). Everything above the first # "=== ... ===" line is a note for you and is never sent. To make your own, # copy this file to seed/template.txt: the Closer uses that copy when it exists. # # Placeholders the Closer fills: {first_name} {name} {firm} {personal_line} # {startup} {one_liner} {one_liner_sentence} {tagline} {raise} {stage} # {instrument} {sector} {geography} {sender} {sender_first} {title} # {company_address} {signature} {optout} {intro_subject} {intro_day} {extra} # {ask}. Write a literal brace as {{ or }}. # # Keep {personal_line} in the intro and {optout} and {signature} in every # section: the Closer refuses a draft without them. Follow-ups stay under 80 # words before the opt-out line. === intro === Subject: {startup}: {tagline} Hi {first_name}, {personal_line} {startup} is {one_liner_sentence}. We're raising a {raise} {stage}. Open to a 20-minute call next week? {optout} {signature} === followup 1 === Subject: Re: {intro_subject} Hi {first_name}, Bumping this up: my note from {intro_day} about {startup}, {one_liner_sentence}. {extra} Open to 20 minutes next week? {optout} {signature} === followup 2 === Subject: Re: {intro_subject} Hi {first_name}, Quick one, and my last note on this: {ask} {optout} {signature}README.mdupstream ↗
Contents are not inlined in the catalog. Open the upstream file.
Plain-text copy, no login: /skill-bundles/jakeschincariol-seed-skill-seed-closer.md