yc-batch-evaluator
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
npx skills add gooseworks-ai/goose-skills --skill yc-batch-evaluator --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Scrapes a YC batch directory to enumerate companies, then researchers each company and its founders (via YC pages and Apollo), evaluates founder–company fit, analyzes the company website, and exports results to Google Sheets with a 12-column row per company that updates live as results complete. The process is designed to create a new Google Sheet for each run and to stream updates row-by-row in batches of 3-5 companies.
How it works
- Setup credentials from ~/.gooseworks/credentials.json and export GOOSEWORKS_API_KEY and GOOSEWORKS_API_BASE. If credentials are missing, run
npx gooseworks login. - Step 1: Scrape the YC Batch Directory by posting to the Goose API with api
scrapegraphand path/v1/smartscraper, supplying the batch page URL. The system expects structured data of companies with fields: name, description, tags, location, and url_slug. If sectors are not provided at batch level, the pages may provide richersectorsdata later. - Step 2: Create a new Google Sheet via an API call to
google-sheetswith path/create-spreadsheet, then populate the header and initial rows with company names and descriptions. The sheet columns A-N are predefined, with A: Company, B: Description, C: Sector, D: Location, E: Website, F: Founders, G: Founder LinkedIn(s), H: Founder Twitter/X, I: Founder Background, J: Founder-Company Fit, K: Website Analysis, L: Market/Competitors, M: Overall Assessment, N: Priority Rank. - Step 3: Research Each Company — Row by Row
- 3a. Scrape YC company page to obtain full description, founders (with LinkedIn and Twitter URLs), website_url, location, sectors, team_size, founding_year. Exclude YC staff from founders. Use fields like
website_url,sectors, andlocationfrom the page data, preferringsectorsfrom the individual page over batch tags if available. - 3b. Scrape the company’s own website for product, pricing, features, traction signals, and hiring signals; return fields such as product_description, target_customer, pricing, key_features, traction_signals, hiring_signals.
- 3c. Apollo — founder work history: call with founder LinkedIn URL to fetch employment_history, city/state for location fallback, and headline. If LinkedIn is missing, fallback to name + company via
first_name,last_name, andorganization_name. - 3d. Perplexity — market context: provide market size/opportunity, top competitors, founder qualification, traction or mentions, and red flags.
- 3a. Scrape YC company page to obtain full description, founders (with LinkedIn and Twitter URLs), website_url, location, sectors, team_size, founding_year. Exclude YC staff from founders. Use fields like
- Step 4: Compile and Update Each Row
- For each completed company, perform a Google Sheets update with exactly 12 values in this order: sectors, location, website, founders, linkedins, twitters, background, fit, website_analysis, market, overall, (blank for N). Each row is updated via its own
update-valuescall as soon as the data is ready, not batched.
- For each completed company, perform a Google Sheets update with exactly 12 values in this order: sectors, location, website, founders, linkedins, twitters, background, fit, website_analysis, market, overall, (blank for N). Each row is updated via its own
- Formatting rules
- All links must be plain URLs (no HYPERLINK formatting).
When to use it
Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies. The skill defaults to Spring 2026 batch if not specified and aims to process all companies when sector/thesis filters are not provided.
What it can touch
The workflow references endpoints for: scrapegraph, google-sheets (create-spreadsheet and update-values), apollo/people/match, and perplexity. It requires an API key and base URL from ~/.gooseworks/credentials.json and utilizes Bearer authentication.
Caveats
The tool requires explicitly starting the process without clarifying questions. It creates a new Google Sheet for each run and streams updates in near real-time. The batch page may provide only high-level tags; individual YC pages provide richer sectors data. Some fields (LinkedIn, Twitter) may be null and are handled with fallbacks.
# YC Batch Evaluator ## Setup Read your credentials from ~/.gooseworks/credentials.json: ```bash export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])") export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))") ``` If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login` All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"` Scrape a YC batch, research every company and founder, assess founder-company fit, and export a live-updating Google Sheet with priority rankings. Designed for investors evaluating YC companies. ## IMPORTANT: Do NOT ask clarifying questions. Just start immediately. All inputs are optional. If the user said a batch, use it. If they didn't specify sectors or thesis, process ALL companies. **Always create a new Google Sheet** — never ask for an existing spreadsheet ID. **Start scraping immediately — do not ask "which batch?", "any sector filters?", or "should I create a sheet?".** This is designed for live demos where speed and visua
- Setup
- IMPORTANT: Do NOT ask clarifying questions. Just start immediately.
- Input
- Step 1: Scrape the YC Batch Directory
- Step 2: Create Google Sheet and Share Link Immediately
- Step 3: Research Each Company — Row by Row
- Parallelization Strategy
- 3a. Scrape the YC company page (~$0.03 each)
- 3b. Scrape the company's own website (~$0.03 each)
- 3c. Apollo — founder work history (~$0.01 per founder)
- 3d. Perplexity — market context (~$0.005 each)
- Step 4: Compile and Update Each Row
- Formatting rules
- Founder-Company Fit (J) — Strong / Moderate / Weak
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/apollo/people/match \
Step 5a: Read all current data
Step 5b: Sort the rows by column N (Priority Rank) ascending, then rewrite ALL rowsWhat does the yc-batch-evaluator skill do?
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
How do I install it?
Run `npx skills add gooseworks-ai/goose-skills --skill yc-batch-evaluator --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From gooseworks-ai/goose-skills, a repository with 1,091 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
