Tax-Loss Harvesting
description: Identify tax-loss harvesting opportunities across taxable accounts. Finds positions with unrealized losses, suggests replacement securities, and tracks wash sale windows. Triggers on "tax-loss harvesting", "TLH", "harvest losses", "tax losses", "unrealized losses", or "year-end tax planning".
Workflow
Step 1: Identify Candidates
Scan taxable accounts for positions with unrealized losses:
| Security |
Asset Class |
Cost Basis |
Current Value |
Unrealized Loss |
Holding Period |
% Loss |
|
|
|
|
|
ST / LT |
|
Prioritize by:
- Largest absolute loss (biggest tax benefit)
- Short-term losses first (offset short-term gains taxed at ordinary income rates)
- Positions with the largest % loss (less likely to recover quickly)
Step 2: Gain/Loss Budget
Calculate the client's tax situation:
| Category |
Amount |
| Realized short-term gains YTD |
|
| Realized long-term gains YTD |
|
| Realized losses YTD |
|
| Net gain/(loss) position |
|
| Carryforward losses from prior years |
|
| Target harvesting amount |
|
Tax savings estimate:
- Short-term losses × marginal ordinary income rate
- Long-term losses × capital gains rate
- Up to $3,000 net loss deduction against ordinary income
- Excess carries forward
Step 3: Replacement Securities
For each harvest candidate, suggest a replacement that:
- Maintains similar market exposure (same asset class, sector, geography)
- Is NOT "substantially identical" (wash sale rule)
- Has similar risk/return characteristics
| Sell |
Replace With |
Reason |
Tracking Error Risk |
| SPDR S&P 500 (SPY) |
iShares Core S&P 500 (IVV) |
Same index, different fund family |
Minimal |
| Vanguard Total Intl (VXUS) |
iShares MSCI ACWI ex-US (ACWX) |
Similar exposure, different index |
Low |
| Individual stock ABC |
Sector ETF (XLK) |
Broader exposure, no wash sale risk |
Moderate |
Step 4: Wash Sale Check
Before executing, verify no wash sales:
- Check ALL accounts in the household (taxable, IRA, Roth, spouse accounts)
- 30-day lookback: Did we buy substantially identical securities in the last 30 days?
- 30-day forward: Block repurchase of the same security for 30 days
- Check for dividend reinvestment plans (DRIPs) that could trigger wash sales
- Document the wash sale window for each trade
| Security Sold |
Wash Sale Window Start |
Window End |
DRIP Active? |
Risk |
|
|
|
|
|
Step 5: Execution Plan
| Trade # |
Account |
Action |
Security |
Shares |
Est. Proceeds |
Est. Loss |
Replacement |
Notes |
|
|
Sell |
|
|
|
|
|
|
|
|
Buy |
|
|
|
|
|
|
Summary:
- Total estimated losses harvested: $
- Estimated tax savings: $ (at marginal rate of %)
- Net portfolio impact: minimal (replacement securities maintain exposure)
- Wash sale window management: [dates]
Step 6: Post-Harvest Tracking
After 30+ days, optionally:
- Swap back to original securities (if preferred)
- Maintain replacement securities (if no reason to switch back)
- Update cost basis records
- Document for tax reporting
Step 7: Output
- Harvest opportunity list (Excel)
- Trade execution sheet
- Wash sale tracking calendar
- Tax savings estimate summary
- Replacement security rationale
Important Notes
- Wash sale rules are strict — violations disallow the loss AND adjust cost basis
- Substantially identical means same security, not same asset class — ETFs tracking different indexes are generally fine
- Always coordinate across all household accounts including retirement accounts
- Consider the long-term cost basis step-down — harvesting resets cost basis, which means more gains later
- Year-end is prime harvesting season but opportunities exist throughout the year
- Mutual fund capital gains distributions in December can create additional harvesting urgency
- Document everything for tax reporting and compliance
- Not all losses are worth harvesting — transaction costs and tracking error have real costs
Hermes Profile Notes
This skill was packaged from pi-financial-services source path plugins/vertical-plugins/wealth-management/skills/tax-loss-harvesting for the Hermes financial-services profile. Use institutional data connectors first when available, cite sources, and stage outputs for qualified human review.
Common Pitfalls
- Do not present drafts as investment, legal, tax, or accounting advice.
- Do not use web search as the primary source when an institutional MCP/data connector is available.
- Do not execute transactions, contact clients, post to a ledger, or approve onboarding. Stage outputs for review.
Verification Checklist
1---2name: tax-loss-harvesting3description: Use when financial-services work requires tax-Loss Harvesting.4license: MIT5---67# Tax-Loss Harvesting89description: Identify tax-loss harvesting opportunities across taxable accounts. Finds positions with unrealized losses, suggests replacement securities, and tracks wash sale windows. Triggers on "tax-loss harvesting", "TLH", "harvest losses", "tax losses", "unrealized losses", or "year-end tax planning".1011## Workflow1213### Step 1: Identify Candidates1415Scan taxable accounts for positions with unrealized losses:1617| Security | Asset Class | Cost Basis | Current Value | Unrealized Loss | Holding Period | % Loss |18|----------|-----------|-----------|---------------|-----------------|---------------|--------|19| | | | | | ST / LT | |2021**Prioritize by:**221. Largest absolute loss (biggest tax benefit)232. Short-term losses first (offset short-term gains taxed at ordinary income rates)243. Positions with the largest % loss (less likely to recover quickly)2526### Step 2: Gain/Loss Budget2728Calculate the client's tax situation:2930| Category | Amount |31|----------|--------|32| Realized short-term gains YTD | |33| Realized long-term gains YTD | |34| Realized losses YTD | |35| Net gain/(loss) position | |36| Carryforward losses from prior years | |37| **Target harvesting amount** | |3839**Tax savings estimate:**40- Short-term losses × marginal ordinary income rate41- Long-term losses × capital gains rate42- Up to $3,000 net loss deduction against ordinary income43- Excess carries forward4445### Step 3: Replacement Securities4647For each harvest candidate, suggest a replacement that:48- Maintains similar market exposure (same asset class, sector, geography)49- Is NOT "substantially identical" (wash sale rule)50- Has similar risk/return characteristics5152| Sell | Replace With | Reason | Tracking Error Risk |53|------|-------------|--------|-------------------|54| SPDR S&P 500 (SPY) | iShares Core S&P 500 (IVV) | Same index, different fund family | Minimal |55| Vanguard Total Intl (VXUS) | iShares MSCI ACWI ex-US (ACWX) | Similar exposure, different index | Low |56| Individual stock ABC | Sector ETF (XLK) | Broader exposure, no wash sale risk | Moderate |5758### Step 4: Wash Sale Check5960Before executing, verify no wash sales:6162- Check ALL accounts in the household (taxable, IRA, Roth, spouse accounts)63- 30-day lookback: Did we buy substantially identical securities in the last 30 days?64- 30-day forward: Block repurchase of the same security for 30 days65- Check for dividend reinvestment plans (DRIPs) that could trigger wash sales66- Document the wash sale window for each trade6768| Security Sold | Wash Sale Window Start | Window End | DRIP Active? | Risk |69|--------------|----------------------|-----------|-------------|------|70| | | | | |7172### Step 5: Execution Plan7374| Trade # | Account | Action | Security | Shares | Est. Proceeds | Est. Loss | Replacement | Notes |75|---------|---------|--------|----------|--------|--------------|-----------|-------------|-------|76| | | Sell | | | | | | |77| | | Buy | | | | | | |7879**Summary:**80- Total estimated losses harvested: $81- Estimated tax savings: $ (at marginal rate of %)82- Net portfolio impact: minimal (replacement securities maintain exposure)83- Wash sale window management: [dates]8485### Step 6: Post-Harvest Tracking8687After 30+ days, optionally:88- Swap back to original securities (if preferred)89- Maintain replacement securities (if no reason to switch back)90- Update cost basis records91- Document for tax reporting9293### Step 7: Output9495- Harvest opportunity list (Excel)96- Trade execution sheet97- Wash sale tracking calendar98- Tax savings estimate summary99- Replacement security rationale100101## Important Notes102103- Wash sale rules are strict — violations disallow the loss AND adjust cost basis104- Substantially identical means same security, not same asset class — ETFs tracking different indexes are generally fine105- Always coordinate across all household accounts including retirement accounts106- Consider the long-term cost basis step-down — harvesting resets cost basis, which means more gains later107- Year-end is prime harvesting season but opportunities exist throughout the year108- Mutual fund capital gains distributions in December can create additional harvesting urgency109- Document everything for tax reporting and compliance110- Not all losses are worth harvesting — transaction costs and tracking error have real costs111112## Hermes Profile Notes113This skill was packaged from `pi-financial-services` source path `plugins/vertical-plugins/wealth-management/skills/tax-loss-harvesting` for the Hermes financial-services profile. Use institutional data connectors first when available, cite sources, and stage outputs for qualified human review.114115116## Common Pitfalls1171. Do not present drafts as investment, legal, tax, or accounting advice.1182. Do not use web search as the primary source when an institutional MCP/data connector is available.1193. Do not execute transactions, contact clients, post to a ledger, or approve onboarding. Stage outputs for review.120121122## Verification Checklist123- [ ] Inputs, assumptions, dates, and currencies are explicit.124- [ ] Numbers tie across tables, models, decks, and memos.125- [ ] Sources are cited and institutional data is preferred where available.126- [ ] Output is labeled draft / for human review where appropriate.