smart-split — Claude Code skill: split one transaction by category
Splits a single transaction into several categories with custom amounts. Handy when one receipt covers groceries, household supplies and electronics at once.
npx skills add openaccountant/skills --skill smart-split -a claude-codeWhat smart-split does
The skill takes one transaction and turns it into child entries. It first asks which transaction to split — by description, date or amount — then finds it with transaction_search. You supply the proportions: fixed dollar amounts or percentages.
The parts have to add up to the original amount exactly. If they don't, the skill warns you. The original transaction stays in place with a split: true flag, so reports can show either the consolidated or the split view. Each child keeps the parent's date and description plus a category suffix, and categorize assigns the category.
Nesting is off the table: you can't split a split. Undoing takes one request — ask the skill to merge the entries back into the original. Without Wilson the same job works in a spreadsheet: edit the row for the first portion, insert rows for the rest, then verify with =SUMIF(B:B,"COSTCO*",C:C) and a shared group ID column.
What it helps with
- split a warehouse-store receipt into groceries, household and electronics
- mark the deductible part of a business meal
- check that the parts sum to the original amount
- flag the original transaction as the parent
- undo a split and merge the entries back
Example prompts for the agent
- split the COSTCO transaction from March 15: 50 to Groceries, 30 to Household, 20 to Electronics
- find the transaction by description and split it 50% Groceries, 30% Household, 20% Electronics
- merge the split entries of this transaction back into one
How to install smart-split
1Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a claude-code2Manually: put the files in place
~/.claude/skills/smart-split/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/smart-split/
1Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a codex2Manually: put the files in place
.agents/skills/smart-split/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a cursor2Manually: put the files in place
.cursor/skills/smart-split/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openaccountant/skills smart-split2Manually: put the files in place
.github/skills/smart-split/SKILL.md1Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a gemini-cli2Platform CLI
gemini skills install https://github.com/openaccountant/skills --path shared/smart-splitManually: put the files in place
.devin/skills/smart-split/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about smart-split
How do I install smart-split in Claude?
Run npx skills add openaccountant/skills --skill smart-split -a claude-code. The skill file lands at ~/.claude/skills/smart-split/SKILL.md.
What does smart-split do?
It splits one transaction across multiple categories by amount or percentage. The original entry is kept with a split: true flag, and each portion becomes a child transaction.
Can I split a transaction that was already split?
No, splits can't be nested. To undo one, ask the skill to merge the split entries back into the original transaction.
Source text
SKILL.md · MIT
--- name: smart-split description: > Split a single transaction across multiple categories with custom amounts. --- # Smart Split ## Overview Split one transaction into multiple category allocations. Useful for mixed-purpose purchases like a Costco trip that includes groceries, household supplies, and electronics — or a business meal that's partially deductible. ## Wilson Tools Used - `transaction_search` — find the transaction to split - `categorize` — assign categories to the resulting split entries ## Workflow 1. Ask the user which transaction to split (by description, date, or amount). 2. Use `transaction_search` to find and confirm the target transaction. 3. Ask how the transaction should be split: - By specific dollar amounts (e.g., "$50 groceries, $30 household, $20 electronics") - By percentage (e.g., "50% groceries, 30% household, 20% electronics") 4. Validate that split amounts sum to the original transaction amount. 5. Mark the original transaction as a parent/split transaction. 6. Create child transactions for each split portion with: - Same date and description as the parent (with category suffix) - The allocated amount - The assigned category 7. Confirm the split with a summary table. ## Without Wilson To split transactions manually in a spreadsheet: 1. Find the transaction row (e.g., "COSTCO" for -$100.00). 2. Change the amount in that row to the first split portion (e.g., -$50.00) and set its category (e.g., "Groceries"). 3. Insert new rows below for each additional portion: | Date | Description | Amount | Category | |------|-------------|--------|----------| | 2025-03-15 | COSTCO (Groceries) | -50.00 | Groceries | | 2025-03-15 | COSTCO (Household) | -30.00 | Household | | 2025-03-15 | COSTCO (Electronics) | -20.00 | Electronics | 4. Verify the split: `=SUMIF(B:B,"COSTCO*",C:C)` should equal the original -$100.00. 5. Add a "Split" or "SplitGroup" column with a shared ID so you can trace splits back to the original. ### In YNAB or Mint - **YNAB**: Click the transaction > "Split" button > add category lines with amounts. - **Mint (now Credit Karma)**: Click the transaction > "Split transaction" > add categories and amounts. ## Important Notes - Split amounts must sum exactly to the original transaction amount. Wilson will warn if there's a discrepancy. - The original transaction is preserved with a `split: true` flag so reports can show either the consolidated or split view. - Splits cannot be nested (you can't split a split). - To undo a split, ask Wilson to merge the split entries back into the original transaction.
© openaccountant · MIT · openaccountant/skills