Sync Upstream
nyaruka/phonenumbers
Sync this Go port with a new upstream google/libphonenumber release — regenerate the embedded metadata and reconcile the ported Java logic.
Design and operate reconciliation processes across portfolio management, custodian, and clearing systems.
$ npx skills add JoelLewis/finance_skills --skill reconciliation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JoelLewis/finance_skills reconciliation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/client-operations/skills/reconciliation .claude/skills/reconciliation && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "reconciliation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/client-operations/skills/reconciliation into .claude/skills/reconciliation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reconciliation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JoelLewis/finance_skills/tree/main/plugins/client-operations/skills/reconciliationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JoelLewis/finance_skills --skill reconciliation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JoelLewis/finance_skills reconciliation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/client-operations/skills/reconciliation .agents/skills/reconciliation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "reconciliation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/client-operations/skills/reconciliation into .agents/skills/reconciliation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reconciliation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JoelLewis/finance_skills --skill reconciliation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JoelLewis/finance_skills reconciliation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/client-operations/skills/reconciliation .cursor/skills/reconciliation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "reconciliation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/client-operations/skills/reconciliation into .cursor/skills/reconciliation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reconciliation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JoelLewis/finance_skills.git --path plugins/client-operations/skills/reconciliation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JoelLewis/finance_skills --skill reconciliation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JoelLewis/finance_skills reconciliation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/client-operations/skills/reconciliation .gemini/skills/reconciliation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "reconciliation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/client-operations/skills/reconciliation into .gemini/skills/reconciliation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reconciliation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JoelLewis/finance_skills reconciliationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JoelLewis/finance_skills --skill reconciliation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/client-operations/skills/reconciliation .github/skills/reconciliation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "reconciliation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/client-operations/skills/reconciliation into .github/skills/reconciliation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reconciliation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JoelLewis/finance_skills --skill reconciliation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JoelLewis/finance_skills reconciliation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/client-operations/skills/reconciliation .opencode/skills/reconciliation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "reconciliation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/client-operations/skills/reconciliation into .opencode/skills/reconciliation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "reconciliation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
reconciliationDesign and operate reconciliation processes across portfolio management, custodian, and clearing systems.
Reconciliation is an agent skill from JoelLewis/finance_skills. Design and operate reconciliation processes across portfolio management, custodian, and clearing systems. Use when building a daily position, cash, or transaction reconciliation process, investigating discrepancies between internal records and custodian records, diagnosing recurring break patterns from corporate actions or pricing differences, setting tolerance thresholds for position, cash, or market value matching, implementing three-way reconciliation, designing break investigation workflows with aging and…
Its SKILL.md is about 8.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/examples.md`).
It sits in Business, Finance & HR, covering Accounting and bookkeeping. The repository describes itself as: Claude Code skill plugins for financial services — 81 skills across 7 domain plugins covering investment management, compliance, advisory practice, trading, and operations. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5c498ea. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Reconciliation loads about 8.8k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 179 tokens; SKILL.md has 4,612 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from JoelLewis/finance_skills at commit 5c498ea, republished under its MIT licence (© JoelLewis). 4,612 words, ~8,785 tokens.
.claude/skills/reconciliation/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Reconciliation is the systematic comparison of records across two or more systems to identify and resolve discrepancies. In securities operations, reconciliation ensures that the firm's internal records (the investment book of record, or IBOR) match the custodian's official records (the official book of record, or OBOR) and, where applicable, the clearing firm's records. The reconciliation hierarchy proceeds from the most fundamental data element (positions) through increasingly derived data elements.
Position Reconciliation. The foundational reconciliation. Compares the number of shares or units held for each security in each account between the firm's portfolio management system (PMS) and the custodian. Position reconciliation is typically zero-tolerance: any share count difference, no matter how small, constitutes a break. Fractional share differences (common with dividend reinvestment plans) must also be identified and resolved. Position reconciliation is performed daily, using end-of-day files from the custodian compared against the PMS position ledger.
Cash Reconciliation. Compares cash balances between the PMS and the custodian, accounting for settled cash, pending settlements, accrued income, and pending fee debits. Cash reconciliation is more nuanced than position reconciliation because timing differences are inherent — a trade executed on day T settles on T+1, and the PMS and custodian may record the cash impact on different dates. Cash tolerance thresholds are common, typically a small dollar amount (e.g., $0.50 to $5.00) to accommodate rounding differences across systems. Balances outside the tolerance require investigation.
Transaction Reconciliation. Compares individual transactions (trades, dividends, interest payments, transfers, fees) recorded in the PMS against the custodian's transaction ledger. Transaction reconciliation operates at the trade level, matching on security, quantity, price, trade date, and settlement date. Unmatched transactions on either side constitute breaks. Transaction reconciliation is typically performed on a T+1 basis — comparing yesterday's activity after the custodian's end-of-day file is received.
Market Value Reconciliation. Compares the total market value of each position and each account between systems. Market value breaks often result from pricing differences — the PMS and custodian may source prices from different vendors or apply different pricing hierarchies for thinly traded or illiquid securities. Market value tolerance is typically expressed in basis points (e.g., 5-10 bps of account value) rather than absolute dollars, because a $100 difference on a $50,000 account is more significant than a $100 difference on a $5,000,000 account.
Accrued Income Reconciliation. Compares accrued interest on fixed-income holdings and declared-but-unpaid dividends. Accrued income differences frequently arise from day-count convention differences (actual/actual vs. 30/360), ex-date vs. record-date timing, or different treatment of defaulted bonds. This reconciliation is particularly important for fixed-income-heavy portfolios where accrued income is a material component of total value.
Cost Basis Reconciliation. Compares the tax lot-level cost basis for each position between the PMS and the custodian. Cost basis discrepancies are among the most difficult to resolve because they may originate from historical corporate actions (splits, mergers, spin-offs, return of capital adjustments) that were processed differently in each system. Since the custodian reports cost basis to the IRS on Form 1099-B, cost basis discrepancies can result in incorrect tax reporting if not resolved. Cost basis reconciliation is typically performed less frequently than position reconciliation — monthly or quarterly — but with zero tolerance for discrepancies.
For advisory firms that use a portfolio management system separate from both the custodian and any clearing firm, three-way reconciliation is the standard of practice. The three records being compared are:
Advisor System (PMS / Portfolio Accounting). The firm's investment book of record (IBOR), maintained in the portfolio management system (Orion, Black Diamond, Tamarac, Addepar, or similar). This is the record the firm uses for performance reporting, billing, rebalancing, and client-facing communications. The advisor system reflects the firm's understanding of what each client owns.
Custodian Records. The official book of record (OBOR), maintained by the custodian (Schwab, Fidelity, Pershing, or similar). This is the legally authoritative record of client assets. The custodian is responsible for safekeeping assets, settling transactions, and reporting to the IRS. When the advisor system and custodian disagree, the custodian record is presumed correct unless the firm can demonstrate otherwise.
Clearing Firm Records. For firms that clear through a separate entity (introducing broker-dealers that clear through a correspondent clearing firm), the clearing firm maintains its own record of positions and transactions. The clearing firm processes settlements, maintains margin calculations, and generates customer statements. In a fully disclosed arrangement, the clearing firm's records should match the custodian's, but discrepancies can arise from timing, corporate action processing, or data feed errors.
Authoritative Source by Data Element. Different systems serve as the authoritative source for different data elements:
| Data Element | Authoritative Source | Reason |
|---|---|---|
| Share/unit count | Custodian | Custodian holds the securities in legal custody |
| Settled cash balance | Custodian | Custodian controls the cash account |
| Trade execution details | Executing broker / custodian | Trade occurred on their platform |
| Cost basis (for tax reporting) | Custodian | Custodian reports 1099-B to IRS |
| Performance returns | Advisor system (PMS) | PMS maintains the calculation methodology |
| Model assignment and drift | Advisor system (PMS) | PMS manages the investment process |
| Fee schedule and billing | Advisor system (PMS) | PMS calculates fees per advisory agreement |
| Corporate action elections | Custodian | Custodian processes the action |
Reconciliation Frequency. The standard frequencies are:
A break is any discrepancy identified during reconciliation between two or more records. Break identification is the process of detecting, classifying, and prioritizing breaks for investigation and resolution.
Tolerance Thresholds. Not all discrepancies warrant investigation. Tolerance thresholds define the minimum discrepancy that constitutes a reportable break:
| Reconciliation Type | Typical Tolerance | Rationale |
|---|---|---|
| Position (shares/units) | Zero (exact match required) | Any share difference indicates a missing or erroneous transaction |
| Cash balance | $0.50 - $5.00 | Small rounding differences across systems are expected |
| Market value | 5-10 bps of account value | Pricing source differences create small value discrepancies |
| Accrued income | $0.01 - $1.00 | Day-count and rounding conventions vary across systems |
| Cost basis | Zero (exact match required) | Any basis difference affects tax reporting accuracy |
| Transaction matching | Exact match on key fields | Unmatched transactions require investigation |
Break Categorization. Breaks are classified by root cause to enable pattern analysis and systemic remediation:
Break Severity Levels. Breaks are prioritized based on their operational impact:
Once a break is identified and categorized, it enters a structured resolution workflow. Effective break resolution combines investigative rigor with operational efficiency.
Investigation Procedures. The standard investigation sequence for a position break is:
Common Break Causes and Resolutions.
| Break Cause | Resolution |
|---|---|
| Unprocessed stock split | Apply the split in the PMS (adjust shares and cost basis) |
| Missed dividend reinvestment | Add the reinvestment transaction in the PMS |
| Trade placed directly at custodian | Enter the trade retroactively in the PMS |
| Data feed failure (dropped transaction) | Re-import the affected date's custodian file |
| Duplicate trade entry | Remove the duplicate from the PMS |
| CUSIP change (corporate action) | Update the security mapping in the PMS |
| Pricing difference | Update the PMS pricing source or override the price |
| Cash posting timing | Confirm the break self-resolves the following day; mark as timing |
Break Aging and Escalation. Unresolved breaks must be tracked by age. The aging clock starts on the date the break is first identified. Escalation rules ensure that aging breaks receive management attention:
Resolution Documentation. Every resolved break must be documented with: the date the break was identified, the break category, the root cause determination, the corrective action taken, the system in which the correction was made, the date of resolution, and the identity of the person who resolved it. This documentation forms part of the firm's books and records and is subject to regulatory examination.
Recurring Break Pattern Analysis. Operations teams should review break data periodically (weekly or monthly) to identify recurring patterns. If the same type of break occurs repeatedly for the same security, account, or data feed, the root cause is likely systemic rather than transactional. Systemic causes require process or system changes, not repeated manual corrections. Examples of systemic patterns: a particular custodian feed consistently drops fractional shares, a specific security type (e.g., foreign ordinaries) always has pricing breaks, or corporate actions for a particular issuer are consistently delayed.
Manual reconciliation — comparing records by hand in spreadsheets — is error-prone, time-consuming, and does not scale. Reconciliation automation reduces manual effort, increases accuracy, and enables exception-based processing where human attention is directed only to genuine breaks.
Automated Matching Engines. Reconciliation software compares records from two or more sources using configurable matching rules. The matching engine ingests data files from each source, normalizes the data into a common format, applies matching rules to pair records, and flags unmatched or out-of-tolerance items as exceptions.
Rule-Based Auto-Resolution. Beyond matching, advanced reconciliation systems can automatically resolve certain categories of breaks without human intervention:
Auto-resolution rules must be carefully designed and regularly audited to ensure they are not masking genuine breaks. Each auto-resolved item should be logged for review.
Exception-Based Processing. The operational model for a mature reconciliation program is exception-based: the automated system handles the matching and auto-resolution of routine items, and human analysts focus exclusively on the exceptions. This model dramatically reduces the volume of items requiring manual review and allows operations teams to scale without proportional headcount growth.
A well-automated reconciliation program targets the following benchmarks:
Data Normalization Across Sources. A critical prerequisite for automated matching is data normalization — transforming records from different sources into a common format. Normalization challenges include:
Reconciliation Scheduling. The daily reconciliation cycle follows a predictable schedule:
STP Rate for Reconciliation. Straight-through processing (STP) rate measures the percentage of reconciliation items that flow through the entire process — from data ingestion through matching to resolution — without manual intervention. A high STP rate indicates a well-automated, well-configured reconciliation operation. Industry benchmarks for mature operations: 95-99% STP rate for position reconciliation, 85-95% STP rate for transaction reconciliation, and 90-97% STP rate for cash reconciliation.
Corporate actions are the single most frequent cause of position breaks that require manual resolution. A corporate action is any event initiated by the issuer of a security that affects the security's terms, structure, or ownership — including stock splits, reverse splits, mergers, acquisitions, spin-offs, tender offers, rights offerings, dividends (cash and stock), and return-of-capital distributions.
Why Corporate Actions Cause Breaks. Corporate actions are problematic for reconciliation because:
Corporate Action Event Processing Timing. The reconciliation team must track the lifecycle of each corporate action:
Voluntary vs. Mandatory Action Reconciliation. Mandatory actions (splits, mergers, cash dividends) apply to all holders automatically and should be processed in both systems without account-level intervention. Voluntary actions (tender offers, rights exercises, dividend reinvestment elections) require per-account decisions and are a higher-risk category for breaks because the election must be recorded consistently across systems.
Dividend and Income Reconciliation. Cash dividends are the most frequent corporate action. Reconciliation verifies: the correct per-share rate was applied, the share count as of the record date matches, the total dividend amount (rate times shares) matches, and the payment was posted on the correct date. Dividend reinvestment (DRIP) is a common source of fractional-share breaks because the PMS and custodian may calculate the reinvestment slightly differently based on the price used.
Stock Split and Merger Adjustment Verification. After a split or merger is processed, the reconciliation team must verify: the new share count equals the old share count times the split ratio (or exchange ratio for mergers), the cost basis per share has been adjusted inversely to the share adjustment, and any fractional shares or cash-in-lieu payments are correctly recorded.
Many advisory firms custody client assets at two or more custodians (e.g., Schwab and Fidelity, or a primary custodian and a trust company). Multi-custodian operations introduce additional reconciliation complexity.
Aggregating Positions Across Custodians. The PMS must maintain a unified view of all positions across all custodians, which requires separate reconciliation against each custodian's records. A position break at one custodian does not affect the reconciliation at another, but the PMS must correctly attribute each position to the correct custodian.
Held-Away Asset Reconciliation. Assets that the advisor monitors but does not manage (e.g., employer 401(k) plans, outside brokerage accounts, annuities) present a reconciliation challenge because: the data source is often an aggregation feed (Plaid, Yodlee, ByAllAccounts) rather than a direct custodian feed, data may be delayed by one to three days, position data may lack the granularity needed for precise reconciliation (e.g., no lot-level cost basis), and feed connections can break when the client's credentials change or the institution updates its login process. Held-away assets are typically reconciled at a lower frequency (weekly or monthly) and with wider tolerances than managed assets, because the data quality does not support daily zero-tolerance matching.
Custodian Data Feed Formats and Timing. Each custodian delivers data in its own format and on its own schedule:
| Custodian | Typical File Format | Typical Delivery Time | Notes |
|---|---|---|---|
| Schwab | CSV, proprietary layout | 2:00-5:00 AM ET | Schwab Advisor Center feed |
| Fidelity | CSV, proprietary layout | 1:00-4:00 AM ET | Wealthscape data feed |
| Pershing | Fixed-width and CSV | 3:00-6:00 AM ET | NetX360 feed |
Normalization Challenges Across Custodians. When reconciling across multiple custodians, the reconciliation system must normalize: security identifiers (one custodian may use CUSIP while another uses a proprietary ID), transaction type codes (each custodian has its own taxonomy for trades, dividends, fees, transfers), account number formats, date and time representations, and corporate action terminology and processing conventions. Maintaining and updating these normalization mappings is an ongoing operational task.
Reconciliation is not merely an operational best practice — it is grounded in specific regulatory requirements and fiduciary obligations.
SEC Rule 204-2 (Books and Records for Advisers). Rule 204-2 under the Investment Advisers Act of 1940 requires SEC-registered investment advisers to maintain accurate books and records, including records of all securities transactions, client account positions, and supporting documentation. While the rule does not explicitly mandate a daily reconciliation process, the obligation to maintain accurate records effectively requires regular reconciliation against the custodian's official records. An adviser that reports positions or performance to clients based on unreconciled internal records risks producing inaccurate client communications, which is a violation of the adviser's fiduciary duty and a potential breach of the antifraud provisions of Section 206.
Fiduciary Duty to Maintain Accurate Records. Investment advisers owe a fiduciary duty to their clients, which includes the duty to provide accurate information. Reconciliation is the operational mechanism that ensures accuracy. If an adviser's internal records diverge from the custodian's records and the adviser relies on its internal records for billing, performance reporting, or investment decisions, the adviser may be billing incorrectly (overcharging or undercharging), reporting incorrect performance figures (misleading the client), or making investment decisions based on incorrect position data (breaching the duty of care). Regulators have brought enforcement actions against advisers whose failure to reconcile resulted in inaccurate client reporting or billing.
ERISA Reconciliation Requirements. For advisers managing ERISA-covered retirement plan assets, the fiduciary standard is heightened. ERISA fiduciaries must maintain accurate records of plan assets and ensure that all transactions are properly recorded. Reconciliation discrepancies that affect plan asset valuation can result in incorrect participant account balances, incorrect benefit calculations, and a breach of ERISA fiduciary duty. DOL audits of retirement plan service providers routinely examine reconciliation processes.
Client Reporting Accuracy Obligations. Client reports — whether quarterly statements, performance summaries, or online portal views — must reflect accurate, reconciled data. The SEC's examination priorities have repeatedly cited the accuracy of client reporting as a focus area. Firms that generate client reports from unreconciled data risk distributing misleading information, which can trigger enforcement action under the Investment Advisers Act's antifraud provisions.
SOC 1 / SOC 2 Implications. Many advisory firms and their service providers undergo SOC (System and Organization Controls) examinations. SOC 1 reports cover controls relevant to financial reporting, and SOC 2 reports cover security, availability, processing integrity, confidentiality, and privacy. Reconciliation processes are a key control tested in both SOC 1 and SOC 2 examinations. The examiner evaluates whether reconciliation is performed at the required frequency, whether breaks are investigated and resolved within defined timeframes, whether escalation procedures are followed, and whether the reconciliation process is documented and auditable. A reconciliation control failure can result in a qualified SOC opinion, which may cause downstream business consequences (clients and prospects may require an unqualified SOC report).
Three worked examples — a daily multi-custodian reconciliation design (ingestion schedule, auto-resolution rules, SOC 2 documentation, KPI targets), a root-cause investigation of a corporate-action break pattern (vendor delivery timing, cash-in-lieu gaps, spin-off basis), and a reconciliation automation build-out with exception-based processing — are in references/examples.md; load it when designing or troubleshooting a concrete reconciliation program.
© JoelLewis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in plugins/client-operations/skills/reconciliation of JoelLewis/finance_skills.
Open the folder on GitHubat commit 5c498ea
Reconciliation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Reconciliation this skillJoelLewis/finance_skills | 206 | — | ~8.8k | Automated safety check: Pass | MIT | |
| Sync Upstreamnyaruka/phonenumbers | 1.6k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Radiology Tablehuang-sir1/radiology-skills | 1.9k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| ERPClaw ERP Controlleravansaber/erpclaw | 116 | — | ~18k | Automated safety check: Pass | GPL-3.0 | |
| Odoo Agency Fleet Reviewerpipe-org/mcp-odoo | 421 | — | ~699 | Automated safety check: Pass | MIT | |
| Beancount Closebex-co/beancount-io | 296 | — | ~1.4k | Automated safety check: Pass | MIT |
nyaruka/phonenumbers
Sync this Go port with a new upstream google/libphonenumber release — regenerate the embedded metadata and reconcile the ported Java logic.
huang-sir1/radiology-skills
Create/audit editable publication tables with source reconciliation; not figures or statistical inference.
avansaber/erpclaw
Operates the ERPClaw self-hosted ERP in plain language: accounting, invoicing, inventory, purchasing, tax, HR, payroll and reports, treating the ERP as the single source of truth.
erpipe-org/mcp-odoo
Review many client Odoo databases at once through odoo-mcp's cross-instance tools — fleet-wide accounting health, per-client aging, partial-failure triage — for agencies and partners managing 5–50…
bex-co/beancount-io
Close an accounting period in a Beancount ledger by reconciling each active account through beancount-reconcile, checking assertions and recurring gaps, reviewing flags, then proposing a commit with…
Vuk97/forward-implementation-first
Keeps an agent building and validating real output instead of servicing its own bookkeeping.
JoelLewis/finance_skills
Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks.
JoelLewis/finance_skills
Determine how much capital to allocate to individual positions within a portfolio.
JoelLewis/finance_skills
Analyze commodity markets including futures curve dynamics, roll yield, and supply/demand fundamentals.
JoelLewis/finance_skills
Analyze currency markets, exchange rate mechanics, and FX risk management for international portfolios.
JoelLewis/finance_skills
Provide frameworks for managing and paying off personal debt effectively.
JoelLewis/finance_skills
Build diversified portfolios using correlation analysis, efficient frontier construction, and factor-based diversification.
Categories
Design and operate reconciliation processes across portfolio management, custodian, and clearing systems. Reconciliation is an agent skill from JoelLewis/finance_skills. Design and operate reconciliation processes across portfolio management, custodian, and clearing systems.
Reconciliation fits situations like: building a daily position; transaction reconciliation process; investigating discrepancies between internal records and custodian records; diagnosing recurring break patterns from corporate actions.
Run `npx skills add JoelLewis/finance_skills --skill reconciliation -a claude-code`. Or copy the skill folder (plugins/client-operations/skills/reconciliation in JoelLewis/finance_skills) into .claude/skills/reconciliation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JoelLewis/finance_skills --skill reconciliation -a codex`. Or copy the skill folder (plugins/client-operations/skills/reconciliation in JoelLewis/finance_skills) into .agents/skills/reconciliation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JoelLewis/finance_skills --skill reconciliation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/reconciliation, .gemini/skills/reconciliation, .github/skills/reconciliation and .opencode/skills/reconciliation in your project.
SKILL.md names no scripts, command-line tools or credentials: Reconciliation is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Reconciliation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 8.8k tokens (SKILL.md is roughly 35k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Reconciliation: Sync Upstream (nyaruka/phonenumbers, 1.6k stars), Radiology Table (huang-sir1/radiology-skills, 1.9k stars), ERPClaw ERP Controller (avansaber/erpclaw, 116 stars) and Odoo Agency Fleet Review (erpipe-org/mcp-odoo, 421 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JoelLewis (a GitHub user) maintains it in JoelLewis/finance_skills, which has 206 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on July 18, 2026.
Source: JoelLewis/finance_skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.