find-untapped-thesis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited find-untapped-thesis (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Find stocks that meet ALL of these criteria:
The classic pattern that captures multi-bagger reversal: low PE + low attention + new narrative tailwind + low institutional ownership + insider conviction.
Crowded names = limited upside (NVDA, AVGO, AMD already +100%+ YTD). Untapped names = asymmetric R/R because:
Common themes for 2026:
For each theme, generate 10-15 candidates via:
For each candidate, pull via mcp__yfmcp__yfinance_get_ticker_info:
Hard cuts (must pass ALL):
| Filter | Threshold |
|---|---|
| Market cap | > $500M (avoid micro-cap) |
| Forward P/E | < 25 (or PEG < 1.2 for higher growth) |
| 1Y return | < 50% (laggard) |
| 200DMA gap | < +30% (not parabolic) |
| Volume | Avg > 100K daily (liquidity) |
Bonus filter — favor predictable growth models (see sector-rotation-analysis for sub-sector mechanics):
Soft preferences:
For each surviving candidate, run with --window 90 (recent activity only):
uv run --with yfinance python $(ls ~/.claude/{skills,plugins/claude-investment-skills}/review-investment-screenshot/scripts/insider_ratio.py 2>/dev/null | head -1) "TICKER1,TICKER2,..." --window 90The script uses openinsider.com as primary source (Form 4 codes; only P = real purchase counts). For high-stakes calls, use --source both to cross-verify against yfinance.
Reject if (RECENT 0-90d):
Boost if (RECENT 0-90d):
Don't punish:
For each remaining candidate, WebSearch for:
Reject if no concrete evidence, just narrative.
For each surviving candidate:
| Factor | Weight | Score |
|---|---|---|
| Forward P/E lower (vs theme median) | 20% | 0-10 |
| 1Y laggard vs theme leaders | 15% | 0-10 |
| Insider signal | 15% | 0-10 |
| Concrete catalyst strength | 20% | 0-10 |
| Institutional room | 10% | 0-10 |
| Predictability of growth model | 20% | 0-10 (see sub-sector matrix) |
Predictability scoring:
Top 5 = recommend with entry plan + risk assessment.
# Untapped Thesis Screen: [Theme] — [Date]
## TL;DR
Found [N] candidates passing all filters. Top 3 recommendations:
1. [TICKER1] — [reason in 10 words]
2. [TICKER2] — [reason]
3. [TICKER3] — [reason]
## Theme Context
[Why this theme matters in 2026, what's the upside catalyst]
## Theme leaders (already up, for reference NOT to buy)
| Ticker | Price | YTD% | 1Y% | Forward P/E |
## Theme laggards (CANDIDATES)
| Ticker | Price | YTD% | 1Y% | Forward P/E | PEG | Inst% | Insider | Catalyst | Score |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | X/10 |
## Top 3 Deep Dive
### #1 [TICKER] — [tagline]
- **Why undervalued**: [concrete evidence — PE, peers, what's missed]
- **Catalyst (with date if known)**: [contracts, earnings, M&A]
- **Insider**: [ratio + key buyers]
- **Entry plan (3-tier)**:
- Now: $X (try 30%)
- 50DMA: $Y (add 30%)
- 200DMA: $Z (add 40%)
- **12-month target**: $A (+B%)
- **Risk**: [main risks]
- **LEAPS suggestion**: [if applicable]
### #2 ...
### #3 ...
## Rejected (and why)
| Ticker | Why rejected |
| TICKER1 | Insider 1:50 distribution |
| TICKER2 | 1Y +180%, no longer laggard |
| TICKER3 | No concrete catalyst, just narrative |When screening a theme, organize results like this. Live data will populate specifics:
| Ticker | Status | Why |
|---|---|---|
| [Top pick] | ⭐ Top | Lowest PE + concrete contract + insider clean |
| [Solid pick] | Solid | OK metrics, growing thesis |
| [Wait] | Wait | Good thesis but needs pullback or insider issue |
| [Hidden gem] | Hidden | Off-radar but unique angle (insider buy, special structure) |
Always run live screening — themes evolve quarterly. Past laggards become leaders, leaders become laggards. Use mcp__yfmcp__yfinance_get_ticker_info for current data.
After this skill identifies top 3, run analyze-stock on each for the deep dive (10-step framework). This skill is the funnel, analyze-stock is the deep dive.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.