watchlistlisted
Install: claude install-skill kensongan-prog/trading-advisor
# Watchlist CLI Skill
## When to use
Trigger this skill when the user says:
- "Add X to my watchlist" / "Add HOOD"
- "Remove KTOS from watchlist"
- "Update the thesis on AUPH to ..."
- "What's on my watchlist?"
- "Take X off my watchlist because Y"
Do NOT use for: ticker analysis (use the underlying skills), journal entries (separate workflow), or dashboard refresh (separate skill).
## Why this exists
Hand-editing `watchlist.md` is error-prone — bare tokens without backticks break the dashboard's parser, "thesis TBD" entries clutter the file, and "remove" often means "delete" which destroys calibration history. The CLI standardizes the format, validates against real data sources, and enforces the doctrine's soft-delete-with-reason rule.
## Subcommands
### `add` — add a ticker with auto-everything
```bash
python3 .claude/skills/watchlist/wl.py add <TICKER> [--thesis "..."] [--section us|klse|crypto|options] [--yes] [--allow-unresolved]
```
Auto-classifies ticker by format (4-digit → KLSE; known symbol → crypto; ALL-CAPS → US). Fetches metadata from yfinance / CoinGecko to validate the ticker exists. Builds a default thesis from name + sector / category unless `--thesis` overrides. Shows a preview and prompts for confirmation by default. Writes atomically with backup. Invalidates per-ticker dashboard cache.
### `remove` — soft-delete with required reason
```bash
python3 .claude/skills/watchlist/wl.py remove <TICKER> --reason "..." [--yes]
```
Captures the current t