technical-analyst

v1.0.1

Perform comprehensive technical analysis using 12+ indicators including RSI, MACD, Bollinger Bands, support/resistance, and chart patterns via the Finskills...

0· 78·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for finskills/finskills-technical-analyst.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "technical-analyst" (finskills/finskills-technical-analyst) from ClawHub.
Skill page: https://clawhub.ai/finskills/finskills-technical-analyst
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: FINSKILLS_API_KEY
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install finskills-technical-analyst

ClawHub CLI

Package manager switcher

npx clawhub@latest install finskills-technical-analyst
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the runtime instructions: the skill fetches historical OHLCV and breadth data from finskills.net and computes 12+ standard technical indicators and patterns. Required artifact (FINSKILLS_API_KEY) fits the stated data source. The only minor mismatch: registry lists 'source: unknown' while SKILL.md/README reference a GitHub repo and finskills.net — verify the publisher before trusting code from that repo.
Instruction Scope
SKILL.md instructs only to call Finskills endpoints and run deterministic indicator calculations on returned OHLCV (SMA/EMA, MACD, RSI, Bollinger, ATR, OBV, pattern scans, support/resistance). It does not instruct reading unrelated files, other environment variables, or sending data to third-party endpoints beyond finskills.net.
Install Mechanism
No install spec and no code files in the package — this is instruction-only, so nothing is written to disk by the skill itself. README shows an example 'npx skills add https://github.com/finskills/technical-analyst' command; if you run an installer that pulls from GitHub, inspect that repo first because running npx on unknown repos can execute remote code.
Credentials
Only a single credential (FINSKILLS_API_KEY) is required and declared as primaryEnv. That matches the skill's need to authenticate to finskills.net. There are no unrelated SECRET/TOKEN/PASSWORD requirements.
Persistence & Privilege
always is false and the skill does not request persistent or elevated privileges. It does not direct any configuration changes to other skills or system-wide settings in the provided instructions.
Assessment
This skill appears coherent, but before installing or providing your API key: (1) verify the Finskills service (https://finskills.net) and your API key scope/permissions and billing (Pro tier needed for some endpoints); (2) confirm the GitHub repository/source owner is legitimate before running any npx/install command that fetches remote code; (3) avoid sharing your API key publicly and consider creating a restricted key if the provider supports it; (4) be aware of rate limits and what data the provider returns (PII unlikely here, but confirm the provider's privacy policy). If you want higher assurance, ask the publisher for a signed repository link or inspect the repository contents before installing.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

EnvFINSKILLS_API_KEY
Primary envFINSKILLS_API_KEY
latestvk972hdj10xs7cf82m4p7gkmjgn85302d
78downloads
0stars
2versions
Updated 1w ago
v1.0.1
MIT-0

Technical Analyst

Perform comprehensive technical analysis on any US-listed stock using historical OHLCV data from the Finskills API. Computes trend indicators (SMA/EMA, MACD), momentum oscillators (RSI, Stochastic), volatility bands (Bollinger Bands, ATR), volume analysis, and pattern recognition — then synthesizes a structured trading bias with support/resistance levels.


Setup

API Key requiredRegister at https://finskills.net to get your free key.
Header: X-API-Key: <your_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:

  • Asks for a technical analysis of a stock, index, or ETF
  • Mentions RSI, MACD, moving averages, Bollinger Bands, or support/resistance
  • Asks "where is the stock heading?" or "should I buy the dip?"
  • Requests an entry point, stop-loss level, or price target based on technicals
  • Asks about chart patterns (head & shoulders, cup & handle, breakout, etc.)
  • Uses terms like "overbought", "oversold", "trend", "momentum reversal"

Data Retrieval — Finskills API Calls

1. Historical OHLCV Data

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

For weekly context (longer-term trend):

GET https://finskills.net/v1/stocks/history/{SYMBOL}?period=2y&interval=1wk

Extract: date, open, high, low, close, volume, adjustedClose

2. Market Breadth Context

GET https://finskills.net/v1/free/market/breadth

Extract: % stocks above 200MA, % stocks above 50MA (macro tailwind/headwind context)


Indicator Calculations

Use the adjustedClose price series for all calculations.

Trend Indicators

Simple Moving Averages (SMA):

SMA_20 = rolling_mean(close, 20)
SMA_50 = rolling_mean(close, 50)
SMA_200 = rolling_mean(close, 200)

Exponential Moving Averages (EMA):

EMA_12 = EW_mean(close, span=12)
EMA_26 = EW_mean(close, span=26)

Trend Alignment (Bull): Price > SMA_20 > SMA_50 > SMA_200 Trend Alignment (Bear): Price < SMA_20 < SMA_50 < SMA_200

MACD:

MACD_line = EMA_12 - EMA_26
Signal_line = EMA(MACD_line, span=9)
MACD_histogram = MACD_line - Signal_line
  • MACD crossing above signal + histogram flipping to positive: Bullish momentum building
  • MACD crossing below signal + histogram going negative: Bearish momentum

Momentum Oscillators

RSI (14-period):

gain_t = max(close_t - close_{t-1}, 0)
loss_t = max(close_{t-1} - close_t, 0)
avg_gain_14 = rolling_mean(gain_t, 14)
avg_loss_14 = rolling_mean(loss_t, 14)
RS = avg_gain_14 / avg_loss_14
RSI = 100 - 100 / (1 + RS)
  • RSI > 70: Overbought — watch for reversal or consolidation
  • RSI < 30: Oversold — potential bounce setup
  • RSI divergence vs. price: Strong reversal signal

Stochastic Oscillator (slow %K/%D):

%K = (close - lowest_low_14) / (highest_high_14 - lowest_low_14) × 100
%D = SMA(%K, 3)
  • %K crosses above %D from below 20: Bullish
  • %K crosses below %D from above 80: Bearish

Volatility Indicators

Bollinger Bands (20-period, 2 standard deviations):

BB_middle = SMA_20
BB_upper = SMA_20 + 2 × STD(close, 20)
BB_lower = SMA_20 - 2 × STD(close, 20)
BB_width = (BB_upper - BB_lower) / BB_middle
  • Price at/above upper band: Overextended
  • Price at/below lower band: Oversold / potential bounce
  • Bandwidth squeezing (< 0.10): Coiling for breakout

Average True Range (ATR, 14-period):

TR = max(high - low, |high - prev_close|, |low - prev_close|)
ATR_14 = rolling_mean(TR, 14)

Use ATR for stop-loss placement: Stop = entry - (1.5 × ATR) for longs

Volume Analysis

Volume Moving Average:

Vol_SMA_20 = rolling_mean(volume, 20)

Volume Confirmation:

  • Price up + volume > Vol_SMA_20: Strong bullish conviction
  • Price up + volume < Vol_SMA_20: Weak rally, distribution risk
  • Price down + volume > Vol_SMA_20: Distribution/capitulation

On-Balance Volume (OBV):

OBV_t = OBV_{t-1} + volume_t  if close_t > close_{t-1}
OBV_t = OBV_{t-1} - volume_t  if close_t < close_{t-1}

OBV rising while price flat/declining: Accumulation signal (bullish) OBV falling while price flat/rising: Distribution signal (bearish)


Support & Resistance Identification

Find key levels from recent price history:

  1. Swing Highs/Lows: Price levels that acted as pivots (local max/min within 20-bar window)
  2. Round Number Levels: Major psychological levels ($50, $100, $150 etc.)
  3. Prior Consolidation Zones: Ranges where price traded sideways for > 5 sessions
  4. 200-Day SMA: Acts as major dynamic support/resistance for institutional investors
  5. 52-Week High/Low: Key psychological and technical levels

Define 3 support levels (S1 < S2 < current price) and 3 resistance levels (current price < R1 < R2 < R3).


Pattern Recognition

Check for the following patterns in the most recent 60 bars:

Bullish Patterns:

  • Cup & Handle: Smooth U-shaped base + small consolidation + breakout above handle high
  • Ascending Triangle: Flat resistance + rising support → breakout target = base height
  • Double Bottom (W): Two equal lows + breakout above neckline
  • Bull Flag: Sharp rally + tight consolidation → continuation target = flag pole height

Bearish Patterns:

  • Head & Shoulders: Three peaks (higher center) + neckline break → target = head height below neckline
  • Descending Triangle: Flat support + lower highs → breakdown target = base height
  • Double Top (M): Two equal highs + breakdown below neckline
  • Bear Flag: Sharp decline + tight bounce → continuation target = flag pole height down

Analysis Workflow

Step 1 — Multi-Timeframe Trend Assessment

  1. Fetch daily (1Y) and weekly (2Y) data
  2. Determine primary trend from weekly chart (SMA_20, SMA_50 slope)
  3. Determine intermediate trend from daily chart (SMA_20, SMA_50)
  4. Flag agreement or conflict between timeframes

Step 2 — Indicator Synthesis

Compute all 12 indicators; create a signal table:

IndicatorValueSignalWeight
SMA_20 vs. PriceAbove/BelowBull/Bear3
SMA_50 vs. PriceAbove/BelowBull/Bear3
SMA_200 vs. PriceAbove/BelowBull/Bear4
Golden/Death CrossStateBull/Bear/Neutral4
RSI (14)X.XOB/OS/Neutral3
MACD vs. SignalCross stateBull/Bear/Neutral3
Bollinger PositionUpper/Mid/LowerOB/OS/Neutral2
Volume TrendAbove/Below avgStrong/Weak2
OBV trendRising/FallingAccum/Distrib2

Compute bullish signal count vs. bearish signal count (weighted).

Step 3 — Support/Resistance Map

Identify and rank 3 support and 3 resistance levels.

Step 4 — Pattern Identification

Check for active patterns in the 60-bar lookback window.

Step 5 — Trade Setup Parameters

  • Bias: Bullish / Neutral / Bearish
  • Entry Zone: Price range for optimal entry
  • Stop-Loss: 1.5× ATR below entry (for longs) or above resistance (for shorts)
  • Target 1: First resistance level
  • Target 2: Second resistance level (extended target)
  • Risk/Reward: (Target1 - Entry) / (Entry - Stop)

Output Format

╔══════════════════════════════════════════════════════════════╗
║    TECHNICAL ANALYSIS  —  {TICKER}   ({DATE})               ║
║    Current Price: ${price}  |  52-week: ${low} – ${high}    ║
╚══════════════════════════════════════════════════════════════╝

📈 TREND STRUCTURE
  Weekly Trend:    {Uptrend / Downtrend / Sideways}  (SMA alignment: {Bull/Bear/Mixed})
  Daily Trend:     {Uptrend / Downtrend / Sideways}
  Trend Alignment: {Aligned / Conflicted}
  
  Key MAs:
    SMA 20:   ${val}    Price is {above/below}  +{%} from SMA20
    SMA 50:   ${val}    Price is {above/below}  +{%} from SMA50
    SMA 200:  ${val}    Price is {above/below}  +{%} from SMA200
  
  Golden/Death Cross Status: {Golden cross on {date} / Death cross on {date} / Neither}

📊 MOMENTUM & OSCILLATORS
  RSI (14):         {val}  →  {Overbought / Neutral / Oversold}
  MACD:             {val}  Signal: {val}  Hist: {val}  →  {Bullish/Bearish}
  Stochastic %K/%D: {val}/{val}  →  {Cross direction / level}

📉 VOLATILITY & VOLUME
  Bollinger位置:    {Upper / Middle / Lower} band region  (Width: {val})
  ATR (14):         ${val}  ({X}% of price — {Low/Medium/High} volatility)
  Volume vs. 20MA:  {+/-X}%  →  {Above-average / Below-average}
  OBV Trend:        {Rising / Falling / Flat}  →  {Accumulation / Distribution}

🎯 SUPPORT & RESISTANCE MAP
  Resistance 3:  ${R3}  [{Level type}]
  Resistance 2:  ${R2}  [{Level type}]
  Resistance 1:  ${R1}  [{Level type}]   ← Nearest overhead
  ► CURRENT PRICE:  ${price}  ◄
  Support 1:     ${S1}  [{Level type}]   ← Nearest floor
  Support 2:     ${S2}  [{Level type}]
  Support 3:     ${S3}  [{Level type}]

🔍 PATTERN DETECTED: {Pattern name or "No clear pattern"}
  {Pattern description and implication, 1-2 sentences}
  Breakout/Breakdown trigger: ${level}
  Pattern target:             ${target}

📊 SIGNAL SCORECARD
  Bullish signals: {N}/9  |  Bearish signals: {N}/9  |  Neutral: {N}/9
  Weighted tally: Bullish {X}/26  vs.  Bearish {X}/26

🎯 TRADE SETUP
  Bias:         {BULLISH / NEUTRAL / BEARISH}
  Entry Zone:   ${low} – ${high}
  Stop-Loss:    ${level}  ({ATR}-based, {%} below entry)
  Target 1:     ${t1}    ({R:R ratio} risk/reward)
  Target 2:     ${t2}    ({R:R ratio} risk/reward)
  Time Horizon: {Days/weeks based on setup type}

  Recommended Action: {Buy above ${X} with stop at ${Y} / Wait for pullback to ${S1} / Avoid until trend clarifies}

📊 MARKET BREADTH CONTEXT
  % of S&P 500 stocks above 200MA: {%}
  Macro tailwind/headwind: {Tailwind — broad market healthy / Headwind — take smaller position}

Limitations

  • Technical analysis describes probability, not certainty; no setup has > 65% win rate historically.
  • All indicators are lagging by construction — they confirm existing moves, not predict new ones.
  • Patterns are identified algorithmically — manual chart reading by an expert may interpret differently.
  • Volume signals may be distorted by options expiration or index rebalancing days.

Comments

Loading comments...