Skip to main content
skill CX Codex

custom-report — Claude Code skill: what it does, how to install

Builds tailored financial reports across custom date ranges and categories with export to Markdown or CSV.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add openaccountant/skills --skill custom-report -a claude-code
Open on GitHub

What custom-report does

The skill structures financial reporting by collecting user filters such as date bounds, category rules, transaction types, and optional minimum thresholds. Both boundary dates are treated as inclusive.

Under the hood, it interacts with Wilson tools. It calls spending_summary to aggregate category spending and transaction_search to list matching entries. The generated report includes category totals with percentages, transaction counts, and the largest individual transactions.

Results display directly in the terminal or write out through export_transactions into CSV or Markdown files containing YAML metadata. Without the Wilson environment tools configured, the automated retrieval steps will fail.

What it helps with

  • aggregate spending by category across a chosen date range
  • isolate transactions exceeding a specific dollar threshold
  • export categorized financial summaries to Markdown or CSV files
  • calculate category totals, percentages, and average transaction sizes

Example prompts for the agent

  • Generate a spending summary for Q1 2025 and export it as Markdown
  • Find all expenses over $50 in Groceries from the last 3 months
  • Build a custom financial report for year to date and save it to CSV

How to install custom-report

1Skills CLI (Vercel)

npx skills add openaccountant/skills --skill custom-report -a claude-code

2Manually: put the files in place

~/.claude/skills/custom-report/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/custom-report/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about custom-report

How to install custom-report in Claude Code?

Run npx skills add openaccountant/skills --skill custom-report -a claude-code. The file will be placed in ~/.claude/skills/custom-report/SKILL.md.

What does custom-report do?

It queries transaction data based on specified dates, categories, and amount thresholds. It then formats the results into summary tables alongside top expenses.

What tools does this skill require?

The workflow relies on Wilson tools (spending_summary, transaction_search, and export_transactions) to retrieve and export data.

Source text

SKILL.md · MIT
---
name: custom-report
description: >
  Build custom financial reports with user-defined date ranges and categories.
---

# Custom Report

## Overview
Generate tailored financial reports by specifying date ranges, category filters, transaction types, and output format. Combine spending summaries with transaction-level detail in a single report.

## Wilson Tools Used
- `spending_summary` — aggregate spending by category for the specified period
- `transaction_search` — pull detailed transactions matching filters
- `export_transactions` — export report data to CSV or Markdown

## Workflow
1. Ask the user what the report should cover:
   - **Date range**: specific dates, "last 3 months," "Q1 2025," "year to date"
   - **Categories**: all, specific categories, or exclude certain categories
   - **Transaction type**: expenses only, income only, or both
   - **Minimum amount**: optional threshold (e.g., "only transactions over $50")
2. Use `spending_summary` to generate category-level aggregates for the date range.
3. Use `transaction_search` to pull individual transactions matching the filters.
4. Compile the report with:
   - Summary table (category totals, percentages)
   - Top transactions by amount
   - Transaction count and average per category
   - Date range and filter parameters noted at the top
5. Ask the user for output format: terminal display, Markdown file, or CSV export.
6. If Markdown or CSV, use `export_transactions` to write the file.

## Without Wilson
You can build custom reports in a spreadsheet:

### Google Sheets / Excel Setup
1. Import or paste your transactions into a sheet with columns: `Date`, `Description`, `Amount`, `Category`.
2. **Date filtering**: Add a filter or use `=FILTER(A:D, A:A >= DATE(2025,1,1), A:A <= DATE(2025,3,31))` for Q1 2025.
3. **Category summary pivot table**:
   - Select your data > Insert > Pivot Table
   - Rows: Category
   - Values: SUM of Amount, COUNT of Amount
   - Filter: Date range
4. **Manual summary formulas**:
   ```
   Total Expenses:  =SUMIFS(C:C, C:C, "<0", A:A, ">="&DATE(2025,1,1), A:A, "<="&DATE(2025,3,31))
   Total Income:    =SUMIFS(C:C, C:C, ">0", A:A, ">="&DATE(2025,1,1), A:A, "<="&DATE(2025,3,31))
   Category Total:  =SUMIFS(C:C, D:D, "Groceries", A:A, ">="&DATE(2025,1,1), A:A, "<="&DATE(2025,3,31))
   ```
5. **Top transactions**: Sort by Amount (ascending for biggest expenses) and take the top 10.

### CLI Alternative (csvkit)
```bash
# Filter by date range
csvgrep -c Date -r "2025-0[1-3]" transactions.csv | csvsort -c Amount | head -20
# Summary by category
csvstat -c Amount --group Category transactions.csv
```

## Important Notes
- Date ranges are inclusive on both ends.
- Spending summary shows absolute values (positive numbers) for expenses to improve readability.
- Reports can be re-run with different parameters without re-importing data.
- Markdown export includes a YAML header with report metadata (date generated, filters applied).

© openaccountant · MIT · openaccountant/skills

Similar skills

All skills for Finance and business →

From the same set44

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor