Tax-loss harvesting and wash sale tax rules. Invoked by core skills when 1099-B contains wash sale adjustments or when unrealized losses are detected in the portfolio.
Core skills invoke this domain skill when:
tax-start: User mentions tax-loss harvesting, wash sales, capital loss carryforward, or selling investments at a losstax-import: 1099-B has any non-zero amount in Box 1g (wash sale loss disallowed); or 1099-B shows losses with Box 5 checked (non-covered security)tax-calculate: domains.harvest in tax-profile.json is non-null; or total capital losses on Form 8949 exceed $3,000Ask these questions when triggered. Ask 2-3 at a time.
Add under domains.harvest in data/tax-profile.json:
{
"domains": {
"harvest": {
"hasWashSales": true,
"priorYearCarryforward": {
"shortTerm": 0,
"longTerm": 2400
},
"washSaleLots": [
{
"security": "TSLA",
"cusip": "88160R101",
"saleDate": "2025-08-15",
"saleProceed": 8200,
"costBasis": 11500,
"grossLoss": -3300,
"washSaleDisallowed": 3300,
"netLossAllowed": 0,
"replacementSharesBuyDate": "2025-08-20",
"replacementSharesBuyPrice": 235.40,
"adjustedBasisOfReplacement": 11500,
"inTaxAdvantagedAccount": false
}
],
"summary": {
"totalShortTermGainLoss": null,
"totalLongTermGainLoss": null,
"netCapitalGainLoss": null,
"allowableDeduction": null,
"carryforwardToNextYear": {
"shortTerm": null,
"longTerm": null
}
}
}
}
}
For each disallowed wash sale loss: Adjusted basis of replacement shares = Purchase price of replacement shares + Disallowed loss amount
This preserves the economic loss — it is not permanently lost (unless replacement shares are in an IRA/Roth IRA, where the loss IS permanently lost).
The holding period of replacement shares includes the holding period of the sold shares when a wash sale occurs.
After all Form 8949 entries:
Total short-term gain/loss (Part I net) → Schedule D Line 7
Total long-term gain/loss (Part II net) → Schedule D Line 15
Prior year ST carryforward → Schedule D Line 6
Prior year LT carryforward → Schedule D Line 14
Net short-term capital gain/loss = Line 7 + Line 6
Net long-term capital gain/loss = Line 15 + Line 14
Combined net = Schedule D Line 16
If Schedule D Line 21 shows a net loss:
Excess loss (above $3,000) carries forward to future tax years: ST carryforward = net ST loss beyond $3,000 (excess ST loss) LT carryforward = net LT loss (after applying to any ST gain)
Use Schedule D Worksheet in IRS instructions to determine carryforward amounts. Carryforward retains its short-term or long-term character.
| Rate | Single | MFJ | HoH |
|---|---|---|---|
| 0% | Up to $48,350 | Up to $96,700 | Up to $64,750 |
| 15% | $48,350–$533,400 | $96,700–$600,050 | $64,750–$566,700 |
| 20% | Above $533,400 | Above $600,050 | Above $566,700 |
Note: These thresholds apply to taxable income, not just capital gains. Short-term gains taxed at ordinary income rates.
Read skills/tax-domain-harvest/references/wash-sale-rules.md for detailed wash sale examples, substantially identical security analysis, and multi-account wash sale scenarios.