Borrowing it
Nothing to install: this file belongs to haiiibin/claude-multi-agent-investing. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/haiiibin/claude-multi-agent-investing/main/.claude/commands/reconcile.mdgit clone --depth 1 https://github.com/haiiibin/claude-multi-agent-investingWrote 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/commands/haiiibin/claude-multi-agent-investing/reconcile)<a href="https://agentmods.dev/commands/haiiibin/claude-multi-agent-investing/reconcile"><img src="https://agentmods.dev/badge/commands/haiiibin/claude-multi-agent-investing/reconcile/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/commands/haiiibin/claude-multi-agent-investing/reconcile"><img src="https://agentmods.dev/badge/commands/haiiibin/claude-multi-agent-investing/reconcile.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00049 | $0.01756 |
| Opus 5.5 | $0.00020 | $0.00702 |
| Sonnet 5.5 | $0.00010 | $0.00351 |
| Haiku 4.5 | $0.00005 | $0.00176 |
Grade A, and why
reconcile 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 2mo 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 — 138 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/reconcile -- Corporate Action Sync
/trade records what you did. /reconcile catches what the market did to your holdings while you weren't looking -- dividends, DRIP, splits, spinoffs. Without this, holdings.json silently drifts from broker reality and every downstream analysis becomes wrong.
Advisory only. User confirms against broker statement before the file is touched.
When to run
- Monthly (dividends arrive monthly on Canadian banks, quarterly on US mega-cap)
- Before any
/allocate-cashor/rebalanceif last run was > 30 days ago - After any announced split / spinoff / merger for a ticker you hold
Phase 1 -- Scope
Read holdings.json. For each account, note last_updated timestamp. Define the reconciliation window as [last_updated, today] per account.
Enumerate every unique ticker across all accounts.
Phase 2 -- Fetch corporate actions
The MCP server does NOT expose Ticker.actions directly (verified: 9 MCP tools, all get_*_info / get_historical_* variants). Use a Bash call into the MCP's own venv python:
# run via a Python env with yfinance available (e.g. the Yahoo Finance MCP venv)
python -c "
import yfinance as yf, json, sys, pandas as pd
ticker, since = sys.argv[1], sys.argv[2] # since = YYYY-MM-DD
t = yf.Ticker(ticker)
df = t.actions # DataFrame indexed by Date with Dividends, Stock Splits
df = df[df.index >= since]
out = [{'date': str(idx.date()), 'dividend': float(r.get('Dividends',0)), 'split': float(r.get('Stock Splits',0))}
for idx, r in df.iterrows() if r.get('Dividends') or r.get('Stock Splits')]
print(json.dumps(out))
" {TICKER} {last_updated}
Per ticker event:
- Non-zero
Stock Splits→ note ratio (e.g. 10.0 = 10:1 forward split). - Non-zero
Dividends→ per-share amount. Pull the ex-date price separately viamcp__yahoo-finance__get_historical_stock_pricesfor DRIP share-count math, and historical FX fromCAD=Xif a USD dividend lands in a CAD base-currency account (CRA rule).
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.
- 2mo ago First seen · 138 lines · 49 tokens per session scan A 538635ae6900
reconcile is a command published in the GitHub repository haiiibin/claude-multi-agent-investing (2 stars, last pushed 1mo ago), licensed MIT. It adds 49 tokens to every session and 1,756 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-31.
Other commands, from other repositories
tax-sanity
Tax awareness sanity-check (NOT tax advice). Walks through entity tax-efficiency, deductions, growth structure, quarterly estimateds, multi-jurisdiction, retirement/long-term questions. Produces a Tax Readiness Checklist for the person's meeting with their accountant.
model-revenue
Produce a Revenue Model — current revenue map by stream, target revenue map, concentration risk flags, margin analysis, unit economics, growth-curve shape per stream, compounding-vs-linear assessment. Composes with Genius Profile Freedom Path buckets. Not financial advice.
portfolio
View TastyTrade portfolio summary (positions and balances).
pm-pricing
Author or refresh a pricing plan — 2–3 monetization models with willingness-to-pay rationale per audience. Spawns pricing-strategist.
pm-burn
Cost burn-rate — LLM cost over the last N days vs a human-equivalent baseline (savingsx). Flags cost outliers and abnormal-burn agents.
sages
Summon the Market Sages council to analyze a stock (e.g. /sages AAPL, /sages NVDA --value).