| name | finance-import |
| description | Parse a finance CSV export into a normalized markdown summary the OS can read later. Say "import this finance export", "parse this finance CSV", or "summarize this finance export". Read-only at the source - it never writes back to your accounting tool. Detects amount, date, account, category, and memo columns and totals by category. |
| why | A bank or accounting CSV is unreadable to the OS as-is, so financial context never makes it into your operating layer. This turns one export into a clean markdown mirror your other skills can cite without ever touching the source system. |
| summary | Parse a finance CSV export into a markdown summary the OS can read. |
| enhance | Re-run after each new export so the markdown mirror stays current - skills like unit-economics and proposal-writer are only as accurate as the last import. |
| allowed-tools | ["Read","Write","Edit","Glob","Grep"] |
| mcp_requirements | [] |
Finance Import
Runs on: local-writes - creates or edits files in your OS folder; needs an agent with write access.
Convert a finance export into a markdown summary the OS can read later. The skill is read-only at the source boundary: it parses an export you give it and never writes back to your accounting tool or bank.
CSV input is supported. PDF input is a manual path until a per-format parser is tested (see PDF build path below).
Pre-flight
If core/identity.md does not exist, stop with: Founder OS not set up here. Run /founder-os:setup first.
When to invoke
Invoke when you have a finance CSV export and want a clean markdown mirror in the OS for later retrieval, planning, or to feed into unit-economics.
Protocol
- Accept a CSV path and a reporting period (
YYYY-MM).
- Parse the header row and all records.
- Detect likely amount, date, account, category, and memo columns.
- Produce a normalized markdown summary with totals by category and warnings for missing fields.
- Write the summary to
finance/<period>/summary.md under the OS root (create the folders if they do not exist). Confirm the path with the operator before writing.
- Print a one-line
WROTE: confirmation with the path, byte count, and a short description.
- Append a one-line trace to
brain/log.md recording the period and record count.
Output schema
finance_import:
status: ok | blocked
input_type: csv | pdf
source_path: "<path to the export>"
period: "<YYYY-MM>"
records_read: <number>
records_skipped: <number>
totals:
- category: "<category>"
amount: