From aifolimizer
Whole-portfolio periodic review that produces ONE unified holdings decision table (Buy/Hold/Trim/Sell/Avoid per name) plus watchlist ranking, a keep-what-works list, and a tax/date-aware execution sequence. Use for "full portfolio review", "go through all my holdings", "what should I do across everything", "monthly review", "rebalance my whole book". Long-term-first; not a single-name desk pass (use trading-desk for one ticker) and not the daily digest (use daily-briefing).
How this skill is triggered — by the user, by Claude, or both
Slash command
/aifolimizer:portfolio-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
One coherent, execution-ready plan across EVERY holding and watchlist name -
One coherent, execution-ready plan across EVERY holding and watchlist name - optimized for long-term after-tax wealth. The output is a single decision table, not nine separate analyses. Periodic cadence (monthly/quarterly), not daily. Bias toward FEW high-value actions: most holdings should end "Hold".
trading-desk) or a morning
digest (that's daily-briefing)Before forming any view, load prior decisions so verdicts stay consistent across sessions:
mcp__aifolimizer__get_cross_ticker_lessons (max_lessons=3) - portfolio-level win/loss patternsmcp__aifolimizer__get_ticker_decision_history (ticker=…, max_decisions=5) and mcp__aifolimizer__get_ticker_reflection (symbol=…, n=3). If a prior decision exists and this run flips it, state explicitly WHY (new data / catalyst / price); never silently contradict a logged decision.After output, log every actionable verdict: for each BUY/SELL/TRIM/ADD/HOLD issued, call mcp__aifolimizer__log_recommendation (skill="portfolio-review", ticker, action, conviction, rationale, target_pct, stop_pct). Skipping breaks the cross-session feedback loop and causes drift.
Stage 0 - context:
get_profile (capital, accounts - never hardcode)get_personal_context (tax bracket, FHSA/TFSA/RRSP room, account waterfall)Stage 1 - portfolio truth:
get_portfolio, get_concentration_warnings, get_xrayStage 2 - per-name signal (top holdings + watchlist):
get_fundamentals (holdings + watchlist union)get_positioning_signals (crowding - gates ADD decisions)get_tax_loss_candidates (underwater names = harvest candidates)Stage 3 - date awareness:
get_earnings_calendar (symbols = holdings + watchlist) - next 14d flagsget_dividend_calendar (symbols = holdings) - ex-div / pay timing for
don't-sell-before-ex-div and tax-year placementStage 4 - watchlist:
get_watchlist → fold into the fundamentals/crowding pulls aboveAssign ONE action:
get_concentration_warnings),
OR consensus-crowded (crowding ≥ 70) and extended.crowding < 70,
ideally contrarian ≤ 30) AND room under concentration caps AND cash available.Before any Trim/Sell, list names that should be LEFT UNCHANGED even if they look "boring", because the cost of acting outweighs the benefit:
What matters most this review. The 1-3 actions that actually move the needle.
One row per holding:
TICKER · weight% · ACTION · conviction · horizon · tax note · risk note · reason
Sort: actionable (Sell/Trim/Add) first, Holds grouped after.
The leave-alone list with per-name justification (see rule above).
Each name → 🔥 High-conviction buy / 👀 Monitor / ❌ Avoid (hype/overvalued/weak),
with a one-line reason and ideal-entry note. Crowding-aware: a popular name
with crowding ≥ 70 and no fundamental edge is ❌, not 🔥.
get_tax_loss_candidates) and the Non-Reg cap-gains noteget_personal_context waterfall)get_dividend_calendar)Numbered, practical: do-first / wait-on / avoid. Tie each step to a table row.
crowding ≥ 70 → never default to Add.get_dividend_calendar or earnings data is empty for a name (sparse for TSX),
say so - don't invent dates.trading-desk.get_dividend_calendar filters out past ex-dates by design - a held dividend
payer with no row just has no upcoming ex-div in the window; not an error.get_fundamentals cache - cheap to include.npx claudepluginhub tusharagg1/aifolimizer --plugin aifolimizerGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.