Tax-loss harvesting screen with a wash-sale look-back and replacement candidates

One command in the Portfolio pack, available in the CLI, as an MCP tool and as a JavaScript import: portfolio tlh.

What it needs, and why

Every input is checked before anything is calculated. lots is required; the rest refine the answer.

InputRequiredThe question it asksWhy it matters
lotsyesWhich taxable lots should I scan? For each I need the symbol, quantity, purchase price, current price and purchase date.Losses and the wash-sale window are computed per lot.

Requests it answers

An agent with this pack loaded picks the command from phrasing like that, asks for whatever input is missing, and reports the figures with the method that produced them.

Run it

node bin/wealth-skills.js portfolio tlh --lots '[{"id":"L1","symbol":"VOO","quantity":100,"purchasePrice":500,"currentPrice":420,"purchaseDate":"2025-02-03"}]'

Limits it inherits from wealth-portfolio

The full pack, its other 10 commands and what it deliberately leaves alone are on the Portfolio page.