server/apps/finances/SKILL.md
Financial accounts dashboard — unified view across brokerage and private-bank accounts with wealth monitoring, refresh logs, and notification settings. Each account is a Cortex entity; each periodic statement is its own synthesis page. Privacy: all data lives at ~/.enso/wiki/ and ~/.enso/data/finances/ (local only — never committed to git).
npx skillsauth add proxy2021/enso financesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Financial accounts dashboard — unified view across brokerage and private-bank accounts with wealth monitoring, refresh logs, and notification settings. Each account is a Cortex entity; each periodic statement is its own synthesis page. Privacy: all data lives at ~/.enso/wiki/ and ~/.enso/data/finances/ (local only — never committed to git).
List all known financial accounts with current balance, account type, and holdings count. Reads ~/.enso/data/finances/accounts.json (the local index built by the refresh executors). Use when the user says 'show my accounts', 'financial dashboard', 'net worth', 'wealth overview'.
Show full detail for one financial account: holdings, recent activity, statements list. Use when user clicks an account row or says 'show <account>'.
Parameters:
accountId (string): Stable account identifierShow one periodic statement (snapshot) for an account. Renders opening/closing value, net change, holdings, transactions, fees.
Parameters:
statementId (string)Re-read the local FactorStrategies accounts directory (data/development/accounts/*.json) and rewrite the financial-account entity pages + per-rebalance statement pages in the Cortex. Use when user says 'refresh accounts', 'update KK_Live', or after a new rebalance.
Parameters:
accountsDir (string): Override the default FactorStrategies accounts dir.Add, update, or remove a bank entry in the local config at ~/.enso/data/finances/banks.json. Each entry binds a sender email + subject pattern to a bank id used by refresh_rm_emails. The shipped repo has NO seed entries — config is per-user, local-only, never committed.
Parameters:
id (string): Short bank slug (e.g. 'gtjas', 'citi-pb').displayName (string): Human-readable bank name.senderEmail (string): Substring or full sender email (e.g. RM address).subjectMatch (string): Substring (case-insensitive) the email subject must contain.accountType (string): 'brokerage' or 'private-bank'. Default 'brokerage'.baseCurrency (string): Default currency. Default 'USD'.remove (boolean): If true, remove the entry with this id.For each configured bank in ~/.enso/data/finances/banks.json, fetch matching RM performance emails via Outlook COM, LLM-extract structured statement data, and persist as financial-account entity + financial-statement synthesis pages. Use when user says 'refresh RM statements', 'pull bank emails', or after a new RM email arrives.
Parameters:
bankId (string): Optional: only refresh this bank id.limit (number): Max emails per bank to process (default 6, max 20).force (boolean): If true, re-extract emails even if cached.Wealth monitoring dashboard: shows all accounts with staleness indicators, active alerts (daily swings, milestone crossings, concentration risk, refresh failures), refresh schedule status, and net worth sparkline. Use when user says 'wealth status', 'account health', 'wealth dashboard', 'monitoring dashboard'.
Show history of all wealth data refreshes with success/failure status, duration, accounts updated, and net worth deltas. Use when user says 'refresh history', 'refresh log', 'what refreshes ran'.
Parameters:
limit (number): Max entries to return (default 50, max 200).source (string): Filter by source: 'kk-live' or 'rm-emails'.View or update wealth monitoring settings: refresh schedule (KK Live, RM emails), staleness thresholds, alert thresholds (daily change %, concentration), and notification channels (email, WeChat, in-app). Use when user says 'wealth settings', 'configure monitoring', 'notification settings'.
Parameters:
action (string): 'view' (default) or 'update' to save changes.kkLiveEnabled (boolean): Enable/disable KK Live auto-refresh.kkLiveCron (string): Cron for KK Live refresh.rmEmailsEnabled (boolean): Enable/disable RM emails auto-refresh.rmEmailsCron (string): Cron for RM emails refresh.warnDays (number): Days before staleness warning.alertDays (number): Days before staleness alert.criticalDays (number): Days before critical staleness.dailyChangePct (number): Daily swing alert threshold (%).concentrationPct (number): Single-position concentration threshold (%).emailEnabled (boolean): Enable email notifications.wechatEnabled (boolean): Enable WeChat notifications.inAppEnabled (boolean): Enable in-app notifications.testing
Scheduled task health dashboard: monitor task statuses, failure rates, execution history, error classification, circuit breaker states, and drill into specific task run logs. The Team Leader's command center for scheduled task reliability.
development
Real-time error monitoring dashboard: error summary with severity breakdown, error trends over time, category analysis, recent error feed, fix tracking, system health score, circuit breaker states, error code analysis, recurring error pattern detection, and actionable recommendations. Reads from Enso's action log, error log, circuit breakers, and error rate monitor.
data-ai
YouTube Manager: subscription management, personalized feed, trending, AI-powered channel discovery, analytics, bulk cleanup
tools
World clock, timezone converter, countdown timers, and stopwatch utilities