From actual-budget
Add a transaction to Actual Budget. Use when the user says they spent money, paid for something, received income, or wants to log a transaction.
npx claudepluginhub cameri/claude-skills --plugin actual-budgetThis skill is limited to using the following tools:
<objective>
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
<quick_start> Natural language examples:
spent $45 at Walmart on groceriespaid $120 for electricity billreceived $500 freelance income to checkingcoffee $4.50 today
</quick_start>Check that ~/.claude/channels/actual-budget/${ENV}.env exists. If not, tell the user to run /actual-budget:configure-actual first.
</context>
<argument_parsing>
$ARGUMENTS (after stripping env=) is a natural language transaction description. Extract:
$ACTUAL server get-id --type accounts --name "<account name>" --format json
If a category was mentioned:
$ACTUAL server get-id --type categories --name "<category name>" --format json
Match names case-insensitively. If ambiguous, ask the user before proceeding.
Add the transaction:
Amounts use integer cents (e.g. -$45.00 → -4500, $500 income → 50000).
$ACTUAL transactions add \
--account <accountId> \
--data '[{"date":"<YYYY-MM-DD>","amount":<cents>,"payee_name":"<payee>","category":"<categoryId>","notes":"<notes>"}]'
Omit category and notes fields if not provided.
</workflow>
<success_criteria> After a successful response, summarize what was added:
Added: $45.00 at Walmart → Groceries · Checking · 2026-03-21 </success_criteria>