refactor: comprehensive skill rewrite with professional analyst perspective
All checks were successful
continuous-integration/drone/push Build is passing

Coverage: 19% → 67% of API endpoints (88/131)

market-analysis: 5 → 15 endpoints (all 14 technical indicators + historical)
- Added: ADX, Stochastic, Keltner, Donchian, Aroon, CCI, Fib, A/D, Cones, VWAP
- Added confluence/divergence analysis guidance

fundamental-analysis: 5 → 12 endpoints
- Added: summary (all-in-one), CAPM, Sortino, Omega, estimates,
  share-statistics, institutional, dividends, calendar/earnings
- Added institutional ownership and earnings catalyst flagging

sentiment-analysis: 5 → 16 endpoints
- Added: reddit-sentiment, social-sentiment, shorts/ftd, darkpool/otc,
  share-statistics, institutional, congress/trades
- Restructured as smart money vs retail noise hierarchy

macro-analysis: 6 → 23 endpoints
- Added: treasury-rates, effr, sofr, spreads, hqm, tips-yields,
  pce, gdp, unemployment, money-measures, cli, sloos,
  nonfarm-payrolls, empire-state, central-bank-holdings,
  fomc-documents, sp500-multiples
- Added business cycle positioning framework

trade-analyze: updated data collection to use /summary endpoint

AGENTS.md (all 4 debate agents): updated for sessions_spawn protocol
SOUL.md (all 4): removed unavailable memory_search, REPLY_SKIP refs
deploy.sh: fixed nvm loading for SSH
This commit is contained in:
Yaojia Wang
2026-03-21 19:11:33 +01:00
parent 5be9385c9f
commit 880f830741
5 changed files with 393 additions and 165 deletions

View File

@@ -1,69 +1,102 @@
---
name: market-analysis
description: Technical analysis report for a stock — trend, momentum, volatility, volume signals via openbb-invest-api
description: Professional technical analysis — trend structure, momentum, volatility regime, volume profile, support/resistance via openbb-invest-api
user-invocable: true
metadata: { "openclaw": { "emoji": "📊", "requires": { "bins": ["curl"] } } }
---
# Market Analysis
# Market Analysis (Technical)
Generate a structured technical analysis report for a given stock ticker.
Generate a professional-grade technical analysis report. Think like a prop desk trader.
## Data Collection
Fetch the following endpoints using `exec` tool (all require `-sk` flag for self-signed TLS):
Fetch ALL of the following using `exec` tool. Run them in a single command joined by `&&`:
```bash
BASE=https://invest-api.k8s.home
# 1. Composite technical indicators (RSI, MACD, SMA, EMA, Bollinger Bands)
# Core technicals (RSI, MACD, SMA, EMA, Bollinger)
curl -sk "$BASE/api/v1/stock/{TICKER}/technical"
# 2. Ichimoku Cloud (trend system)
# Trend system
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/ichimoku"
# 3. Historical prices (6 months for trend context)
curl -sk "$BASE/api/v1/stock/{TICKER}/historical?days=180"
# Trend strength
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/adx"
# 4. ATR (volatility measure)
# Overbought/oversold oscillator
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/stoch"
# Volatility
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/atr"
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/kc"
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/cones"
# 5. OBV (volume confirmation)
# Volume analysis
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/obv"
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/ad"
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/vwap"
# Support/resistance
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/fib"
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/donchian"
# Trend direction change
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/aroon"
# Cyclical analysis
curl -sk "$BASE/api/v1/stock/{TICKER}/technical/cci"
# Price history for context
curl -sk "$BASE/api/v1/stock/{TICKER}/historical?days=180"
```
## Report Structure
Produce a concise report in this format:
```
## {TICKER} Technical Analysis — {date}
### Price Trend
- SMA 20/50/200 alignment: [golden cross / death cross / neutral]
- Price position: [above/below] 50-day SMA
- Ichimoku: price [above/below] cloud, [bullish/bearish] TK cross
### Trend Structure
- Primary trend: [uptrend / downtrend / range-bound]
- SMA 20/50/200 alignment: [bullish stacking / bearish stacking / tangled]
- Ichimoku: price vs cloud, TK cross, Chikou confirmation
- ADX: {value} — trend strength [no trend <20 / trending 20-40 / strong >40]
- Aroon: up {value} / down {value} — [new uptrend / new downtrend / consolidation]
### Momentum
- RSI(14): {value} — [overbought >70 / oversold <30 / neutral]
- MACD: signal line [bullish/bearish] crossover, histogram [expanding/contracting]
- RSI(14): {value} — [overbought >70 / oversold <30 / divergence?]
- MACD: histogram {value}, signal cross [bullish/bearish], momentum [accelerating/decelerating]
- Stochastic: %K {value}, %D {value} — [overbought >80 / oversold <20 / cross?]
- CCI: {value} — [overbought >100 / oversold <-100 / neutral]
### Volatility
- Bollinger Bands: price at [upper/middle/lower] band, bandwidth [wide/narrow]
- ATR(14): {value} — trend [expanding/contracting] vs 20-day average
### Volatility Regime
- ATR(14): {value} — vs 20-day avg [expanding/contracting]
- Bollinger bandwidth: [squeeze / normal / expansion]
- Keltner Channels: price position [above upper / within / below lower]
- Volatility Cones: current IV vs historical quantiles [cheap / fair / expensive]
### Volume
- OBV: [confirming/diverging] from price trend
- Recent volume vs 20-day average: [above/below] by {%}
### Volume Profile
- OBV trend: [confirming price / bearish divergence / bullish divergence]
- A/D Line: [accumulation / distribution / neutral]
- VWAP: price vs VWAP [above = bullish bias / below = bearish bias]
### Key Levels
- Fibonacci retracements: 23.6% ${}, 38.2% ${}, 50% ${}, 61.8% ${}
- Donchian: upper ${}, lower ${}, midline ${}
- Nearest support: ${}
- Nearest resistance: ${}
### Signal: [BULLISH / BEARISH / NEUTRAL]
### Confidence: {1-10}
### Key Risk: {one-line risk factor}
### Timeframe: [intraday / swing / position]
### Key Risk: {one-line, e.g. "bearish divergence on RSI + volume declining"}
```
## Rules
- Use ONLY data from the API responses — never fabricate indicator values
- If an endpoint returns an error or empty data, note "Data unavailable" for that section
- Keep the report under 400 words
- End with a clear directional signal and confidence score
- Use ONLY data from API responses — never fabricate indicator values
- If an endpoint fails, note "Data unavailable" and continue
- Look for **confluence** — multiple indicators agreeing strengthens the signal
- Look for **divergences** — price vs RSI, price vs OBV, price vs A/D
- Keep under 500 words