Skip to main content
skill CX Codex

sepa-strategy — Claude Code skill: SEPA stock analysis & install

Screens a stock the Minervini way: market stage, the 8-condition trend template, fundamentals, VCP base, and position size from your risk.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add himself65/finance-skills --skill sepa-strategy -a claude-code
Open on GitHub

What sepa-strategy does

The skill runs a stock through Mark Minervini's Specific Entry Point Analysis. Stage comes first: buys only belong in Stage 2, and anything else stops the review right there. Then the eight mandatory trend-template conditions — price above the 50-, 150- and 200-day averages, the averages stacked in order, the 200-day rising. After that come fundamentals, the base pattern, and position size from a risk percentage.

SKILL.md holds the step-by-step workflow, and references holds stage-analysis.md, trend-template.md, fundamentals.md and patterns.md. It does not pull quotes itself. You point it at yfinance or another market data tool for price, the 52-week range, volume, earnings and institutional ownership; moving averages, the 200-day slope and relative performance are computed in code from two years of history.

One thing to know before installing: a missing relative-strength rating gets flagged as a serious gap rather than guessed at. The method assumes a win rate near 50-55%, so the edge comes from small losses against larger gains. The skill states that it is educational analysis, not investment advice.

What it helps with

  • rule out stocks that are not in Stage 2 before sizing an entry
  • check all 8 trend-template conditions against real moving-average values
  • locate a VCP and its pivot on a chart
  • size a position from a fixed risk percentage
  • tell EPS growth driven by revenue from cost-cutting

Example prompts for the agent

  • Run this ticker through SEPA: which stage is it in, and does it pass all 8 trend-template conditions?
  • Should I buy this one Minervini-style? Read the chart, find the base and the entry point, then size the position from my risk percentage
  • Is this a VCP or a flat base? Compare the depth of each pullback and the volume

How to install sepa-strategy

1Skills CLI (Vercel)

npx skills add himself65/finance-skills --skill sepa-strategy -a claude-code

2Manually: put the files in place

~/.claude/skills/sepa-strategy/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/sepa-strategy/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about sepa-strategy

How do I install sepa-strategy in Claude Code?

Run npx skills add himself65/finance-skills --skill sepa-strategy -a claude-code. The skill then sits at ~/.claude/skills/sepa-strategy/SKILL.md.

What does sepa-strategy do?

It analyses a stock with Minervini's framework: stage, the 8 trend-template conditions, fundamentals, the base pattern, position sizing. It kicks in when you mention SEPA, VCP, Stage 2 or ask whether a stock is worth buying.

What data does it need to work?

Price history, volume and quarterly earnings. It wants the quotes supplied through yfinance or another market data tool, while the moving averages, the 200-day slope and relative performance are calculated in code from two years of history.

Source text

SKILL.md · MIT
---
name: sepa-strategy
description: >
  Analyze stocks with Mark Minervini's SEPA (Specific Entry Point Analysis) methodology:
  stage analysis, the 8-condition trend template, fundamentals, VCP and other base
  patterns, pivot-point entries, market environment, and risk-based position sizing.
  Use this skill whenever the user mentions SEPA, Minervini, superperformance, the
  trend template, VCP (volatility contraction pattern), Stage 2, pivot or breakout
  entries, moving-average stacking (price above the 50/150/200-day MAs), breakout
  volume, position sizing from risk percentage, growth-stock screening or swing-trade
  entry criteria, or bases such as cup-with-handle, flat base, bull flag, or high tight
  flag. Also use it
  when the user asks "should I buy this stock" or "is this a good setup" about a
  growth or momentum name, or shares a chart for pattern analysis.
---

# SEPA Strategy Analysis

Analyze stocks using Mark Minervini's SEPA (Specific Entry Point Analysis) framework — a complete system for identifying high-probability growth stock entries with strict risk management.

**Core philosophy:** Buy the right stock, in the right stage, at a precise entry point, with strict risk controls. Win rate is ~50-55% — profitability comes from asymmetric risk/reward (small losses, large gains), not from predicting direction.

> This skill is for educational/analytical purposes only. It does not constitute investment advice. Never execute trades based solely on this analysis.

---

## Step 1: Gather Stock Data

Collect the following data for the stock. Use yfinance or any available market data tool.

| Data needed | Purpose |
|---|---|
| Current price | Trend template check |
| 50-day, 150-day, 200-day moving averages | MA alignment verification |
| 52-week high and low | Price position check |
| 200MA value from 1 month ago and 4-5 months ago | MA200 slope direction |
| 20-day average volume + today's volume | Volume ratio analysis |
| Recent quarterly EPS (last 3-4 quarters) | EPS growth & acceleration |
| Annual EPS (last 3 years) | Long-term growth trend |
| Recent quarterly revenue (last 3-4 quarters) | Revenue growth check |
| Gross margin and net margin trend | Margin health |
| Institutional ownership changes (if available) | Smart money signal |
| RS rating or 12-month relative performance vs S&P 500 | Relative strength |
| Price history for pattern recognition | VCP / chart pattern analysis |

Compute the moving averages, 200MA slope, 52-week range, volume ratio, and relative performance from daily price history in code rather than estimating them — two years of history covers the 200-day MA and its 5-month slope.

If certain data is unavailable, note it and proceed with what you have. Missing RS rating is a significant gap — flag it.

---

## Step 2: Stage Analysis — Identify the Current Stage

Every stock cycles through four stages. Read `references/stage-analysis.md` for full details.

Determine which stage the stock is in:

| Stage | Characteristics | Action |
|---|---|---|
| **Stage 1** — Basing | Price near 200MA, MA flat/declining, MAs tangled, low volume | Do nothing, wait |
| **Stage 2** — Advancing | Making higher highs/lows, bullish MA alignment, volume on up days | **Only stage to buy** |
| **Stage 3** — Topping | Wide swings at highs, frequent false breakouts, heavy volume without progress | Reduce, no new positions |
| **Stage 4** — Declining | Below all MAs, bearish alignment, bounces are selling opportunities | Full cash, stay away |

If the stock is NOT in Stage 2, stop here and tell the user. No further analysis needed.

Within Stage 2, count the base number (how many consolidation-then-breakout cycles have occurred):
- **Base 1-2**: Safest, most upside potential — full position
- **Base 3-4**: Still valid but reduce position size
- **Base 5-6**: Late stage — half position at most
- **Base 7+**: Avoid — likely transitioning to Stage 3

---

## Step 3: Trend Template — 8 Mandatory Conditions

All 8 conditions must be met simultaneously. If any fails, the stock does not qualify. Read `references/trend-template.md` for detailed explanations.

Present results as a checklist:

| # | Condition | Status | Value |
|---|---|---|---|
| 1 | Price > 150MA and Price > 200MA | Pass/Fail | [actual values] |
| 2 | 150MA > 200MA | Pass/Fail | [actual values] |
| 3 | 200MA trending up for ≥1 month (ideally 4-5 months) | Pass/Fail | [slope data] |
| 4 | 50MA > 150MA and 50MA > 200MA | Pass/Fail | [actual values] |
| 5 | Price > 50MA | Pass/Fail | [actual values] |
| 6 | Price ≥ 30% above 52-week low | Pass/Fail | [% above low] |
| 7 | Price within 25% of 52-week high | Pass/Fail | [% from high] |
| 8 | Relative Strength > 70th percentile (prefer 85-90+) | Pass/Fail/Unknown | [RS if available] |

**Memory aid:** Conditions 1-5 = "MA staircase" (Price > 50MA > 150MA > 200MA, 200MA rising). Conditions 6-7 = "Price position" (far from low, near high). Condition 8 = "Relative strength" (market leader).

---

## Step 4: Fundamental Check

Strong fundamentals separate real leaders from momentum-only stocks. Read `references/fundamentals.md` for thresholds and rating criteria.

Check these in order of importance:

1. **Quarterly EPS growth ≥ 20%** (prefer 25-50%+). Below 20% = disqualify.
2. **EPS acceleration**: Current quarter growth > prior quarter growth. Deceleration (even with positive growth) is a warning.
3. **Annual EPS growth ≥ 25%** for each of the past 3 years.
4. **Revenue growth ≥ 15%** annually, ≥ 20-25% quarterly preferred. If EPS grows but revenue doesn't, the growth is likely from cost-cutting (unsustainable).
5. **Margin trend**: Gross and net margins stable or expanding = healthy. Contracting margins even with EPS growth = red flag.
6. **Institutional ownership increasing**: Smart money accumulating = fuel for Stage 2 move.
7. **Catalyst**: New product, FDA approval, major contract, market expansion, etc. Stocks with catalysts can run 50-100%+; without, typically 15-25%.

Rate fundamentals: **A** (EPS >30%, positive, revenue growing) / **B** (15-30%) / **C** (0-15%) / **D** (negative — skip).

---

## Step 5: Pattern Recognition

Identify which consolidation pattern is forming (if any). Read `references/patterns.md` for detailed identification rules for each pattern.

### VCP (Volatility Contraction Pattern) — The Core Pattern

The signature SEPA pattern. Look for these 7 characteristics:

1. Stock must be in Stage 2 uptrend (prerequisite)
2. **Pullback depths decrease** in sequence (e.g., 20% → 12% → 6% → 3%). Minimum 3 contractions, 4-5 ideal.
3. **Volume shrinks** with each contraction. Final contraction shows "Volume Dry-Up" (VDU) — multi-week low volume.
4. **Higher lows** — each pullback bottom is higher than the previous one.
5. **Clear pivot point** — the consolidation range high = resistance level to break.
6. RS > 70 (preferably 85-90+)
7. Market in bull or neutral environment

### Other Valid Patterns

| Pattern | Depth | Duration | Key Feature |
|---|---|---|---|
| Cup with Handle | Cup 12-35%, handle ≤12% | 7-65 weeks | U-shaped base + small handle |
| Flat Base | ≤ 15% | 5-10 weeks | Tight range near prior highs |
| Bull Flag | ≤ 50% of flagpole | 1-5 weeks | Sharp advance + tight drift down |
| High Tight Flag | ≤ 25% after 100%+ advance | 1-4 weeks | Rarest but most powerful |

**All patterns share the same entry rule**: breakout above the pivot point with volume ≥ 1.5x the 20-day average.

---

## Step 6: Entry Point Analysis

Read `references/entry-rules.md` for detailed entry mechanics, true vs false breakout identification, and the pocket pivot alternative.

### Primary Entry: Pivot Point Breakout

- **Pivot point** = the highest price in the consolidation range. This is the supply/demand inflection point.
- **Buy zone** = pivot price to +5% above pivot. This is the only valid entry window.
- **Beyond +5%**: Do NOT chase. Wait for the next setup.
- **Breakout volume**: Must be ≥ 1.5x the 20-day average volume (≥ 2x is strong confirmation).
- **Earnings proximity**: Avoid entering within 2 weeks of an earnings report.

### Breakout Quality Check

| Signal | True Breakout | False Breakout |
|---|---|---|
| Volume | ≥ 1.5x average, big spike | Below average, weak |
| Close | Near the day's high | Falls back below pivot |
| Follow-through | Continues higher next day | Drops back into range |
| Context | VDU preceded breakout | No volume dry-up before |

### Risk/Reward Validation

Before entering, verify:
- **Stop loss distance**: Entry price to stop ≤ 7-8%
- **Reward/risk ratio**: Target profit / stop distance ≥ 2:1 (prefer 3:1)
- If ratio < 2:1, the entry is too risky — skip it.

---

## Step 7: Market Environment Check

Read `references/market-environment.md` for detailed criteria.

The market environment is the master switch for position sizing — it sets the risk per trade used in Step 8:

| Environment | Criteria | Risk Per Trade | Max Positions |
|---|---|---|---|
| **Bull** | S&P 500/Nasdaq above 200MA, breadth expanding, new highs > new lows | 1-2% | 6-8 |
| **Choppy** | Sideways indices, frequent failed breakouts | 0.5-1% | 2-3 |
| **Bear** | Indices below 200MA, >50% of stocks below 200MA | 0% (no new positions) | 0 (all cash) |

Even the best setups fail in bear markets. Holding cash during bear markets IS a winning strategy — preserving capital for the next bull run.

---

## Step 8: Position Sizing & Stop Loss Plan

Read `references/position-sizing.md` for the full formula, examples, stop loss evolution, and pyramiding rules.

### Position Size Formula

```
Shares = (Account Value × Risk Per Trade %) ÷ (Entry Price − Stop Price)
```

**Example**: $100,000 account, 1% risk, buy at $50, stop at $46.50:
- Max loss = $100,000 × 1% = $1,000
- Stop distance = $50 − $46.50 = $3.50
- Shares = $1,000 ÷ $3.50 = **285 shares** ($14,250 = 14.25% of account)

### Stop Loss Evolution (3 phases)

| Phase | Trigger | Action |
|---|---|---|
| Phase 1: Initial | At entry | Hard stop at entry price −7-8%. Non-negotiable. |
| Phase 2: Breakeven | Stock reaches +8% | Sell half, move stop to entry price (breakeven). Trade can no longer lose money. |
| Phase 3: Trailing | Stock reaches +15% | Sell another 25%, trail remaining stop along 20MA. Close below 20MA = exit all. |

**Iron rules**: Stop losses only move UP, never down. Never average down on a losing position. After 3-4 consecutive losses, reduce risk per trade to 0.5%.

### Pyramiding (Adding to Winners)

Only add to winning positions, with decreasing size: 50% initial → 30% at +8% → 20% at next base breakout. Never add to losers.

---

## Step 9: Respond to the User

Present a structured analysis report with these sections:

### Report Structure

1. **Stock & Stage**: Ticker, current price, identified stage, base count if Stage 2
2. **Trend Template Scorecard**: 8-condition checklist with pass/fail and actual values
3. **Fundamental Grade**: A/B/C/D with EPS growth, acceleration status, revenue, margins
4. **Pattern Identified**: Which pattern (VCP, cup-handle, flat base, flag, HTF, or none), with key measurements (contraction depths, volume behavior)
5. **Entry Assessment**:
   - If a valid pattern exists: pivot price, buy zone, breakout volume requirement
   - If not yet formed: what to watch for
   - If already extended: "This has moved beyond the buy zone — wait for the next consolidation"
6. **Market Environment**: Current assessment and the risk per trade it implies
7. **Position Sizing**: Using the formula, show exact shares, stop price, first target, second target, and reward/risk ratio. Ask the user for their account size and risk tolerance if not provided.
8. **Overall Verdict**: One of:
   - **Strong Buy Setup** — all criteria met, actionable now
   - **Watch List** — promising but pattern not yet complete or one condition marginal
   - **Pass** — fails trend template, wrong stage, or poor fundamentals

Always end with the disclaimer that this is educational analysis, not investment advice.

---

## Reference Files

- `references/stage-analysis.md` — Four-stage theory, transition signals, base counting
- `references/trend-template.md` — Detailed 8-condition explanations and memory aids
- `references/fundamentals.md` — EPS, revenue, margins, institutional holdings, catalysts
- `references/patterns.md` — VCP 7 rules, cup-with-handle, flat base, flag, high tight flag, quality vs fake signals
- `references/entry-rules.md` — Pivot point mechanics, buy zone, pocket pivot, true vs false breakout identification
- `references/position-sizing.md` — Formula, stop loss 3-phase evolution, pyramiding, loss handling
- `references/market-environment.md` — Bull/choppy/bear criteria and position adjustment rules

© himself65 · MIT · himself65/finance-skills

Similar skills

Everything for Finance and business →

From the same set23

estimate-analysis Pulls sell-side EPS and revenue estimates for a ticker from Yahoo Finance and shows how the consensus moved over the last 7, 30, 60 and 90 days. CX Codex +1 3,200installs hormuz-strait Pulls the Hormuz Strait Monitor dashboard and answers whether the strait is open, how many tankers got through, and what happened to Brent. CX Codex +1 3,200installs company-valuation Estimates a public company's intrinsic value using DCF, peer multiples, and SOTP. The skill generates a WACC sensitivity grid and bull, base, or bear price targets. CX Codex +1 3,200installs startup-analysis This skill reviews a startup as an investor, job applicant, and founder. Use it to assess a company, a job offer, or an investment case. CX Codex +1 3,000installs saas-valuation-compression Researches funding rounds for private SaaS companies and calculates round-to-round ARR valuation multiples. It attributes multiple compression to macro cycles, growth shifts, or AI premiums. CX Codex +1 2,900installs skill-creator A skill that walks you through creating a new agent skill, fixing one that misbehaves, or scoring it against a rubric. Useful when a manual routine should become repeatable. CX Codex +1 2,800installs yc-reader A skill that looks up Y Combinator companies and batches through the public yc-oss API: profiles, industries, tags, hiring lists, portfolio stats. Read-only, no key. CX Codex +1 2,800installs finance-sentiment A skill that pulls normalized stock sentiment from Reddit, X.com, financial news and Polymarket via the Adanos Finance API. Handy when you want to know what the market is talking about. CX Codex +1 1,600installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor