Install
$ agentstack add skill-staskh-trading-skills-scanner-pmcc ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
PMCC Scanner
Finds optimal Poor Man's Covered Call setups by scoring symbols on option chain quality.
What is PMCC?
Buy deep ITM LEAPS call (delta ~0.80) + Sell short-term OTM call (delta ~0.20) against it. Cheaper alternative to covered calls.
Instructions
> Note: If uv is not installed or pyproject.toml is not found, replace uv run python with python in all commands below.
uv run python scripts/scan.py SYMBOLS [options]
Arguments
SYMBOLS- Comma-separated tickers or path to JSON file from bullish scanner--min-leaps-days- Minimum LEAPS expiration in days (default: 270 = 9 months)--leaps-delta- Target LEAPS delta (default: 0.80)--short-delta- Target short call delta (default: 0.20)--output- Save results to JSON file (use this; Claude generates the report from the JSON)--report- Save auto-generated markdown to file (programmatic fallback only — prefer Claude-generated reports)
Scoring System (max possible: 14, range: -4 to 14)
| Category | Condition | Points | |----------|-----------|--------| | Delta Accuracy | LEAPS within ±0.05 | +2 | | | LEAPS within ±0.10 | +1 | | | Short within ±0.05 | +1 | | | Short within ±0.10 | +0.5 | | Liquidity | LEAPS vol+OI > 100 | +1 | | | LEAPS vol+OI > 20 | +0.5 | | | Short vol+OI > 500 | +1 | | | Short vol+OI > 100 | +0.5 | | Spread | LEAPS spread 50% | +2 | | | Annual > 30% | +1 | | Trend | Price > SMA50 | +1 / -1 | | | RSI > 50 | +0.5 / -0.5 | | | MACD > signal | +0.5 / -0.5 | | Earnings | Next earnings > 45 days | +1.0 | | | Earnings within 45 days | -1.0 | | | Earnings within short expiry | -2.0 |
Output
Returns JSON with:
criteria- Scan parameters usedresults- Array sorted by score:symbol,price,iv_pct,pmcc_score,max_possible_score(always 14)leaps- expiry, strike, delta, iv (calculated from bid/ask), last_price, bid/ask, spread%, volume, OIshort- expiry, strike, delta, iv (calculated from bid/ask), last_price, bid/ask, spread%, volume, OIearnings_date- next earnings date (YYYY-MM-DD) or nullmetrics- netdebit, shortyield%, annualyield%, capitalrequiredscore_breakdown- every scoring component as a_delta(float) + `` (explanation string) pair:- Base:
leaps_delta,short_delta,leaps_liquidity,short_liquidity,leaps_spread,short_spread,iv,yield - Trend:
trend_delta,trend(per-indicator dict) - Earnings:
earnings_delta,earnings - All
_deltavalues sum topmcc_score errors- Symbols that failed (no options, insufficient data)
Report Generation
When the user asks for a report, a written analysis, or a saved document:
- Run the scanner with
--outputto capture JSON data:
``bash uv run python scripts/scan.py SYMBOLS --output sandbox/PMCC_Scan_YYYY-MM-DD_HHmm.json ``
- Read the JSON output.
- Generate the markdown report yourself using the template defined in
templates/markdown-template.md. Do not use the--reportflag — that produces mechanical string output. Claude-generated reports include real analysis, contextual warnings, and trader-relevant narrative.
- Save the generated markdown to
sandbox/PMCC_Scan_YYYY-MM-DD_HHmm.md(match the JSON timestamp).
- Display the full report to the user.
Examples
# Scan specific symbols
uv run python scripts/scan.py AAPL,MSFT,GOOGL,NVDA
# Scan and save JSON for report generation
uv run python scripts/scan.py AAPL,MSFT,GOOGL --output sandbox/PMCC_Scan_2026-01-15_1430.json
# Use output from bullish scanner
uv run python scripts/scan.py bullish_results.json
# Custom delta targets
uv run python scripts/scan.py AAPL,MSFT --leaps-delta 0.70 --short-delta 0.15
# Longer LEAPS (1 year minimum)
uv run python scripts/scan.py AAPL,MSFT --min-leaps-days 365
IV Calculation
IV is always computed from market price data via Black-Scholes, never taken from Yahoo Finance's impliedVolatility column:
- During trading hours: IV derived from bid/ask mid price
- Off-hours (bid=ask=0): IV derived from last price, using the option's last trade timestamp as the pricing moment (not current wall-clock time)
This applies to both compute_atm_iv (used for scanner baseline IV) and per-option delta calculations.
Key Constraints
- Short strike must be above LEAPS strike
- Options with bid = 0 and no last price are skipped
- Moderate IV (25-50%) scores highest
Interpretation
- Score > 12: Excellent candidate (strong structure + bullish trend + clear earnings runway)
- Score 10-12: Good candidate
- Score 6-10: Acceptable with caveats
- Score < 6: Poor structure, bearish trend, or earnings risk
max_possible_scoreis always 14 — usepmcc_score / max_possible_scoreto gauge how close a candidate is to perfect
Dependencies
numpypandasscipyyfinance
Timezone
All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: staskh
- Source: staskh/trading_skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.