Claude Finance Kit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Claude Finance Kit (Plugin) and scored it 92/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 2 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 2 flagged
A bulleted imperative like {match} tells the agent to never reveal, disclose, or mention something to the user. Used adversarially it can instruct the agent to hide its tool calls or lie about what it did — stripping the transparency a user relies on to trust the agent.
A bulleted imperative like {match} tells the agent to never reveal, disclose, or mention something to the user. Used adversarially it can instruct the agent to hide its tool calls or lie about what it did — stripping the transparency a user relies on to trust the agent.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <h1 align="center">claude-finance-kit</h1> <p align="center"> Vietnamese stock market analysis toolkit for AI coding assistants. <br /> Fundamentals • Technicals • Macro • News • Screening • Fund Analysis </p> </p>
<p align="center"> <a href="https://pypi.org/project/claude-finance-kit/"><img src="https://img.shields.io/pypi/v/claude-finance-kit?color=blue&label=PyPI" alt="PyPI Version" /></a> <a href="https://www.npmjs.com/package/claude-finance-kit-cli"><img src="https://img.shields.io/npm/v/claude-finance-kit-cli?color=green&label=npm" alt="npm Version" /></a> <a href="https://pypi.org/project/claude-finance-kit/"><img src="https://img.shields.io/pypi/pyversions/claude-finance-kit" alt="Python Versions" /></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/hongbietcode/claude-finance-kit" alt="License" /></a> </p>
claude-finance-kit is a Python library + AI plugin that gives your coding assistant deep access to Vietnamese stock market data and analysis tools. It works as a Claude Code plugin (via Marketplace), and also supports Cursor and GitHub Copilot through a CLI installer.
Ask natural language questions — the plugin auto-routes to the right analysis workflow:
"Analyze FPT stock"
"Market overview today"
"Compare VNM vs MSN"
"Latest news sentiment for HPG"<p align="center"> <a href="https://github.com/hongbietcode/claude-finance-kit/releases/latest"> <img src="assets/image.png" alt="Claude Finance Kit analyzing HPG stock" width="800" /> </a> <br /> <em>Claude Code analyzing HPG stock — orchestrating fundamental and technical agents in parallel. <a href="https://github.com/hongbietcode/claude-finance-kit/releases/latest">Download plugin →</a></em> </p>
pip install claude-finance-kit<details> <summary><strong>Claude Code (via Marketplace)</strong></summary>
Add the marketplace:
/plugin marketplace add hongbietcode/claude-finance-kitBrowse and install:
Run /plugin to open the plugin manager. Go to the Discover tab to find claude-finance-kit.
Select it and choose an installation scope:
Or install directly:
/plugin install claude-finance-kit@hongbietcode-claude-finance-kitRun /reload-plugins to activate.
</details>
<details> <summary><strong>Other AI Assistants (Cursor, Copilot)</strong></summary>
npx claude-finance-kit-cli init --ai cursor # Cursor
npx claude-finance-kit-cli init --ai copilot # GitHub Copilot
npx claude-finance-kit-cli init --ai claude # Claude Code (CLI alternative)</details>
Once installed, just ask naturally — the plugin auto-invokes the right skill:
"Analyze FPT stock" → finance-kit (stock deep dive)
"Market overview today" → finance-kit (market briefing)
"Compare VNM vs MSN" → finance-kit (comparative)
"Latest news sentiment for HPG" → finance-kit (news sentiment)
/finance-kit "tôi mua HPG ở giá 26.6k, có nên bán không" → finance-kit (full analysis)from claude_finance_kit import Stock, Market, Macro, Commodity, Fund
# Stock data
stock = Stock("FPT")
stock.quote.history(start="2025-01-01", end="2025-12-31")
stock.finance.income_statement(period="quarter", lang="en")
stock.company.overview()
# Market valuation
market = Market("VNINDEX")
market.pe(duration="5Y")
market.top_gainer(limit=10)
# Macro indicators
macro = Macro()
macro.gdp()
macro.cpi()
macro.interest_rate()
# Commodities
commodity = Commodity()
commodity.gold()
commodity.oil()
# Fund analysis
fund = Fund()
fund.listing("STOCK")from claude_finance_kit import Stock, Indicator
stock = Stock("FPT")
df = stock.quote.history(start="2025-01-01", end="2025-12-31")
df = df.set_index("time")
ind = Indicator(df)
ind.trend.sma(length=20)
ind.trend.ema(length=50)
ind.momentum.rsi(length=14)
ind.momentum.macd(fast=12, slow=26, signal=9)
ind.volatility.atr(length=14)
ind.volume.obv()| Source | Type | Coverage |
|---|---|---|
| VCI | Stock (default) | Quote, company, finance, listing, trading — full VN coverage |
| KBS | Stock (fallback) | Same as VCI — full VN coverage |
| MAS | Stock | Quote, intraday, financials, price depth |
| TVS | Stock | Company overview only |
| VDS | Stock | Intraday only |
| FMP | Stock (global) | Quote, company, financials — requires FMP_API_KEY |
| BINANCE | Crypto | History, intraday, depth — no API key |
| VND | Market | P/E, P/B, top movers |
| MBK | Macro | GDP, CPI, interest rates, FDI, trade balance |
| FMARKET | Fund | Mutual fund data (58+ funds) |
| SPL | Commodity | Gold, oil, steel, gas, fertilizer, agricultural |
| Perplexity | Search | Web search — requires PERPLEXITY_API_KEY |
Source fallback: If VCI returns 403 (common on cloud IPs), the library automatically falls back to KBS. You can also specify manually: Stock("FPT", source="KBS").src/claude_finance_kit/ # Python library (PyPI)
cli/ # npm CLI installer (claude-finance-kit-cli)
├── assets/
│ ├── skills/finance-kit/ # Single skill with references + scripts
│ ├── agents/ # fundamental-analyst, technical-analyst, macro-researcher, lead-analyst
│ └── templates/ # Platform configs (claude, cursor, copilot)
├── src/ # CLI source code
└── dist/ # Built CLI
.claude-plugin/ # Claude Marketplace manifest| Component | Type | Role |
|---|---|---|
finance-kit | Skill | Senior analyst orchestrator (Marcus Vance). Single entry point — routes by complexity, spawns specialists, produces reports |
fundamental-analyst | Agent | Financials, valuation, earnings (spawned by skill) |
technical-analyst | Agent | Price trends, momentum, S/R levels (spawned by skill) |
macro-researcher | Agent | GDP, CPI, rates, FX, commodities (spawned by skill) |
lead-analyst | Agent | Synthesis + decision for T3/T4 analysis (spawned by skill) |
| Variable | Required | Description |
|---|---|---|
FMP_API_KEY | Optional | For global stock data via Financial Modeling Prep |
PERPLEXITY_API_KEY | Optional | For web search via Perplexity API |
| Guide | Description |
|---|---|
| Getting Started | Installation, quickstart, architecture |
| Stock Module | Stock API with data models |
| Market Module | Market valuation API |
| Macro Module | Macro indicators API |
| Fund Module | Fund analysis API |
| Commodity Module | Commodity API |
| Technical Analysis | TA indicators reference |
| Collector Module | Collector tasks, scheduler |
| News Module | News crawlers, sites |
| Advanced Topics | Provider registry, error handling |
| Search Module | Perplexity Search API |
cd cli
npm install
npm run build # Build CLI TypeScript
npm run bump -- patch # Bump version (patch|minor|major)npm run bump updates version across all files:
| File | Field |
|---|---|
pyproject.toml | version |
src/claude_finance_kit/__init__.py | __version__ |
cli/package.json | version |
.claude-plugin/plugin.json | version |
.claude-plugin/marketplace.json | metadata.version + plugins[0].version |
npm run bump -- patch
git commit -am "chore: bump version to X.Y.Z"
git tag vX.Y.Z
git push origin main --tags # Triggers CI: PyPI + npm publishContributions are welcome! Please:
git checkout -b feat/my-feature)git commit -m 'feat: add my feature')git push origin feat/my-feature)Reports generated by this toolkit are for reference only and do not constitute investment advice. You are responsible for your own capital allocation and risk management.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.