AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Personal Finance Skill

skill-6missedcalls-personal-finance-skill-personal-finance-skill · by 6missedcalls

>

No reviews yet
0 installs
36 views
0.0% view→install

Install

$ agentstack add skill-6missedcalls-personal-finance-skill-personal-finance-skill

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-6missedcalls-personal-finance-skill-personal-finance-skill)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
6mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Personal Finance Skill? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Personal Finance Skill

A comprehensive personal finance management skill with 75 tools across 7 extensions for banking, investing, tax, market intelligence, social sentiment, and financial analysis workflows.

When to Use

Activate this skill when a user asks for:

  • Account aggregation — connecting bank accounts, viewing balances, syncing transactions
  • Net worth / cash flow — computing totals, tracking spending, savings rate analysis
  • Portfolio monitoring — positions, allocation, performance, drift detection
  • Trading — placing/canceling orders, market data, asset lookup (Alpaca)
  • Tax optimization — estimated liability, TLH candidates, wash sale checks, quarterly payments
  • Tax document processing — parsing W-2, 1099-B/DIV/INT, K-1, Form 1040, Schedules A-E/SE, Form 8949, Form 6251 (AMT), state returns
  • Market intelligence — company news, SEC filings, analyst recommendations, economic data (FRED, BLS), news sentiment
  • Social sentiment — StockTwits sentiment, X/Twitter cashtag analysis, trending symbols, congressional trading
  • Recurring expense tracking — subscriptions, bills, income streams
  • Anomaly detection — unusual transactions, balance drops, duplicate charges
  • Financial briefings — weekly/monthly summaries with action items
  • Scheduled finance workflows — cron-based scans, alerts, reports

Architecture Overview

Seven extensions organized in three layers:

Intelligence Layer
  tax-engine (23 tools) — parsing (15), liability, TLH, wash sales, lots,
    Schedule D computation, state tax, AMT
  market-intel (10 tools) — news, fundamentals, SEC filings, economic data
  social-sentiment (6 tools) — StockTwits, X/Twitter, congressional trades

Data Source Adapters
  plaid-connect (8)   alpaca-trading (10)   ibkr-portfolio (9)

Foundation Layer
  finance-core (9 tools) — canonical models, storage, normalization,
    policy checks, anomaly detection, briefs

Data flow: Adapters fetch provider data → finance-core normalizes and stores → intelligence layer analyzes → policy engine gates actions.

Tool Catalog

finance-core — 9 tools

| Tool | Description | Risk | |------|-------------|------| | finance_upsert_snapshot | Store normalized financial data snapshot (idempotent) | LOW | | finance_get_state | Get current financial state (accounts, positions, etc.) | READ | | finance_get_transactions | Query transactions with filters and pagination | READ | | finance_get_net_worth | Calculate net worth breakdown by category/account | READ | | finance_detect_anomalies | Scan for unusual transactions, balance drops, fee spikes | READ | | finance_cash_flow_summary | Income vs expenses by category with savings rate | READ | | finance_subscription_tracker | Identify recurring charges and subscription patterns | READ | | finance_generate_brief | Create structured financial summary with action items | READ | | finance_policy_check | Validate proposed action against policy rules | READ |

> Full schemas: [references/ext-finance-core.md](references/ext-finance-core.md)

plaid-connect — 8 tools

| Tool | Description | Risk | |------|-------------|------| | plaid_create_link_token | Initialize Plaid Link for account connection | LOW | | plaid_exchange_token | Exchange public token for permanent access | MED | | plaid_get_accounts | List connected accounts with balances | READ | | plaid_get_transactions | Fetch transactions via cursor-based sync | READ | | plaid_get_investments | Fetch holdings, securities, investment transactions | READ | | plaid_get_liabilities | Fetch credit, student loan, and mortgage data | READ | | plaid_get_recurring | Identify recurring inflow/outflow streams | READ | | plaid_webhook_handler | Process incoming Plaid webhook events | LOW |

> Full schemas: [references/ext-plaid-connect.md](references/ext-plaid-connect.md)

alpaca-trading — 10 tools

| Tool | Description | Risk | |------|-------------|------| | alpaca_get_account | Get account balances, buying power, status | READ | | alpaca_list_positions | List all open positions | READ | | alpaca_get_position | Get single position by symbol | READ | | alpaca_list_orders | List orders with status/date filters | READ | | alpaca_create_order | Submit buy/sell order with safety checks | HIGH | | alpaca_cancel_order | Cancel a pending order | MED | | alpaca_portfolio_history | Historical equity and P/L over time | READ | | alpaca_get_assets | Search tradable assets by class/exchange | READ | | alpaca_market_data | Get snapshots, bars, or quotes for symbols | READ | | alpaca_clock | Check if market is open, next open/close | READ |

> Full schemas: [references/ext-alpaca-trading.md](references/ext-alpaca-trading.md)

ibkr-portfolio — 9 tools

| Tool | Description | Risk | |------|-------------|------| | ibkr_auth_status | Check gateway authentication status | READ | | ibkr_tickle | Keep gateway session alive (~1 min interval) | LOW | | ibkr_list_accounts | List accounts (must call first) | READ | | ibkr_get_positions | Get positions for an account (paginated) | READ | | ibkr_portfolio_allocation | Allocation by asset class, sector, group | READ | | ibkr_portfolio_performance | NAV time series and returns | READ | | ibkr_search_contracts | Search contracts by symbol/name/type | READ | | ibkr_market_snapshot | Real-time market data for contracts | READ | | ibkr_get_orders | Get current live orders | READ |

> Full schemas: [references/ext-ibkr-portfolio.md](references/ext-ibkr-portfolio.md)

tax-engine — 23 tools

| Tool | Description | Risk | |------|-------------|------| | tax_parse_1099b | Parse 1099-B (proceeds, cost basis, wash sales) | READ | | tax_parse_1099div | Parse 1099-DIV (dividends, capital gains) | READ | | tax_parse_1099int | Parse 1099-INT (interest, bond premiums) | READ | | tax_parse_w2 | Parse W-2 (wages, withholding, SS/Medicare) | READ | | tax_parse_k1 | Parse Schedule K-1 (partnership pass-through) | READ | | tax_parse_1040 | Parse Form 1040 (main federal return) | READ | | tax_parse_schedule_a | Parse Schedule A (itemized deductions, SALT cap) | READ | | tax_parse_schedule_b | Parse Schedule B (interest/dividend payors) | READ | | tax_parse_schedule_c | Parse Schedule C (self-employment income) | READ | | tax_parse_schedule_d | Parse Schedule D (capital gains netting) | READ | | tax_parse_schedule_e | Parse Schedule E (rental/royalty/partnership) | READ | | tax_parse_schedule_se | Parse Schedule SE (self-employment tax) | READ | | tax_parse_form_8949 | Parse Form 8949 (sales and dispositions) | READ | | tax_parse_state_return | Parse state return (CA 540, NY IT-201, etc.) | READ | | tax_parse_form_6251 | Parse Form 6251 (AMT) | READ | | tax_estimate_liability | Calculate federal/state tax with brackets | READ | | tax_find_tlh_candidates | Identify tax-loss harvesting opportunities | READ | | tax_check_wash_sales | Validate wash sale rule compliance (61-day window) | READ | | tax_lot_selection | Compare FIFO/LIFO/specific ID for a proposed sale | READ | | tax_quarterly_estimate | Quarterly estimated payments with safe harbor | READ | | tax_compute_schedule_d | Compute Schedule D netting with loss carryover | READ | | tax_compute_state_tax | Compute state tax for CA/NY/NJ/IL/PA/MA/TX/FL | READ | | tax_compute_amt | Compute Alternative Minimum Tax (Form 6251) | READ |

> Full schemas: [references/ext-tax-engine.md](references/ext-tax-engine.md)

market-intel — 10 tools

| Tool | Description | Risk | |------|-------------|------| | intel_company_news | Get recent news articles for a company (Finnhub) | READ | | intel_market_news | Get general market news by category (Finnhub) | READ | | intel_stock_fundamentals | Get reported financial statements (Finnhub) | READ | | intel_analyst_recommendations | Get analyst buy/hold/sell consensus (Finnhub) | READ | | intel_sec_filings | List SEC filings for a company by ticker (EDGAR) | READ | | intel_sec_search | Full-text search across SEC filings (EDGAR) | READ | | intel_fred_series | Fetch economic time series (GDP, CPI, rates) (FRED) | READ | | intel_fred_search | Search for FRED series by keyword | READ | | intel_bls_data | Fetch labor/price statistics time series (BLS) | READ | | intel_news_sentiment | Get news with AI-scored sentiment (Alpha Vantage) | READ |

> Full schemas: [references/ext-market-intel.md](references/ext-market-intel.md)

social-sentiment — 6 tools

| Tool | Description | Risk | |------|-------------|------| | social_stocktwits_sentiment | Get bull/bear sentiment for a stock (StockTwits) | READ | | social_stocktwits_trending | Get currently trending symbols (StockTwits) | READ | | social_x_search | Search recent tweets by keyword (X/Twitter) | READ | | social_x_user_timeline | Get recent tweets from a user (X/Twitter) | READ | | social_x_cashtag | Search cashtag with keyword sentiment scoring (X) | READ | | social_quiver_congress | Get congressional stock trading disclosures (Quiver) | READ |

> Full schemas: [references/ext-social-sentiment.md](references/ext-social-sentiment.md)

Key Workflows

1. Onboarding — Connect Accounts

plaid_create_link_token(products: ["transactions", "investments", "liabilities"])
  → User completes Plaid Link
  → plaid_exchange_token(publicToken)
  → plaid_get_accounts → finance_upsert_snapshot(source: "plaid")
  → plaid_get_transactions → finance_upsert_snapshot
  → plaid_get_investments → finance_upsert_snapshot
  → finance_get_net_worth → present baseline to user

2. Daily Scan — Anomaly Detection

plaid_get_transactions(cursor) → finance_upsert_snapshot
alpaca_list_positions → finance_upsert_snapshot(source: "alpaca")
ibkr_auth_status → ibkr_get_positions → finance_upsert_snapshot(source: "ibkr")
  → finance_detect_anomalies(lookbackDays: 7)
  → Alert on medium/high severity findings

3. Tax-Loss Harvesting

finance_get_state(include: ["positions"])
  → tax_find_tlh_candidates(positions, marginalRate)
  → tax_check_wash_sales(proposedSales, recentPurchases)
  → tax_lot_selection(symbol, qty, lots)
  → finance_policy_check(actionType: "tax_move")
  → [If approved] alpaca_create_order(side: "sell", ...)

4. Quarterly Tax Review

tax_parse_w2 + tax_parse_1099b + tax_parse_1099div + tax_parse_1099int
  → tax_estimate_liability(filingStatus, income)
  → tax_quarterly_estimate(projectedIncome, priorYearTax, paymentsMade)
  → finance_generate_brief(period: "quarterly")

5. Portfolio Monitoring

alpaca_list_positions + ibkr_get_positions
  → finance_upsert_snapshot (both sources)
  → ibkr_portfolio_allocation (check drift)
  → alpaca_portfolio_history (performance trend)
  → finance_detect_anomalies
  → finance_generate_brief(period: "weekly")

6. Company Research — Market Intelligence

intel_company_news(symbol: "AAPL", limit: 10)
  → intel_analyst_recommendations(symbol: "AAPL")
  → intel_stock_fundamentals(symbol: "AAPL", freq: "quarterly")
  → intel_sec_filings(symbol: "AAPL", formType: "10-K")
  → intel_news_sentiment(tickers: "AAPL")
  → social_stocktwits_sentiment(symbol: "AAPL")
  → social_x_cashtag(symbol: "AAPL")

7. Economic Overview

intel_fred_series(seriesId: "GDP")
  → intel_fred_series(seriesId: "CPIAUCSL")
  → intel_fred_series(seriesId: "UNRATE")
  → intel_bls_data(seriesIds: ["CES0000000001"])
  → intel_fred_series(seriesId: "DFF")

8. Full Tax Return Processing

tax_parse_1040(rawData) → tax_parse_schedule_a(rawData)
  → tax_parse_schedule_b(rawData) → tax_parse_schedule_c(rawData)
  → tax_parse_schedule_d(rawData) → tax_parse_schedule_e(rawData)
  → tax_parse_form_8949(rawData) → tax_parse_schedule_se(rawData)
  → tax_compute_schedule_d(gains, losses, carryovers)
  → tax_compute_state_tax(stateCode, taxableIncome, filingStatus)
  → tax_compute_amt(taxableIncome, adjustments, regularTax)
  → tax_parse_state_return(rawData)

9. Congressional Trading Signals

social_quiver_congress(daysBack: 30)
  → Filter for large purchases
  → intel_company_news(symbol: )
  → alpaca_market_data(symbols: )
  → social_stocktwits_sentiment(symbol: )

Configuration

Environment Variables

| Variable | Extension | Description | |----------|-----------|-------------| | PLAID_CLIENT_ID | plaid-connect | Plaid API client ID | | PLAID_SECRET | plaid-connect | Plaid API secret key | | PLAID_ENV | plaid-connect | sandbox / development / production | | ALPACA_API_KEY | alpaca-trading | Alpaca API key | | ALPACA_API_SECRET | alpaca-trading | Alpaca API secret | | ALPACA_ENV | alpaca-trading | paper / live | | IBKR_BASE_URL | ibkr-portfolio | Client Portal Gateway URL | | FINNHUB_API_KEY | market-intel | Finnhub API key (finnhub.io) | | FRED_API_KEY | market-intel | FRED API key (fred.stlouisfed.org) | | BLS_API_KEY | market-intel | BLS registration key (v2) | | ALPHA_VANTAGE_API_KEY | market-intel | Alpha Vantage API key | | X_API_BEARER_TOKEN | social-sentiment | X/Twitter OAuth 2.0 Bearer Token | | QUIVER_API_KEY | social-sentiment | Quiver Quantitative API key |

Extension Config

Each extension has an openclaw.plugin.json with a configSchema. Key settings:

  • finance-core: storageDir, anomalyThresholds, policyRulesPath
  • plaid-connect: plaidEnv, webhookUrl, clientName, countryCodes
  • alpaca-trading: env (paper/live), maxOrderQty, maxOrderNotional
  • ibkr-portfolio: baseUrl, defaultAccountId
  • tax-engine: defaultFilingStatus, defaultState, defaultTaxYear
  • market-intel: finnhubApiKeyEnv, fredApiKeyEnv, blsApiKeyEnv, alphaVantageApiKeyEnv, secEdgarUserAgent
  • social-sentiment: xApiBearerTokenEnv, quiverApiKeyEnv

Cron Examples

Weekly Financial Brief

openclaw cron add \
  --name "Finance Weekly Brief" \
  --cron "0 8 * * 1" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --message "Run personal-finance-skill weekly workflow: sync all providers, compute net worth delta, top spend changes, upcoming bills, tax posture, and portfolio drift. Send concise brief with action queue."

Daily Anomaly Scan

openclaw cron add \
  --name "Finance Daily Anomaly" \
  --cron "15 7 * * *" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --message "Sync latest transactions, run finance_detect_anomalies. Alert on medium/high/critical findings only."

Quarterly Tax Check

openclaw cron add \
  --name "Quarterly Tax Review" \
  --cron "0 9 1 1,4,6,9 *" \
  --tz "America/Los_Angeles" \
  --session isolated \
  --message "Run quarterly tax review: estimate liability, check withholding gap, find TLH opportunities, assess quarterly payment risk."

Portfolio Drift Monitor

openclaw cron add \
  --name "Portfolio Drift Monitor" \
  --cron "*/30 13-21 * * 1-5" \
  --tz "America/New_York" \
  --session isolated \
  --message "Check portfolio allocation vs target bands. Alert if drift exceeds threshold for 2 consecutive scans."

Non-Negotiable Guardrails

These rules apply to all AI agents using this skill:

  1. Always run finance_policy_check before any side-effecting action (trades, transfers, tax moves).
  2. Never bypass approval requirements. If policy requires user or advisor approval, halt and request it.
  3. Numeric outputs must come from deterministic calculators. Never use LLM arithmetic for tax amounts, P/L, or net worth — always use the tool.
  4. Recommendations must include assumptions and data freshness. Every financial recommendation states what data it used and when that data was last updated.
  5. Never expose raw access tokens or API keys in tool outputs or conversation.
  6. Never auto-execute in live trading without explicit user confirmation, even if policy rules allow it.

7.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.