Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Fixed
full-reportran alias stubs as analysis modules. Quick depth took its DCF from thedcf-valuationredirect card, and comprehensive depth re-ranstock-eval/stock-valuationlogic throughfundamental-analysis/dcf-valuation, while its Thesis Invalidation relied on abear-casemodule no depth ran. Module #3 is nowstock-valuation; comprehensive #11–#12 are nowbear-caseandcatalyst-calendar(still 15 modules).- Cross-references to the alias skills (
/fundamental-analysis,/dcf-valuation,/research-bundle) inearnings-call-analysis,insider-trading,institutional-ownership,result-validator, andreport-generatornow point atstock-eval,stock-valuation, andfull-report. - The FAQ’s Claude API snippet used a retired model and omitted the required
max_tokens; it now runs as written.
Changed
- Prompt audit cleanup (dated patterns written for older models):
insider-tradingandinstitutional-ownershipusage examples no longer contain invented facts about real companies (e.g. an NVDA CEO purchase, a Soros stake in META); they describe what the output covers instead. Their output templates use[Qn YYYY] [%]placeholders instead of pre-filled 2024 figures.- Thesis Invalidation in 17 skills drops the generic “closes below the MA200”, “Fed pivots hawkish”, and “earnings beat >20%” bullets that were copied into every skill (including macro and charting skills where they don’t apply); each skill keeps its own trigger and asks for one or two more drawn from its own drivers.
technical-analysisis unchanged. economics-analysisandsector-analysisData Verification gates now ask for indicator releases and sector-ETF levels instead of a single ticker’s price, 52-week range, and market cap.financial-report-analystandcompetitor-analysisdescriptions say when to use10k-digestandindustry-mapinstead.README-claude-code.md,PLATFORM-COMPATIBILITY.md, andFAQ.mdno longer pin model names (Opus 4.6, Claude 3); they point at whichever model the session runs.
[1.12.0] - 2026-09-25
The largest release since 1.0. The catalog reaches 30 analysis frameworks across 34 skills: six new ones — thesis-tracker, etf-analysis, earnings-preview, tax-lens, risk-stress-test, learning-coach — plus the fact-check meta framework, with fundamental-analysis / dcf-valuation / research-bundle now counted as aliases. Every analysis skill carries the enforced output contract (Data & Sources header · Data Verification gate · Thesis Invalidation). The Learning track gains Part II (Lessons 9–13 and a “when the answer is no” case study), the docs site is redesigned, install.sh installs the frameworks into any AI agent with one command, and a keyless SEC EDGAR path — a retrieval recipe in the filing skills plus two optional, offline-tested helper scripts — gives users without a browsing assistant a primary source to paste. No API key, no runtime, no telemetry, as before.
Added
- Keyless EDGAR retrieval recipe in the filing skills (
10k-digest,financial-report-analyst,fact-check; bothSKILL.mdand the generated prompts). The skills always assumed a filing could be fetched (“fetches latest 10-K”) but never said how. They now spell out the free, no-key path a tool-enabled assistant can follow on its own — ticker → CIK (company_tickers.json), thedata.sec.gov/submissionsindex with its alignedform/filingDate/reportDate/accessionNumber/primaryDocumentarrays, theArchives/edgar/data/<cik>/<accession>/<primaryDocument>document URL, the XBRLcompanyfactsendpoint for cross-checking Item 8, full-text search, the20-F/6-Kforeign-issuer forms, and the SEC’sUser-Agentand 10-requests-per-second rules — and how to label each path in theData & Sourcesheader (web/tool retrievalvs.pasted by uservs.model memory+ LOW). No runtime was added: the skills still fetch nothing themselves. - Two optional “bring your own data” helpers (roadmap §6.8, reshaped), zero-dependency Node ≥ 18, outside the plugin — optional commands for the user;
npm testnever runs them against the SEC (they need the network), only their offline suite:scripts/fetch-edgar.js <TICKER> [--form 10-K|10-Q|8-K|"DEF 14A"|4] [--fy YYYY | --period DATE] [--limit N] [--list]downloads the primary document from EDGAR and saves it as HTML and stripped plain text (tables kept legible) plus a.jsonwith accession, dates, URLs and ready-madeData & Sourcesfields, underdata/filings/<TICKER>/; 10-K falls back to 20-F for foreign private issuers.scripts/fetch-fundamentals.js <TICKER> [--fy YYYY]builds a reconciled statement data pack (data/fixtures/<TICKER>.md, same shape as the ZEPH eval fixture: income statement, balance sheet, cash flow for the latest and prior fiscal year, derived FCF / net debt / margins, anexpect:list, references with accession numbers) from the SEC’s XBRL companyfacts API — no PDF parsing, the “as first reported” filing per period, ordered concept chains that survive tag drift (Revenues → SalesRevenueNet → RevenueFromContract…). It carries no price line by design and says so. Shared plumbing inscripts/lib/edgar.js(CIK lookup, paginated submissions, paced requests, HTML→text).npm run fetch:edgar/npm run fetch:fundamentalsaliases. Reshaped from the finance_data project’s Python downloaders: same EDGAR logic, but text instead of Playwright-rendered PDFs, because the skills consume text. Tested offline byscripts/test-edgar.js(npm run test:edgar, innpm testand the three CI workflows): the library in-process and both CLIs as real subprocesses against a fetch double (scripts/lib/edgar-mock-fetch.js) that serves a synthetic EDGAR — ticker normalisation, paginated archive blocks, retry on 503 / no retry on 403, User-Agent on every request, inline-XBRL stripping, filename keys per form, idempotent re-runs, 20-F fallback, partial-failure exit codes, and a generated pack whose front block parses with the eval harness’s own parser and whose FY2024 figures come from the original 10-K rather than a mis-scaled comparative. The Data & Accuracy page (EN + 繁體中文) gains a Bring Your Own Data: The Keyless EDGAR Path section covering all three routes (assistant fetches · you download and paste · paste what you have); both READMEs link to it. - Learning track Part II — five lessons, a “No” case study, self-check quizzes, and 32 glossary terms (EN + 繁體中文), following the Learning gap review: the site taught how to analyze a company well but almost nothing about the first months of actually investing. New pages: Lesson 9 · Before Your First Trade (money you don’t invest, risk capacity vs. tolerance, a one-page IPS template, US and non-US account types, W-8BEN, choosing a broker, market vs. limit vs. stop orders, T+1, a first-month checklist) · Lesson 10 · ETFs & Index Investing (expense ratio with a 20-year cost illustration, tracking difference vs. tracking error, AUM / spread / premium, what you actually own, overlap arithmetic, core-satellite, leveraged / inverse / ETN / K-1 warnings) · Lesson 11 · Taxes & Account Types (short vs. long-term and “wait N days”, the $3,000 / $1,500 loss limit, the 61-day wash-sale window across accounts, the qualified-dividend 60-of-121 test, lot selection, harvesting, placement; a full non-US section — W-8BEN validity, 30% vs. treaty withholding with Taiwan / HK / Singapore named as no-treaty, capital-gains treatment with the 183-day condition and exceptions, the $60,000 estate-tax exemption, the Irish-UCITS route; not tax advice) · Lesson 12 · Earnings Season, Explained (the cycle, consensus / guidance / whisper, beat-and-drop, the event-only non-directional implied move, what’s priced in, reading a release and an 8-K, the scenario grid, what not to do) · Lesson 13 · Psychology & Process (process vs. outcome, eight biases with mechanism antidotes, pre-mortem, checklists, a journal template, sell rules vs. reasons, drawdowns in dollars) · Case Study: When the Answer Is No (the loop ending in a pass on PFE and UPST, from the Cookbook’s dated live runs). Every new page ends with a five-question Check yourself. The Learning hub is split into Part I (1–8) and Part II (9–13 + case); nav, language toggle, and search index updated;
learning-coach --quizknows the new lessons. Glossary 44 → 76 terms (AUM, anchoring, beat-and-drop, bid-ask spread, consensus, correlation, disposition effect, drawdown, estate tax for non-residents, ex-dividend date, expense ratio, guidance, implied move, IPS, limit / market order, overlap, pre-mortem, process vs. outcome, qualified dividend, T+1 settlement, Sortino, specific identification, tax-loss harvesting, tracking difference / error, UCITS, VaR / CVaR, W-8BEN, wash sale, whisper number, withholding tax), with new L / O / U / V sections. fact-check— new meta framework: claim-level verification of any report or data set. Pulls every figure and factual claim into a ledger (type · period · signal-driving?), checks each against a primary source (SEC filing with Item/Note/page, IR release, FRED, issuer data, or the user’s pasted document — model memory is never a source), recomputes every derived figure from verified inputs with the arithmetic shown, and assigns a verdict: ✅ verified · ⚠️ mismatch (source value, delta, likely cause — fiscal-year, TTM vs. FY, GAAP vs. adjusted, basic vs. diluted, units, stale price) · ❓ unverifiable (never presented as false) · 🔁 recomputed · 🕒 stale. Checks the report’s own consistency (numbers vs. narrative, signal vs. score band, whether itsData & Sourcesheader overstates what was verifiable, fabricated or unopenable citations). Re-issues the report as a corrected copy with inline[n]citations and a References section (originals struck through,[?]on unverifiable claims,[unsupported]on qualitative claims without evidence). Modes: Verify (default),--cite-only,--recompute,--diff. Verification Score 0–10 with hard caps (signal-driving mismatch > 5% → ≤ 4.0; > 50% unverifiable → ≤ 5.0; header overstated → ≤ 6.0; any fabricated citation → 0). The signal block mirrors the verified report’s own signal with Confidence capped by the score. Wired in:result-validatorData Quality is now capped by the fact-check score and points to it;full-reportrunsfact-checkbeforeresult-validator; the Data & Accuracy pages (EN + zh-TW) describe the two-step “verify inputs, then validate reasoning” habit; Choose-a-Skill gains afact-checkvs.result-validatorcomparison (both languages); Cookbook Workflow E adds the step. Advertised count 29 → 30 frameworks; 34 skills.- Five new analysis frameworks — the rest of the roadmap’s Tier 1 (§3.1), scaffolded with
scripts/new-skill.js. Advertised count 24 → 29 frameworks (+ 3 aliases, 1 output tool); 33 skills in total. Each carries the full output contract (Data Verification ·Data & Sourcesheader · Thesis Invalidation · signal block · disclaimer) and is wired into the site (skills.html, both Choose-a-Skill pages), both READMEs, the three cross-AI configs, and Cookbook Workflow I (both languages).etf-analysis— ETF / index-fund due diligence. Nine phases with concrete thresholds: expense ratio vs. category bands; tracking difference vs. tracking error (with a tracking-gap flag); AUM / ADV / spread / premium tiers and closure risk; top-10 weight, holdings count, sector / factor / country / currency tilt vs. the index the user thinks they are buying; overlap by weight with the user’s other holdings (min-weight arithmetic, redundant / partial / complementary verdict, labelled as a lower bound when only top-10 data is available); distribution composition and capital-gains-distribution history (in-kind redemption explained); a structure-warning table (leveraged / inverse daily reset, synthetic, ETN credit risk, single-stock, commodity K-1, hedged, covered-call, active); 2–3 peers and an “ETF vs. buying the top 5 holdings directly” comparison; a UCITS / withholding note for non-US holders pointing totax-lens --non-us. ETF Fitness Score 0–10 with hard caps for leveraged / inverse / single-stock funds held long-term, ETNs, and > 60% overlap.earnings-preview— the before-earnings skill (earnings-call-analysisis post-call;catalyst-calendaronly lists the date). Expectation stack (prior guide, consensus, 90-day revision direction, a labelled whisper range and gap); an 8-quarter beat / miss vs. next-day-move table that surfaces “beat and drop” patterns; options-implied move (straddle ÷ price) vs. the realized median — is the event over- or under-priced; what is priced in via a light reverse-DCF (implied forward growth at the current multiple vs. consensus); the company’s KPIs and the one number that decides the reaction; a four-row scenario grid (beat & raise / beat & lower / miss / in line) with probabilities, expected reaction, and a position rule decided before the print, tied toposition-ladderandthesis-tracker; a “what not to do” list. Earnings Setup Score 0–10 defined as holder asymmetry — explicitly not “buy before earnings”.tax-lens— what the investor actually keeps. Trade / Position / Portfolio modes: holding-period character with a “wait N days” table (tax saved vs. the price fall that erases it); a 61-day wash-sale timeline across all accounts including DRIP and IRA repurchases; the qualified-dividend 60-of-121-day test and after-tax yield; lot selection (specific-ID vs. FIFO vs. HIFO) with the tax under each; tax-loss-harvesting pairs with non-identical replacements and the basis-reset warning; account-placement table; an annual tax-drag formula.--non-usmodule for non-resident aliens: W-8BEN validity, 30% statutory withholding vs. treaty rate (and the no-treaty case — Taiwan, Hong Kong, Singapore), capital gains generally not US-taxed with the 183-day condition and the ECI / FIRPTA exceptions stated, US estate-tax exposure above the $60,000 exemption, and a US-ETF vs. Irish-UCITS comparison table with the after-withholding arithmetic. Hard not-tax-advice gate opens and closes every output; Confidence capped at MEDIUM when bracket, residency, or lot dates were assumed. Tax Efficiency Score 0–10 — rates the plan, never the security.risk-stress-test— portfolio / position risk report. Per-position weight × β table, net beta and dollar-beta to SPY; historical scenario replay (2008 GFC, March 2020, 2022 rate shock, 2025 tariff shock) via each holding’s own history or a β / sector proxy marked as such, index magnitudes labelled approximate; parametric VaR and CVaR at 95 / 99% for 1 day and 1 month with the formulas and constants shown and the normal-tail caveat (“trust the replay if they disagree by > 2×”); portfolio σ under normal vs. crisis (ρ → 0.85) correlations and the diversification-benefit gap; rate / USD / oil factor sensitivities; days-to-exit at 20% of ADV with illiquidity flags; a “smallest changes to get inside budget” section handing tax cost totax-lensand execution toposition-ladder. Risk Budget Score 0–10 (≥ 7 within budget → BULLISH; < 4 → BEARISH). Honest about what an LLM cannot compute from memory — the inputs to paste (β, σ, ADV, weights) are listed up front.learning-coach— the bridge between the tool half and the Learning half of the project. Explain mode: reproduces the pasted analysis’sData & Sourcesheader (or writes a LOW-confidence substitute and teaches why it matters), checks the three contract pieces, then one explanation card per signal-driving metric (plain words · why it matters · generic and sector range · in this case · Learning lesson + Glossary link), a “how the pieces connect” paragraph, a common misreadings list, and a 3–5 rung Socratic ladder ending in “what would change your mind?” tied to the analysis’s own Thesis Invalidation.--quiz <lesson>: five questions on one Learning lesson (2 recall · 1 calculation with a tiny worked data set · 2 judgment), answers hidden under an Answers heading.--level beginner | intermediate,--lang zh-TW. Never re-scores: the signal block mirrors the analysed output.
thesis-tracker— new analysis framework (#6 on the improvement roadmap). Turns an analysis into a contract with your future self: a falsifiable one-paragraph thesis, 3–5 KPIs with thresholds, invalidation triggers imported from the other skills’ Thesis Invalidation sections andbear-case’s Thesis-Killers, a catalyst list, a pre-mortem, and a decision log, saved tooutput/thesis/<TICKER>.md.--updatere-reads the file against new data and returns INTACT / WEAKENED / BROKEN with the specific line that changed;--reviewlists every thesis file and flags overdue checks;--closerecords the exit for a later post-mortem. Scored by a Thesis Health Score (0–10) mapped onto the standard signal block. Wired into the site (Advanced Research), both Choose-a-Skill pages, Cookbook Workflow H (both languages), READMEs, and the cross-AI configs. Fills Playbook steps 1, 9, and 10, which had no skill behind them.- Skill contract enforced on every analysis skill (roadmap #2). Each of the 24 analysis frameworks — in both
SKILL.mdandprompts/*.md— now carries the three pieces the site promises: theData & Sourcesheader (As of · Source · Retrieval · Confidence, the block documented on the Data & Accuracy page; previously onlyfull-reporthad it), the Data Verification gate, and a Thesis Invalidation section (added tofull-report,portfolio-review, andstock-screener, each written for that skill’s kind of output).result-validatornow checks for the header first and caps Data Quality when it is missing. Enforced by the newscripts/check-skill-contract.jsinnpm test; output tools, aliases, and meta skills are exempt viascripts/lib/skill-registry.js. scripts/sync-prompts.js(roadmap #9, §6.1) —prompts/<name>.mdis now generated fromSKILL.md(frontmatter stripped;/us-stock-analysis:x→x;/x→x; “Claude analyzes …” → “The assistant analyzes …”).--checkruns innpm testand fails on drift;--diffshows it. All 28 prompts were regenerated: the hand-condensed versions of 15 prompts (some at a quarter of the SKILL.md length) are replaced by the full text, so every platform now gets the same framework.scripts/new-skill.js <name> --category … --title … --desc …(roadmap #9, §6.2) — scaffolds a skill from a template that already contains the full contract and wires it into the site’sSKILL_CATEGORIES, bothCHOOSE-A-SKILLpages, both READMEs, the three cross-AI configs (table row + directory tree), and this changelog.thesis-trackerwas built with it.scripts/eval-skills.js(roadmap #10, §6.4) — opt-in behavioural eval. WithEVAL_CMDset to any command that reads a prompt on stdin (claude -p,ollama run …), it runs each skill against a fixed data pack and checks the output: signal block present and filled, enum values valid, Score consistent with Signal,Data & Sourcesheader complete and honest (Retrieval: pasted by userfor a fixture;model memorymust be LOW), disclaimer present — plus advisory arithmetic checks (FCF = OCF − capex, net debt, P/E, growth, payout) against the fixture’sexpect:list.--dry-runwrites the prompts for manual orclaude plugin evalruns;--from-dirscores saved completions. Writesqa/eval_YYYYMMDD.md. Fixture:data/fixtures/ZEPH.md, a fictional company so the numbers never go stale and cannot be recalled from memory.scripts/lib/signal-block.js(§6.11) — one shared parser for the signal block and theData & Sourcesheader, used by the contract check and the eval harness.scripts/lib/skill-registry.js— the single source of truth for which skills are output tools, aliases, or meta skills; imported bytest-skills.js,test-install.js,check-skill-contract.js, andsite/build/build-site.js.- Roadmap progress tracking —
doc/IMPROVEMENT-ROADMAP(.md|-zh-TW.md)gained a §0 status table for the ten headline items and a Status column on the scripts table;TODO.mdis now a curated top-5 that links to it. install.sh— one-command install for any AI agent.curl -fsSL https://raw.githubusercontent.com/yennanliu/InvestSkill/main/install.sh | bash -s -- -a <agent>copies every framework into.investskill/prompts/and wires up that agent’s own entry point:claude→.claude/skills/<skill>/SKILL.md(slash commands),cursor→.cursor/rules/investskill.mdc,copilot→.github/copilot-instructions.md,gemini→GEMINI.md,codex/opencode→AGENTS.md, andany→ the prompts alone for ChatGPT, Claude.ai, or a local model. Existing instruction files are appended to inside a marked block, never overwritten, and a second run is a no-op. Flags:-aagent,-d DIRtarget directory,-guser-level install ($HOME),-r REFbranch/tag,-llist targets,-hhelp. No runtime and no dependencies beyondcurlandtar.- Tests + CI for
install.sh.scripts/test-install.js(npm run test:install, also part ofnpm test) — 116 checks in two layers: static checks on the script (bash shebang,set -euo pipefail, executable bit,bash -n,rm -rfconfined to its ownmktempdir, everyAGENTSentry handled in the wiringcaseand documented by-l) plus parity checks againstINSTALL_TARGETSinsite/build/build-site.jsand against every documentedcurlcommand in the READMEs and Cookbooks. On top of that it runsinstall.shin throwaway sandboxes with acurltest double that serves a tarball built from the working tree — offline, but the real download → extract → copy → wire path — asserting: all 27 prompts land in.investskill/prompts/, the reported count excludesreport-generator, each agent writes its own entry point (.claude/skills/*/SKILL.md,.cursor/rules/investskill.mdc,.github/copilot-instructions.md,GEMINI.md,AGENTS.md),-a anywrites prompts only, an existing instructions file is appended to and never overwritten, a second run is byte-identical with exactly one marker block,-g/-d/-r/-l/-hbehave, unknown agents and flags fail loudly, and a failed download or a bad archive leaves the project clean. New workflow.github/workflows/install-script.yml: shellcheck +bash -nlint, the test suite on Linux and macOS (BSDtar/sed) and on the Node 18 engines floor, and a livecurl … | bashinstall of the commit under test for all seven agents including an idempotent re-run. - Site — install picker on both landing pages (
#install, English + 繁體中文): agent tabs (Claude Code · Cursor · GitHub Copilot · Gemini CLI · Codex · OpenCode · Any LLM), the matchingcurlcommand with a copy button, the file each target writes, and the first command to run afterwards. The visitor’s chosen agent is remembered between visits, and the landing “Get Started” CTA now scrolls here. Built bybuildInstaller()insite/build/build-site.js— keep itsINSTALL_TARGETSlist in sync with theAGENTSlist ininstall.sh. - Install instructions for the curl path added to
README.md,README-zh-TW.md, the per-platform guides (README-claude-code.md,README-cursor.md,README-gemini.md,README-ollama.md), and both Cookbooks (site/content/COOKBOOK.md,COOKBOOK-zh-TW.md). - Site demo — META 10-K Deep Dive (
site/content/FULL-DEMO-META.md→full-demo-meta.html), the reference example for “analyze a financial report with the skills in this plugin.” Unlike the NVDA/AMD demos (one skill run end-to-end), this one chains nine skills over a single 138-page PDF — Meta Platforms’ FY2025 Form 10-K, filed 2026-01-28 — in the order10k-digest→financial-report-analyst→fundamental-analysis→chart-master→bear-case→stock-valuation/dcf-valuation→catalyst-calendar→position-ladder→result-validator. Every figure is quoted verbatim and cited to an Item/Note and printed page. Demonstrated techniques include: diffing two consecutive filings to surface strategy shifts in management’s own language (“superintelligence” 0 → 9 mentions, “metaverse” 18 → 9); a prior-year promise tracker scoring FY2024’s guidance against FY2025 actuals (capex guided $60–65B, delivered $72.2B); normalizing a one-off tax charge (the $15.93B OBBBA valuation allowance turns a −3% net income year into +24% adjusted EPS growth); off-balance-sheet forensics on the unconsolidated Louisiana data-centre VIE (Note 5 — $45.95B maximum exposure to loss, $28B residual value guarantee, a new critical audit matter) plus $103.8B of not-yet-commenced leases and $131.0B of contractual commitments against $148.8B of recognized liabilities; a three-scenario DCF whose base case reproduces the filing’s own year-end close of $660.09 to within 0.3%; and an honest data-gap disclosure for the five chart exhibits that do not render in the source PDF, reconstructed from text and reconciled. Ends with aresult-validatorconfidence audit (82/100) that names where the analysis is most likely to be wrong. Wired into both language navs and the Demo Overview page. No new skill — framework count unchanged at 26. - Cookbook — seven live workflow runs (§3.12–3.18) added to the demo section of
COOKBOOK.mdandCOOKBOOK-zh-TW.md. Each of Workflows A–G from §4 is executed end-to-end against a real US-listed stock using live market data (run date 2026-07-27, prices as of the 2026-07-24 close), with per-step output, the arithmetic behind each conclusion, a signal block, and cited sources: A pre-earnings deep dive on AAPL (into the 30 Jul print — implied move ±5.38%, price 0.6% off the 52-week high → trim); B value screen on PFE (7.01% yield costs 103.4% of free cash flow against $17–18B of contractual LOE → value trap); C dividend sleeve JNJ/ABBV/PG (ABBV’s 336% accounting payout is 61.2% on cash — plus a 2.52% blended yield and 67% healthcare concentration); D swing setup on UPST (31.44% of float short, but 0 of 3 technical confirmations and 1.17:1 reward/risk → no trade); E full memo on NVDA (reverse DCF: today’s $4.97T EV requires ~35% year-1 FCF growth at a 12% WACC); F sector rotation in the July 2026 regime (Fed on hold at 3.50–3.75%, core CPI 2.6%, curve +78 bp — XOM’s macro call is already in estimates at 12.58× forward, JPM’s is not); G position ladder on AVGO (5 rungs anchored on the 200-day MA and 1-ATR spacing, wash-sale window flagged, and the trim leg shown to cost $1,300 in a rally). - Site — explicit “no API keys, completely free” messaging: a new No API Keys, No Cost section on both homepages (English + 繁體中文) covering API keys, subscriptions, market-data fees, runtime, and license; a
$0 · no API keyscost badge; a$0 / No API keys · no feeshero stat on the landing pages; and a matching note on the Data & Accuracy pages explaining why no key is needed.
Changed
- Site redesign (
site/build/). The two landing pages (EN + zh-TW) are now real landing pages instead of a rendered README: a two-column hero with a serif headline, an animated terminal mock that plays a/stock-eval AAPLrun ending in the INVESTMENT SIGNAL block, a stat strip, a three-step “How it works”, the install picker, framework-category cards generated fromSKILL_CATEGORIES(so new skills appear automatically), an eight-lesson Learning track, demo cards, and a Trust section — the README body still renders below a divider so every existingindex.html#…anchor keeps working. Skill Reference (skills.html) is a filterable card grid (text filter + category chips,#categorydeep links pre-select a chip,/focuses the filter). Per-skill pages gain a category eyebrow, the SKILL.md description as subtitle, a “Run this skill” box with copyable invocations for Claude Code / Cursor & Gemini / any LLM, related-skill chips, and previous / next navigation in category order. Site-wide: a bilingual footer, previous / next pager on every page, copy buttons on code blocks, a reading-progress bar and back-to-top button, glass header, dark mode that followsprefers-color-schemewith no flash (inline theme script), keyboard-navigable search with highlighted matches, a mobile sidebar backdrop, horizontally scrolling tables, per-page<title>/ description / Open Graph / canonical tags, an SVG favicon, and a redesigned 404. No content files changed;npm testandscripts/check-links.jspass unchanged. fundamental-analysis,dcf-valuation, andresearch-bundleare reclassified as aliases (roadmap #3, §4.2 option b). They remain installed and keep working as redirects, but are no longer counted or listed as frameworks. The advertised count is now 24 analysis frameworks (+ 3 aliases, 1 output tool) acrossREADME*.md, the site (own “Aliases (redirects)” category onskills.html,Skill Referencesubtitle), both Choose-a-Skill pages (rows and comparisons now point atstock-eval/stock-valuation/full-report), both Cookbooks,GEMINI.md, the Cursor rules, the Copilot instructions,plugin.json,marketplace.json,install.sh’s reported count, andCLAUDE.md. Test 14 asserts each alias states its redirect target and sits in the Aliases category.- Stale numbers fixed everywhere the roadmap’s §7 found them (roadmap #1):
README.md“23 native slash commands” → 28; the Contributing section no longer tells you to edit aplugin.jsonskills array; hard-coded test counts (“288+”, “294+”) dropped in favour of “all passing”;FAQ.mdandPLATFORM-COMPATIBILITY.md“18 skills” → 28 skills / 24 frameworks;CONTRIBUTING.mdno longer links a non-existent issue template;CI-CD-GUIDE.md“18 skills” wording removed.HIGH-IMPACT-IMPROVEMENTS.md,CI-CD-FIXES-SUMMARY.md,DEPLOYMENT-STATUS.md, and the oldTODO.mdmoved todoc/archive/. - Tests —
npm testnow runs four suites:test-skills.js,check-skill-contract.js,sync-prompts.js --check, andtest-install.js.test-skills.js: the framework-count check derives its expected value fromskill-registry.js, ignores parenthesised category sub-counts like “(10 frameworks)”, coversFAQ.md/PLATFORM-COMPATIBILITY.md/CONTRIBUTING.md(§6.9) and “N skills” claims; new Test 14 for aliases.test-install.jsexpects the installer to report the alias-aware count.integration-tests.jschecksTODO.mdlinks the roadmap instead of requiring the archivedDEPLOYMENT-STATUS.md. ADDING-NEW-SKILLS.md— documents thenew-skill.jsfast path, the generated-prompt rule, the enforced contract, and the auto-discovery of skills (the plugin.json skills-array step was stale).report-generatorSKILL.md now contains the signal-format section that previously existed only in its prompt, and its HTML template no longer brands the report “Claude Investment Analysis”.- Cookbook §4 — recipe tickers refreshed so the worked examples stay accurate: Workflow B now uses
PFE(Intel no longer screens as a value candidate), Workflow D usesUPST, and Workflow A citesQ2-2026. Each workflow now links to its live run in §3. scripts/site-review.js— daily QA reports inqa/are now capped at a 5-day retention window (RETENTION_DAYS); oldersite_review_YYYYMMDD.mdfiles are pruned on each run.PROJECT-REVIEW.mdis untouched.install.sh— the framework count is now computed with a glob instead ofls | grep(shellcheck SC2010); output is unchanged..github/workflows/site-review.yml— stagesqa/withgit add -Aso pruned reports are committed as deletions alongside the new report. Pruned the existing 19-report backlog down to the last 5 days.
Removed
data/AMD_2026_10-K.pdfanddata/NVDA_2026_10-K.pdf— two hand-placed PDFs that no script produced, no test or page referenced, and that were already stale.fetch-edgar.jsreproduces either as text on demand.data/filings/and generated real-ticker packs underdata/fixtures/are now git-ignored (only the fictionalZEPH.mdfixture is committed), so the repository never vendors filings.
[1.11.0] - 2026-07-27
Added
position-ladder— new skill: plan and manage a single position across its life, the execution layer the catalog was missing. Sets a share-count band (floor / ceiling) from the most restrictive of the concentration, capital, and loss-tolerance caps; builds a staged entry ladder (volatility-scaled / fixed-% / support-based / fixed-$ spacing, with equal-share, equal-dollar, or pyramid sizing) and computes capital at full fill, blended average cost, and the drawdown the plan expects to sit through; models the trim / re-add cycle that sells the highest-cost lots above blended average cost and buys them back below it, oscillating inside the band. Includes the parts retail versions of this strategy omit: lot-accounting (specific-ID vs. broker-default FIFO), wash-sale flagging with the 30-day window and the IRA-repurchase trap, holding-period effects, a mandatory total-return-vs-buy-and-hold reality check across three price paths (so a lower average cost is never mistaken for a profit), an underfill mitigation for names that never pull back, a thesis-break gate with a do-not-ladder list (leveraged ETFs, binary-event names, solvency cases), and a 0–10 Ladder Suitability Score. Complementsportfolio-review(which works across holdings) by working inside one. Brings the advertised framework count to 26.
[1.10.1] - 2026-07-22
Enhanced
10k-digest— added four interpretation sections to the digest output: Highlights & Concerns (dedicated positives/negatives lists), Management Outlook & Forward Guidance (forward-looking commitments table), Prior-Year Promise Tracker (accountability audit scoring last year’s 10-K guidance against this year’s actuals, with a management-credibility read), and Bull vs. Bear Synthesis (lightweight filing-sourced face-off). Added suggested Traditional Chinese headings for the new sections. No new skill — framework count unchanged at 25.
[1.10.0] - 2026-07-12
Added
industry-map— new skill: map an industry’s supply / value chain as a directed graph, from raw inputs upstream down to the end user. Provides a bird’s-eye view of a business: builds the chain as a Mermaid flowchart (with ASCII fallback) plus a chain-map table, locates a given ticker’s position (upstream / midstream / downstream) and its up/downstream dependencies, scores each layer for bottleneck/chokepoint power (the durable “toll collectors”), maps where the profit pool sits today and where it is likely to migrate next, flags concentration & supply-chain risk, and generates second-order investment ideas per layer (core / picks-and-shovels / avoid). Complementscompetitor-analysis(one company’s moat, horizontal) andsector-analysis(GICS rotation) by mapping a theme vertically, across sectors. Brings the advertised framework count to 25.
[1.9.0] - 2026-07-05
Added
bear-case— new skill: a deliberate short-seller red-team that constructs the strongest possible bear thesis for a stock (why NOT to hold). Covers valuation stretch, deteriorating fundamentals, accounting/earnings-quality red flags, competitive & secular threats, management & capital allocation, downside catalysts with timelines, a quantified bear price target, and a mandatory “Thesis-Killers” section listing what would prove the bear wrong. Produces a 0–10 Bear Case Strength Score and is intended to surface counterevidence for any bullish thesis (pair withstock-evalfor a balanced view). Brings the advertised framework count to 24.
[1.8.1] - 2026-06-23
Added
10k-digest— new skill: deep-read a 10-K annual report and output a structured markdown digest document. Includes abstract, section-by-section summaries (Items 1–13), key metrics table, notable disclosures, and full source references. Supports--lang zh-TWfor Traditional Chinese output and--output <file>.mdto save the digest as a markdown file.
[1.8.0] - 2026-06-19
Merged (reduced redundancy)
dcf-valuationmerged intostock-valuation— stock-valuation is now the superset with deep DCF + multi-method valuation; dcf-valuation becomes a thin redirectfundamental-analysismerged intostock-eval— stock-eval absorbs deep financial statement analysis; fundamental-analysis becomes a thin redirectresearch-bundleunified intofull-report— full-report now supports --depth quick/standard/comprehensive flags; research-bundle becomes a thin redirect
Enhanced
sector-analysis— expanded from 121 to 300+ lines: sector valuation tables, seasonality calendar, correlation matrix, momentum scoring, peer benchmarking, sector-specific risksportfolio-review— expanded: concentration risk scoring, correlation/diversification analysis, tax-loss harvesting framework, factor exposure, rebalancing decision framework, drawdown/risk budgetdividend-analysis— expanded to Capital Allocation Analysis: buyback analysis, M&A capital allocation, debt management, FCF deployment scorecard, capital allocation quality score
New Skills
stock-screener— ranks/screens multiple tickers across valuation, quality, momentum, sentiment, and growth dimensions; outputs ranked leaderboard + top picks + avoid listcatalyst-calendar— forward-looking 90-day event calendar: earnings, macro events, company-specific catalysts, impact scoring, event-driven strategy suggestions
Added
- Thesis Invalidation section added to all 16 single-ticker skills — specifies price levels and events that would reverse the signal, plus a re-analysis monitoring checklist
[1.7.0] - 2026-06-19
Enhanced
technical-analysisskill — added MA Chart Analysis section: mandatory 30/60/90/200/365-day SMA position table with ASCII trend chart, MA stack signal (BULLISH/BEARISH/MIXED), crossover event detection, and a structured MA-Based Trade Recommendation block (entry price / target / stop-loss / R:R ratio / horizon)
Added
- Data verification gate added to all 16 single-ticker skills — every skill now opens with a mandatory
⚠️ Data Verificationsection requiring live price lookup, explicit stale-data warning, and data-source citation before any analysis proceeds FULL-DEMO-PLTR.md— complete all-15-skills demo for Palantir Technologies in English (275K chars), covering technical, fundamental, stock-eval, economics, sector, insider-trading, institutional-ownership, short-interest, earnings-call, chart-master, DCF, stock-valuation, options, dividend, competitor analysis + master synthesisFULL-DEMO-RKLB.md— complete all-15-skills demo for Rocket Lab USA in Traditional Chinese (106K chars), fully verified against live market data ($107.24, 52-wk $27.84–$151, Q1 2026 EPS Beat +58%)- Project site: new Demo nav section with three pages — Demo Overview, PLTR Full Demo (English), RKLB 完整示範 (繁體中文)
[1.6.0] - 2026-04-29
Added
full-reportskill — orchestrates all 15 analysis modules on a ticker and saves a single professional HTML report tooutput/- Enhanced
chart-masterskill with MA overlay, Price+Volume dual-panel, Return Histogram, RSI, MACD, and Support/Resistance charts - Consistent Chart.js color palette and style guidelines in chart-master
[1.5.0] - 2026-04-28
Added
- New
/result-validatorskill: meta-analysis agent that audits any InvestSkill output across five dimensions (data quality, methodology soundness, signal consistency, risk coverage, reasoning transparency) and produces a 0–100 confidence score with tier rating (Very High / High / Medium / Low / Very Low) plus adjusted signal block - New
/chart-masterskill: visualization agent that generates financial charts in Mermaid (primary), ASCII (fallback), and HTML/Chart.js (rich/interactive); supports bar, line, pie, horizontal comparison, fair-value range, and multi-factor signal dashboard chart types; works across Claude Code, Gemini, Cursor, and GitHub Copilot - Both skills available as universal
prompts/result-validator.mdandprompts/chart-master.mdfor AI-agnostic platforms
[1.4.0] - 2026-02-27
Added
- Auto-deploy workflow (
auto-deploy.yml): triggers after Test Suite passes on main, detects version bumps via git tag check, runs pre-deploy validation, publishes GitHub Release with .tar.gz artifacts and checksums, records result in DEPLOYMENTS.md scripts/record-deploy.js: appends structured deployment entry to DEPLOYMENTS.md with version, commit SHA, timestamp, release URL, and marketplace targets tableDEPLOYMENTS.md: auto-maintained deployment history file seeded with v1.1.0–v1.3.0
Improved
pr-check.yml: added version consistency check, INVESTMENT SIGNAL block validation, skills registry integrity check, and full unit test runvalidate.yml: expanded required files list, stricter version mismatch handling, Node.js unit test step.gitignore: added!scripts/*.jsexception so test scripts are tracked by git
[1.3.0] - 2026-02-27
Added
-
New
/financial-report-analystskill for analyzing 10-K, 10-Q, annual reports, and earnings press releases- 8-phase analysis framework: document orientation, MD&A deep read, financial statements, risk factors, footnotes, management tone, YoY comparison, insider activity
- Accounting quality score (0-21) with criterion breakdown
- Red flag detection: risk factor changes, footnote anomalies, segment reporting changes
- Management tone scoring and credibility tracking (guidance accuracy scorecard)
- DSO/DIO/AP working capital analysis, FCF conversion rate, SBC dilution assessment
- Supports: 10-K, 10-Q, 8-K, DEF 14A (proxy), S-1, earnings press releases
-
New
/stock-valuationskill for multi-method stock valuation with football field summary- Method 1: DCF with 3 scenarios (Bull 20% / Base 60% / Bear 20%), 10-year projection, sensitivity table
- Method 2: Comparable Company Analysis (CCA) — 5-8 peers, EV/Revenue, EV/EBITDA, P/E, EV/FCF
- Method 3: EV/EBITDA multiple valuation (conservative / base / premium)
- Method 4: P/E multiple with PEG ratio
- Method 5: Residual Income / Economic Value Added (for financial companies)
- Football field chart consolidating all methods
- Probability-weighted composite intrinsic value
- Risk-adjusted expected return with risk/reward ratio (target: 3:1+)
- Analyst consensus comparison
-
Cross-AI compatibility (v1.3.0)
GEMINI.md— Project instructions for Gemini CLI with prompt file references.github/copilot-instructions.md— GitHub Copilot workspace configuration.cursor/rules/invest-skill.mdc— Cursor AI rules with skill discoveryprompts/directory with 17 universal prompt files (AI-agnostic, work with any LLM)- All 18 skills now available as standalone prompts for ChatGPT, Claude.ai, Gemini, and more
Changed
- Plugin version bumped from 1.2.0 to 1.3.0
- README updated with cross-AI compatibility guide and new skills documentation
- Total skills: 16 → 18
1.2.0 - 2026-02-24
Added
-
New
/dividend-analysisskill for income investing and dividend safety analysis- Dividend Safety Score (0-100) with letter grade and sector-specific thresholds
- Payout ratio analysis (EPS-based and FCF-based) with stress testing
- Dividend growth metrics: 1/3/5/10yr CAGR, Chowder Rule, Dividend Aristocrats/Kings
- Yield trap detection with red flag checklist
- Recession durability analysis (2000-2002, 2008-2009, 2020)
- DRIP compound growth projections and income portfolio modeling
-
New
/short-interestskill for short squeeze and bearish positioning analysis- Short Interest Squeeze Score (0-10 composite) with probability tiers
- Short float %, Days-to-Cover, and borrow rate tier classification tables
- Short seller thesis evaluation and counter-thesis analysis
- FINRA reporting schedule with data lag caveats
- Options market signal integration (put/call ratio, IV skew, unusual activity)
-
New
/options-analysisskill for options Greeks, IV analysis, and strategy selection- Full Greeks analysis: Delta, Gamma, Theta, Vega, Rho with practical usage guidance
- IV Rank (IVR) and IV Percentile (IVP) interpretation
- IV term structure and volatility skew analysis
- Strategy Selector with 6×2 selection matrix (bullish/bearish/neutral × high/low IV)
- Earnings play analysis: expected move formula, straddle setup, volatility crush dynamics
- Risk management: position sizing, delta hedging, rolling positions
-
New
/research-bundlemeta-skill for comprehensive multi-skill investment research- 5-phase research process: Business Foundation → Valuation → Market Signals → Technical → Risk
- Composite scoring framework with weighted components (Business 25%, Valuation 25%, Signals 20%, Technical 15%, Risk 15%)
- Conflict resolution rules and consensus override logic
- Unified investment thesis with bull/bear cases and probability-weighted scenarios
- Entry/exit strategy and quarterly monitoring plan
-
New
/dcf-valuationskill for intrinsic value modeling- 8-step DCF methodology (base metrics → revenue projection → FCF margins → terminal value → WACC → discount → sensitivity → margin of safety)
- Full WACC calculation (CAPM cost of equity, after-tax cost of debt, capital structure)
- 5×5 sensitivity table (WACC rows vs. terminal growth rate columns)
- Three-scenario framework: Bull (20%) / Base (60%) / Bear (20%) with probability-weighted IV
- Common DCF pitfalls guide (SBC adjustment, TV dominance, cyclicality normalization)
-
New
/competitor-analysisskill for economic moat and competitive positioning- Five Sources of Economic Moat (Morningstar framework): network effects, cost advantages, intangibles, switching costs, efficient scale
- Moat width assessment (Wide/Narrow/None/At Risk) with ROIC signal interpretation
- Porter’s Five Forces deep analysis with individual scores and industry attractiveness composite
- Competitive benchmarking table (8+ metrics vs. top 3-5 peers)
- Innovation and disruption positioning (disruptor vs. disrupted)
- Composite Moat Scorecard (6 weighted components, 0-10 scale)
Enhanced
-
Enhanced
/stock-evalskill with investment-grade depth (50 → 421 lines)- Piotroski F-Score (9-criterion quality scoring system)
- Earnings Quality Score (accruals ratio, cash conversion, non-recurring items)
- ROIC / WACC analysis with Economic Value Added (EVA) framework
- DCF framework with 3-scenario sensitivity table
- Management quality assessment (guidance accuracy, capital allocation track record)
- Analyst consensus tracking with estimate revision momentum (ERM)
- Risk Assessment Matrix (business, financial, valuation, macro)
-
Enhanced
/economics-analysisskill with macro depth (55 → 295 lines)- Yield Curve Analysis: 2s10s, 3M10Y, 5s30s spreads; curve shapes and recession lead times
- Credit Market Indicators: IG/HY OAS spreads, TED Spread, MOVE Index thresholds
- Global Macro Comparison: US/EU/China/Japan cycle positioning, PMI comparison, central bank divergence
- Recession Probability Scoring: NY Fed model, Conference Board LEI, Sahm Rule composite
-
Enhanced
/technical-analysisskill with advanced techniques (267 → 493 lines)- Multi-Timeframe Analysis (MTF): 3-TF framework, alignment scoring, confluence table
- Volume Profile Analysis: POC, Value Area (VAH/VAL), LVN/HVN trading rules, profile shapes
- Ichimoku Cloud: all 5 components, bullish/bearish signal matrix, Kumo twist signals
- Options Flow Integration: put/call ratio, unusual activity, IV vs. HV, GEX mechanics
Standardized
- Added unified Investment Signal block to all 16 skills:
╔══════════════════════════════════════════════╗ ║ INVESTMENT SIGNAL ║ ╠══════════════════════════════════════════════╣ ║ Signal: BULLISH / NEUTRAL / BEARISH ║ ║ Confidence: HIGH / MEDIUM / LOW ║ ║ Horizon: SHORT / MEDIUM / LONG-TERM ║ ║ Score: X.X / 10 ║ ╠══════════════════════════════════════════════╣ ║ Action: BUY / HOLD / SELL ║ ║ Conviction: STRONG / MODERATE / WEAK ║ ╚══════════════════════════════════════════════╝ - Consistent scoring guide (0-10), confidence levels (HIGH/MEDIUM/LOW), and time horizons
/report-generatorupdated to render signal blocks as styled HTML components
Changed
- Updated plugin version from 1.1.0 to 1.2.0
- Added 6 new skill directories under
plugins/us-stock-analysis/skills/ - Updated keywords to include: dcf, options, dividends, short-interest, competitive-analysis, moat, research
1.1.0 - 2026-02-17
Added
-
New
/report-generatorskill for HTML/PDF report generation with interactive visualizations- Standalone HTML reports with embedded Chart.js
- Professional financial report styling and layout
- Support for multiple report templates (executive summary, comprehensive, portfolio)
- PDF export via browser print-to-PDF or command-line tools
- Interactive charts: line, bar, candlestick, waterfall, and more
-
New
/earnings-call-analysisskill for earnings call transcript analysis- Sentiment analysis (bullish/neutral/bearish)
- Management tone assessment (confidence, transparency, red flags)
- Key themes extraction and ranking
- Q&A session insights and analyst concerns
- Quarter-over-quarter comparison
- Investment implications and recommendations
-
New
/insider-tradingskill for insider transaction tracking- SEC Form 4 filing analysis
- Net insider sentiment calculation
- Significant transaction identification (>$1M, >10% position change)
- Ownership trend analysis
- Timing and pattern recognition
- Red flag detection for concerning patterns
-
New
/institutional-ownershipskill for 13F filings analysis- Top institutional holders tracking
- Quarter-over-quarter position changes (new, increased, decreased, eliminated)
- Smart money tracking (notable investors like Buffett, Ackman, etc.)
- Ownership concentration analysis
- Activist investor monitoring
- Portfolio weight analysis for high-conviction positions
Enhanced
-
Enhanced
/fundamental-analysisskill with visualization support- Optional
--visualflag for chart generation - Revenue/earnings growth trend charts
- Profit margin comparison visualizations
- Balance sheet composition charts
- Cash flow waterfall diagrams
- Valuation multiples comparison
- ASCII charts for terminal display
- Data tables formatted for report generator integration
- Optional
-
Enhanced
/technical-analysisskill with chart generation- Optional
--chartflag for visual analysis - Candlestick charts with moving averages overlay
- Volume bar charts with average volume indicator
- RSI, MACD, and Bollinger Bands indicator panels
- Support/resistance level annotations
- Pattern recognition overlays
- ASCII charts for terminal display
- Chart specifications for HTML report generation
- Optional
Changed
- Updated plugin version from 1.0.0 to 1.1.0
- Enhanced marketplace description to highlight new visualization and data analysis features
- Added new keywords: visualization, reports, insider-trading, institutional-ownership, earnings-calls
- Expanded documentation with report generation workflow and examples
- Updated project structure to include 4 new skill directories
Documentation
- Added “Report Generation” section to README with workflow examples
- Updated “Available Skills” section with new skills (categorized as core vs. enhanced)
- Added usage examples for all new skills
- Updated Traditional Chinese README (README-zh-TW.md) with all new features
- Marked completed tasks in TODO.md (visualization, reports, fundamental data)
- Updated CHANGELOG.md with comprehensive v1.1.0 release notes
1.0.0 - 2026-02-16
Added
- Initial release of InvestSkill marketplace
- US Stock Analysis plugin with 6 comprehensive skills:
- Stock Evaluation (
/stock-eval) - Economics Analysis (
/economics-analysis) - Fundamental Analysis (
/fundamental-analysis) - Technical Analysis (
/technical-analysis) - Portfolio Review (
/portfolio-review) - Sector Analysis (
/sector-analysis)
- Stock Evaluation (
- MIT License
- Comprehensive documentation
Plugin Details
- us-stock-analysis v1.0.0
- Professional-grade US stock market analysis
- Integration with financial data sources
- Actionable investment insights