
sepa-strategy
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.
- Installs
- 3K
- Last 24h
- +54
- Trending rank
- #3182
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/himself65/finance-skills --skill sepa-strategy- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads sepa-strategy automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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:
- Quarterly EPS growth ≥ 20% (prefer 25-50%+). Below 20% = disqualify.
- EPS acceleration: Current quarter growth > prior quarter growth. Deceleration (even with positive growth) is a warning.
- Annual EPS growth ≥ 25% for each of the past 3 years.
- Revenue growth ≥ 15% annually, ≥ 20-25% quarterly preferred. If EPS grows but revenue doesn't, the growth is likely from cost-cutting (unsustainable).
- Margin trend: Gross and net margins stable or expanding = healthy. Contracting margins even with EPS growth = red flag.
- Institutional ownership increasing: Smart money accumulating = fuel for Stage 2 move.
- 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:
- Stock must be in Stage 2 uptrend (prerequisite)
- Pullback depths decrease in sequence (e.g., 20% → 12% → 6% → 3%). Minimum 3 contractions, 4-5 ideal.
- Volume shrinks with each contraction. Final contraction shows "Volume Dry-Up" (VDU) — multi-week low volume.
- Higher lows — each pullback bottom is higher than the previous one.
- Clear pivot point — the consolidation range high = resistance level to break.
- RS > 70 (preferably 85-90+)
- 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
- Stock & Stage: Ticker, current price, identified stage, base count if Stage 2
- Trend Template Scorecard: 8-condition checklist with pass/fail and actual values
- Fundamental Grade: A/B/C/D with EPS growth, acceleration status, revenue, margins
- Pattern Identified: Which pattern (VCP, cup-handle, flat base, flag, HTF, or none), with key measurements (contraction depths, volume behavior)
- 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"
- Market Environment: Current assessment and the risk per trade it implies
- 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.
- 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 countingreferences/trend-template.md— Detailed 8-condition explanations and memory aidsreferences/fundamentals.md— EPS, revenue, margins, institutional holdings, catalystsreferences/patterns.md— VCP 7 rules, cup-with-handle, flat base, flag, high tight flag, quality vs fake signalsreferences/entry-rules.md— Pivot point mechanics, buy zone, pocket pivot, true vs false breakout identificationreferences/position-sizing.md— Formula, stop loss 3-phase evolution, pyramiding, loss handlingreferences/market-environment.md— Bull/choppy/bear criteria and position adjustment rules
FAQ
What does the sepa-strategy skill do?
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.
How do I install sepa-strategy?
Run npx skills add https://github.com/himself65/finance-skills --skill sepa-strategy in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/sepa-strategy/ (personal) or .claude/skills/sepa-strategy/ (project).
Which AI agents can use sepa-strategy?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is sepa-strategy safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains sepa-strategy?
It is published by himself65 in himself65/finance-skills. It has 3,032 recorded installs.
More from himself65/finance-skills
yfinance-data
himself65/finance-skills
Fetch financial and market data with the yfinance Python library (Yahoo Finance). Use this skill whenever the user wants stock data: current quotes and price history, financial statements (income statement, balance sheet, cash flow), options chains, dividends and splits, earnings and analyst estimates, price targets and ratings, institutional and insider holdings, news, multi-ticker comparisons, stock screens, or sector and industry data. Use it even when the user gives only a ticker symbol (AAPL, MSFT, TSLA) and the intent has to be inferred. For earnings previews or recaps, estimate revisions, valuation, correlation, liquidity, or ETF premium analysis, prefer the dedicated skill.
stock-correlation
himself65/finance-skills
Analyze how stocks move together using Yahoo Finance price history (yfinance): find correlated peers for a ticker, measure correlation, beta, and spread between specific tickers, cluster a group into a correlation matrix, and track rolling or regime-dependent correlation. Use this skill whenever the user asks what moves with a stock, what else drops when it drops, related tickers or sympathy plays, sector or supply-chain peers, pair trading or hedging pairs, beta or relative performance, correlation matrices, co-movement, or rolling/realized correlation — including well-known pairs like AMD/NVDA, GOOGL/AVGO, or LITE/COHR. With a single ticker, assume the user wants its correlated peers.
options-payoff
himself65/finance-skills
Render an interactive options payoff chart — expiry P&L plus Black-Scholes theoretical value — with sliders for strikes, premium, IV, DTE, and spot. Use this skill whenever the user describes or shares an options position or strategy and wants to see how it makes or loses money: vertical, calendar, diagonal, or ratio spreads, butterflies, condors and iron condors, straddles, strangles, covered calls, protective or naked puts, or any multi-leg structure. This includes pasted strikes, premiums, and expiries, requests like "show me the payoff" or "draw the P&L curve", and broker screenshots (IBKR, TastyTrade, Robinhood). Use it even when details are partial — defaults fill the gaps.
earnings-preview
himself65/finance-skills
Build a pre-earnings briefing for a stock from Yahoo Finance data (yfinance): the upcoming report date and timing, consensus EPS and revenue estimates with their range, the beat/miss track record, analyst ratings and price targets, and what to watch in the print. Use this skill whenever the user is preparing for an upcoming earnings report or asks what the street expects — consensus or whisper numbers, EPS expectations, whether a company will beat, an earnings setup, or an earnings-season preview — and whenever a ticker comes up in the context of upcoming earnings, even without the word "preview". For results that are already out, use earnings-recap.
earnings-recap
himself65/finance-skills
Analyze a company's most recent (or a specified past) earnings report from Yahoo Finance data (yfinance): actual vs estimated EPS, surprise size, revenue and margin trends, and the stock's price reaction. Use this skill whenever the user asks how earnings went — beat or miss, earnings surprise, quarterly results, the post-earnings move, or an earnings call recap — including casual references to a past report such as "AMZN reported last night" or "how did they do". For an upcoming report, use earnings-preview.
generative-ui
himself65/finance-skills
Design system and templates for interactive HTML/SVG visuals in Claude and Codex, using an available inline renderer or a standalone HTML file. Use this skill whenever the user wants visual or interactive output rather than plain text or markdown: charts and dashboards, diagrams, flowcharts and architecture drawings, mockups, comparison grids, illustrations, interactive explainers ("explain how X works" with a visual), or tools with sliders, toggles, and live-updating displays — including financial data shown visually and requests phrased as "show me", "visualize", "draw", or "chart this".
Popular business & finance skills
sales-enablement
coreyhaines31/marketingskills
When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also use when the user mentions 'sales deck,' 'pitch deck,' 'one-pager,' 'leave-behind,' 'objection handling,' 'deal-specific ROI analysis,' 'demo script,' 'talk track,' 'sales playbook,' 'proposal template,' 'buyer persona card,' 'battle card,' 'battlecard,' 'competitive one-pager,' 'win-loss analysis,' 'why are we losing deals,' 'loss reasons,' 'how do I respond to this objection,' 'prospect just said,' 'help my sales team,' 'sales materials,' or 'what should I give my sales reps,' 'cold call script,' or 'voicemail script.' Use this for any document or asset that helps a sales team close deals. For public competitor comparison pages, see competitors. For running buyer interviews or churn research, see customer-research. For marketing website copy, see copywriting. For cold outreach emails, see cold-email. For the offer being sold (bonuses, guarantees, pricing structure),
revops
coreyhaines31/marketingskills
When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'outbound pipeline stages,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see emails. For pricing decisions, see pricing.
sales-funnel-blueprint
autonnel/autonnel-skills
Turn an offer into a concrete multi-step sales funnel spec - page-by-page structure, price ladder, copy outline and the metrics each step must hit. Use when asked to build a sales funnel, marketing funnel, landing page flow, lead magnet funnel, webinar funnel, tripwire or VSL funnel, when planning a product launch page flow, or when someone asks "what pages do I need" for selling something online.
pricing
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' 'should I offer a free plan,' 'pricing page teardown,' 'pricing page audit,' 'is my pricing page AI-readable,' or 'can AI read my pricing.' Use this whenever someone is figuring out what to charge, how to structure their plans, or wants to audit a pricing page (for humans and for the AI agents that shortlist tools). For in-app upgrade screens, see paywalls. For offer construction (bonuses, guarantees, value framing, naming) on services/courses/coaching/high-ticket B2B, see offers.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
pricing-strategy
coreyhaines31/marketingskills
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' 'monetization,' 'how much should I charge,' 'my pricing is wrong,' 'pricing page,' 'annual vs monthly,' 'per seat pricing,' or 'should I offer a free plan.' Use this whenever someone is figuring out what to charge or how to structure their plans. For in-app upgrade screens, see paywall-upgrade-cro.