$npx -y skills add mphinance/alpha-skills --skill breakout-trade-plannerGenerate Minervini-style breakout trade plans from VCP screener output with worst-case risk calculation, portfolio heat management, and Alpaca-compatible order templates (stop-limit bracket for pre-placement, limit bracket for post-confirmation). Use when user has VCP screener re
| 1 | # Breakout Trade Planner |
| 2 | |
| 3 | Generate trade plans from VCP screener output following Mark Minervini's breakout methodology. Calculate position sizes using worst-case entry prices, enforce portfolio risk limits, and output Alpaca API-compatible order templates. |
| 4 | |
| 5 | ## When to Use |
| 6 | |
| 7 | - User has VCP screener JSON output and wants trade plans |
| 8 | - User asks for breakout entry/stop/target calculation |
| 9 | - User wants Alpaca order templates for VCP breakout candidates |
| 10 | - User needs position sizing with portfolio heat management |
| 11 | |
| 12 | ## Prerequisites |
| 13 | |
| 14 | - VCP screener JSON output with `schema_version: "1.0"` |
| 15 | - No API keys required (works with local JSON files) |
| 16 | - No external skill dependencies (position sizing is built-in) |
| 17 | |
| 18 | ## Workflow |
| 19 | |
| 20 | ### Step 1: Generate Trade Plans |
| 21 | |
| 22 | Run the planner with VCP screener output: |
| 23 | |
| 24 | ```bash |
| 25 | python3 skills/breakout-trade-planner/scripts/plan_breakout_trades.py \ |
| 26 | --input reports/vcp_screener_YYYY-MM-DD.json \ |
| 27 | --account-size 100000 \ |
| 28 | --risk-pct 0.5 \ |
| 29 | --output-dir reports/ |
| 30 | ``` |
| 31 | |
| 32 | ### Step 2: Review Output |
| 33 | |
| 34 | Read the generated JSON and Markdown reports. Present: |
| 35 | |
| 36 | 1. **Actionable Orders** — Pre-breakout candidates with order templates |
| 37 | 2. **Revalidation** — Breakout-state candidates needing live confirmation |
| 38 | 3. **Watchlist** — Developing VCP candidates to monitor |
| 39 | 4. **Rejected/Deferred/Constrained** — Candidates filtered by Gate or portfolio limits |
| 40 | ### Step 3: Explain Trade Plans |
| 41 | |
| 42 | For each actionable order, explain: |
| 43 | - Entry levels (signal vs worst-case) and stop-loss placement |
| 44 | - R-multiple targets and reward-risk ratio |
| 45 | - Two execution modes: pre_place (stop-limit) vs post_confirm (limit after 5min confirmation) |
| 46 | - Portfolio risk contribution and cumulative heat |
| 47 | |
| 48 | ## Minervini Gate (Filtering Criteria) |
| 49 | |
| 50 | Candidates must pass ALL conditions: |
| 51 | |
| 52 | | Condition | Pre-breakout | Breakout | |
| 53 | |-----------|-------------|----------| |
| 54 | | valid_vcp | True | True | |
| 55 | | rating_band | good/strong/textbook | good/strong/textbook | |
| 56 | | risk_pct_worst | <= 8.0% | <= 8.0% | |
| 57 | | breakout_volume | — | True | |
| 58 | | distance_from_pivot | — | <= max_chase_pct | |
| 59 | | current_price | — | <= worst_entry | |
| 60 | |
| 61 | ## CLI Parameters |
| 62 | |
| 63 | | Parameter | Default | Description | |
| 64 | |-----------|---------|-------------| |
| 65 | | --account-size | (required) | Account equity in dollars | |
| 66 | | --risk-pct | 0.5 | Base risk % per trade | |
| 67 | | --max-position-pct | 10.0 | Max single position % | |
| 68 | | --max-sector-pct | 30.0 | Max sector exposure % | |
| 69 | | --max-portfolio-heat-pct | 6.0 | Max total open risk % | |
| 70 | | --target-r-multiple | 2.0 | Take-profit R-multiple | |
| 71 | | --stop-buffer-pct | 1.0 | Stop buffer below contraction low | |
| 72 | | --max-chase-pct | 2.0 | Max chase above pivot | |
| 73 | | --pivot-buffer-pct | 0.1 | Pivot buffer for buy-stop trigger | |
| 74 | | --current-exposure-json | None | Existing portfolio exposure | |
| 75 | |
| 76 | ## Output |
| 77 | |
| 78 | - `breakout_trade_plan_YYYY-MM-DD_HHMMSS.json` — Structured plans with order templates |
| 79 | - `breakout_trade_plan_YYYY-MM-DD_HHMMSS.md` — Human-readable report |
| 80 | |
| 81 | ## Resources |
| 82 | |
| 83 | - `references/minervini_entry_rules.md` — Entry methodology and rules |