Best for
- "Find high-quality dividend stocks"
- "Screen for value dividend opportunities"
- "Show me stocks with strong dividend growth"
tradermonty/claude-trading-skills/skills/value-dividend-screener/SKILL.md
Screen US stocks for high-quality dividend opportunities combining value characteristics (P/E ratio under 20, P/B ratio under 2), attractive yields (3% or higher), and consistent growth (dividend/revenue/EPS trending up over 3 years). Supports two-stage screening using FINVIZ Elite API for efficient pre-filtering followed by FMP API for detailed analysis. Use when user requests dividend stock screening, income portfolio ideas, or quality value stocks with strong fundamentals.
Decision brief
Screen US stocks for high-quality dividend opportunities combining value characteristics (P/E ratio under 20, P/B ratio under 2), attractive yields (3% or higher), and consistent growth (dividend/revenue/EPS trending up over 3 years). Supports two-stage screening using FINVIZ Elite API for efficient pre-filtering followed by FMP API for detailed analysis.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/tradermonty/claude-trading-skills --skill "skills/value-dividend-screener"Inspect the Agent Skill "value-dividend-screener" from https://github.com/tradermonty/claude-trading-skills/blob/51c790740048c4cbc9b7cc82a7f3ddc7b12d31d0/skills/value-dividend-screener/SKILL.md at commit 51c790740048c4cbc9b7cc82a7f3ddc7b12d31d0. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
For Two-Stage Screening (Recommended):
For Two-Stage Screening (Recommended):
Run the screening script with appropriate parameters:
Uses FINVIZ for pre-screening, then FMP for detailed analysis:
Read the generated JSON file:
Permission review
The documentation asks the agent to run terminal commands or scripts.
### Step 2: Execute Screening ScriptThe documentation asks the agent to run terminal commands or scripts.
Run the screening script with appropriate parameters:The documentation asks the agent to read local files, directories, or repositories.
Read the generated JSON file:The documentation asks the agent to read local files, directories, or repositories.
with open('dividend_screener_results.json', 'r') as f:Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 2,719 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
This skill identifies high-quality dividend stocks that combine value characteristics, attractive income generation, and consistent growth using a two-stage screening approach:
Screen US equities based on quantitative criteria including valuation ratios, dividend metrics, financial health, and profitability. Generate comprehensive reports ranking stocks by composite quality scores with detailed fundamental analysis.
Efficiency Advantage: Using FINVIZ pre-screening can reduce FMP API calls by 90%, making this approach ideal for free-tier API users.
Invoke this skill when the user requests:
For Two-Stage Screening (Recommended):
Check if both API keys are available:
import os
fmp_api_key = os.environ.get('FMP_API_KEY')
finviz_api_key = os.environ.get('FINVIZ_API_KEY')
If not available, ask user to provide API keys or set environment variables:
export FMP_API_KEY=your_fmp_key_here
export FINVIZ_API_KEY=your_finviz_key_here
For FMP-Only Screening:
Check if FMP API key is available:
import os
api_key = os.environ.get('FMP_API_KEY')
If not available, ask user to provide API key or set environment variable:
export FMP_API_KEY=your_key_here
FINVIZ Elite API Key:
Provide instructions from references/fmp_api_guide.md if needed.
Run the screening script with appropriate parameters:
Uses FINVIZ for pre-screening, then FMP for detailed analysis:
Default execution (Top 20 stocks):
python3 scripts/screen_dividend_stocks.py --use-finviz
With explicit API keys:
python3 scripts/screen_dividend_stocks.py --use-finviz \
--fmp-api-key $FMP_API_KEY \
--finviz-api-key $FINVIZ_API_KEY
Custom top N:
python3 scripts/screen_dividend_stocks.py --use-finviz --top 50
Custom output location:
python3 scripts/screen_dividend_stocks.py --use-finviz --output /path/to/results.json
Script behavior (Two-Stage):
Expected runtime (Two-Stage): 2-3 minutes for 30-50 FINVIZ candidates (much faster than FMP-only)
Uses only FMP Stock Screener API (higher API usage):
Default execution:
python3 scripts/screen_dividend_stocks.py
With explicit API key:
python3 scripts/screen_dividend_stocks.py --fmp-api-key $FMP_API_KEY
Script behavior (FMP-Only):
Expected runtime (FMP-Only): 5-15 minutes for 100-300 candidates (rate limiting applies)
API Usage Comparison:
Read the generated JSON file:
import json
with open('dividend_screener_results.json', 'r') as f:
data = json.load(f)
metadata = data['metadata']
stocks = data['stocks']
Key data points per stock:
symbol, company_name, sector, market_cap, pricedividend_yield, pe_ratio, pb_ratiodividend_cagr_3y, revenue_cagr_3y, eps_cagr_3ypayout_ratio, fcf_payout_ratio, dividend_sustainabledebt_to_equity, current_ratio, financially_healthyroe, profit_margin, quality_scorecomposite_scoreCreate structured markdown report for user with following sections:
# Value Dividend Stock Screening Report
**Generated:** [Timestamp]
**Screening Criteria:**
- Dividend Yield: >= 3.5%
- P/E Ratio: <= 20
- P/B Ratio: <= 2
- Dividend Growth (3Y CAGR): >= 5%
- Revenue Trend: Positive over 3 years
- EPS Trend: Positive over 3 years
**Total Results:** [N] stocks
---
## Top 20 Stocks Ranked by Composite Score
| Rank | Symbol | Company | Yield | P/E | Div Growth | Score |
|------|--------|---------|-------|-----|------------|-------|
| 1 | [TICKER] | [Name] | [%] | [X.X] | [%] | [XX.X] |
| ... |
---
## Detailed Analysis
### 1. [SYMBOL] - [Company Name] (Score: XX.X)
**Sector:** [Sector Name]
**Market Cap:** $[X.XX]B
**Current Price:** $[XX.XX]
**Valuation Metrics:**
- Dividend Yield: [X.X]%
- P/E Ratio: [XX.X]
- P/B Ratio: [X.X]
**Growth Profile (3-Year):**
- Dividend CAGR: [X.X]% [✓ Consistent / ⚠ One cut]
- Revenue CAGR: [X.X]%
- EPS CAGR: [X.X]%
**Dividend Sustainability:**
- Payout Ratio: [XX]%
- FCF Payout Ratio: [XX]%
- Status: [✓ Sustainable / ⚠ Monitor / ❌ Risk]
**Financial Health:**
- Debt-to-Equity: [X.XX]
- Current Ratio: [X.XX]
- Status: [✓ Healthy / ⚠ Caution]
**Quality Metrics:**
- ROE: [XX]%
- Net Profit Margin: [XX]%
- Quality Score: [XX]/100
**Investment Considerations:**
- [Key strength 1]
- [Key strength 2]
- [Risk factor or consideration]
---
[Repeat for other top stocks]
---
## Portfolio Construction Guidance
**Diversification Recommendations:**
- Sector breakdown of top 20 results
- Suggested allocation strategy
- Concentration risk warnings
**Monitoring Recommendations:**
- Key metrics to track quarterly
- Warning signs for each position
- Rebalancing triggers
**Risk Considerations:**
- Market cap concentration
- Sector biases in results
- Economic sensitivity warnings
Reference screening methodology when explaining results:
Key concepts to explain:
Load references/screening_methodology.md to provide detailed explanations of:
Anticipate common user questions:
"Why did [stock] not make the list?"
"Can I screen for specific sectors?"
"What if I want higher/lower yield threshold?"
"How often should I re-run this screen?"
"How many stocks should I buy?"
Comprehensive screening script that:
Dependencies: requests library (install via pip install requests)
Rate limiting: Built-in delays to respect FMP API limits (250 requests/day free tier)
Error handling: Graceful degradation for missing data, rate limit retries, API errors
Comprehensive documentation of screening approach:
Phase 1: Initial Quantitative Filters
Phase 2: Growth Quality Filters
Phase 3: Quality & Sustainability Analysis
Composite Scoring System (0-100 points)
Investment Philosophy
Usage Notes & Limitations
Complete guide for Financial Modeling Prep API:
API Key Setup
Key Endpoints Used
Rate Limiting Strategy
Error Handling
Data Quality Considerations
Modify thresholds in scripts/screen_dividend_stocks.py:
Line 383-388 - Initial screening parameters:
candidates = client.screen_stocks(
dividend_yield_min=3.5, # Adjust yield threshold
pe_max=20, # Adjust P/E threshold
pb_max=2, # Adjust P/B threshold
market_cap_min=2_000_000_000 # Minimum $2B market cap
)
Line 423 - Dividend CAGR threshold:
if not div_cagr or div_cagr < 5.0: # Adjust growth threshold
Add sector filtering after initial screening:
# Filter for specific sectors
target_sectors = ['Consumer Defensive', 'Utilities', 'Healthcare']
candidates = [s for s in candidates if s.get('sector') in target_sectors]
REITs and financial stocks have different dividend characteristics (higher payouts, different metrics):
# Exclude REITs and Financials
exclude_sectors = ['Real Estate', 'Financial Services']
candidates = [s for s in candidates if s.get('sector') not in exclude_sectors]
Convert JSON results to CSV for Excel analysis:
import json
import csv
with open('dividend_screener_results.json', 'r') as f:
data = json.load(f)
stocks = data['stocks']
with open('screening_results.csv', 'w', newline='') as csvfile:
if stocks:
fieldnames = stocks[0].keys()
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(stocks)
Solution: Install requests library
pip install requests
Solution: Set environment variable or provide via command-line
export FMP_API_KEY=your_key_here
# OR
python3 scripts/screen_dividend_stocks.py --fmp-api-key your_key_here
Solution: Set environment variable or provide via command-line
export FINVIZ_API_KEY=your_key_here
# OR
python3 scripts/screen_dividend_stocks.py --use-finviz --finviz-api-key your_key_here
Note: FINVIZ Elite subscription required (~$40/month or ~$330/year)
Possible causes:
Solution:
Possible causes:
Solution:
python3 scripts/screen_dividend_stocks.py
Solution: Script automatically retries after 60 seconds. If persistent:
Solution: Criteria may be too restrictive
Expected behavior: Script includes 0.3s delay between API calls for rate limiting
Two-Stage Screening (FINVIZ + FMP):
FMP-Only Screening:
Savings: 60-94% reduction in FMP API usage
FINVIZ Elite:
FMP API:
Recommendation:
Frequently asked questions
Screen US stocks for high-quality dividend opportunities combining value characteristics (P/E ratio under 20, P/B ratio under 2), attractive yields (3% or higher), and consistent growth (dividend/revenue/EPS trending up over 3 years). Supports two-stage screening using FINVIZ Elite API for efficient pre-filtering followed by FMP API for detailed analysis.
The source record exposes this install command: npx skills add https://github.com/tradermonty/claude-trading-skills --skill "skills/value-dividend-screener". Inspect the command and pinned source before running it.
Static rules flagged exec-script, read-files in the source; the page lists the matching lines and excerpts.
Alternatives
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Standard single-cell RNA-seq analysis pipeline. Use for QC, normalization, dimensionality reduction (PCA/UMAP/t-SNE), clustering, differential expression, visualization, and converting R-friendly single-cell formats such as Seurat or SingleCellExperiment RDS files into h5ad for Scanpy. Best for exploratory scRNA-seq analysis with established workflows. For deep learning models use scvi-tools; for data format questions use anndata.
elementalsouls/Claude-BugHunter
Local-tooling companion to the bug-bounty orchestrator — carries the SAME complete bug-bounty workflow, but reach for THIS variant when you also need to resolve where tools, wordlists, and clones are installed on the local machine (jhaddix, SecLists, trufflehog, ffuf, dalfox, ghauri); for pure orchestration/routing use the bug-bounty skill. Workflow it covers — recon (subdomain enumeration, asset discovery, fingerprinting, HackerOne scope, source code audit), pre-hunt learning (disclosed reports
elementalsouls/Claude-BugHunter
Complete bug bounty workflow — recon (subdomain enumeration, asset discovery, fingerprinting, HackerOne scope, source code audit), pre-hunt learning (disclosed reports, tech stack research, mind maps, threat modeling), vulnerability hunting (IDOR, SSRF, XSS, auth bypass, CSRF, race conditions, SQLi, XXE, file upload, business logic, GraphQL, HTTP smuggling, cache poisoning, OAuth, timing side-channels, OIDC, SSTI, subdomain takeover, cloud misconfig, ATO chains, agentic AI), LLM/AI security test