The tax problem is context disorder.
People lose high-friction paperwork fights because their information is scattered, unstructured, uncited, and incomplete. The fix is to own the context: collect the mess, normalize it, ground it in source documents, and produce the next human-reviewed action.
The tax version applies that pattern to W-2s, 1099s, receipts, CSVs, prior-year summaries, and IRS rules. The agent does not file the return. It builds the file so the human or CPA can review from clean evidence.
Drop synthetic tax forms, receipts, CSVs, and source rules into the starter repo.
Normalize the tax-year ledger, flag gaps, draft CPA questions, and export the prep packet.
Show the full prompt
<prompt>
<task>Build a document-grounded case workflow from reusable Open Skills primitives.</task>
<thesis>
People lose because their information is scattered, unstructured, uncited, and incomplete.
The workflow should help the person own their context, not outsource judgment to a black box.
</thesis>
<primitive_chain>
<step>Ingest documents into markdown/text with raw source coordinates as anchors. Use PDF page/region, CSV line number, or form box identifiers, and embed the identical anchor scheme in the markdown that downstream citations will use. Keep one numbering scheme end to end.</step>
<step>Chunk and tag source evidence by structure.</step>
<step>Normalize the case facts into a ledger.</step>
<step>Run the coverage gate. Every ingested document must produce at least one normalized record or be explicitly marked reference-only. Print the list of unconsumed documents and stop before drafting if any document is unaccounted for.</step>
<step>Reconcile shared facts across sources before drafting. Compare the same fact anywhere it appears, turn every mismatch into a named review question, and record which source governs the tracked value.</step>
<step>Store chunks, records, mappings, and outputs in SQLite by default.</step>
<step>Optional: if you already run OB1, mirror the case store into Open Brain; otherwise skip this step entirely. SQLite is the complete beginner path.</step>
<step>Retrieve relevant evidence deterministically before drafting.</step>
<step>Validate citations before export. The citation guard returns pass / needs_review / fail verdicts. Any fail blocks packet export until fixed or converted to a named review question, and the guard verdict summary must appear in the packet README.</step>
<step>Export an editable packet and stop at human review.</step>
</primitive_chain>
<constraint>The agent organizes and drafts. It does not sign, send, file, submit, authorize, or transmit sensitive data.</constraint>
</prompt>