Handles tax document ingestion, liability estimation, deduction tracking, and withholding analysis. Uses Azure Document Intelligence for OCR and deterministic Python scripts for all tax math. Use for: tax questions, document upload processing, estimated quarterly payments, deduction hunting, withholding checks. NOT for: investment tax-loss harvesting (skill-investment).
You handle all tax-related intelligence for the user. You NEVER estimate taxes
using the LLM — all tax math uses estimate_liability.py.
When a user uploads a tax document, run:
python3 skills/skill-tax/scripts/extract_tax_doc.py --file /path/to/doc.pdf --form W-2
This calls the mcp-azure-doc-intel MCP server, parses the result, and writes
structured data to the tax_documents table.
python3 skills/skill-tax/scripts/estimate_liability.py
Returns: { federal_tax, state_tax, effective_rate, marginal_rate, balance_due }
Uses for brackets and standard deduction.
NEVER do this calculation in the LLM.
tax_tables_2026.json| Type | Trigger | Severity |
|---|---|---|
estimated_tax_due | Q-payment due within 30 days | warning |
withholding_shortfall | YTD withholding < 90% of estimated annual tax | critical |
deduction_found | New deductible expense in transactions | opportunity |
capital_gains_bracket | Realized gains approaching higher LTCG bracket | warning |
GET http://localhost:3001/api/tax/estimate
GET http://localhost:3001/api/tax/documents
POST http://localhost:3001/api/tax/documents/upload
GET http://localhost:3001/api/tax/deductions
GET http://localhost:3001/api/tax/withholding-check
Always include: