Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Interact with DWLF (dwlf.co.uk), a market analysis platform for crypto and stocks. Use for: market data, price charts, technical indicators (EMA, RSI, DSS, S/R, trendlines, candlestick patterns, SMC), strategies (visual signal builder), backtesting, custom events, trade signals, portfolio tracking, watchlists, trade journaling, chart annotations, trade plans, position sizing, and academy content. Trigger on: market analysis, trading signals, backtests, portfolio, DWLF, chart indicators, support/resistance, strategy builder, trade journal, watchlist, chart annotations, trade plans, position sizing, how's BTC, how's the market.
Interact with DWLF (dwlf.co.uk), a market analysis platform for crypto and stocks. Use for: market data, price charts, technical indicators (EMA, RSI, DSS, S/R, trendlines, candlestick patterns, SMC), strategies (visual signal builder), backtesting, custom events, trade signals, portfolio tracking, watchlists, trade journaling, chart annotations, trade plans, position sizing, and academy content. Trigger on: market analysis, trading signals, backtests, portfolio, DWLF, chart indicators, support/resistance, strategy builder, trade journal, watchlist, chart annotations, trade plans, position sizing, how's BTC, how's the market.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
API base: https://api.dwlf.co.uk/v2
Use API key auth. Check TOOLS.md for the key. Header: Authorization: ApiKey dwlf_sk_... Helper script: scripts/dwlf-api.sh
# Generic GET request ./scripts/dwlf-api.sh GET /market-data/BTC-USD # With query params ./scripts/dwlf-api.sh GET "/events?symbol=BTC-USD&limit=10" # POST request ./scripts/dwlf-api.sh POST /visual-backtests '{"strategyId":"...","symbol":"BTC-USD"}'
# Create a horizontal line annotation at a key support level ./scripts/dwlf-api.sh POST /annotations '{ "symbol": "BTC-USD", "timeframe": "1d", "type": "hline", "data": { "price": 95000, "color": "#00ff00", "label": "Key Support", "lineStyle": "solid", "lineWidth": 2, "showPrice": true }, "origin": "ai" }' # Create a text annotation on chart ./scripts/dwlf-api.sh POST /annotations '{ "symbol": "ETH-USD", "timeframe": "4h", "type": "text", "data": { "text": "Breakout zone", "price": 3800, "time": "2025-06-01T00:00:00Z", "color": "#ffaa00", "fontSize": 14 }, "origin": "ai" }' # Bulk create multiple annotations ./scripts/dwlf-api.sh POST /annotations/bulk '{ "annotations": [ { "symbol": "BTC-USD", "timeframe": "1d", "type": "hline", "data": { "price": 100000, "color": "#ff0000", "label": "Resistance" }, "origin": "ai" }, { "symbol": "BTC-USD", "timeframe": "1d", "type": "hline", "data": { "price": 92000, "color": "#00ff00", "label": "Support" }, "origin": "ai" } ] }' # List annotations for a symbol ./scripts/dwlf-api.sh GET "/annotations?symbol=BTC-USD&timeframe=1d" # Update an annotation (merges data — only changes specified fields) ./scripts/dwlf-api.sh PUT /annotations/abc123 '{ "data": { "color": "#ff0000" } }'
# Calculate position size ./scripts/dwlf-api.sh POST /tools/position-size '{ "accountSize": 10000, "riskPercent": 2, "entryPrice": 95000, "stopLoss": 93000, "symbol": "BTC-USD" }' # Create a trade plan ./scripts/dwlf-api.sh POST /trade-plans '{ "symbol": "BTC-USD", "direction": "long", "entryPrice": 95000, "stopLoss": 93000, "takeProfit": 100000, "notes": "Bounce off key support with RSI divergence" }'
Crypto: BTC-USD, ETH-USD, SOL-USD (always with -USD suffix) Stocks/ETFs: TSLA, NVDA, META, MARA, RIOT Forex: GBP-USD, EUR-USD If user says "BTC" → use BTC-USD. If "TSLA" → use TSLA.
MethodPathDescriptionGET/market-data/{symbol}?interval=1d&limit=50OHLCV candlesGET/market-data/symbolsList all tracked symbolsGET/support-resistance/{symbol}S/R levels with scoresGET/chart-indicators/{symbol}?interval=1dAll indicators (RSI, EMA, MACD, etc.)GET/trendlines/{symbol}Auto-detected trendlinesGET/events?symbol={symbol}&limit=20System events (breakouts)GET/events?type=custom_event&scope=user&symbol={symbol}&days=30User's custom events (wcl, dss, reversals etc.)
MethodPathDescriptionGET/annotations?symbol={symbol}&timeframe={tf}List annotationsPOST/annotationsCreate annotation (hline, text, trendline, rectangle, channel)PUT/annotations/{annotationId}Update annotation (merges data fields)DELETE/annotations/{annotationId}Delete annotationPOST/annotations/bulkBulk create annotations
MethodPathDescriptionGET/trade-plansList trade plansGET/trade-plans/{planId}Get trade planPOST/trade-plansCreate trade planPUT/trade-plans/{planId}Update trade planDELETE/trade-plans/{planId}Delete trade planPOST/trade-plans/{planId}/duplicateDuplicate trade plan
MethodPathDescriptionPOST/tools/position-sizeCalculate position size from risk params
MethodPathDescriptionGET/user/settingsGet user settingsPUT/user/settingsUpdate user settingsDELETE/user/settings/{settingKey}Delete a setting
MethodPathDescriptionGET/visual-strategiesList user's strategiesGET/visual-strategies/{id}Strategy detailsPOST/visual-strategiesCreate strategyPUT/visual-strategies/{id}Update strategyGET/user/trade-signals/activeActive trade signalsGET/user/trade-signals/recent?limit=20Recent signalsGET/user/trade-signals/statsSignal performance statsGET/user/trade-signals/symbol/{symbol}Signals for a symbol
MethodPathDescriptionPOST/backtestsTrigger backtest (async)GET/backtestsList backtestsGET/backtests/summaryBacktest summaryGET/backtests/{requestId}Get backtest statusGET/backtests/{requestId}/resultsGet backtest resultsDELETE/backtests/{requestId}Delete a backtest Backtests are async — POST triggers, then poll GET until status: "completed". Body: { strategyId, symbols: ["BTC-USD"], startDate: "2025-01-01", endDate: "2026-01-30" } Note: symbols is an array, not symbol (singular).
MethodPathDescriptionGET/portfoliosList portfoliosGET/portfolios/{id}Portfolio details + holdingsGET/trades?status=openList tradesPOST/tradesLog a new tradePUT/trades/{id}Update tradeGET/trade-plansList trade plans
MethodPathDescriptionGET/watchlistGet watchlistPOST/watchlistAdd symbol ({"symbol":"BTC-USD"})DELETE/watchlist/{symbol}Remove symbol
MethodPathDescriptionGET/custom-eventsList custom eventsPOST/custom-eventsCreate custom eventGET/custom-events/{id}Event details
MethodPathDescriptionPOST/custom-event-symbols/:eventId/enable-allBulk activate symbols for an eventPOST/custom-event-symbols/:eventId/disable-allBulk deactivate symbols for an eventGET/custom-event-symbols/event/:eventIdGet active symbols for an eventGET/custom-event-symbolsList all event-symbol associations
MethodPathDescriptionPOST/strategy-symbols/:strategyId/enable-allBulk activate symbols for a strategyPOST/strategy-symbols/:strategyId/disable-allBulk deactivate symbols for a strategyGET/strategy-symbols/strategy/:strategyIdGet active symbols for a strategyGET/strategy-symbolsList all strategy-symbol associations
MethodPathDescriptionGET/ai/dashboardFull account overview: watchlist, signals, trades, portfolios, strategies, eventsGET/ai/symbol-brief/{symbol}Single-symbol snapshot: price, candles, indicators, S/R, events, signalsGET/ai/strategy-performanceAll strategies with signal stats, win rate, P&L breakdowns 💡 Use these first! The AI summary endpoints are pre-aggregated for AI consumption. When a user asks "how's BTC?" or "what's going on?", hit these before making multiple individual calls.
MethodPathDescriptionPOST/evaluationsTrigger evaluation runGET/evaluations/{id}Get evaluation results
⚠️ IMPORTANT: Creating a custom event or strategy does NOT automatically activate it for any symbols. After creation, you MUST ask the user which symbols to activate it for, then call the enable endpoint. Without this step, the event/strategy will not fire or generate signals.
Create the event → POST /custom-events Compile the event → POST /custom-events/{id}/compile Ask the user which symbols to activate for Activate symbols → POST /custom-event-symbols/{eventId}/enable-all with { "symbols": ["BTC-USD", "ETH-USD"] }
Create the strategy → POST /visual-strategies Compile the strategy → POST /visual-strategies/{id}/compile Ask the user which symbols to activate for Activate symbols → POST /strategy-symbols/{strategyId}/enable-all with { "symbols": ["BTC-USD", "ETH-USD"] }
⚠️ Any update to a custom event or strategy requires recompilation! The evaluator runs the compiled output, not the visual graph. If you update nodes, edges, conditions, or parameters without recompiling, the changes have no effect. After editing an event: POST /custom-events/{id}/compile After editing a strategy: POST /visual-strategies/{id}/compile Always recompile immediately after any PUT update call.
Event symbols: GET /custom-event-symbols/event/{eventId} Strategy symbols: GET /strategy-symbols/strategy/{strategyId} All activations: GET /custom-event-symbols and GET /strategy-symbols (query: ?activeOnly=true)
Event: POST /custom-event-symbols/{eventId}/disable-all with { "symbols": [...] } Strategy: POST /strategy-symbols/{strategyId}/disable-all with { "symbols": [...] }
When presenting data to users: Market overview: Show price, % change, key S/R levels, and any recent events. Signals: Show symbol, direction, entry, stop loss, confidence score, strategy name. S/R levels: Sort by score (strongest first), show level and touch count. Backtests: Show trade count, win rate, total return, Sharpe ratio, best/worst trades.
EMA (multiple periods), SMA, RSI, MACD, Bollinger Bands, DSS (Double Smoothed Stochastic), Stochastic RSI, ATR, ADX, OBV, Volume Profile, Ichimoku Cloud, Fibonacci Retracement, Support/Resistance, Trendlines, Candlestick Patterns, SMC (Order Blocks, FVGs, BOS/ChoCH).
DWLF Academy is a CDN-hosted collection of educational content (15 tracks, 60+ lessons) covering indicators, events, strategies, charting, and more. No auth required. Use academy tools to read lesson content and understand DWLF concepts: dwlf_list_academy_tracks — browse all tracks and lessons dwlf_search_academy — search by keyword dwlf_get_academy_lesson — read a specific lesson (markdown) When a user asks "how does X work in DWLF?" or "what is DSS?", check the academy first — it likely has a lesson explaining it.
API endpoints (params, response shapes): read references/api-endpoints.md Strategy builder (node types, edge wiring, examples): read references/strategy-builder.md
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.