Finance Ops
ericosiu/ai-marketing-skills
AI-powered financial analysis suite. An agent skill from ericosiu/ai-marketing-skills.
Categorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance.
$ npx skills add OneWave-AI/claude-skills --skill bookkeeping-close -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OneWave-AI/claude-skills bookkeeping-close --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/OneWave-AI/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/bookkeeping-close .claude/skills/bookkeeping-close && 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 "bookkeeping-close" agent skill from https://github.com/OneWave-AI/claude-skills/tree/main/bookkeeping-close into .claude/skills/bookkeeping-close/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bookkeeping-close", 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/OneWave-AI/claude-skills/tree/main/bookkeeping-closeType 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 OneWave-AI/claude-skills --skill bookkeeping-close -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OneWave-AI/claude-skills bookkeeping-close --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/bookkeeping-close .agents/skills/bookkeeping-close && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bookkeeping-close" agent skill from https://github.com/OneWave-AI/claude-skills/tree/main/bookkeeping-close into .agents/skills/bookkeeping-close/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bookkeeping-close", 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 OneWave-AI/claude-skills --skill bookkeeping-close -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OneWave-AI/claude-skills bookkeeping-close --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/bookkeeping-close .cursor/skills/bookkeeping-close && 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 "bookkeeping-close" agent skill from https://github.com/OneWave-AI/claude-skills/tree/main/bookkeeping-close into .cursor/skills/bookkeeping-close/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bookkeeping-close", 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/OneWave-AI/claude-skills.git --path bookkeeping-close--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 OneWave-AI/claude-skills --skill bookkeeping-close -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OneWave-AI/claude-skills bookkeeping-close --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/bookkeeping-close .gemini/skills/bookkeeping-close && 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 "bookkeeping-close" agent skill from https://github.com/OneWave-AI/claude-skills/tree/main/bookkeeping-close into .gemini/skills/bookkeeping-close/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bookkeeping-close", 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 OneWave-AI/claude-skills bookkeeping-closeInstalls 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 OneWave-AI/claude-skills --skill bookkeeping-close -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/bookkeeping-close .github/skills/bookkeeping-close && 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 "bookkeeping-close" agent skill from https://github.com/OneWave-AI/claude-skills/tree/main/bookkeeping-close into .github/skills/bookkeeping-close/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bookkeeping-close", 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 OneWave-AI/claude-skills --skill bookkeeping-close -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OneWave-AI/claude-skills bookkeeping-close --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/bookkeeping-close .opencode/skills/bookkeeping-close && 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 "bookkeeping-close" agent skill from https://github.com/OneWave-AI/claude-skills/tree/main/bookkeeping-close into .opencode/skills/bookkeeping-close/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bookkeeping-close", 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.
bookkeeping-closeCategorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance.
For each account being reconciled, the agent collects the statement with balances taken from the statement itself, the statement lines from a bank CSV or OFX or a platform export, the matching ledger exported from the oldest uncleared item, the book balance and the chart of accounts. It normalizes signs, then proves the statement first: opening balance plus lines must equal the closing balance, otherwise the export is incomplete or duplicated and the agent stops.
Deterministic matching lives in scripts/reconcile.py, while the skill's text supplies judgment about common errors such as flipped signs, uncleared checks, transfers between own accounts counted as income and double imports. It never plugs a difference, and every unreconciled amount is explained or listed. Scope is bookkeeping, not tax: items with tax consequences are recorded and put on an accountant list. Neither the QuickBooks Online nor the Xero API can mark items reconciled, so that last step happens in the product. References and worked examples with sample CSVs are included.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fc5b785. 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.
Ships 1 file in scripts/ (Shell and Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom 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.
Bookkeeping Close loads about 2k tokens when it runs, and up to ~7.3k if it reads all its reference files. Until then it costs about 198 tokens; SKILL.md has 1,024 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); the scripts in this folder are not scanned.
The full file from OneWave-AI/claude-skills at commit fc5b785, republished under its MIT licence (© OneWave-AI). 1,024 words, ~1,963 tokens.
.claude/skills/bookkeeping-close/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.A reconciliation proves that the books and the bank agree once timing is accounted for. Models get this wrong in predictable ways: they flip signs, treat an uncleared check as an error, count a transfer between the business's own accounts as income, miss a transaction imported twice, and force the rec to zero with an adjustment. This skill exists to prevent each of those. The deterministic matching lives in scripts/reconcile.py; the judgment lives here.
Scope: bookkeeping, not tax. When an item has a tax consequence (capitalize vs expense, owner draws vs wages, sales tax, 1099 status, meals deductibility), record the bookkeeping fact and put it on the accountant list. Do not give tax advice.
For each account being reconciled (checking, savings, each credit card, loan, payment processor clearing):
listTransactions, or the platform's statement lines.See references/platform-notes.md for export paths, column formats, and connector limits. Neither the QuickBooks Online API nor the Xero Accounting API can mark items reconciled; reconciliation is always finished inside the product.
Convert every file to one convention: amount is the signed change to the balance the statement reports. For a bank account, deposits positive. For a card, charges positive. Watch the word "debit": on a bank statement it means money out, in a general ledger it means money into a cash account. reconcile.py handles both and prints which reading it used. Confirm dates are parsed in the right day/month order before trusting anything.
Beginning balance plus statement lines must equal ending balance. If it does not, the export is incomplete, overlaps another period, or contains a duplicated download. Stop and fix the input. Matching against a broken statement produces a rec that balances to the wrong number.
Run:
python scripts/reconcile.py --bank bank.csv --ledger ledger.csv \
--period-start YYYY-MM-DD --period-end YYYY-MM-DD \
--statement-begin N --statement-end N --book-begin N --out recon/It matches in tiers (exact, check number, same amount within a date window, near amount with similar description, one-to-many for batched deposits) and classifies everything left over. Read its notes: it reports when it inverted a file's signs. Exit 0 = balanced, 2 = unexplained variance, 3 = statement does not roll forward.
Interpret the results with these rules:
If the adjusted bank and adjusted book balances still differ, report the variance with what was ruled out. Do not create a "reconciliation discrepancy" or suspense entry to force zero. QuickBooks describes its adjusting entry as a last resort for small amounts only, and it hides the underlying error. If the user insists on an adjustment, list it as a proposed entry for accountant approval, with the amount and the investigation done.
Common causes to check, in order: wrong beginning balance (a previously reconciled item was edited or deleted), wrong statement balance typed in, a line outside the date range, a sign flip on a single line, a duplicate, a transfer recorded twice, a split transaction entered as the gross amount.
Apply references/categorization-rules.md: existing bank rules first, then vendor patterns, then history. Every categorization carries a confidence: high (rule or consistent history), medium (pattern match only), low (guess). Only high is posted without review. Items in Uncategorized, Ask My Accountant, or suspense are never left there at close.
Follow references/close-checklist.md. Short version: all accounts reconciled including cards, loans, and processor clearing; AR and AP aging tie to the balance sheet; payroll liabilities tie; undeposited funds cleared; accruals and prepaids posted; fixed asset additions flagged; balance sheet reviewed line by line; P&L compared to prior month and prior year; period locked only after the accountant signs off.
Produce one document per period, in this order:
reconciliation.md, balanced or not, with unexplained variance stated in dollars.FOR ACCOUNTANT REVIEW and never posted by this skill: date, debit account, credit account, amount, memo, evidence. Examples: record bank fee, remove duplicate, reclass transfer out of income, accrue unbilled expense.State plainly what was not verified (for example, "loan statement not provided, loan balance not reconciled").
See examples/worked-example.md for a full run on the bundled fixtures.
© OneWave-AI, 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 8 other files (scripts, references) in bookkeeping-close of OneWave-AI/claude-skills.
Open the folder on GitHubat commit fc5b785
Bookkeeping Close 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 |
|---|---|---|---|---|---|---|
| Bookkeeping Close this skillOneWave-AI/claude-skills | 336 | — | ~2k | Automated safety check: Pass | MIT | |
| Finance Opsericosiu/ai-marketing-skills | 3.6k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Find Cpa Firmjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~3.5k | Automated safety check: Notes | MIT | |
| Fondo Install Authjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~883 | Automated safety check: Pass | MIT | |
| Fondo Local Dev Loopjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.3k | Automated safety check: Notes | MIT | |
| Payroll Gl ReconciliationLeoYeAI/openclaw-master-skills | 2.2k | — | ~6.2k | Automated safety check: Pass | MIT |
ericosiu/ai-marketing-skills
AI-powered financial analysis suite. An agent skill from ericosiu/ai-marketing-skills.
jeremylongshore/tons-of-skills-marketplace
A skill your agent uses whenever the user wants to find, shortlist, vet, or enrich US accounting and tax firms (CPA firms) — financial-statement audit, SOC 1/2 audit, corporate tax, bookkeeping for…
jeremylongshore/tons-of-skills-marketplace
Set up Fondo account and configure integrations with Gusto, QuickBooks, and bank accounts for automated startup bookkeeping and R&D tax credits.
jeremylongshore/tons-of-skills-marketplace
Configure local development workflows that integrate with Fondo for financial data, using Fondo exports with QuickBooks or accounting tools.
LeoYeAI/openclaw-master-skills
Reconcile payroll processor reports (Gusto, ADP, Paychex, Rippling) to general ledger journal entries in QuickBooks Online, Xero, or other accounting software.
hewi333/Mom-n-Pop-Skills
Connects a small business to QuickBooks Online for customers, estimates, invoices and payments, using Intuit OAuth 2.0 with token refresh and sandbox or production setups.
OneWave-AI/claude-skills
Finds duplicate and junk records in a CRM CSV export with fuzzy matching, normalizes fields and writes a reviewable merge plan plus import-ready files without touching the live CRM.
OneWave-AI/claude-skills
Repairs broken decks and PDFs exported from Claude Design or similar AI deck generators: clipped text, wrong fonts and corrupted .pptx package structure.
OneWave-AI/claude-skills
Writes, explains, debugs, and optimizes BI calculations - Power BI / Fabric DAX measures and calculated columns, Tableau calculated fields (FIXED/INCLUDE/EXCLUDE LOD expressions, table…
OneWave-AI/claude-skills
Combines CSV, TSV and Excel files into one verified table with pandas, by stacking or joining, mapping columns, normalizing keys and removing duplicates.
OneWave-AI/claude-skills
Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table.
OneWave-AI/claude-skills
Answers business questions about the user's own spreadsheet or data export (CSV, TSV, XLSX from a CRM, Shopify, Stripe, QuickBooks, ad platforms, HR or payroll systems) correctly and auditably.
Works with
Categories
Categorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance. For each account being reconciled, the agent collects the statement with balances taken from the statement itself, the statement lines from a bank CSV or OFX or a platform export, the matching ledger exported from the oldest uncleared item, the book balance and the chart of accounts. It normalizes signs, then proves the statement first: opening balance plus lines must equal the closing balance, otherwise the export is incomplete or duplicated and the agent stops.
Bookkeeping Close fits situations like: reconciling a bank or card statement against QuickBooks or Xero; categorizing uncategorized transactions to a chart of accounts; working through a month-end close and handing a package to the accountant; finding out why the books do not match the bank.
Run `npx skills add OneWave-AI/claude-skills --skill bookkeeping-close -a claude-code`. Or copy the skill folder (bookkeeping-close in OneWave-AI/claude-skills) into .claude/skills/bookkeeping-close in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OneWave-AI/claude-skills --skill bookkeeping-close -a codex`. Or copy the skill folder (bookkeeping-close in OneWave-AI/claude-skills) into .agents/skills/bookkeeping-close 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 OneWave-AI/claude-skills --skill bookkeeping-close -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bookkeeping-close, .gemini/skills/bookkeeping-close, .github/skills/bookkeeping-close and .opencode/skills/bookkeeping-close in your project.
Going by SKILL.md and its folder, Bookkeeping Close needs a shell and Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: A statement export (CSV or OFX) and a ledger export for the account; A chart of accounts for categorizing.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Bookkeeping Close is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.9k 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 5.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Bookkeeping Close: Finance Ops (ericosiu/ai-marketing-skills, 3.6k stars), Find Cpa Firm (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Fondo Install Auth (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Fondo Local Dev Loop (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OneWave-AI (a GitHub organization) maintains it in OneWave-AI/claude-skills, which has 336 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on October 2, 2026.
Source: OneWave-AI/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.