brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
tax-season-organizerPrepares tax-season materials for the owner's accountant, not tax advice. US federal tax; a non-US business gets its closed-books packet instead. Two modes: (1) quarterly estimated tax from YTD net income in the ledger (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books); (2) year-end 1099 prep, scanning the ledger, PayPal, and Stripe for contractors paid over…
Independent GitHub snapshot · Automated classification · Original documentation governs
name: tax-season-organizer description: > Prepares tax-season materials for the owner's accountant, not tax advice. US federal tax; a non-US business gets its closed-books packet instead. Two modes: (1) quarterly estimated tax from YTD net income in the ledger (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books); (2) year-end 1099 prep, scanning the ledger, PayPal, and Stripe for contractors paid over USD 600 into a 1099-NEC list with missing W-9 flags.
Framing: This skill produces prep material for a CPA, not tax advice. Say so early and state every assumption explicitly so the accountant can adjust.
Determine which mode the user needs, pull the relevant data, calculate or compile, and deliver a structured document the accountant can work from directly.
User: "what do I owe for estimated taxes this quarter?"
→ Pull YTD P&L from QuickBooks
→ Calculate estimated federal income tax + SE tax
→ Subtract payments already made this year
→ Show Q-specific amount due with due date and assumptions stated
→ Output: "Estimated Q2 payment due June 16: USD X — see full breakdown below"
User: "I need to send out 1099s"
→ Pull all contractor/vendor payments from QuickBooks + PayPal + Stripe
→ Identify contractors paid ≥ USD 600 YTD
→ Flag records missing W-9 / EIN
→ Output: 1099-NEC candidate list + missing W-9 action list
Both paths below are US federal tax: self-employment tax, the federal bracket table, 1099-NEC and W-9. Before choosing a mode, read Country from the ## Business context block (rule: ../../shared/currency-and-locale.md). If it is absent, ask.
/close-month for the periods in scope. Do not run a US calculation on a non-US business, and do not relabel one as a generic estimate.Every amount in the output is in the business's currency code; the USD 600 line is US law and is named as such.
Read the user's message and context to decide which path applies:
If the intent is ambiguous, ask: "Are you looking at your estimated tax payment for this quarter, or are you preparing 1099s for your contractors — or both?"
Use the connected ledger (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books — peers, per ../../shared/connector-neutrality.md) to pull a Profit & Loss report from January 1 of the current year through the last day of the most recently completed quarter. Capture:
If no ledger is connected, ask the user to upload a P&L as CSV or paste the key numbers. For field names and query approach per ledger, see reference/connector-queries.md.
Before calculating, ask: "How much have you already paid in estimated taxes so far this year?" If the user doesn't know, note that you'll calculate total liability — they can subtract payments themselves or check with their accountant.
See reference/calculation-assumptions.md for the full math and the assumptions table you must include in output.
First, annualize. The math runs on projected full-year net profit, not YTD:
annualized net = YTD net ÷ months elapsed × 12. Show both, labeled. Seasonal
business: ask rather than straight-lining.
Short version, all six steps running on annualized net profit:
If a due date has already passed unpaid, name it and show the catch-up on its own line, separate from the next payment. Penalty and interest go to the accountant — flag that they apply, never estimate them. With no quarters left, it is due with the return.
The full section-by-section document structure is in reference/output-formats.md.
Two things that are not negotiable: the tax year appears in the header, and the Assumptions section lists every assumption — bracket rate, business structure, state taxes excluded, deductible SE half, and the deductions not applied. The accountant adjusts from those levers, so leaving one out costs them a rebuild.
Query each connected source for all payments made to individuals or businesses for services in the tax year. Do not include payments for goods, refunds, or internal transfers.
The ledger — try the live connector first, fall back to a CSV export. QuickBooks may return only category-level totals with no payee breakdown, in which case you need the user to export a Transaction List by Vendor. Xero supplies bills and payments by contact, and a 1099 report summary for US organisations. The detection logic, the exact wording to ask with, and the column mapping per ledger are in reference/connector-queries.md.
PayPal: Pull all "Goods & Services" payments sent. Note: PayPal issues its own 1099-K to contractors above the threshold — flag these separately in output so the accountant can determine whether a 1099-NEC is also needed.
Stripe: Pull all transfers/payouts made to external parties. Same 1099-K caveat as PayPal applies.
Square: holds no payments to external parties through the connector (payouts go to the owner's own bank; contractor pay is in Square Payroll, which it does not reach). Name it as a source with nothing to contribute rather than dropping it silently; the 1099-K note applies to the business's own receipts. Detail in reference/connector-queries.md.
Desktop/CSV: If the user uploads a CSV directly (without going through QuickBooks export), map columns: payee name, amount, date, payment method, EIN/SSN status.
Combine across sources and sum payments by individual or business entity. Deduplicate by name (watch for "John Smith" vs "John A. Smith" — flag likely duplicates for human review rather than auto-merging).
Corporations (Inc., Corp., LLC taxed as C or S corp) generally do not need a 1099-NEC — note this but flag for accountant confirmation.
For each flagged payee, note whether a W-9 / EIN is on file in the ledger. Mark as:
The full section-by-section structure is in reference/output-formats.md.
The parts that carry the most weight: the missing-W-9 action list, because those block filing and the deadline is January 31, and the payment processor note, because a contractor paid only through PayPal or Stripe may already be getting a 1099-K and the accountant has to decide whether a 1099-NEC is also needed.
../../shared/personal-data.md).reference/connector-queries.md.Same tax math, same accountant packet. More sources, fewer assumptions to state.
Deliver the estimate or 1099 package per the owner's stored output preference — never default to a markdown file. Check the ## Business context block's Output preference (shared style guide rule, ../../shared/artifact-style.md):
reference/output-formats.md.The estimate or the 1099 package is in the accountant's hands, assumptions stated. The natural next step is "close the month" — /close-month keeps the next estimate running on reconciled numbers instead of the raw register. Also nearby: "cash forecast" (cash-flow-snapshot) to confirm the payment clears on its due date, and "who owes me money" (invoice-chase) if collections need to cover it. Offer at most three, and skip any offer the owner already declined this session.
The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.