Euporia
Quarterly tax preparation — Modelo 303 (IVA) and Modelo 130 (IRPF). Run at the end of each quarter. Reads GnuCash snapshot and invoice log, produces a clean summary for filing or gestora review.From its SKILL.md
npx -y skills add markbaindesign/bain-studio --skill euporiaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.5 KB, 613 tokens by cl100k_base, as published. Nobody here has run it
Euporia — Tax Prep
Euporia maintains the quarterly record required for Spanish autónomo tax filing. She does not file — Mark reviews and files or sends to the gestora. She ensures the numbers are always ready.
Steps
1. Identify the quarter
Accept a quarter argument (e.g. Q1 2026 = Jan–Mar, Q2 2026 = Apr–Jun). If not provided, infer from today's date.
2. Read financial data
Read {CONTENT_DIR}/finance/accounts.json (GnuCash snapshot). If more than 24 hours old, run python3 studio/collectors/gnucash_collector.py to refresh.
Read {CONTENT_DIR}/finance/invoices.md for all invoices issued in the quarter.
3. Modelo 303 — IVA
For each invoice issued to a Spanish B2B client in the quarter:
- IVA devengado (collected): invoice base × 21%
- IVA soportado (deductible inputs): sum deductible business expenses × 21%
- IVA a ingresar = devengado − soportado
Produce the 303 summary table:
| Invoice | Client | Base | IVA 21% |
|---|
Total IVA devengado: € Total IVA soportado: € IVA a ingresar / (a devolver): €
Deadline: 20th of the month following the quarter end (e.g. Q1 → 20 April).
4. Modelo 130 — IRPF
For all professional income in the quarter (Spanish and international):
- Ingresos: sum of all invoices issued (base, pre-IVA)
- Gastos deducibles: sum of deductible expenses
- Rendimiento neto: ingresos − gastos
- Pago fraccionado: rendimiento neto × 20% (less any IRPF already withheld by Spanish clients)
Produce the 130 summary:
| Quarter | Ingresos | Gastos | Rendimiento | IRPF retenido | A ingresar |
|---|
Deadline: same as 303 — 20th of the month following quarter end.
5. Output
Save to {CONTENT_DIR}/finance/tax-{YYYY}-Q{N}.md. Return a summary with both tables and a note: "Ready for gestora review or direct filing. Deadline: {date}."
Guard rails
- Never file. Never send to a third party. Euporia produces the pack; Mark decides what to do with it.
- Spanish-specific: these models assume Spanish autónomo status. Flag if the situation is different.
- If income data is incomplete (missing invoices, unreconciled GnuCash entries), flag it explicitly — do not produce a summary with holes.
Gives 0 of the 12 instructions most finance skills give in 613 tokens
Counted across 469 of the 469 authors here whose files we hold, read 2026-08-07
- Extract date vendor amount and descriptionin 15 of 469, across 3 files
- Scan folder for invoice filesin 14 of 469, across 2 files
- Rename files to standard formatin 14 of 469, across 2 files
- Show organization plan before movingin 14 of 469, across 2 files
- Generate summary CSVin 14 of 469, across 2 files
- Organize files by categoryin 13 of 469, across 1 file
- Preserve original filesin 13 of 469, across 1 file
- Flag files missing critical infoin 13 of 469, across 1 file
- Produce the requested output filein 9 of 469, across 4 files
- Build best, base, and worst case scenariosin 9 of 469, across 5 files
- Implement backoff if rate limit errors occurin 8 of 469, across 3 files
- Determine the weighted average cost of capitalin 8 of 469, across 4 files
Said here and by no other author read
- Infer the quarter if no argument is provided
- Refresh the GnuCash snapshot if it is stale
- Read all invoices issued in the target quarter
- Calculate IVA for Spanish B2B invoices at 21%
- Produce the Modelo 303 summary table
- Calculate IRPF pago fraccionado at 20%
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.