smart-split — скилл для Claude Code: деление транзакции по категориям
Разбивает одну транзакцию на несколько категорий с заданными суммами. Пригодится, когда чек смешанный: продукты, бытовая химия и электроника в одной покупке.
npx skills add openaccountant/skills --skill smart-split -a claude-codeЧто делает smart-split
Скилл берёт одну транзакцию и раскладывает её на дочерние записи. Сначала спрашивает, какую операцию делить — по описанию, дате или сумме, — потом ищет её через transaction_search. Дальше вы задаёте пропорции: конкретными долларами или процентами.
Суммы частей должны сойтись с исходной до копейки. Если расхождение есть, скилл предупредит. Исходная транзакция остаётся на месте с флагом split: true, поэтому отчёты можно смотреть и в свёрнутом, и в разбитом виде. Каждой части достаётся та же дата и описание с суффиксом категории, а категорию проставляет categorize.
Вложенные деления не поддерживаются: разбить уже разбитую транзакцию не выйдет. Откатить всё можно одной просьбой — скилл сольёт части обратно в исходную запись. Без Wilson тот же результат собирается в таблице: строку правят под первую часть, ниже вставляют остальные, а сверку делают через =SUMIF(B:B,"COSTCO*",C:C) и колонку с общим ID группы.
Какие задачи решает
- разделить чек из супермаркета на продукты, быт и технику
- отнести часть делового обеда в вычет
- сверить сумму частей с исходной транзакцией
- пометить исходную операцию как родительскую
- откатить деление и собрать записи обратно
Примеры запросов агенту
- разбей транзакцию COSTCO от 15 марта: 50 на Groceries, 30 на Household, 20 на Electronics
- найди транзакцию по описанию и раздели её 50% на Groceries, 30% на Household, 20% на Electronics
- объедини части этой транзакции обратно в одну
Как установить smart-split
1Через Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a claude-code2Вручную: положить файлы
~/.claude/skills/smart-split/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/smart-split/
1Через Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a codex2Вручную: положить файлы
.agents/skills/smart-split/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a cursor2Вручную: положить файлы
.cursor/skills/smart-split/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install openaccountant/skills smart-split2Вручную: положить файлы
.github/skills/smart-split/SKILL.md1Через Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a gemini-cli2Командой платформы
gemini skills install https://github.com/openaccountant/skills --path shared/smart-splitВручную: положить файлы
.devin/skills/smart-split/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add openaccountant/skills --skill smart-split -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о smart-split
Как установить smart-split в Claude?
Выполните npx skills add openaccountant/skills --skill smart-split -a claude-code. Файл скилла появится по пути ~/.claude/skills/smart-split/SKILL.md.
Что делает smart-split?
Делит одну транзакцию на несколько категорий с заданными суммами или процентами. Исходная запись сохраняется с флагом split: true, а для каждой части создаётся дочерняя транзакция.
Можно ли разбить уже разбитую транзакцию?
Нет, вложенные деления не поддерживаются. Чтобы вернуть всё как было, попросите слить части обратно в исходную транзакцию.
Исходный текст
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