I am super delayed on this post. I'm making this today because I finally got my skill library together and now I'm ready to move on to day four but before I do I want to share a couple of things with the community and show you what I created. Skill 1: /morning-prep Pulls pre-market gappers (≥10% gap, price >$1) from Finviz Elite every morning at 8 AM before the market opens. Enriches each ticker with float, short float %, ATR(14), and relative volume — all from Finviz, no yfinance. Checks SEC EDGAR for dilution filings in the last 30 days (S-3, S-1, 424B). Grabs the top 3 news headlines per ticker. Then sends me a ranked HTML leaderboard email with two sections: - Priority Watchlist — long setups scored on catalyst, gap %, RVOL, and ATR - Short Watch — dilution tickers flagged in red, sorted by gap size (biggest gap = best short candidate) I type /morning-prep and it either sets up the scheduler or fires it on demand. Runs every weekday automatically via Windows Task Scheduler, wakes the machine if needed. Skill 2: /gapper-tracker This one's building a statistical database to prove or disprove the Day 2 short edge — the idea that 67.7%(small sample)*not investment advice* of gap-up stocks close lower on Day 2 than Day 1. Every afternoon at 4:30 PM it logs intraday data from that day's gappers into a CSV with 30+ columns: open, high, low, close, gap fill %, range %, time of HOD, catalyst, pre-market VWAP, the works. The tricky part was multi-day staging. A ticker that gapped today needs Day 2 close filled tomorrow, and Day 3 close the day after — without creating duplicate rows. Built a JSON staging file to track which tickers are waiting on which day's data. When D3 is filled it writes the final row and removes it from staging. One optimization I made: On the morning-prep script, I was originally making individual API calls per ticker to pull enrichment data. Watched the agent work and saw it hitting rate limits constantly. Switched to Finviz batch calls — two requests cover all 15 tickers at once (one for ownership data, one for technicals). Went from 15+ calls and timeouts to 2 clean calls. That one change made the whole thing reliable.