[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93188":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":8,"pushedAt":8,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":13,"starSnapshotCount":13,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},93188,"personal-finance-skill","wikidjon\u002Fpersonal-finance-skill","wikidjon",null,"TypeScript",132,1032,51,0,100,56.04,"MIT License",false,"main",true,[],"2026-07-22 04:02:08","\u003Cdiv align=\"center\">\n\n# `personal-finance-skill`\n\n### Your AI-Powered Personal CFO\n\n**75 tools** across **7 extensions** for banking, investing, tax optimization, market intelligence, social sentiment, and financial analysis — built for the [Agent Skills Protocol](https:\u002F\u002Fagentskills.io).\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](LICENSE)\n[![Agent Skills](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAgent_Skills-Protocol-blueviolet)](https:\u002F\u002Fagentskills.io)\n[![Tools](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTools-75-brightgreen)](#tool-catalog)\n[![Tests](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTests-612_passing-success)](#running-tests)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5+-3178C6?logo=typescript&logoColor=white)](#)\n[![Node.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-18+-339933?logo=nodedotjs&logoColor=white)](#)\n\n---\n\n**Connect your bank accounts** &bull; **Monitor your portfolio** &bull; **Trade stocks** &bull; **Optimize taxes** &bull; **Track market intel** &bull; **Detect anomalies**\n\nAll through natural language, with deterministic calculations, policy guardrails, and approval gates.\n\n[Install](#-quick-start) &bull; [Architecture](#-architecture) &bull; [Tools](#-tool-catalog) &bull; [Workflows](#-key-workflows) &bull; [Docs](#-documentation)\n\n\u003C\u002Fdiv>\n\n---\n\n## Why This Skill?\n\nMost AI finance tools hallucinate numbers. This one doesn't.\n\n- **Deterministic math** — Tax liability, P\u002FL, net worth always computed by tools, never by LLM arithmetic\n- **Policy engine** — Every trade, transfer, and tax move passes `finance_policy_check` before execution\n- **Multi-provider** — Plaid (banking) + Alpaca (trading) + IBKR (portfolio) + IRS tax forms + Finnhub\u002FSEC\u002FFRED\u002FBLS (market data) + StockTwits\u002FX (sentiment) in one unified model\n- **Approval gates** — No live trades without explicit human confirmation, ever\n- **Canonical data model** — All providers normalize into shared types (Account, Transaction, Position, Liability)\n- **Works with 40+ AI agents** — Claude Code, Cursor, Codex, OpenClaw, Windsurf, and more via the Agent Skills Protocol\n\n---\n\n## Install\n\n```bash\nnpx skills add \u003Cowner>\u002Fpersonal-finance-skill\n```\n\nOr install for specific agents:\n\n```bash\nnpx skills add \u003Cowner>\u002Fpersonal-finance-skill -a claude-code -a cursor -a codex\n```\n\n---\n\n## Architecture\n\n```\n+---------------------------------------------------+\n|              Intelligence Layer                     |\n|  tax-engine (23)  market-intel (10)                |\n|  social-sentiment (6)                              |\n+---------------------------------------------------+\n|            Data Source Adapters                      |\n|  plaid-connect (8)  |  alpaca-trading (10)         |\n|  ibkr-portfolio (9) |                              |\n+---------------------------------------------------+\n|              Foundation Layer                        |\n|  finance-core (9 tools)                             |\n|  Canonical models, storage, normalization,          |\n|  policy checks, anomaly detection, briefs           |\n+---------------------------------------------------+\n```\n\n**Data flow**: Adapters fetch provider data &rarr; finance-core normalizes & stores &rarr; intelligence layer analyzes &rarr; policy engine gates actions.\n\n### Extensions at a Glance\n\n| Extension | Tools | What It Does |\n|:----------|:-----:|:-------------|\n| **finance-core** | 9 | Canonical data models, snapshot storage, normalization, policy engine, anomaly detection, financial briefs |\n| **plaid-connect** | 8 | Plaid Link flow, bank accounts, transactions, investments, liabilities, recurring charges, webhooks |\n| **alpaca-trading** | 10 | Brokerage account, positions, orders, market data, trading with safety limits |\n| **ibkr-portfolio** | 9 | IBKR Client Portal, portfolio allocation, performance, market snapshots, session management |\n| **tax-engine** | 23 | 15 form parsers (1040, Schedules A-E\u002FSE, 8949, 6251, W-2, 1099-B\u002FDIV\u002FINT, K-1, state returns) + 8 calculators (liability, TLH, wash sales, lots, quarterly, Schedule D, state tax, AMT) |\n| **market-intel** | 10 | Company news, SEC filings, economic data (FRED, BLS), analyst recommendations, news sentiment via Finnhub, SEC EDGAR, FRED, BLS, Alpha Vantage |\n| **social-sentiment** | 6 | Social media sentiment via StockTwits, X\u002FTwitter, congressional trading via Quiver Quantitative |\n\n---\n\n## Tool Catalog\n\n### finance-core\n\n| Tool | Description | Risk |\n|:-----|:------------|:----:|\n| `finance_upsert_snapshot` | Store normalized financial data snapshot (idempotent) | LOW |\n| `finance_get_state` | Get current financial state (accounts, positions, etc.) | READ |\n| `finance_get_transactions` | Query transactions with filters and pagination | READ |\n| `finance_get_net_worth` | Calculate net worth breakdown by category\u002Faccount | READ |\n| `finance_detect_anomalies` | Scan for unusual transactions, balance drops, fee spikes | READ |\n| `finance_cash_flow_summary` | Income vs expenses by category with savings rate | READ |\n| `finance_subscription_tracker` | Identify recurring charges and subscription patterns | READ |\n| `finance_generate_brief` | Create structured financial summary with action items | READ |\n| `finance_policy_check` | Validate proposed action against policy rules | READ |\n\n### plaid-connect\n\n| Tool | Description | Risk |\n|:-----|:------------|:----:|\n| `plaid_create_link_token` | Initialize Plaid Link for account connection | LOW |\n| `plaid_exchange_token` | Exchange public token for permanent access | MED |\n| `plaid_get_accounts` | List connected accounts with balances | READ |\n| `plaid_get_transactions` | Fetch transactions via cursor-based sync | READ |\n| `plaid_get_investments` | Fetch holdings, securities, investment transactions | READ |\n| `plaid_get_liabilities` | Fetch credit, student loan, and mortgage data | READ |\n| `plaid_get_recurring` | Identify recurring inflow\u002Foutflow streams | READ |\n| `plaid_webhook_handler` | Process incoming Plaid webhook events | LOW |\n\n### alpaca-trading\n\n| Tool | Description | Risk |\n|:-----|:------------|:----:|\n| `alpaca_get_account` | Get account balances, buying power, status | READ |\n| `alpaca_list_positions` | List all open positions | READ |\n| `alpaca_get_position` | Get single position by symbol | READ |\n| `alpaca_list_orders` | List orders with status\u002Fdate filters | READ |\n| `alpaca_create_order` | Submit buy\u002Fsell order with safety checks | **HIGH** |\n| `alpaca_cancel_order` | Cancel a pending order | MED |\n| `alpaca_portfolio_history` | Historical equity and P\u002FL over time | READ |\n| `alpaca_get_assets` | Search tradable assets by class\u002Fexchange | READ |\n| `alpaca_market_data` | Get snapshots, bars, or quotes for symbols | READ |\n| `alpaca_clock` | Check if market is open, next open\u002Fclose | READ |\n\n### ibkr-portfolio\n\n| Tool | Description | Risk |\n|:-----|:------------|:----:|\n| `ibkr_auth_status` | Check gateway authentication status | READ |\n| `ibkr_tickle` | Keep gateway session alive (~1 min interval) | LOW |\n| `ibkr_list_accounts` | List accounts (must call first) | READ |\n| `ibkr_get_positions` | Get positions for an account (paginated) | READ |\n| `ibkr_portfolio_allocation` | Allocation by asset class, sector, group | READ |\n| `ibkr_portfolio_performance` | NAV time series and returns | READ |\n| `ibkr_search_contracts` | Search contracts by symbol\u002Fname\u002Ftype | READ |\n| `ibkr_market_snapshot` | Real-time market data for contracts | READ |\n| `ibkr_get_orders` | Get current live orders | READ |\n\n### tax-engine\n\n| Tool | Description | Risk |\n|:-----|:------------|:----:|\n| `tax_parse_1099b` | Parse 1099-B (proceeds, cost basis, wash sales) | READ |\n| `tax_parse_1099div` | Parse 1099-DIV (dividends, capital gains) | READ |\n| `tax_parse_1099int` | Parse 1099-INT (interest, bond premiums) | READ |\n| `tax_parse_w2` | Parse W-2 (wages, withholding, SS\u002FMedicare) | READ |\n| `tax_parse_k1` | Parse Schedule K-1 (partnership pass-through) | READ |\n| `tax_parse_1040` | Parse Form 1040 (main individual return) | READ |\n| `tax_parse_schedule_a` | Parse Schedule A (itemized deductions, SALT cap) | READ |\n| `tax_parse_schedule_b` | Parse Schedule B (interest\u002Fdividends, foreign accounts) | READ |\n| `tax_parse_schedule_c` | Parse Schedule C (self-employment, 23 expense categories) | READ |\n| `tax_parse_schedule_d` | Parse Schedule D (capital gains netting) | READ |\n| `tax_parse_schedule_e` | Parse Schedule E (rental\u002Fpartnership income) | READ |\n| `tax_parse_schedule_se` | Parse Schedule SE (self-employment tax) | READ |\n| `tax_parse_form_8949` | Parse Form 8949 (capital asset dispositions) | READ |\n| `tax_parse_state_return` | Parse generic state income tax return | READ |\n| `tax_parse_form_6251` | Parse Form 6251 (AMT) | READ |\n| `tax_estimate_liability` | Calculate federal\u002Fstate tax with brackets | READ |\n| `tax_find_tlh_candidates` | Identify tax-loss harvesting opportunities | READ |\n| `tax_check_wash_sales` | Validate wash sale rule compliance (61-day window) | READ |\n| `tax_lot_selection` | Compare FIFO\u002FLIFO\u002Fspecific ID for a proposed sale | READ |\n| `tax_quarterly_estimate` | Quarterly estimated payments with safe harbor | READ |\n| `tax_compute_schedule_d` | Schedule D computation with $3K loss cap and carryover | READ |\n| `tax_compute_state_tax` | State income tax (8 states: CA, NY, NJ, IL, PA, MA, TX, FL) | READ |\n| `tax_compute_amt` | Alternative Minimum Tax with 2025 parameters | READ |\n\n### market-intel\n\n| Tool | Description | Risk |\n|:-----|:------------|:----:|\n| `intel_company_news` | Company-specific news articles by ticker (Finnhub) | READ |\n| `intel_market_news` | General\u002Fforex\u002Fcrypto\u002Fmerger market news (Finnhub) | READ |\n| `intel_stock_fundamentals` | Financial statements, annual\u002Fquarterly (Finnhub) | READ |\n| `intel_analyst_recommendations` | Analyst buy\u002Fhold\u002Fsell recommendations (Finnhub) | READ |\n| `intel_sec_filings` | SEC filing history by company CIK (SEC EDGAR) | READ |\n| `intel_sec_search` | Full-text search of SEC filings (SEC EDGAR) | READ |\n| `intel_fred_series` | Economic data series observations (FRED) | READ |\n| `intel_fred_search` | Search for economic data series (FRED) | READ |\n| `intel_bls_data` | Bureau of Labor Statistics time series (BLS) | READ |\n| `intel_news_sentiment` | News sentiment analysis by ticker\u002Ftopic (Alpha Vantage) | READ |\n\n### social-sentiment\n\n| Tool | Description | Risk |\n|:-----|:------------|:----:|\n| `social_stocktwits_sentiment` | Sentiment aggregation (bullish\u002Fbearish) for a ticker | READ |\n| `social_stocktwits_trending` | Trending symbols on StockTwits | READ |\n| `social_x_search` | Search recent tweets with financial query | READ |\n| `social_x_user_timeline` | Fetch a user's recent tweets | READ |\n| `social_x_cashtag` | Cashtag search ($AAPL) with basic sentiment | READ |\n| `social_quiver_congress` | Congressional stock trading activity (Quiver Quantitative) | READ |\n\n---\n\n## Key Workflows\n\n### 1. Onboarding &mdash; Connect Accounts\n\n```\nplaid_create_link_token(products: [\"transactions\", \"investments\", \"liabilities\"])\n  -> User completes Plaid Link\n  -> plaid_exchange_token(publicToken)\n  -> plaid_get_accounts -> finance_upsert_snapshot(source: \"plaid\")\n  -> plaid_get_transactions -> finance_upsert_snapshot\n  -> plaid_get_investments -> finance_upsert_snapshot\n  -> finance_get_net_worth -> present baseline to user\n```\n\n### 2. Daily Anomaly Scan\n\n```\nplaid_get_transactions(cursor) -> finance_upsert_snapshot\nalpaca_list_positions -> finance_upsert_snapshot(source: \"alpaca\")\nibkr_auth_status -> ibkr_get_positions -> finance_upsert_snapshot(source: \"ibkr\")\n  -> finance_detect_anomalies(lookbackDays: 7)\n  -> Alert on medium\u002Fhigh severity findings\n```\n\n### 3. Tax-Loss Harvesting\n\n```\nfinance_get_state(include: [\"positions\"])\n  -> tax_find_tlh_candidates(positions, marginalRate)\n  -> tax_check_wash_sales(proposedSales, recentPurchases)\n  -> tax_lot_selection(symbol, qty, lots)\n  -> finance_policy_check(actionType: \"tax_move\")\n  -> [If approved] alpaca_create_order(side: \"sell\", ...)\n```\n\n### 4. Quarterly Tax Review\n\n```\ntax_parse_w2 + tax_parse_1099b + tax_parse_1099div + tax_parse_1099int\n  + tax_parse_1040 + tax_parse_schedule_c + tax_parse_schedule_se\n  -> tax_estimate_liability(filingStatus, income)\n  -> tax_compute_state_tax(stateCode, taxableIncome, filingStatus)\n  -> tax_compute_amt(amtInput)  [if ISO\u002Fhigh-income]\n  -> tax_quarterly_estimate(projectedIncome, priorYearTax, paymentsMade)\n  -> finance_generate_brief(period: \"quarterly\")\n```\n\n### 5. Portfolio Monitoring\n\n```\nalpaca_list_positions + ibkr_get_positions\n  -> finance_upsert_snapshot (both sources)\n  -> ibkr_portfolio_allocation (check drift)\n  -> alpaca_portfolio_history (performance trend)\n  -> finance_detect_anomalies\n  -> finance_generate_brief(period: \"weekly\")\n```\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n- **Node.js 18+** and **npm**\n- **TypeScript 5+**\n- API credentials for at least one provider (see below)\n\n### 1. Clone & Onboard\n\nThe onboard script builds all extensions, registers them as OpenClaw plugins, and installs the skill:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fwikidjon\u002Fpersonal-finance-skill.git\ncd personal-finance-skill\n\n# Build, symlink plugins, and install skill in one command\n.\u002Fscripts\u002Fonboard.sh\n```\n\nThe script will:\n1. Install deps and build all 7 extensions\n2. Register each as an OpenClaw plugin (dev-linked via `openclaw plugins install -l`)\n3. Symlink the skill into `~\u002F.openclaw\u002Fskills\u002F`\n4. Verify everything is reachable\n\n> **Options**: `--copy` to copy instead of symlink, `--uninstall` to remove everything.\n\n### 2. Configure API Credentials\n\nSet credentials for the providers you plan to use (you don't need all of them):\n\n```bash\n# Plaid — https:\u002F\u002Fdashboard.plaid.com\nexport PLAID_CLIENT_ID=\"your-client-id\"\nexport PLAID_SECRET=\"your-secret\"\nexport PLAID_ENV=\"sandbox\"              # sandbox | development | production\n\n# Alpaca — https:\u002F\u002Fapp.alpaca.markets\nexport ALPACA_API_KEY=\"your-key\"\nexport ALPACA_API_SECRET=\"your-secret\"\nexport ALPACA_ENV=\"paper\"               # paper | live\n\n# IBKR — https:\u002F\u002Fwww.interactivebrokers.com\nexport IBKR_BASE_URL=\"https:\u002F\u002Flocalhost:5000\u002Fv1\u002Fapi\"\n\n# Market Intelligence\nexport FINNHUB_API_KEY=\"your-key\"       # https:\u002F\u002Ffinnhub.io\nexport FRED_API_KEY=\"your-key\"          # https:\u002F\u002Ffred.stlouisfed.org\nexport BLS_API_KEY=\"your-key\"           # https:\u002F\u002Fdata.bls.gov\nexport ALPHA_VANTAGE_API_KEY=\"your-key\" # https:\u002F\u002Fwww.alphavantage.co\n\n# Social Sentiment\nexport X_API_BEARER_TOKEN=\"your-token\"  # https:\u002F\u002Fdeveloper.x.com\nexport QUIVER_API_KEY=\"your-key\"        # https:\u002F\u002Fwww.quiverquant.com\n```\n\n### 3. Restart & Verify\n\n```bash\nopenclaw gateway restart\nopenclaw plugins list        # should show all 7 extensions\n```\n\n### 4. Run Tests\n\n```bash\nfor ext in extensions\u002F*\u002F; do\n  echo \"Testing $ext...\"\n  (cd \"$ext\" && npm test)\ndone\n```\n\n612 tests across 55+ test files, all passing.\n\n---\n\n## Project Structure\n\n```\npersonal-finance-skill\u002F\n  SKILL.md                              # Agent Skills Protocol entry point\n  README.md                             # This file\n  LICENSE                               # MIT\n  scripts\u002F\n    onboard.sh                          # Build + register + verify (one command)\n  extensions\u002F\n    finance-core\u002F                       # Foundation: models, storage, policy\n    plaid-connect\u002F                      # Adapter: Plaid banking API\n    alpaca-trading\u002F                     # Adapter: Alpaca brokerage API\n    ibkr-portfolio\u002F                     # Adapter: IBKR Client Portal API\n    tax-engine\u002F                         # Intelligence: tax parsing + strategy (23 tools)\n    market-intel\u002F                       # Intelligence: news, filings, economic data (10 tools)\n    social-sentiment\u002F                   # Intelligence: social sentiment (6 tools)\n  references\u002F\n    ext-finance-core.md                 # 9 tool schemas + storage layer\n    ext-plaid-connect.md                # 8 tool schemas + Link flow\n    ext-alpaca-trading.md               # 10 tool schemas + order lifecycle\n    ext-ibkr-portfolio.md               # 9 tool schemas + session mgmt\n    ext-tax-engine.md                   # 23 tool schemas + calculators\n    ext-market-intel.md                 # 10 tool schemas (Finnhub, SEC, FRED, BLS, Alpha Vantage)\n    ext-social-sentiment.md             # 6 tool schemas (StockTwits, X, Quiver)\n    data-models-and-schemas.md          # Canonical types + enums\n    risk-and-policy-guardrails.md       # Policy engine + approval tiers\n    api-plaid.md                        # Plaid API reference\n    api-alpaca-trading.md               # Alpaca API reference\n    api-ibkr-client-portal.md           # IBKR API reference\n    api-openclaw-framework.md           # OpenClaw architecture\n    api-openclaw-extension-patterns.md  # Extension patterns\n    api-irs-tax-forms.md                # IRS form schemas\n```\n\n---\n\n## Automation Examples\n\nSet up recurring scans with your agent runtime:\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Weekly Financial Brief\u003C\u002Fb> &mdash; Mondays at 8 AM PT\u003C\u002Fsummary>\n\n```bash\nopenclaw cron add \\\n  --name \"Finance Weekly Brief\" \\\n  --cron \"0 8 * * 1\" \\\n  --tz \"America\u002FLos_Angeles\" \\\n  --session isolated \\\n  --message \"Sync all providers, compute net worth delta, top spend changes, upcoming bills, tax posture, portfolio drift. Send concise brief with action queue.\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Daily Anomaly Scan\u003C\u002Fb> &mdash; Every day at 7:15 AM PT\u003C\u002Fsummary>\n\n```bash\nopenclaw cron add \\\n  --name \"Finance Daily Anomaly\" \\\n  --cron \"15 7 * * *\" \\\n  --tz \"America\u002FLos_Angeles\" \\\n  --session isolated \\\n  --message \"Sync latest transactions, run finance_detect_anomalies. Alert on medium\u002Fhigh\u002Fcritical findings only.\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Quarterly Tax Check\u003C\u002Fb> &mdash; Jan, Apr, Jun, Sep 1st at 9 AM PT\u003C\u002Fsummary>\n\n```bash\nopenclaw cron add \\\n  --name \"Quarterly Tax Review\" \\\n  --cron \"0 9 1 1,4,6,9 *\" \\\n  --tz \"America\u002FLos_Angeles\" \\\n  --session isolated \\\n  --message \"Estimate liability, check withholding gap, find TLH opportunities, assess quarterly payment risk.\"\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Portfolio Drift Monitor\u003C\u002Fb> &mdash; Every 30 min during market hours\u003C\u002Fsummary>\n\n```bash\nopenclaw cron add \\\n  --name \"Portfolio Drift Monitor\" \\\n  --cron \"*\u002F30 13-21 * * 1-5\" \\\n  --tz \"America\u002FNew_York\" \\\n  --session isolated \\\n  --message \"Check portfolio allocation vs target bands. Alert if drift exceeds threshold for 2 consecutive scans.\"\n```\n\n\u003C\u002Fdetails>\n\n---\n\n## Safety & Guardrails\n\nThese rules are enforced for all AI agents using this skill:\n\n| # | Rule |\n|:-:|:-----|\n| 1 | **Always run `finance_policy_check`** before any trade, transfer, or tax move |\n| 2 | **Never bypass approval requirements** &mdash; halt and request confirmation |\n| 3 | **Deterministic math only** &mdash; never use LLM arithmetic for money |\n| 4 | **State data freshness** &mdash; every recommendation includes when data was last synced |\n| 5 | **Never expose credentials** &mdash; no API keys or tokens in outputs |\n| 6 | **No auto-execution** &mdash; live trades always require explicit human confirmation |\n| 7 | **Include disclaimers** &mdash; investment outputs state \"not financial advice\" |\n| 8 | **Flag stale data** &mdash; warn before advising on outdated information |\n\n---\n\n## Key Concepts\n\n| Concept | Description |\n|:--------|:------------|\n| **Canonical Models** | All provider data normalizes into shared types: `Account`, `Transaction`, `Position`, `Liability` |\n| **Snapshot Storage** | Append-only, content-hashed, idempotent storage with point-in-time queries |\n| **Policy Engine** | Configurable rules with approval tiers (none \u002F user \u002F advisor) gate all side effects |\n| **Deterministic Calculators** | Tax, P\u002FL, net worth computed by tools &mdash; zero LLM math |\n| **Progressive Disclosure** | SKILL.md has the overview, `references\u002F` has full schemas, `api-*.md` has upstream docs |\n\n---\n\n## Documentation\n\n| Audience | Start Here |\n|:---------|:-----------|\n| **AI agents** | [`SKILL.md`](SKILL.md) &mdash; tool catalog, workflows, guardrails |\n| **Developers** | [`CLAUDE.md`](CLAUDE.md) &mdash; build instructions, architecture, rules |\n| **Tool schemas** | [`references\u002Fext-*.md`](references\u002F) &mdash; full input\u002Foutput schemas per extension |\n| **Data models** | [`references\u002Fdata-models-and-schemas.md`](references\u002Fdata-models-and-schemas.md) |\n| **Policy rules** | [`references\u002Frisk-and-policy-guardrails.md`](references\u002Frisk-and-policy-guardrails.md) |\n\n---\n\n## Agent Compatibility\n\nThis skill follows the [Agent Skills Protocol](https:\u002F\u002Fagentskills.io) and works with **40+ AI coding agents** including:\n\nClaude Code &bull; Cursor &bull; Codex &bull; OpenClaw &bull; Windsurf &bull; Cline &bull; Roo Code &bull; Goose &bull; Continue &bull; Kilo &bull; Amp &bull; and more\n\n---\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repo\n2. Create a feature branch (`git checkout -b feat\u002Fmy-feature`)\n3. Write tests first (TDD)\n4. Ensure all 612 tests pass\n5. Submit a PR\n\nSee [`CLAUDE.md`](CLAUDE.md) for coding conventions and architecture guidelines.\n\n---\n\n## Disclaimer\n\nThis software is for informational and educational purposes only. It is **not financial advice**. Always consult a qualified financial advisor before making investment or tax decisions. The authors assume no liability for financial losses incurred through the use of this software.\n\n---\n\n## License\n\n[MIT](LICENSE)\n","这是一个面向AI代理的个人财务技能工具集，提供75个可组合的金融功能模块，覆盖银行账户连接、投资组合监控、股票交易、税务优化、市场情报与社交情绪分析等场景。项目采用确定性计算（非LLM算术）、多数据源适配（Plaid\u002FAlpaca\u002FIBKR等）、统一数据模型（Account\u002FTransaction\u002FPosition）及策略引擎（finance_policy_check）与人工审批门控机制，确保金融操作安全合规。适用于集成至支持Agent Skills Protocol的AI开发环境，为开发者构建可信、可审计的个人财务智能体提供开箱即用的能力基座。",2,"2026-07-12 02:30:09","CREATED_QUERY"]