{"slug": "analyst-kit-yc-w23-turn-your-claude-codex-into-an-investment-analyst-free", "title": "Analyst Kit (YC W23): Turn your Claude / Codex into an investment analyst (Free)", "summary": "Analyst Kit (YC W23) has released a free, open-source set of hedge-fund-grade equity-research skills for AI coding agents like Claude and Codex. The skills, which include capabilities for SEC filings, financial modeling, and charting, can be installed as plugins to turn AI agents into investment analysts.", "body_md": "Installable, hedge-fund-grade **equity-research skills** for AI coding agents.\nEach skill is a self-contained folder of instructions (and, where useful, runnable\nscripts) that an agent loads on demand. Install them into Claude Code as a plugin,\nor copy them into any agent runtime with the bundled installer.\n\nThe skill frontmatter is the single source of truth — the registry, the plugin manifests, and the installer all derive from it.\n\nThe skills split into **capabilities** (one atomic job — a data source, an engine,\na deliverable, or reusable knowledge) and **workflows** (an engagement entry point\nthat orchestrates capabilities via `requires:`\n\n). The \"Needs\" column lists runtimes,\nAPI keys, and required skills.\n\n| Skill | Type | What it does | Needs |\n|---|---|---|---|\nanalyst-playbook |\ncapability | How to structure any analysis before fetching a number: pick the deliverable, align fiscal calendars and frequencies, normalize units, route series to the right skill, and apply per-sector conventions | — |\n13f-analysis |\ncapability | Fetch & read U.S. institutional 13F-HR holdings from SEC EDGAR — resolve a fund to its CIK, pull a quarter's holdings as a normalized, ranked CSV, and read it without the common traps |\nPython (stdlib) |\nsec-filings |\ncapability | Fetch & read U.S. SEC filings (10-K, 10-Q, 8-K, any EDGAR form) — risk factors, MD&A, material events, segment data, insider trades, earnings 8-K exhibits — with ticker→CIK resolution and BM25 search for large filings | Python (stdlib) |\nfinancialmodellingprep |\ncapability | Call the Financial Modeling Prep REST API — daily prices, news, profiles, screener, quarterly income statements, fiscal-period info, earnings-call transcripts — with exact endpoints, params, and field schemas | Python · `FMP_API_KEY` |\nfinmind |\ncapability | Pull Taiwan (TWSE/TPEx) market data — prices, monthly revenue, financials, dividends, shareholding, institutional flows — via the FinMind API | Python · `FINMIND_TOKEN` |\nmarket-intelligence |\ncapability | Nowcast a company's quarter and predict a revenue segment from Google Trends search-interest (via SerpAPI) — keyword selection, normalization to a quarterly index, and a quarter-to-date nowcast | Python · `SERPAPI_API_KEY` |\ncompany-universe-manager |\ncapability | Own a watchlist of companies and their key dates (earnings, investor days, ex-dividend, AGMs…): roster CRUD, a daily monitor that detects date changes, and a daily brief (markdown or branded PDF). Pluggable local-folder or connected-server storage |\nPython · financialmodellingprep, reporting |\nanalyzing-financial-statements |\ncapability | Calculate & interpret financial ratios (profitability, liquidity, leverage, efficiency, valuation, per-share) from statement data, with industry benchmarking | Python (stdlib) |\ncreating-financial-models |\ncapability | DCF valuation, M&A accretion/dilution, sensitivity analysis (data tables, tornado charts), and probability-weighted best/base/worst scenario planning | Python · numpy/pandas |\ncharting |\ncapability | Financially-correct charts: a thin Python/Polars layer normalizes data → a TypeScript layer emits Highcharts options + a self-contained HTML page (trends, segments, margins, dividends, surprise, waterfalls, price) | Node · Python |\nreporting |\ncapability | Assemble charts, tables, and analyst text into a branded PDF — A4 portrait report or 16:9 deck — from ready-made page templates; remembers your logo and brand colors | Node · charting |\nwiki-builder |\ncapability | Serve any folder of markdown as a navigable browser wiki (sidebar, table of contents, frontmatter chips, ECharts) | Bun |\ndata-analysis |\ncapability | End-to-end analysis of a structured dataset (CSV/JSON/Excel/SQL) — profile, clean, visualize, model, and report with reproducible code | — |\nsingle-stock-deep-dive |\nworkflow | Forensic, decision-useful deep dive on one stock: thesis, valuation, catalysts, variant perception, value-chain adjacencies | — |\nthematic-investing |\nworkflow | Map a theme or trend into an investable value chain — who benefits, where value accrues, what's mispriced | company-universe-manager |\ntechnical-analysis |\nworkflow | Disciplined technical analysis with concrete entry/exit levels: regime classification, a three-layer confluence stack, and ATR-based stops/sizing/targets from a zero-dependency indicator engine | Python · charting |\ncompany-wiki |\nworkflow | Build a multi-page company-research wiki (overview, products, 5-year financials, model, competitors, citations) as a deployed web app | `FMP_API_KEY` · wiki-builder, company-universe-manager |\n\n**One command — works on macOS, Linux, and Windows (inside WSL2 — see below).** It\ninstalls\n\n*all*the skills into your chosen runtime and wires them into the agent's system/common prompt. Needs only\n\n**Node ≥ 18**(which detects your OS and installs to the right paths):\n\n```\nnpx github:mohitjandwani/analyst-kit claude-code      # or: codex · openclaw · cowork\n```\n\nSwap `claude-code`\n\nfor `codex`\n\n, `openclaw`\n\n, or `cowork`\n\n; add `--scope project`\n\nto install into the current\nproject (`./.claude/skills`\n\n, …) instead of your home directory. Already cloned the repo? `node bin/analyst-kit.js claude-code`\n\ndoes the same (plus `list`\n\n, `doctor`\n\n, `uninstall`\n\n, or `install <skill|persona>`\n\nfor just one).\n\nFor **Claude Cowork**, the command prints the in-app steps and writes `cowork-global-instructions.md`\n\nto paste\ninto **Settings → Cowork → Global instructions** — Cowork installs the skills themselves through its plugin\nmarketplace (below).\n\nOn Windows:run insideWSL2— native Windows (PowerShell/cmd) is unsupported because the skill runtime is POSIX/bash. See[Windows: use WSL2]below.\n\nBoth **Claude Code** and ** Claude Cowork** (Anthropic's desktop app)\ninstall from the same plugin marketplace:\n\n**Claude Code:**\n\n```\n/plugin marketplace add mohitjandwani/analyst-kit\n/plugin install us-stock-analyst@analyst-kit    # or international-analyst / taiwan-stock-analyst\n```\n\n**Claude Cowork**(desktop app):** Customize → Plugins → Personal plugins → + → Add marketplace**→`mohitjandwani/analyst-kit`\n\n, add the**us-stock-analyst** plugin, then enable**Settings → Capabilities → Code execution**.\n\nAfter installing, ask a trigger phrase (e.g. \"deep dive on NVDA\") and the matching skill loads. From a clone you can also self-test the installers across every platform:\n\n```\nnpm run test:integration     # real installs per platform + the path.win32 path-layer check\n```\n\nCodex (any OS, no ChatGPT login needed) — confirm a skill is reachable with an API key:\n\n```\nCODEX_API_KEY=sk-... codex exec --json \"use the sec-filings skill to list NVDA's latest 8-K\"\n```\n\nSee ** compatibility.md** for what each runtime does underneath — where skills land, the\nrouting table, and Windows specifics.\n\nAnalyst Kit's skills run a POSIX/bash runtime (`analyst-kit-core`\n\n), so on Windows they are\nsupported **only inside WSL2**. This matches what the agents themselves require:\nClaude Code's sandbox runs on macOS, Linux, and WSL2 (native Windows is\nunsupported), and Codex's Linux mode is WSL2 as well.\n\n**Recommended:** install[WSL2](https://learn.microsoft.com/windows/wsl/install), then run Claude Code (or Codex)**and** this installer*inside*your WSL2 distribution — everything then behaves exactly like Linux.- Native Windows (PowerShell/cmd) cannot run the bash runtime at all. Native\nWindows + Git Bash will run the scripts but without enforced\n`.env`\n\nfile permissions (`chmod`\n\nis a no-op on NTFS) and without sandboxing — unsupported.\n\n`node bin/analyst-kit.js doctor --platform claude-code`\n\nwarns when run on native Windows.\n\nThree persona plugins bundle the research workflows for different markets. All three include the research workflows (deep dive, thematic, technical analysis, company wiki) plus their supporting capabilities (charting, reporting, wiki-builder, company-universe-manager, financialmodellingprep, market-intelligence, analyzing-financial-statements, creating-financial-models, data-analysis); the market difference is whether FinMind (Taiwan data) and SEC filings are included.\n\n| Plugin | Includes | Skills |\n|---|---|---|\n`us-stock-analyst` |\nthe research workflows + supporting capabilities, incl. (US filings)`sec-filings` |\n15 |\n`international-analyst` |\nthe above + FinMind (Taiwan/TWSE market data) |\n16 |\n`taiwan-stock-analyst` |\nTaiwan-focused: workflows + capabilities + FinMind, minus `sec-filings` |\n14 |\n\nRun `node bin/analyst-kit.js list --persona <name>`\n\nto see a plugin's exact contents.\n\nKeys are read from the environment or a git-ignored `.env`\n\n. The installer\n(`analyst-kit env`\n\n/ `analyst-kit install`\n\n) prompts for anything missing when run interactively.\nSee [ .env.example](/mohitjandwani/analyst-kit/blob/main/.env.example).\n\n| Variable | Used by | Get it |\n|---|---|---|\n`FINMIND_TOKEN` |\nfinmind |\n|\n\n`FMP_API_KEY`\n\n[https://site.financialmodelingprep.com/developer/docs](https://site.financialmodelingprep.com/developer/docs)`SERPAPI_API_KEY`\n\n[https://serpapi.com/](https://serpapi.com/)(free tier = 100 searches/month)`13f-analysis`\n\nneeds no key — it reads SEC EDGAR directly (set the optional\n`SEC_EDGAR_UA`\n\ncontact string as an SEC fair-access courtesy).\n\nSkills that run code bootstrap their own dependencies on first use. Runtimes are a\nper-skill prerequisite the installer does not install for you: **Python** (finmind,\ncompany-universe-manager; 13f-analysis is standard-library only) and **Bun**\n(wiki-builder).\n\nEvery skill runs on a shared runtime (`analyst-kit-core`\n\n, installed automatically as a\ndependency) that keeps all per-user state in one fixed place, `~/.analyst-kit/`\n\n:\n\n`.env`\n\n— your API keys (chmod 600, shared across projects)`config`\n\n— settings (`analyst-kit-core/bin/analyst-kit-config get|set|list`\n\n)`analytics/skill-usage.jsonl`\n\n—**local** usage log: which skill ran, when, outcome, duration`learnings.jsonl`\n\n— things the skills learned about your setup and preferences, so mistakes aren't repeated\n\n**Telemetry is on by default (anonymous, opt-out).** It sends only skill name,\nversion, outcome, and duration — never repo names, file paths, tickers, or content —\nand is what tells us which skills break or run slow, so keeping it on directly\nimproves your experience. You're told about it once on first run. Tiers: `community`\n\n(default, stable anonymous id), `anonymous`\n\n(no id), `off`\n\n. Opt out any time:\n\n```\n~/.claude/skills/analyst-kit-core/bin/analyst-kit-config set telemetry off\n```\n\n**Updates:** skills check the published version at most once a day and offer a\nguided upgrade when a new release is out (declining snoozes it for a week; disable\nwith `analyst-kit-config set update_check false`\n\n).\n\nEach skill is `skills/<name>/SKILL.md`\n\nwith YAML frontmatter:\n\n```\n---\nname: 13f-analysis          # kebab-case; must equal the folder name\ntype: capability            # capability | workflow\ndescription: >              # what it does + a \"Triggers:\" clause of trigger phrases\n  ... Triggers: \"get the 13F for X\", \"what does <fund> own\", ...\nrequires: [ ... ]           # capability skills this one builds on (nothing may require a workflow)\nenv: [ FMP_API_KEY ]        # API keys the skill needs\n---\n```\n\nAgents read only `name`\n\n+ `description`\n\n, so trigger phrases live inside the\ndescription. `type`\n\n, `requires`\n\n, and `env`\n\ndrive the installer and validator.\n\n```\nnpm run validate         # lint skills + plugin manifests (+ preamble sync check)\nnpm run build:registry   # regenerate registry.json from frontmatter\nnpm run check:registry   # verify registry.json is in sync\nnpm run sync:preamble    # regenerate the analyst-kit-core blocks in every SKILL.md\n```\n\n`registry.json`\n\nis generated — edit skill frontmatter, then rebuild it. The\n`<!-- analyst-kit:preamble/epilogue -->`\n\nblocks in each SKILL.md are also generated — edit\n`skills/analyst-kit-core/templates/`\n\nand re-sync; never edit between the markers. The same\nchecks run in CI (`.github/workflows/validate.yml`\n\n) on every push and pull request.\n\nPlanned skills, not yet available: an LBO model (debt schedule, cash sweep, IRR/MOIC) and PDF report analysis.\n\nand the DCF + sensitivity tooling in`analyzing-financial-statements`\n\nwere inspired by the custom financial skills in`creating-financial-models`\n\n[Anthropic's claude-cookbooks](https://github.com/anthropics/claude-cookbooks/tree/main/skills/custom_skills), then reworked to this repo's skill contract (frontmatter,`scripts/`\n\nlayout) and hardened with input guards and a test suite.- The M&A accretion/dilution model in\nwas inspired by`creating-financial-models`\n\n[joe-neary/MergerDealSimulator](https://github.com/joe-neary/MergerDealSimulator). The financial formulas were reimplemented from scratch (no code was copied); that project's worked example serves as an independent cross-check in the skill's test suite.\n\nMIT © Mohit Kumar", "url": "https://wpnews.pro/news/analyst-kit-yc-w23-turn-your-claude-codex-into-an-investment-analyst-free", "canonical_source": "https://github.com/mohitjandwani/analyst-kit", "published_at": "2026-06-21 17:58:40+00:00", "updated_at": "2026-06-21 18:34:43.459904+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "large-language-models", "generative-ai", "developer-tools"], "entities": ["Analyst Kit", "YC W23", "Claude", "Codex", "SEC EDGAR", "Financial Modeling Prep", "FinMind", "SerpAPI"], "alternates": {"html": "https://wpnews.pro/news/analyst-kit-yc-w23-turn-your-claude-codex-into-an-investment-analyst-free", "markdown": "https://wpnews.pro/news/analyst-kit-yc-w23-turn-your-claude-codex-into-an-investment-analyst-free.md", "text": "https://wpnews.pro/news/analyst-kit-yc-w23-turn-your-claude-codex-into-an-investment-analyst-free.txt", "jsonld": "https://wpnews.pro/news/analyst-kit-yc-w23-turn-your-claude-codex-into-an-investment-analyst-free.jsonld"}}