← Back to Skills Marketplace
finskills

trading-plan-generator

by finskills · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
81
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install finskills-trading-plan-generator
Description
Generate structured trade plans with entry, stop-loss, and take-profit levels based on technical and fundamental data from the Finskills API.
README (SKILL.md)

Trading Plan Generator

Transform a stock idea into a complete, structured trading plan with specific entry triggers, position sizing, stop-loss levels, profit targets, timeline, and thesis statement — powered by live data from the Finskills API. Implements professional trading desk methodology for both swing trades (days to weeks) and position trades (weeks to months).


Setup

API Key requiredRegister at https://finskills.net to get your free key.
Header: X-API-Key: \x3Cyour_api_key>

Get your API key: Register at https://finskills.net — free tier available, Pro plan unlocks real-time quotes, history, and financials.


When to Activate This Skill

Activate when the user:

  • Has a stock pick and wants a complete trade plan around it
  • Asks "how should I size this position?"
  • Says "I think AAPL is going to $200, help me plan this trade"
  • Asks for entry, stop-loss, and target for a specific trade
  • Wants to calculate position size based on account risk tolerance
  • Uses terms like "trade plan", "entry point", "risk/reward", "stop loss", "price target"

Information to Collect from the User

Before fetching data, confirm:

  1. Symbol: Which stock/ETF?
  2. Thesis: Why do they want this trade? (Earnings catalyst, technical breakout, macro tailwind, etc.)
  3. Direction: Long or Short?
  4. Account Size: Portfolio total value (for position sizing)
  5. Max Risk per Trade: % of portfolio willing to lose on this trade (default: 1–2%)
  6. Time Horizon: Swing trade (1–10 days), Position trade (1–3 months), or Investment (6+ months)?

Data Retrieval — Finskills API Calls

1. Current Quote + Market Context

GET https://finskills.net/v1/stocks/quote/{SYMBOL}

Extract: price, dayHigh, dayLow, open, previousClose, volume, avgVolume, marketCap, 52WeekHigh, 52WeekLow, peRatio, beta

2. Historical Price Data (for ATR, support/resistance, trend)

GET https://finskills.net/v1/stocks/history/{SYMBOL}?period=6mo&interval=1d

Extract: last 6 months of daily OHLCV
Compute: ATR (14), key swing highs/lows, 50-day SMA, 20-day SMA, 200-day SMA, RSI

3. Analyst Recommendations + Price Targets

GET https://finskills.net/v1/stocks/recommendations/{SYMBOL}

Extract:

  • Consensus recommendation (Strong Buy / Buy / Hold / Underperform / Sell)
  • Mean price target
  • Highest/lowest price target
  • Number of analysts

Analysis Workflow

Step 1 — Live Market Context Assessment

From the quote data, determine:

  • Where is price relative to 52-week range? (Near high/low/mid-range)
  • Is today's volume above or below average? (Volume confirmation check)
  • Beta: How volatile is this stock relative to market?
  • P/E: Is valuation extreme (which might cap upside for long trades)?

Step 2 — Key Level Identification (from historical data)

Compute critical levels:

ATR-based volatility:

ATR_14 = EWM(True_Range, span=14)
Daily_Range_Estimate = 1.2 × ATR_14

Support Levels (from 6-month history):

  • S1: Most recent swing low (last 20 sessions)
  • S2: Prior swing low (last 60 sessions)
  • S3: Major structure low (52-week low if within 20% of current price)

Resistance Levels (from 6-month history):

  • R1: Most recent swing high or overhead consolidation zone
  • R2: Prior swing high
  • R3: 52-week high or prior major resistance

Moving Averages (dynamic support/resistance):

  • SMA_20, SMA_50, SMA_200 — note if price is above or below each

Step 3 — Entry Strategy

For Long Trades:

  • Breakout Entry: Enter above R1 on above-avg volume (aggressive)
  • Pullback Entry: Enter at S1 or SMA_20 with bounce confirmation (conservative)
  • Range Entry: Enter at lower third of recent range when RSI \x3C 40 (mean reversion)

For Short Trades:

  • Breakdown Entry: Enter below S1 on above-avg volume
  • Bounce Entry: Enter on rally to resistance (R1/SMA_20) with bearish conditions

Recommend an entry type and exact trigger price based on the user's thesis and time horizon.

Entry Trigger:

Entry = Buy {SYMBOL} at $X only if {volume confirmation condition AND price condition}
       or
Entry = Limit order at ${level} (pullback entry)

Step 4 — Position Sizing (Risk-Based)

Fixed Risk Position Sizing (Industry Standard):

Dollar Risk Per Trade = Account_Size × Max_Risk_Pct
                      e.g., $100,000 × 2% = $2,000 max risk

Distance to Stop = Entry_Price - Stop_Loss_Price  (for longs)

Shares to Buy = Dollar_Risk_Per_Trade / Distance_to_Stop

Position Value = Shares × Entry_Price
Position % of Portfolio = Position_Value / Account_Size

Flag if position exceeds 20% of portfolio (concentration risk warning).

Volatility-Adjusted Check:

  • If beta > 2.0: Reduce max risk % by 50% (high-beta stocks need smaller positions)
  • If beta \x3C 0.5: Position can be slightly larger if fundamentals are strong

Step 5 — Stop-Loss Placement

ATR-Based Stop (preferred):

For Long: Stop_Loss = Entry_Price - (1.5 × ATR_14)
For Short: Stop_Loss = Entry_Price + (1.5 × ATR_14)

Structure-Based Stop (alternative):

  • Long: Stop just below S1 (last swing low) with small buffer (~0.5%)
  • Short: Stop just above R1 (last swing high) with small buffer

Hard Rule: Never place stop inside a natural support/resistance zone — price will "shake you out" before continuing.

Choose the wider of the two methods for stops (more conservative).

Step 6 — Profit Targets

Target 1 (partial exit — 50% of position):

  • Risk/Reward ratio ≥ 2:1 for swing trades
  • Target_1 = Entry + (2 × Distance_to_Stop) [for longs]

Target 2 (remaining position — trail or hold):

  • Next major resistance level (R2) or analyst mean price target
  • Minimum R:R 3:1

Target 3 (maximum case):

  • Analyst high price target or key technical level

Time Stop (important):

  • If trade has not reached T1 within the defined time horizon, exit regardless of P&L
  • Swing trade time stop: 10 trading days
  • Position trade time stop: 45 trading days

Step 7 — Trade Thesis Validation

Write a formal 3-part thesis:

  1. Catalyst: What is the specific reason this trade will work?
  2. Invalidation: What would tell you the thesis is wrong? (beyond the price stop)
  3. Monitoring Points: What news, data, or price action to watch during the trade?

Output Format

╔══════════════════════════════════════════════════════════════════╗
║    TRADE PLAN  —  {DIRECTION} {TICKER}                          ║
║    Generated: {DATE}   |   Type: {Swing/Position/Investment}    ║
╚══════════════════════════════════════════════════════════════════╝

📌 TRADE THESIS
  "I believe {TICKER} will {rise/fall} because {1-sentence catalyst}.
   The trade is invalidated if {invalidation condition}."

  Tag: {Breakout / Reversal / Catalyst / Macro-Driven / Technical}

📊 MARKET SNAPSHOT  —  {TICKER}
  Price:         ${price}   Day Range: ${low} – ${high}
  52-Week:       ${52wkLow} – ${52wkHigh}   Position: {Top/Mid/Bottom} third of range
  Beta:          {X.X}   P/E: {X.X}x   Avg Volume: {Xm} shares/day
  Today's Vol:   {Xm} shares ({+/-}% vs. average)

  Analyst Consensus: {Strong Buy / Buy / Hold}   Target: ${mean}  Range: ${low}–${high}

🎯 KEY LEVELS
  Resistance 3:  ${R3}  [{structure / 52wk-high}]
  Resistance 2:  ${R2}  [{structure}]
  ► Resistance 1:${R1}  [{recent swing high}]     ← Nearest overhead
  ─── CURRENT:   ${price} ───
  ► Support 1:   ${S1}  [{recent swing low}]      ← Stop zone
  Support 2:     ${S2}  [{prior swing low}]
  Support 3:     ${S3}  [{major level}]

  20-Day SMA:    ${SMA20}   50-Day SMA: ${SMA50}   200-Day SMA: ${SMA200}
  ATR (14):      ${ATR}  ({X.X}% of price)

📋 TRADE PARAMETERS

  ┌─────────────────────────────────────────────────────┐
  │  ENTRY TYPE:   {Breakout above} / {Pullback to} ${entry_price}
  │  Entry Trigger: Price ${entry_trigger} on volume > {X}M shares
  │                  OR limit order at ${limit_price}      │
  │                                                         │
  │  STOP-LOSS:    ${stop_price}  ({ATR-based / Structure})  │
  │  Distance:     ${entry - stop}  ({X.X}% below entry)   │
  │                                                         │
  │  TARGET 1:     ${t1}  ({2.1:1} R:R)  ← Exit 50%      │
  │  TARGET 2:     ${t2}  ({3.2:1} R:R)  ← Exit 35%      │
  │  TARGET 3:     ${t3}  ({4.5:1} R:R)  ← Trail 15%     │
  │                                                         │
  │  TIME STOP:    Exit by {date} if no progress           │
  └─────────────────────────────────────────────────────┘

💰 POSITION SIZING  (Account: ${account_size})
  Max Risk:             ${risk_amount}  ({risk_pct}% of portfolio)
  Stop Distance:        ${stop_distance}/share  ({stop_pct}%)
  Shares to Buy:        {shares_count} shares
  Position Value:       ${position_value}  ({position_pct}% of portfolio)
  Beta-Adjusted Risk:   ${adjusted_risk}

  ⚠️ {Any concentration or volatility warnings}

📅 TRADE MANAGEMENT RULES
  On entry day:     Confirm volume and price action before committing
  At -50% to stop:  Evaluate — add context, consider waiting for new catalyst
  At Target 1:      Sell 50%, move stop to break-even
  At Target 2:      Sell 35%, trail stop at 2× ATR
  At Target 3:      Sell remaining 15%
  Time Stop:        Exit FULL position on {date}, regardless of P&L

📌 MONITORING CHECKLIST
  □ {Key upcoming earnings date if applicable}
  □ {Key macro data that could impact trade}
  □ {Sector ETF behavior as leading indicator}
  □ {Price/Volume action to watch for confirmation or invalidation}

Limitations

  • Price targets are based on technical structure and analyst consensus — not guaranteed.
  • Stop-loss placement does not eliminate the risk of gap-down opens in fast markets.
  • ATR-based position sizing assuming normal market conditions; extreme volatility events can bypass stops.
  • This plan is for educational purposes; complete research and use your own judgment before trading.
Usage Guidance
This skill appears coherent and limited to using the Finskills API to generate trade plans. Before installing: (1) Confirm you trust finskills.net (reviews, privacy/terms), since the skill will send symbols and any user-entered account-size/risk data to that API. (2) Keep your FINSKILLS_API_KEY secret and do not reuse sensitive brokerage credentials. (3) The skill generates trade plans but does not execute trades — verify outputs and backtest before acting. (4) The registry metadata lacks an authoritative homepage; if provenance matters, review the linked GitHub repo and the ClawHub download referenced in the README to ensure you trust the source.
Capability Analysis
Type: OpenClaw Skill Name: finskills-trading-plan-generator Version: 1.0.2 The Trading Plan Generator skill is a legitimate financial tool designed to provide structured trading advice using data from the Finskills API (finskills.net). The logic in SKILL.md and README.md is transparent, focusing on technical analysis (ATR, SMA, support/resistance) and standard risk management formulas. There is no evidence of data exfiltration, malicious execution, or harmful prompt injection; the use of the FINSKILLS_API_KEY is consistent with the stated purpose of accessing the service's endpoints.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description, SKILL.md, and README consistently describe fetching quote/history/recommendations from the Finskills API and computing ATR, S/R, and position sizing. The single required env var (FINSKILLS_API_KEY) is appropriate and expected for this purpose.
Instruction Scope
Runtime instructions only ask the agent to collect user-provided trade inputs (symbol, thesis, account size, risk %, horizon) and to call three Finskills endpoints. There are no instructions to read unrelated system files, capture other environment variables, or transmit data to unknown endpoints beyond finskills.net.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so nothing is downloaded or written to disk by the skill itself — the lowest-risk install profile.
Credentials
Only FINSKILLS_API_KEY is required, which matches the API usage. The skill asks the user to provide account-size and risk %, which are sensitive financial inputs but necessary for position sizing; users should avoid providing brokerage credentials or other secrets (none are requested).
Persistence & Privilege
always is false and the skill does not request any persistent or elevated privileges. It does not modify other skills or system settings. Autonomous invocation is allowed (platform default) but not combined with other red flags.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install finskills-trading-plan-generator
  3. After installation, invoke the skill by name or use /finskills-trading-plan-generator
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Version 1.0.2 — Minor metadata and configuration update. - Added a `metadata` block specifying environment variable requirements for OpenClaw. - Set `FINSKILLS_API_KEY` as the primary required environment variable. - Moved the homepage reference into the `metadata` section. - No functional changes to trading plan logic or API workflows.
v1.0.1
- Added a formal skill manifest block with metadata (name, version, description, author, homepage, credentials). - Declared Finskills API key as a required credential with instructions for registration. - No changes to core logic, workflow, analysis steps, or output format. - No file changes or updates to implementation detected beyond documentation/metadata.
v1.0.0
Trading Plan Generator skill version 1.0.0 — initial release. - Generate full-featured trading plans for stocks/ETFs based on user input, using live data from the Finskills API. - Walks users through thesis, entries, stops, targets, and position sizing using industry-standard methods. - Supports swing trades, position trades, and investments with tailored workflows. - Output includes market context, key technical levels, analyst opinions, and a structured trade plan template. - Requires Finskills API Pro key for real-time market data access.
Metadata
Slug finskills-trading-plan-generator
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is trading-plan-generator?

Generate structured trade plans with entry, stop-loss, and take-profit levels based on technical and fundamental data from the Finskills API. It is an AI Agent Skill for Claude Code / OpenClaw, with 81 downloads so far.

How do I install trading-plan-generator?

Run "/install finskills-trading-plan-generator" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is trading-plan-generator free?

Yes, trading-plan-generator is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does trading-plan-generator support?

trading-plan-generator is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created trading-plan-generator?

It is built and maintained by finskills (@finskills); the current version is v1.0.2.

💬 Comments