From file to useful result
How to ask with this skill installed
Installing the skill gives your AI a method. Your request still has to provide the case-specific facts, constraints and expected output.
Describe the decision or deliverable, not just the topic.
Add source material, audience, limits and known facts.
Set format, quality criteria and checks.
When to use it
Explicit Triggers:
- "Find CANSLIM stocks"
- "Screen for growth stocks using O'Neil's method"
- "Which stocks have strong earnings and momentum?"
- "Identify stocks near 52-week highs with accelerating earnings"
- "Run a CANSLIM screener on [sector/universe]"
Implicit Triggers:
- User wants to identify multi-bagger candidates
- User is looking for growth stocks with proven fundamentals
- User wants systematic stock selection based on historical winners
- User needs a ranked list of stocks meeting O'Neil's criteria
When NOT to Use:
- Value investing focus (use value-dividend-screener instead)
- Income/dividend focus (use dividend-growth-pullback-screener instead)
- Bear market conditions (M component will flag - consider raising cash)
---
What you need first
API Requirements:
- FMP API key (free tier: 250 calls/day, sufficient for 35 stocks; Starter tier $29.99/mo for 40+ stocks)
- Sign up: https://site.financialmodelingprep.com/developer/docs
- Set via environment variable:
export FMP_API_KEY=your_key_here
Python Dependencies:
- Python 3.7+
requests(FMP API calls)beautifulsoup4(Finviz web scraping)lxml(HTML parsing)
Installation:
pip install requests beautifulsoup4 lxml
---
Mistakes to avoid
Issue 1: FMP API Rate Limit Exceeded
Symptoms:
ERROR: 429 Too Many Requests - Rate limit exceeded
Retrying in 60 seconds...
Causes:
- Running multiple screenings within short time window
- Exceeding 250 calls/day (free tier limit)
- Other applications using same API key
Solutions:
- Wait and Retry: Script auto-retries after 60s
- Reduce Universe: Use
--max-candidates 30to lower API usage - Check Daily Usage: Free tier resets at midnight UTC
- Upgrade Plan: FMP Starter ($29.99/month) provides 750 calls/day
Issue 2: Missing Required Libraries
Symptoms:
ERROR: required libraries not found. Install with: pip install beautifulsoup4 requests lxml
Solutions:
# Install all required libraries
pip install requests beautifulsoup4 lxml
# Or install individually
pip install beautifulsoup4
pip install requests
pip install lxml
Issue 3: Finviz Fallback Slow Execution
Symptoms:
Execution time: 2 minutes 30 seconds for 40 stocks (slower than expected)
Causes:
- Finviz rate limiting (2.0s per request)
- All stocks triggering fallback due to FMP data gaps
Solutions:
- Accept Delay: 1-2 minutes for 40 stocks is normal with Finviz fallback
- Monitor Fallback Usage: Check logs for "Using Finviz institutional ownership" messages
- Reduce Rate Limit (advanced): Edit
finviz_stock_client.py, changerate_limit_seconds=2.0to1.5(risk: IP ban)
Note: Finviz fallback adds ~2 seconds per stock but significantly improves I component accuracy (35 → 60-100 points).
Issue 4: Finviz Web Scraping Failure
Symptoms:
WARNING: Finviz request failed with status 403 for NVDA
Using Finviz institutional ownership data - FMP shares outstanding unavailable. Finviz fallback also unavailable. Score reduced by 50%.
Causes:
- Finviz blocking scraping requests (User-Agent detection)
- Rate limit exceeded (too many requests)
- Network issues or Finviz downtime
Solutions:
- Wait and Retry: Rate limit resets after a few minutes
- Check Internet Connection: Verify network access to finviz.com
- Fallback Accepted: Script continues with FMP holder count only (I score capped at 70/100)
- Manual Verification: Check Finviz website manually for blocked IP
Graceful Degradation:
- Script never fails due to Finviz issues
- Falls back to FMP holder count only
- User sees quality warning in report
Issue 5: No Stocks Meet Minimum Thresholds
Symptoms:
Successfully analyzed 40 stocks
Top 5 Stocks:
1. AAPL - 58.3 (Average)
2. MSFT - 55.1 (Average)
...
Causes:
- Bear market conditions (M component low)
- Selected universe lacks growth stocks
- Market rotation away from growth
Solutions:
- Check M Component: If M=0 (bear market), raise cash per CANSLIM rules
- Expand Universe: Try different sectors or market cap ranges
- Lower Expectations: Average scores (55-65) may still be actionable in weak markets
- Wait for Better Setup: CANSLIM works best in bull markets
Issue 6: Data Quality Warnings
Symptoms:
Revenue declining despite EPS growth (possible buyback distortion)
Using Finviz institutional ownership data (68.3%) - FMP shares outstanding unavailable.
Interpretation:
- These are not errors - they are quality flags from calculators
- Revenue warning: EPS growth may be from share buybacks, not organic growth
- Finviz warning: Data source switched from FMP to Finviz (still accurate)
Actions:
- Review component details in full report
- Cross-check with fundamental analysis
- Adjust position sizing based on risk level
- Finviz data is reliable - no action needed for data source warnings
---