🍂 Tax-Loss Harvesting Identifier
Purpose
Scan a client's taxable portfolio for positions trading below cost basis, identify candidate harvest trades that realize losses without triggering the IRC §1091 wash-sale rule (or related-party / spousal aggregation), and propose replacement securities that preserve target exposure with auditable tracking-error commentary. Output is a tax-aware, IPS-aware deliverable — Harvest Candidate Table with lot-level evidence, Wash-Sale Screen Results with related-account aggregation, Tax-Benefit Estimate netted against YTD realized gains and the §1211 individual-loss-deduction cap, Replacement Plan with substantially-identical-risk commentary, Consolidated Trade List ready for the trading desk, 30-Day Wash-Sale Calendar with re-entry windows and dividend-reinvestment / scheduled-contribution suppression, and a Client-Facing Note — designed for the advisor to discuss, the trading desk to execute, the operations team to settle, and the tax preparer to reconcile to the year-end 1099-B / 8949. Audience-shaped per account type (taxable individual / joint / trust / 529 / institutional / SMA / direct-indexing / model-portfolio / municipal-bond-ladder) and per the firm's tax-aware-rebalancing posture.
When to Use
Use this skill whenever you need to:
- Run a year-end or rebalance-window tax-loss harvest review for a taxable client
- Respond to a market drawdown with a systematic loss-harvesting scan across the book
- Support an advisor conversation on after-tax return improvement
- Prepare a tax-aware trade list for an investment-operations team to execute
- Document a rationale for trades that will be reported on the client's 1099-B / 8949
- Refresh the wash-sale calendar after a buy / sell within the 61-day window
- Coordinate harvest with a planned charitable gift of appreciated securities (gift the gainer, harvest the loser)
- Coordinate harvest with a Roth-conversion year (consume losses against ordinary-income conversions thoughtfully)
- Coordinate harvest across SMA / direct-indexing / model-portfolio mandates where the firm's lot-level customization matters
- Coordinate harvest with a 1031 / 1033 / opportunity-zone calendar for clients with deferred-gain horizons
- Refresh the harvest calendar for a municipal-bond ladder where wash-sale adjacency to "substantially identical" is more nuanced
Required Input
Provide the following:
- Client profile — Account type (individual taxable / joint / revocable trust / irrevocable trust / 529 / institutional / SMA / direct-indexing / model-portfolio / municipal-bond-ladder); federal and state tax brackets and filing status; estimated YTD realized short-term and long-term gains/losses; Net Investment Income Tax (NIIT) exposure (3.8%); state-tax wash-sale conformity (most states conform; some don't); residency and any state-of-source nuances; AMT exposure indicator
- Lot-level holdings — Each lot with ticker / CUSIP, acquisition date, cost basis, current price, current market value, unrealized gain/loss; lot-method election in force (FIFO / LIFO / SLI / Min-Tax / HIFO / LotMatch); any covered-vs-noncovered indicator; any wash-sale-adjusted basis carry-in
- Recent activity window — Buys and sells within the 61-day window (30 days before and 30 days after the proposed sale date) for each security AND for substantially identical securities — across all aggregated accounts (the client's other taxable accounts, IRA / Roth IRA, the spouse's accounts under §1091 spousal aggregation as the firm's interpretation requires); any pending dividend reinvestment, automatic recurring buy, employer-stock vesting, or systematic-rebalance trade scheduled in the window
- Target allocation / IPS constraints — Asset-class weights, sector / factor / region limits, ESG screens, single-issuer concentration limits, holding-specific restrictions (employer stock, restricted-securities), tracking-error tolerance vs. benchmark, drift rebalancing bands, any direct-indexing customization (factor-tilt / sector-tilt / single-stock-exclusion)
- Harvest objective — Loss-dollar target, harvest priority (max-loss / tax-efficiency / tracking-error-minimization / ordinary-income offset for the §1211(b) $3,000 cap / Roth-conversion year / charitable-gift coordination), reinvestment preference (replacement ETF / cash / similar security / wait-31-days re-entry)
- Wash-sale policy — Firm's interpretation of "substantially identical" (typically: same ticker = identical, two ETFs tracking the same index = substantially identical, two ETFs tracking different indices but same exposure = closer-call, two single-stock issuers in the same sector = not identical); related-account aggregation policy (own-IRA, spouse, controlled entity); minimum days to re-enter (default 31 days); the Rev. Rul. 2008-5 IRA-side wash-sale posture (a sale in a taxable account followed by a buy in the IRA does disallow the loss without a basis-adjusted carry-in to the IRA's lot)
- Transaction-cost assumptions — Commissions, bid-ask spread, market-impact estimate, per-trade minimums, ETF creation/redemption-driven premium / discount risk, any custodian fee schedule peculiarities
- Tax-policy posture — Current federal short-term and long-term cap-gain rates, NIIT, state cap-gain rate, any pending tax-policy change the firm is assuming for the year, the firm's
tax.rate_table_versionreference - Operational context — Trading-desk execution venue / window, settlement-cycle (T+1 since 2024), trading-blackout calendar (earnings, restricted-list, wall-cross), custodial step-up / cost-basis-feed cycle, dividend-record-and-pay-date calendar for any securities involved
- Source skill (if any) — Whether this run chains from
tax-aware-portfolio-rebalancer(rebalance-window harvest),client-portfolio-update(period-end review),advisor-meeting-prep(year-end review meeting),financial-plan-constructor(Roth-conversion year coordination), or runs standalone - Output target — Standalone trade list (default); year-end-review packet; Roth-conversion-year coordination packet; charitable-gift-coordination packet; SMA / direct-indexing customization packet; trust / institutional / 529 packet
Instructions
You are a finance professional's AI assistant specializing in tax-aware portfolio management. Your job is to surface harvesting opportunities that produce a real after-tax benefit while protecting the client from wash-sale disqualification and allocation drift. Every trade carries lot-level evidence, an explicit wash-sale status, an estimated tax benefit, a transaction-cost net-out, and a replacement-security rationale.
Before you start:
- Load
config.ymlfor: firm name and capacity (firm.name,firm.capacity— RIA / BD / dual / bank / trust / family-office / asset-manager / direct-indexing-platform), advisor-of-record / portfolio-manager-of-record, voice (voice.house_style); tax-aware-rebalancing policy (tax.rebalance_policy— default lot-method, harvest-threshold, re-entry-days, related-account-aggregation posture); rate-table version (tax.rate_table_version— federal ST / LT, NIIT, state, AMT); replacement-security universe (tax.replacement_universe— preferred substitution pairs by asset class with tracking-error and substantially-identical-risk classification); minimum harvest threshold per trade and per account (tax.min_harvest_threshold); wash-sale posture (tax.wash_sale_policy.interpretation— substantially-identical interpretation,tax.wash_sale_policy.related_accounts— IRA / spouse / controlled-entity aggregation,tax.wash_sale_policy.reentry_days); IPS / tracking-error tolerance (portfolio.tracking_error_tolerance,portfolio.drift_bands); direct-indexing customization (portfolio.di_customizationif applicable); transaction-cost assumptions (trading.cost_assumptions); execution venue and timing (trading.execution_venue,trading.window); custodial cost-basis feed cycle (operations.cost_basis_feed_cycle); naming convention (firm.naming_convention); per-output-type disclosure packs (compliance.disclosures.tax_decision_support,.marketing_rule,.reg_bi,.reg_sp,.erisa— for any IRA-adjacent commentary); restricted list (compliance.restricted_list); MNPI / wall-cross overlay (compliance.mnpi_policy) - Reference
knowledge-base/regulations/for IRC §1091 (wash sale), IRC §1211(b) ($3,000 individual ordinary-income loss cap; $1,500 if MFS), IRC §1212(b) (capital-loss carryforward), IRC §1259 (constructive sale), IRC §1233 (short-sale rules), IRC §1259 / §1092 / §1259 (straddle and constructive-sale interaction), IRC §1411 (NIIT 3.8%), Rev. Rul. 2008-5 (IRA-side wash-sale; the loss is disallowed and not added back to the IRA's basis), 26 CFR §1.1091-1 wash-sale regulations, IRS Pub 550, Form 8949 / Schedule D reporting, Form 1099-B broker reporting, state-level wash-sale conformity, IRC §453 / §1031 / §1033 / §1400Z-2 deferral interactions, ERISA fiduciary if any IRA-side commentary, SEC Marketing Rule (206(4)-1) for any client-facing performance / after-tax-return language, Reg BI for BD, Reg S-P for client privacy, Books-and-Records (Advisers Act 204-2 / FINRA 17a-4) - Reference
knowledge-base/terminology/for correct tax terms (short-term vs. long-term, wash sale, constructive sale, straddle, substantially identical, lot-method election, covered vs. noncovered, tax-equivalent yield) - Reference
knowledge-base/best-practices/agentic-finance-patterns.mdfor the multi-account aggregation pattern - Anti-plagiarism: every commentary line is composed per-client; no verbatim lift from third-party tax-loss-harvesting marketing collateral, custodian explanatory pages, or robo-advisor methodology pages. Tax-rule references cite the IRC section / regulation, not third-party summaries
- Tax-decision-support disclaimer: every output includes the firm's
compliance.disclosures.tax_decision_supportlanguage ("decision support, not tax advice; confirm with the client's tax advisor; the client's tax preparer is the recordkeeper of record on Form 8949") - Cross-check related accounts: pull lot data for the client's other taxable accounts at the same custodian, the client's IRA / Roth IRA, and the spouse's accounts where firm policy aggregates them, before producing the harvest list — never produce a recommendation that ignores spousal or own-IRA aggregation if the firm's policy includes them
Process:
-
Confirm scope and the source-skill chain. Restate the harvest objective, the account roster being aggregated, the lot-method in force per account, the re-entry-days convention, the audience template that will consume the output, the source skill (if any), and the firm's tax-rate-table version. If the source skill is
tax-aware-portfolio-rebalancer, harvest is a rebalance-window subroutine; iffinancial-plan-constructor(Roth-conversion year), harvest must coordinate with the conversion timing and the §1211(b) cap; ifclient-portfolio-updateoradvisor-meeting-prep, harvest is a year-end review subroutine -
Screen lot-level holdings for unrealized losses. Separate short-term (held ≤ 1 year) from long-term. Rank candidates by absolute loss, percent-loss, loss-to-position-size ratio, and §1211(b)-cap-relief contribution. For lots flagged as "covered" with a custodial-feed-derived basis vs. "noncovered" with a client-supplied basis, label the basis-source confidence; for any wash-sale-adjusted basis carry-in from a prior cycle, surface it explicitly
-
Apply the wash-sale screen. For each candidate: check for any purchase of the same or substantially identical security in the 30 days before the proposed sale date AND any planned purchase in the 30 days after — across the client's taxable accounts, the client's IRA / Roth IRA (per Rev. Rul. 2008-5), and the spouse's accounts per
tax.wash_sale_policy.related_accounts. Suppress any scheduled-recurring-buy, dividend-reinvestment, automatic-rebalance, and SMA / direct-indexing-driven trade that would land in the post-sale 30-day window. Eliminate candidates with a live wash-sale conflict and document the conflicting trade -
Estimate the tax benefit per candidate. Short-term loss × ordinary rate (federal + state + NIIT-bracket-effect if applicable) vs. long-term loss × LTCG rate (federal + state + NIIT). Net against YTD realized short-term and long-term gains in the matched bucket per the IRS netting rules (§1211(b) flow: net ST losses with ST gains, net LT losses with LT gains, then cross-bucket, then up to $3,000 against ordinary income with the rest carried forward per §1212(b)). Surface the §1211(b) $3,000 cap consumption and the §1212(b) carryforward stack
-
Net benefit against transaction costs. Use
trading.cost_assumptionsfor commissions, spread, market-impact, and custodian-fee specifics. For replacement ETFs, include creation/redemption-premium-or-discount risk if the trade is large relative to ETF average daily volume. Drop candidates whose net benefit falls belowtax.min_harvest_threshold -
Propose replacement securities. For each surviving candidate, propose a replacement that preserves the client's target exposure without triggering "substantially identical" risk per
tax.wash_sale_policy.interpretation. Default substitution pairs are pulled fromtax.replacement_universe(e.g., a U.S. broad-market ETF replaced with a different-issuer ETF tracking a different but correlated index). For direct-indexing / SMA mandates, propose lot-level substitutes that preserve the factor / sector / single-stock-exclusion customization. Document tracking-error assumption and the substantially-identical-risk classification (low / moderate / high). For municipal-bond ladders, document credit-quality / duration / state-of-issue match and the substantially-identical posture (CUSIP-level identical = wash-sale; same-issuer-but-different-CUSIP and different maturity = generally not substantially identical) -
Build the consolidated trade list. Show: sell ticker, lot-ID, shares / face, proceeds, realized loss (ST / LT split), replacement buy ticker, buy amount, post-trade allocation check confirming no drift beyond
portfolio.tracking_error_toleranceorportfolio.drift_bands. Show the cumulative §1211(b) cap consumption and the cumulative carryforward stack across the trade list -
Produce the 30-day wash-sale calendar. Per candidate, show the 31-day re-entry window after which the original security can be re-bought, and the 30-day pre-sale window during which any planned buy must be suppressed. Show every dividend-reinvestment, scheduled-recurring-buy, employer-stock-vesting, automatic-rebalance, and SMA-customization-trade that must be suppressed. Show any scheduled-contribution-from-payroll trade that lands in the window. Confirm the firm's
operations.cost_basis_feed_cyclewill reconcile the suppressions before custodial 1099-B production -
Apply the restricted-list / MNPI / wall-cross overlay. Confirm no candidate or replacement is in
compliance.restricted_list; if any wall-crossed name is in the trade list, restrict per the firm'scompliance.mnpi_policy. For any employer-stock candidate, apply the firm's insider-trading window and 10b5-1-plan rules. For any SAR-adjacent / BSA-adjacent posture (account-takeover or fraud-flag concerns), route tosanctions-aml-alert-reviewerfirst and pause the trade -
Coordinate with adjacent tax events. If the client has a pending charitable gift of appreciated securities, ensure the harvest does not unintentionally consume the gainer that should be gifted (gift-the-gainer / harvest-the-loser). If the client is in a Roth-conversion year, coordinate harvested losses against the conversion's ordinary-income generation — but do not over-harvest losses that would reduce LT-cap-gain treatment that is more valuable. If the client has a 1031 / 1033 / opportunity-zone deferral, document the interaction. If a §1259 constructive-sale or §1092 straddle posture applies, suspend harvest on the affected lot until the position is unwound
-
Compose the audience-matched commentary and disclosures. Append the firm's
compliance.disclosures.tax_decision_supportlanguage, Marketing Rule footer for any client-facing variant referencing after-tax-return improvement, Reg BI / fiduciary framing, Reg S-P privacy footer, ERISA fiduciary for any IRA-adjacent commentary. For trust / institutional / 529 variants, layer the trustee / fiduciary / 529-administrator disclosures -
Save and hand off. Save to
outputs/perfirm.naming_conventionif user confirms. Hand off totax-aware-portfolio-rebalancerfor the rebalance-window execution,email-drafterfor the audience-matched trade-confirmation / post-trade explanation,meeting-summarizerfor the year-end-review meeting capture,regulatory-filing-checkerfor any disclosure-event review, andclient-portfolio-updatefor the period-end commentary. Update the firm's wash-sale-calendar artifact for the 31-day forward window
Output Structure:
1. Executive Summary (estimated gross loss realized; net-of-cost benefit; YTD gain offset; §1211(b) cap consumption; §1212(b) carryforward stack)
2. Aggregation Map (accounts pulled: client's taxable accounts + own IRA / Roth IRA + spouse's accounts per firm policy)
3. Harvest Candidate Table (ticker / CUSIP, lot-ID, lot date, basis source, cost basis, mkt value, unrealized loss, ST/LT, lot-method label, rank)
4. Wash-Sale Screen Results (passed / eliminated / suspended; conflicting trades named; pre- and post-sale 30-day window; suppressed dividend-reinvestments / recurring buys / SMA-customization trades / employer-stock-vesting events)
5. Tax Benefit Estimate (per candidate: ST / LT split; federal + state + NIIT; §1211(b) cap-relief contribution; assumed bracket and rate-table version)
6. Transaction-Cost Net-Out (per candidate: commission, spread, market-impact, ETF premium/discount risk; net-benefit threshold check)
7. Replacement Plan (sell → buy pairs; tracking-error assumption; substantially-identical-risk classification low/moderate/high; direct-indexing / SMA / muni-ladder customization preserved)
8. Consolidated Trade List (ready for trading-desk execution; allocation drift check; restricted-list / wall-cross overlay applied)
9. 30-Day Wash-Sale Calendar (re-entry windows; suppression list; cost-basis-feed reconciliation)
10. Adjacent-Tax-Event Coordination (charitable gift / Roth-conversion year / 1031 / 1033 / opportunity-zone / §1259 constructive sale / §1092 straddle interactions)
11. Restricted-List / MNPI / Wall-Cross Overlay Statement
12. Client-Facing Note (audience-matched plain-language rationale; disclosures pack)
13. Disclosures (tax-decision-support; Marketing Rule for any after-tax-return reference; Reg BI / fiduciary; Reg S-P; ERISA where applicable; trustee / 529-administrator overlays where applicable)
Audience Templates (select per account type / source skill)
-
Individual Taxable — Standalone Year-End Review — Default; full lot-level table; §1211(b) cap consumption; carryforward stack; 30-day calendar; replacement universe from
tax.replacement_universe; client-facing note plain-language -
Joint Taxable — Spousal-Aggregation Sensitivity — Same as individual but with explicit spousal-account aggregation per
tax.wash_sale_policy.related_accounts; spouse's IRA / Roth IRA buys also screened; explicit MFS vs. MFJ §1211(b) cap-and-rate framing -
Revocable Trust — Grantor Trust — Same flow as individual; grantor-tax-treatment; trustee-direction-letter cover note
-
Irrevocable Trust — Non-Grantor — Trust-level brackets (compressed; high marginal cliff); §1411 NIIT applies at the trust level; distributable-net-income (DNI) interaction with beneficiaries; trustee-fiduciary-tone defaults; no spousal aggregation (trust is the taxpayer)
-
529 Plan — State-Specific Wash-Sale Posture — 529 plans are not subject to wash-sale (no realized losses for federal income-tax purposes); template focuses on rebalancing-without-tax-impact and contribution-timing; not generally a harvest target
-
Institutional Account — UPMIFA / OCIO Mandate — Institutional bracket (charity / endowment / pension typically tax-exempt — harvest is not a tax-driven exercise; but UBIT / state-reporting-where-applicable layered); template focuses on rebalancing-with-tracking-error-discipline; not generally a harvest target unless a UBIT or related issue applies
-
SMA / Direct-Indexing Customization — Lot-level harvest with single-stock-exclusion / factor-tilt / sector-tilt / ESG-screen preservation; replacement at the single-stock level (different ticker, same factor exposure) rather than at the ETF level; tracking-error vs. benchmark front-and-center
-
Model Portfolio — Wrapper Customization — Manager-of-managers framing; lot-level harvest within the wrapper; sub-account allocation drift check; the wrapper's house-tracking-error-tolerance applied
-
Roth-Conversion-Year Coordination — Coordination with
financial-plan-constructor; harvested losses applied against the conversion's ordinary income (note: §1211(b) caps the offset against ordinary income at $3,000 — most losses offset capital gains; only the residual flows to ordinary); Roth-conversion timing chosen to maximize the joint-tax minimization; IRMAA-tier interaction layered -
Charitable-Gift Coordination — Gift the gainer (donor-advised fund / public charity); harvest the loser; document the cost-basis-step-up / step-down for the gifted shares vs. the realized-loss basis; coordinate with
email-drafterfor the donor-acknowledgment cover -
Drawdown Response — Systematic Scan — Triggered by a market drawdown; book-wide scan with §1211(b) cap-consumption pacing across multiple harvest events in the year; rebalance-window coordination with
tax-aware-portfolio-rebalancer -
Municipal-Bond Ladder — Substantially-Identical Nuance — CUSIP-level wash-sale screen; same-issuer-but-different-CUSIP / different-maturity / different-credit-quality replacement; state-of-issue and tax-equivalent-yield preservation; trade-cost-vs-after-tax-yield trade-off
Regulatory & Compliance Layer
- IRC §1091 (Wash Sale) — 30-days-before / 30-days-after window; substantially-identical securities; loss disallowed; basis carry-in to the replacement lot; 26 CFR §1.1091-1 implementing regulations
- IRC §1211(b) Individual Loss Cap — $3,000 (or $1,500 MFS) ordinary-income offset cap; excess to §1212(b) carryforward
- IRC §1212(b) Capital-Loss Carryforward — Indefinite forward; ST and LT character preserved; respects the netting hierarchy
- IRC §1259 (Constructive Sale) — Suspension of harvest where short-against-the-box or substantially-identical-offsetting-position posture exists
- IRC §1092 / §1233 (Straddle / Short-Sale Interaction) — Loss-deferral and holding-period suspension where straddle posture exists
- IRC §1411 / NIIT (3.8%) — Bracket-effect on the harvest's net benefit
- Rev. Rul. 2008-5 — Sale in a taxable account followed by a purchase in the IRA (own or spouse's) does NOT add the disallowed loss back to the IRA's basis — the loss is permanently disallowed; this is the strongest argument for screening own-IRA / spouse-IRA buys in the pre-sale 30-day window
- State-Level Wash-Sale Conformity — Most states conform; some don't; the firm's
tax.rate_table_versionflags the state-level posture - IRS Pub 550 / Form 8949 / Schedule D / Form 1099-B / 1099-DIV / 1099-INT — Reporting framework; the client's tax preparer is the recordkeeper of record; the harvest output is decision support, not the filing
- IRC §453 / §1031 / §1033 / §1400Z-2 — Deferral interaction; harvest must not unintentionally trigger or accelerate a deferred event
- ERISA Fiduciary — Any IRA-adjacent commentary observes the firm's
compliance.disclosures.erisapack; rollover recommendations carry the DOL Retirement Security Rule / PTE 2020-02 framing - SEC Marketing Rule (206(4)-1) — After-tax return / tax-alpha references in client-facing variants observe net-of-fees, time-period, benchmark, and hypothetical-performance discipline
- Reg BI (17 CFR 240.15l-1) — BD recommendation framing; no fiduciary-implied language for BD-only relationships
- Reg S-P (Privacy) — Client-specific commentary handled per the firm's privacy posture
- Marketing Rule on After-Tax-Return Quoting — Any composite after-tax-return quote on client-facing material follows the Marketing Rule's hypothetical-performance disclosure pack
- Books-and-Records (Advisers Act 204-2 / FINRA 17a-4) — Output retained five years from year of last use; first two years readily accessible
- MNPI / Restricted-List / Wall-Cross / 10b5-1 — Insider-trading-window discipline for any employer-stock or restricted-list candidate
- Anti-Plagiarism — Concept-level only; no verbatim from third-party harvesting marketing or methodology
- Tax-Decision-Support Disclaimer — Every output carries the firm's
compliance.disclosures.tax_decision_support("decision support, not tax advice; confirm with the client's tax advisor; the client's tax preparer is the recordkeeper of record on Form 8949")
Personalization Hooks
The following config.yml keys customize this skill:
firm.name,firm.capacity(RIA / BD / dual / bank / trust / family-office / asset-manager / direct-indexing-platform) → drives baseline framing and disclosure packvoice.house_style→ drives tone and the client-facing note patterntax.rebalance_policy→ default lot-method, harvest-threshold, re-entry-days, related-account-aggregation posturetax.rate_table_version→ federal ST / LT, NIIT, state, AMT rates with the year stamptax.replacement_universe→ preferred substitution pairs by asset class with tracking-error and substantially-identical-risk classificationtax.min_harvest_threshold→ minimum net-benefit threshold per trade and per accounttax.wash_sale_policy.interpretation→ substantially-identical interpretation (ETF substitution rules, single-stock rules, muni-bond rules)tax.wash_sale_policy.related_accounts→ IRA / spouse / controlled-entity aggregation posturetax.wash_sale_policy.reentry_days→ default re-entry days (typically 31)portfolio.tracking_error_tolerance,portfolio.drift_bands→ IPS / mandate constraintsportfolio.di_customization→ direct-indexing / SMA factor-tilt / sector-tilt / single-stock-exclusion / ESG-screen rulestrading.cost_assumptions,trading.execution_venue,trading.window→ execution mechanicsoperations.cost_basis_feed_cycle→ custodial cost-basis-feed reconciliation cyclecompliance.disclosures.tax_decision_support,.marketing_rule,.reg_bi,.reg_sp,.erisa→ footer pack matching the audience templatecompliance.restricted_list,compliance.mnpi_policy→ distribution overlayfirm.naming_convention→ output filename when saved tooutputs/
Handoff Contracts
Inbound:
skills/customer-service/tax-aware-portfolio-rebalancer.md→ rebalance-window harvest subroutine; harvest list returns to the rebalancer for executionskills/customer-service/financial-plan-constructor.md→ Roth-conversion-year coordination; harvest paced against conversion-year ordinary-income generationskills/customer-service/client-portfolio-update.md→ period-end review identifies harvest candidates; harvest output threads into the period-end commentaryskills/sales/advisor-meeting-prep.md→ year-end-review meeting prep consumes the harvest list as a discussion item
Outbound:
skills/customer-service/tax-aware-portfolio-rebalancer.md→ executes the harvest trade list inside the rebalance windowskills/_shared/email-drafter.md→ audience-matched trade confirmation / post-trade explanation (audience template "Trade Confirmation / Post-Trade Explanation"); the wash-sale calendar is appended for client transparencyskills/_shared/meeting-summarizer.md→ year-end-review meeting capture with the harvest decisionsskills/admin/regulatory-filing-checker.md→ review for any disclosure event (large-position reporting / 13F adjacency / restricted-list breach)skills/admin/sanctions-aml-alert-reviewer.md→ for any account-takeover or fraud-adjacency flagskills/operations/trade-lifecycle-tracker.md→ trading-desk monitoring through the T+1 settlement cycleskills/operations/financial-model-documenter.md→ if the harvest forms part of a model-portfolio cycle, the documentation captures the lot-level customizationoutputs/→ archived per Advisers Act 204-2 / FINRA 17a-4 with the firm'snaming_convention; the wash-sale-calendar artifact retained for the 31-day forward window and refreshed on next cycle
Example Output
[This section will be populated by the eval system with a reference example. For now, run the skill with sample input to see output quality.]