← ClaudeAtlas

watchlistlisted

Manage the project's watchlist.md via a CLI with four operations — add (auto-classify + auto-thesis + validate via yfinance/CoinGecko), remove (soft-delete with required reason, audit trail in Removed/retired), update (change a thesis line in-place), list (show all sections with counts). Use when the user wants to add a ticker without manual markdown editing, soft-delete a watchlist entry with a reason, change a thesis line for an existing ticker, or audit the current watchlist contents. Source of truth remains watchlist.md; CLI provides safety + automation around it.
kensongan-prog/trading-advisor · ★ 1 · AI & Automation · score 62
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