Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ignaciohermosillacornejo/copilot-money-mcp --skill finance-pulsegit clone --depth 1 https://github.com/ignaciohermosillacornejo/copilot-money-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ignaciohermosillacornejo/copilot-money-mcp/finance-pulse)<a href="https://agentmods.dev/skills/ignaciohermosillacornejo/copilot-money-mcp/finance-pulse"><img src="https://agentmods.dev/badge/skills/ignaciohermosillacornejo/copilot-money-mcp/finance-pulse/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ignaciohermosillacornejo/copilot-money-mcp/finance-pulse"><img src="https://agentmods.dev/badge/skills/ignaciohermosillacornejo/copilot-money-mcp/finance-pulse.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Prompt Injection · line 60 Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.Fix: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content.
- medium Rogue Agent · line 23 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Excessive Agency · line 236 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
- medium Excessive Agency · line 245 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.05236 |
| Opus 5.5 | $0.00017 | $0.02094 |
| Sonnet 5.5 | $0.00009 | $0.01047 |
| Haiku 4.5 | $0.00004 | $0.00524 |
Grade A, and why
finance-pulse scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Finance Pulse
When to use
- The user asks how they're doing financially or wants a check-in
- The user asks about "free money" or discretionary budget
- The user says "pulse" or asks for a spending summary
Do NOT use if
- The user wants a specific affordability decision → use
/finance - The user wants to fix categories or clean transactions → use
/finance-cleanup
Give the user a 30-second financial check-in. One number, a few flags, prospective framing. Read-only — this skill never writes.
Phase 1 — Gather Data
-
Read the user profile at
~/.claude/copilot-money/user-profile.md. If the file doesn't exist: runmkdir -p ~/.claude/copilot-money, then copyskills/user-profile.template.md(relative to the copilot-money-mcp repo root) to the profile path. First-time bootstrap may require CWD = repo root for the template read. Note:- Income & Obligations (if populated): monthly income, rent, fixed costs
- Savings & Goals: targets and active goals
- Irregular Expenses: amortized monthly reserve
- Preferences: what not to flag, categories they care about
- Communication Style: detail level, tone, framing
- If Income & Obligations is empty, this is a first run — Phase 2 will handle bootstrapping.
-
Check the mode, then pull data. The server runs in one of two modes, and the tool names differ. If the tool list has
get_transactions_live(live), you are in live mode — always the case when write tools are on. If it hasget_transactions(cache) instead, you are in cache mode. Each step below names the tool for each mode; call only the one for your mode. Run these in parallel:- Accounts with balances (net worth, available cash):
get_accounts_live(live) /get_accounts(cache). - Transactions for three windows:
get_transactions_live(live) /get_transactions(cache), each withexclude_transfers: trueand one ofperiod: "this_month",period: "last_month",period: "last_90_days". Both tools take these arguments.- In live mode also pass
fields: ["default", "type", "recurring_id"]toget_transactions_live(live):typeis how 2.2 keeps REGULAR rows only, andrecurring_idis what the 2.5 price-drift check groups by. Neither is in the default row. - In cache mode no
fieldsargument is needed onget_transactions(cache): the default row has what this skill computes from it (amounts, category names, merchant names, dates).
- In live mode also pass
- The category list (names, and which categories are excluded):
get_categories_live(live) /get_categories(cache). Per-category spending is computed from the transaction rows (2.2, 2.4), not read from this tool, so the figure is the same in both modes. - Recurring charges, live mode:
get_recurring_live(live), default rows. These carrystate,nextPaymentDateandnextPaymentAmountbut no charge history: theirpaymentsholds only the next payment. - Recurring charges, cache mode:
get_recurring_transactions(cache) withperiod: "last_90_days"andfields: ["default", "transactions"]. Thefieldsargument is what the cache-mode price-drift check in 2.5 reads: the matched per-chargetransactionsarray is not in the default row. - This month's unpaid bills, live mode:
get_upcoming_recurrings_live(live). Needed for the "spent this month" figure in 2.2; see the caveat there about its horizon. - Budgets, live mode:
get_budgets_live(live) withmonths_window: 1. Only the current month is needed, and the default returns 12 months per budget. - Budgets, cache mode:
get_budgets(cache) withactive_only: true. - Savings goals:
get_goalswithactive_only: true(both modes).
- Accounts with balances (net worth, available cash):
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago Changed · +22 lines 24bd10a66d97
- 1mo ago Changed 0fc51690994b
- 1mo ago Changed 45a75aa379dc
- 2mo ago First seen · 249 lines · 43 tokens per session scan A e4aedde624d4
finance-pulse is a skill published in the GitHub repository ignaciohermosillacornejo/copilot-money-mcp (86 stars, last pushed 3d ago), licensed MIT. It adds 43 tokens to every session and 5,236 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
connect-recommend
Use this skill when the user asks about Stripe Connect configuration, charge patterns, Dashboard access, or how to get started with Connect, is building a marketplace, platform, multi-vendor store, gig platform, or subscription platform, needs to pay out sellers, vendors, or providers, mentions split payments, revenue…
fred-economic-data
Query FRED (Federal Reserve Economic Data) API for 800,000+ economic time series from 100+ sources. Access GDP, unemployment, inflation, interest rates, exchange rates, housing, and regional data. Use for macroeconomic analysis, financial research, policy studies, economic forecasting, and academic research requiring…
tinker-training-cost
Calculates training costs for Tinker fine-tuning jobs. Use when estimating costs for Tinker LLM training, counting tokens in datasets, or comparing Tinker model training prices. Tokenizes datasets using the correct model tokenizer and provides accurate cost estimates.
alpaca-trade-api-sdk
Integrate and build on @alpacahq/alpaca-trade-api, the Alpaca JavaScript/TypeScript SDK for the Trading and Market Data APIs (the unified Alpaca client, ergonomic order builders, normalized market-data shapes, pagination, typed errors, resilience, and real-time streaming). Use when writing or reviewing code that…
okx-cex-portfolio
This skill should be used when the user asks about 'account balance', 'how much USDT do I have', 'my funding account', 'show my positions', 'open positions', 'position P&L', 'unrealized PnL', 'closed positions', 'position history', 'realized PnL', 'account bills', 'transaction history', 'trading fees', 'fee tier'…
reviewing-personhog-protocol
The full review process for personhog coordination-protocol changes — leases, fencing, handoffs, supervisors, failure budgets, warming, and changelog semantics. Use before pushing or requesting review on any personhog protocol changeset, when asked for an exhaustive or careful review of personhog code, and after any…