earnings-flash-dip-catchlisted
Install: claude install-skill ssurmic/claude-investment-skills
# 财报接飞刀 — Post-Earnings Flash-Dip Catch
> **Purpose**: 财报夜股价插针,在高概率的位置接刀、在阻力位卖出。
> **The #1 rule (born from the MRVL $170 error)**: 接刀位锚定**最近的台阶**,
> 不是旧基座;并用 **实现波动 ≈ 隐含 × 0.65** 做硬校验。详见最后的 Post-Mortem。
---
## When to invoke
✅ Trigger when: a clear ticker + earnings/post-earnings context ("财报接飞刀",
"盘后捞货", "财报后怎么接", "catch the dip on X earnings").
❌ Do NOT trigger for: code "catch", error handling, flaky-test catches, or any
non-equity use of "catch/dip/knife".
---
## STEP 1 — Pull the data (exact tool calls)
Run these `mcp__yfmcp__*` tools. Do them in parallel where independent.
1. **`yfinance_get_ticker_info`** → read these fields:
- `currentPrice`, `regularMarketPrice`, `previousClose`, `regularMarketDayLow/High`
- `postMarketPrice`, `postMarketChangePercent`, `marketState` (`POST`/`PRE`/`REGULAR`)
- `fiftyTwoWeekHigh`, `fiftyDayAverage`, `twoHundredDayAverage`
- `forwardPE`, `trailingPE`, `priceToSalesTrailing12Months`, `targetMedianPrice`,
`targetMeanPrice`, `numberOfAnalystOpinions`, `recommendationKey`
- `earningsTimestamp` (when it reports), `beta`, `averageVolume`
2. **`yfinance_get_price_history`** with `period="5d", interval="30m", prepost=true`
→ this is the **after-hours tape**; read the actual flush low/high from the
post-4pm-ET bars. Also pull `period="3mo", interval="1d"` for the shelf (Step 3).
3. **`yfinance_get_option_dates`** → pick the **weekly that expires just after the
print** (for the straddle/expected move) AND t