Hoppa till huvudinnehål

Tax-Loss Harvesting

Legal and finance skill, available on Zeplik

Tax-Loss Harvesting is a ready-to-run legal and finance skill on Zeplik. From a pasted lot list, rank tax-loss-harvesting candidates, net short vs long-term, quantify the offset and carryforward, and flag wash-sale risk. Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer. It returns a structured document you can keep and reuse: TLH plan -- ranked harvest candidates with realized-loss and tax-savings estimate, short/long-term netting, wash-sale flags with safe re-entry dates, carryforward, and a not-tax-advice disclaimer (see artifact-templates/document.md).

The Tax-Loss Harvesting skill loads automatically when your request matches it, or you can invoke it directly by typing /tax-loss-harvesting in any chat. It works with attachments, connectors, and any model that supports the task, so you get the same expert method every time without setting anything up.

What the Tax-Loss Harvesting skill can do

Try these prompts on Zeplik

Pick a prompt to open it in the Zeplik app. If you are not signed in yet, your prompt is waiting for you the moment you do.

How the Tax-Loss Harvesting skill works

Tax-Loss Harvesting

Turn a list of holdings or tax lots the user pastes or uploads into a ranked, wash-sale-aware harvesting plan: which losses are worth realizing, how much tax they offset, and which sales would trip the wash-sale rule.

Disclaimer: This is informational analysis, not tax advice. Tax rules vary by jurisdiction and change; the wash-sale rule now reaches digital assets for 2025 sales. Have a qualified tax professional confirm anything before you act on it. Every deliverable carries this disclaimer.

Step 1: Get the lots

You need, per position: ticker or token, acquisition date, cost basis, and current market value (or current price and quantity). Ask for the marginal tax context if the user wants a savings estimate: their short-term (ordinary) rate and long-term capital-gains rate, plus any realized gains already booked this year. Work only from the lots provided; do not invent basis or dates.

Step 2: Classify each lot

For every lot compute the unrealized gain or loss and the holding period:

unrealized = current_value - cost_basis        # negative is a loss
days_held  = today - acquisition_date
term       = long-term if days_held >= 365 else short-term

Only losses are harvest candidates. Note lots that are close to crossing 365 days -- harvesting just before the cross locks in a short-term loss (which offsets higher-taxed short-term gains), and that timing can matter.

Step 3: Rank the candidates

Score each loss lot so the user works the highest-value ones first:

  1. Loss magnitude -- the raw dollar loss; larger loss, larger potential offset.
  2. Tax value -- abs(loss) x applicable marginal rate, using the short- or long-term rate that matches what the loss will offset.
  3. Urgency -- days until the lot crosses into long-term (a reason to act now or wait), and proximity to year-end for "use it or lose it".
  4. Wash-sale risk -- whether harvesting this lot is blocked or complicated by recent or planned purchases of the same asset (Step 5).

Step 4: Net the gains and losses, then the carryforward

Apply the netting order and report the result:

  • Short-term losses first offset short-term gains; long-term losses first offset long-term gains.
  • A remaining net loss in one category then offsets the other category.
  • If total net loss still exceeds gains, up to $3,000 per year ($1,500 married filing separately) is deductible against ordinary income; the rest carries forward indefinitely. Track and state the carryforward amount.

Step 5: Wash-sale check (IRC Section 1091)

If a loss is realized and a substantially identical asset is acquired within the 61-day window (30 days before the sale, the sale day, and 30 days after), the loss is disallowed and added to the basis of the replacement lot. This now applies to digital assets for sales on or after January 1, 2025.

Day -30 ......... Day 0 (sale at a loss) ......... Day +30
  |-- purchases here trip it retroactively --|-- and prospectively --|

For each harvest candidate, check the user's other lots and stated intentions for a same-asset buy inside the window. Flag any wash sale, state the disallowed amount and the safe re-entry date (sale date + 31 calendar days), and note edge cases the user should raise with their preparer: wrapped vs unwrapped tokens, the same token across chains, or a fund vs its underlying. "Substantially identical" is a judgment call -- surface it, do not rule on it.

Guardrails

  • Only the lots given. No basis, date, or price is invented; if a lot is missing data, ask.
  • Estimates, labeled. Tax-savings figures are estimates that depend on the user's full return.
  • Flag, do not rule. Wash-sale "substantially identical" and jurisdiction questions go to the preparer; the skill surfaces the risk and the dates.
  • Not tax advice. The disclaimer is on every deliverable.

Zeplik output presentation

Present one polished artifact: a two-line bottom line (how much loss is harvestable and the single biggest wash-sale caution), a ranked candidate table (asset, term, loss, estimated tax value, wash-sale flag), the netting and carryforward summary, then the disclaimer. Keep process commentary to one line.

How to use the Tax-Loss Harvesting skill

  1. Sign in to Zeplik

    Create a free Zeplik account or sign in. New accounts start with free credits, so you can try the Tax-Loss Harvesting skill right away.

  2. Describe your legal and finance task

    Ask in plain language, or type /tax-loss-harvesting to invoke the skill directly. Zeplik recognizes the Tax-Loss Harvesting skill and applies its method.

  3. Review and refine the result

    Zeplik returns a structured document you can edit, download, and reuse. Ask follow-ups to refine it.

Source and credit

Author
agipro
License
MIT

Adapted from the open-source agiprolabs/claude-trading-skills project and tuned to run natively on Zeplik. View source on GitHub.

Frequently asked questions

What is the Tax-Loss Harvesting skill?
Tax-Loss Harvesting is a ready-to-run legal and finance skill on Zeplik. From a pasted lot list, rank tax-loss-harvesting candidates, net short vs long-term, quantify the offset and carryforward, and flag wash-sale risk. Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer. It returns a structured document you can keep and reuse: TLH plan -- ranked harvest candidates with realized-loss and tax-savings estimate, short/long-term netting, wash-sale flags with safe re-entry dates, carryforward, and a not-tax-advice disclaimer (see artifact-templates/document.md).
How do I use Tax-Loss Harvesting on Zeplik?
Sign in to Zeplik and ask in plain language, or type /tax-loss-harvesting in any chat to invoke it directly. The skill applies its method and returns a result you can refine in the same conversation.
Which AI model does the Tax-Loss Harvesting skill use?
Any model you choose. Zeplik works across every model in one chat, so the Tax-Loss Harvesting skill runs on your preferred model for the task.
Where does the Tax-Loss Harvesting skill come from?
The Tax-Loss Harvesting skill is adapted from the open-source agiprolabs/claude-trading-skills project (MIT) and tuned to run natively on Zeplik. The original source is linked on this page.
How much does the Tax-Loss Harvesting skill cost?
Using the skill is free to start. You only spend Zeplik credits when the assistant runs, and new accounts begin with free credits.

Related legal and finance skills

More on Zeplik

Try Tax-Loss Harvesting on Zeplik

Every model, one chat. Bring the Tax-Loss Harvesting skill into your next conversation and let the assistant do the work.

Browse all skills
Tax-Loss Harvesting - Legal and finance skill for Zeplik AI | Zeplik Chat