earnings-calendar
Get upcoming earnings dates with timing (before/after market) and EPS estimates. Use when user asks about earnings dates, earnings calendar, when a company…
Scan stocks for Poor Man's Covered Call (PMCC) suitability. Analyzes LEAPS and short call options for delta, liquidity, spread, IV, yield, trend direction, and earnings proximity. Use when user asks about PMCC candidates, diagonal spreads, or LEAPS strategies.
$ npx -y skills add staskh/trading_skills --skill scanner-pmcc --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/scanner-pmccContext preview
The summary Claude sees to decide when to auto-load this skill.
Scan stocks for Poor Man's Covered Call (PMCC) suitability. Analyzes LEAPS and short call options for delta, liquidity, spread, IV, yield, trend direction, and earnings proximity. Use when user asks about PMCC candidates, diagonal spreads, or LEAPS strategies.
name: scanner-pmcc description: Scan stocks for Poor Man's Covered Call (PMCC) suitability. Analyzes LEAPS and short call options for delta, liquidity, spread, IV, yield, trend direction, and earnings proximity. Use when user asks about PMCC candidates, diagonal spreads, or LEAPS strategies. dependencies: ["trading-skills"]
Finds optimal Poor Man's Covered Call setups by scoring symbols on option chain quality.
Buy deep ITM LEAPS call (delta ~0.80) + Sell short-term OTM call (delta ~0.20) against it. Cheaper alternative to covered calls.
> **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]
| 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 < 5% | +1 | | | LEAPS spread < 10% | +0.5 | | | Short spread < 10% | +1 | | | Short spread < 20% | +0.5 | | **IV Level** | 25-50% (ideal) | +2 | | | 20-60% | +1 | | **Yield** | Annual > 50% | +2 | | | Annual > 30% | +1 | | | Annual > 15% | +0.5 | | **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 | | **Weekly Options** | No weekly options listed | -1 | | **Strike Density** | < 3 strikes spot→short | -2 | | | < 5 strikes spot→short | -1 | | **Short Premium** | Short mid < $0.10 | -1 | | | Short mid < $0.50 | -0.5 |
Weekly-options, strike-density, and short-premium are penalty-only (0 at best), so `max_possible_score` stays **14** while the theoretical minimum is **-8** (base 0, trend -2, earnings -2, weekly -1, strike -2, short premium -1).
Returns JSON with:
When the user asks for a report, a written analysis, or a saved document:
1. Run the scanner with `--output` to capture JSON data:
uv run python scripts/scan.py SYMBOLS --output sandbox/PMCC_Scan_YYYY-MM-DD_HHmm.json
2. Read the JSON output.
3. Generate the markdown report yourself using the template defined in `templates/markdown-template.md`. Do **not** use the `--report` flag — that produces mechanical string output. Claude-generated reports include real analysis, contextual warnings, and trader-relevant narrative.
4. Save the generated markdown to `sandbox/PMCC_Scan_YYYY-MM-DD_HHmm.md` (match the JSON timestamp).
5. Display the full report to the user.
# 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 is always computed from market price data via Black-Scholes, never taken from Yahoo Finance's `impliedVolatility` column:
This applies to both `compute_atm_iv` (used for scanner baseline IV) and per-option delta calculations.
**Dividends**: the Black-Scholes inversion uses th
Most retail traders juggle 5+ tabs — broker, charting platform, screener, news feed, spreadsheet — just to decide whether to enter a trade. This project collapses all of that into a single conversational interface powered by Claude.
Get upcoming earnings dates with timing (before/after market) and EPS estimates. Use when user asks about earnings dates, earnings calendar, when a company…
Get fundamental financial data including financials, earnings, and key metrics. Use when user asks about financials, earnings, revenue, profit, balance sheet,…
Calculate option Greeks (delta, gamma, theta, vega) and implied volatility for specific options. Use when user asks about Greeks, delta, gamma, theta, vega,…
Get account summary from Interactive Brokers including cash balance, buying power, and account value. Use when user asks about their account, balance, buying…
Generate tactical collar strategy reports for protecting PMCC positions through earnings or high-risk events. Requires TWS or IB Gateway running locally.
Consolidate IBRK trade CSV files from a directory into a summary report. Groups trades by symbol, underlying, date, strike, buy/sell, and open/close. Outputs…