[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M75CFY8GCJT112DAZP5W896T":3,"skill-same:01M75CFY8GCJT112DAZP5W896T":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":6,"ownerHtmlUrl":37,"ownerBlogUrl":38,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M75CFY8GCJT112DAZP5W896T","dwlf",null,"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\u002FR, 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\u002Fresistance, strategy builder, trade journal, watchlist, chart annotations, trade plans, position sizing, how's BTC, how's the market.","javimosch\u002Fopen-claw-skills","javimosch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12900508?v=4","01M6D3F2AS6PV75ET9PZ1QGP8J","Javier Leandro Arancibia","01M75B8NCTAJG9WH5YNZH7C3D8",0,"MIT","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fandywilliams\u002Fdwlf\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: dwlf\ndescription: >\n  Interact with DWLF (dwlf.co.uk), a market analysis platform for crypto and stocks.\n  Use for: market data, price charts, technical indicators (EMA, RSI, DSS, S\u002FR, trendlines,\n  candlestick patterns, SMC), strategies (visual signal builder), backtesting, custom events,\n  trade signals, portfolio tracking, watchlists, trade journaling, chart annotations,\n  trade plans, position sizing, and academy content.\n  Trigger on: market analysis, trading signals, backtests, portfolio, DWLF, chart indicators,\n  support\u002Fresistance, strategy builder, trade journal, watchlist, chart annotations, trade plans,\n  position sizing, how's BTC, how's the market.\nmetadata:\n  clawdbot:\n    emoji: \"📊\"\n    requires:\n      bins: [\"curl\", \"jq\"]\n---\n\n# DWLF — Market Analysis Platform\n\nAPI base: `https:\u002F\u002Fapi.dwlf.co.uk\u002Fv2`\n\n## Auth\n\nUse API key auth. Check `TOOLS.md` for the key. Header:\n```\nAuthorization: ApiKey dwlf_sk_...\n```\n\nHelper script: `scripts\u002Fdwlf-api.sh`\n\n## Quick Start\n\n```bash\n# Generic GET request\n.\u002Fscripts\u002Fdwlf-api.sh GET \u002Fmarket-data\u002FBTC-USD\n\n# With query params\n.\u002Fscripts\u002Fdwlf-api.sh GET \"\u002Fevents?symbol=BTC-USD&limit=10\"\n\n# POST request\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fvisual-backtests '{\"strategyId\":\"...\",\"symbol\":\"BTC-USD\"}'\n```\n\n## Annotation Examples\n\n```bash\n# Create a horizontal line annotation at a key support level\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fannotations '{\n  \"symbol\": \"BTC-USD\",\n  \"timeframe\": \"1d\",\n  \"type\": \"hline\",\n  \"data\": { \"price\": 95000, \"color\": \"#00ff00\", \"label\": \"Key Support\", \"lineStyle\": \"solid\", \"lineWidth\": 2, \"showPrice\": true },\n  \"origin\": \"ai\"\n}'\n\n# Create a text annotation on chart\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fannotations '{\n  \"symbol\": \"ETH-USD\",\n  \"timeframe\": \"4h\",\n  \"type\": \"text\",\n  \"data\": { \"text\": \"Breakout zone\", \"price\": 3800, \"time\": \"2025-06-01T00:00:00Z\", \"color\": \"#ffaa00\", \"fontSize\": 14 },\n  \"origin\": \"ai\"\n}'\n\n# Bulk create multiple annotations\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fannotations\u002Fbulk '{\n  \"annotations\": [\n    { \"symbol\": \"BTC-USD\", \"timeframe\": \"1d\", \"type\": \"hline\", \"data\": { \"price\": 100000, \"color\": \"#ff0000\", \"label\": \"Resistance\" }, \"origin\": \"ai\" },\n    { \"symbol\": \"BTC-USD\", \"timeframe\": \"1d\", \"type\": \"hline\", \"data\": { \"price\": 92000, \"color\": \"#00ff00\", \"label\": \"Support\" }, \"origin\": \"ai\" }\n  ]\n}'\n\n# List annotations for a symbol\n.\u002Fscripts\u002Fdwlf-api.sh GET \"\u002Fannotations?symbol=BTC-USD&timeframe=1d\"\n\n# Update an annotation (merges data — only changes specified fields)\n.\u002Fscripts\u002Fdwlf-api.sh PUT \u002Fannotations\u002Fabc123 '{ \"data\": { \"color\": \"#ff0000\" } }'\n```\n\n## Trade Plan & Position Sizing Examples\n\n```bash\n# Calculate position size\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Ftools\u002Fposition-size '{\n  \"accountSize\": 10000,\n  \"riskPercent\": 2,\n  \"entryPrice\": 95000,\n  \"stopLoss\": 93000,\n  \"symbol\": \"BTC-USD\"\n}'\n\n# Create a trade plan\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Ftrade-plans '{\n  \"symbol\": \"BTC-USD\",\n  \"direction\": \"long\",\n  \"entryPrice\": 95000,\n  \"stopLoss\": 93000,\n  \"takeProfit\": 100000,\n  \"notes\": \"Bounce off key support with RSI divergence\"\n}'\n```\n\n## Symbol Format\n\n- Crypto: `BTC-USD`, `ETH-USD`, `SOL-USD` (always with `-USD` suffix)\n- Stocks\u002FETFs: `TSLA`, `NVDA`, `META`, `MARA`, `RIOT`\n- Forex: `GBP-USD`, `EUR-USD`\n\nIf user says \"BTC\" → use `BTC-USD`. If \"TSLA\" → use `TSLA`.\n\n## Core Endpoints\n\n### Market Data\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fmarket-data\u002F{symbol}?interval=1d&limit=50` | OHLCV candles |\n| GET | `\u002Fmarket-data\u002Fsymbols` | List all tracked symbols |\n| GET | `\u002Fsupport-resistance\u002F{symbol}` | S\u002FR levels with scores |\n| GET | `\u002Fchart-indicators\u002F{symbol}?interval=1d` | All indicators (RSI, EMA, MACD, etc.) |\n| GET | `\u002Ftrendlines\u002F{symbol}` | Auto-detected trendlines |\n| GET | `\u002Fevents?symbol={symbol}&limit=20` | System events (breakouts) |\n| GET | `\u002Fevents?type=custom_event&scope=user&symbol={symbol}&days=30` | User's custom events (wcl, dss, reversals etc.) |\n\n### Chart Annotations\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fannotations?symbol={symbol}&timeframe={tf}` | List annotations |\n| POST | `\u002Fannotations` | Create annotation (hline, text, trendline, rectangle, channel) |\n| PUT | `\u002Fannotations\u002F{annotationId}` | Update annotation (merges data fields) |\n| DELETE | `\u002Fannotations\u002F{annotationId}` | Delete annotation |\n| POST | `\u002Fannotations\u002Fbulk` | Bulk create annotations |\n\n### Trade Plans\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Ftrade-plans` | List trade plans |\n| GET | `\u002Ftrade-plans\u002F{planId}` | Get trade plan |\n| POST | `\u002Ftrade-plans` | Create trade plan |\n| PUT | `\u002Ftrade-plans\u002F{planId}` | Update trade plan |\n| DELETE | `\u002Ftrade-plans\u002F{planId}` | Delete trade plan |\n| POST | `\u002Ftrade-plans\u002F{planId}\u002Fduplicate` | Duplicate trade plan |\n\n### Position Sizing\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Ftools\u002Fposition-size` | Calculate position size from risk params |\n\n### User Settings\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fuser\u002Fsettings` | Get user settings |\n| PUT | `\u002Fuser\u002Fsettings` | Update user settings |\n| DELETE | `\u002Fuser\u002Fsettings\u002F{settingKey}` | Delete a setting |\n\n### Strategies & Signals\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fvisual-strategies` | List user's strategies |\n| GET | `\u002Fvisual-strategies\u002F{id}` | Strategy details |\n| POST | `\u002Fvisual-strategies` | Create strategy |\n| PUT | `\u002Fvisual-strategies\u002F{id}` | Update strategy |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Factive` | Active trade signals |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Frecent?limit=20` | Recent signals |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Fstats` | Signal performance stats |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Fsymbol\u002F{symbol}` | Signals for a symbol |\n\n### Backtesting\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fbacktests` | Trigger backtest (async) |\n| GET | `\u002Fbacktests` | List backtests |\n| GET | `\u002Fbacktests\u002Fsummary` | Backtest summary |\n| GET | `\u002Fbacktests\u002F{requestId}` | Get backtest status |\n| GET | `\u002Fbacktests\u002F{requestId}\u002Fresults` | Get backtest results |\n| DELETE | `\u002Fbacktests\u002F{requestId}` | Delete a backtest |\n\nBacktests are async — POST triggers, then poll GET until `status: \"completed\"`.\n- Body: `{ strategyId, symbols: [\"BTC-USD\"], startDate: \"2025-01-01\", endDate: \"2026-01-30\" }`\n- Note: `symbols` is an **array**, not `symbol` (singular).\n\n### Portfolio & Trades\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fportfolios` | List portfolios |\n| GET | `\u002Fportfolios\u002F{id}` | Portfolio details + holdings |\n| GET | `\u002Ftrades?status=open` | List trades |\n| POST | `\u002Ftrades` | Log a new trade |\n| PUT | `\u002Ftrades\u002F{id}` | Update trade |\n| GET | `\u002Ftrade-plans` | List trade plans |\n\n### Watchlist\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fwatchlist` | Get watchlist |\n| POST | `\u002Fwatchlist` | Add symbol (`{\"symbol\":\"BTC-USD\"}`) |\n| DELETE | `\u002Fwatchlist\u002F{symbol}` | Remove symbol |\n\n### Custom Events\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fcustom-events` | List custom events |\n| POST | `\u002Fcustom-events` | Create custom event |\n| GET | `\u002Fcustom-events\u002F{id}` | Event details |\n\n### Custom Event Symbol Activation\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fcustom-event-symbols\u002F:eventId\u002Fenable-all` | Bulk activate symbols for an event |\n| POST | `\u002Fcustom-event-symbols\u002F:eventId\u002Fdisable-all` | Bulk deactivate symbols for an event |\n| GET | `\u002Fcustom-event-symbols\u002Fevent\u002F:eventId` | Get active symbols for an event |\n| GET | `\u002Fcustom-event-symbols` | List all event-symbol associations |\n\n### Strategy Symbol Activation\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fstrategy-symbols\u002F:strategyId\u002Fenable-all` | Bulk activate symbols for a strategy |\n| POST | `\u002Fstrategy-symbols\u002F:strategyId\u002Fdisable-all` | Bulk deactivate symbols for a strategy |\n| GET | `\u002Fstrategy-symbols\u002Fstrategy\u002F:strategyId` | Get active symbols for a strategy |\n| GET | `\u002Fstrategy-symbols` | List all strategy-symbol associations |\n\n### AI Summaries\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fai\u002Fdashboard` | Full account overview: watchlist, signals, trades, portfolios, strategies, events |\n| GET | `\u002Fai\u002Fsymbol-brief\u002F{symbol}` | Single-symbol snapshot: price, candles, indicators, S\u002FR, events, signals |\n| GET | `\u002Fai\u002Fstrategy-performance` | All strategies with signal stats, win rate, P&L breakdowns |\n\n> 💡 **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.\n\n### Evaluations\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fevaluations` | Trigger evaluation run |\n| GET | `\u002Fevaluations\u002F{id}` | Get evaluation results |\n\n## Symbol Activation (Required After Creation)\n\n> ⚠️ **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\u002Fstrategy will **not fire or generate signals**.\n\n### Workflow: Custom Events\n1. Create the event → `POST \u002Fcustom-events`\n2. Compile the event → `POST \u002Fcustom-events\u002F{id}\u002Fcompile`\n3. **Ask the user** which symbols to activate for\n4. **Activate symbols** → `POST \u002Fcustom-event-symbols\u002F{eventId}\u002Fenable-all` with `{ \"symbols\": [\"BTC-USD\", \"ETH-USD\"] }`\n\n### Workflow: Strategies\n1. Create the strategy → `POST \u002Fvisual-strategies`\n2. Compile the strategy → `POST \u002Fvisual-strategies\u002F{id}\u002Fcompile`\n3. **Ask the user** which symbols to activate for\n4. **Activate symbols** → `POST \u002Fstrategy-symbols\u002F{strategyId}\u002Fenable-all` with `{ \"symbols\": [\"BTC-USD\", \"ETH-USD\"] }`\n\n### Editing Events or Strategies\n\n> ⚠️ **Any update to a custom event or strategy requires recompilation!**\n> 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**.\n\n- After editing an event: `POST \u002Fcustom-events\u002F{id}\u002Fcompile`\n- After editing a strategy: `POST \u002Fvisual-strategies\u002F{id}\u002Fcompile`\n\nAlways recompile immediately after any `PUT` update call.\n\n### Checking Active Symbols\n- Event symbols: `GET \u002Fcustom-event-symbols\u002Fevent\u002F{eventId}`\n- Strategy symbols: `GET \u002Fstrategy-symbols\u002Fstrategy\u002F{strategyId}`\n- All activations: `GET \u002Fcustom-event-symbols` and `GET \u002Fstrategy-symbols` (query: `?activeOnly=true`)\n\n### Deactivating Symbols\n- Event: `POST \u002Fcustom-event-symbols\u002F{eventId}\u002Fdisable-all` with `{ \"symbols\": [...] }`\n- Strategy: `POST \u002Fstrategy-symbols\u002F{strategyId}\u002Fdisable-all` with `{ \"symbols\": [...] }`\n\n## Response Formatting\n\nWhen presenting data to users:\n\n**Market overview:** Show price, % change, key S\u002FR levels, and any recent events.\n\n**Signals:** Show symbol, direction, entry, stop loss, confidence score, strategy name.\n\n**S\u002FR levels:** Sort by score (strongest first), show level and touch count.\n\n**Backtests:** Show trade count, win rate, total return, Sharpe ratio, best\u002Fworst trades.\n\n## Available Indicators\n\nEMA (multiple periods), SMA, RSI, MACD, Bollinger Bands, DSS (Double Smoothed Stochastic),\nStochastic RSI, ATR, ADX, OBV, Volume Profile, Ichimoku Cloud, Fibonacci Retracement,\nSupport\u002FResistance, Trendlines, Candlestick Patterns, SMC (Order Blocks, FVGs, BOS\u002FChoCH).\n\n## Academy\n\nDWLF Academy is a CDN-hosted collection of educational content (15 tracks, 60+ lessons) covering indicators, events, strategies, charting, and more. No auth required.\n\nUse academy tools to read lesson content and understand DWLF concepts:\n- `dwlf_list_academy_tracks` — browse all tracks and lessons\n- `dwlf_search_academy` — search by keyword\n- `dwlf_get_academy_lesson` — read a specific lesson (markdown)\n\nWhen a user asks \"how does X work in DWLF?\" or \"what is DSS?\", check the academy first — it likely has a lesson explaining it.\n\n## Detailed Reference\n\n- **API endpoints** (params, response shapes): read `references\u002Fapi-endpoints.md`\n- **Strategy builder** (node types, edge wiring, examples): read `references\u002Fstrategy-builder.md`\n","# DWLF — Market Analysis Platform\n\nAPI base: `https:\u002F\u002Fapi.dwlf.co.uk\u002Fv2`\n\n## Auth\n\nUse API key auth. Check `TOOLS.md` for the key. Header:\n```\nAuthorization: ApiKey dwlf_sk_...\n```\n\nHelper script: `scripts\u002Fdwlf-api.sh`\n\n## Quick Start\n\n```bash\n# Generic GET request\n.\u002Fscripts\u002Fdwlf-api.sh GET \u002Fmarket-data\u002FBTC-USD\n\n# With query params\n.\u002Fscripts\u002Fdwlf-api.sh GET \"\u002Fevents?symbol=BTC-USD&limit=10\"\n\n# POST request\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fvisual-backtests '{\"strategyId\":\"...\",\"symbol\":\"BTC-USD\"}'\n```\n\n## Annotation Examples\n\n```bash\n# Create a horizontal line annotation at a key support level\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fannotations '{\n  \"symbol\": \"BTC-USD\",\n  \"timeframe\": \"1d\",\n  \"type\": \"hline\",\n  \"data\": { \"price\": 95000, \"color\": \"#00ff00\", \"label\": \"Key Support\", \"lineStyle\": \"solid\", \"lineWidth\": 2, \"showPrice\": true },\n  \"origin\": \"ai\"\n}'\n\n# Create a text annotation on chart\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fannotations '{\n  \"symbol\": \"ETH-USD\",\n  \"timeframe\": \"4h\",\n  \"type\": \"text\",\n  \"data\": { \"text\": \"Breakout zone\", \"price\": 3800, \"time\": \"2025-06-01T00:00:00Z\", \"color\": \"#ffaa00\", \"fontSize\": 14 },\n  \"origin\": \"ai\"\n}'\n\n# Bulk create multiple annotations\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Fannotations\u002Fbulk '{\n  \"annotations\": [\n    { \"symbol\": \"BTC-USD\", \"timeframe\": \"1d\", \"type\": \"hline\", \"data\": { \"price\": 100000, \"color\": \"#ff0000\", \"label\": \"Resistance\" }, \"origin\": \"ai\" },\n    { \"symbol\": \"BTC-USD\", \"timeframe\": \"1d\", \"type\": \"hline\", \"data\": { \"price\": 92000, \"color\": \"#00ff00\", \"label\": \"Support\" }, \"origin\": \"ai\" }\n  ]\n}'\n\n# List annotations for a symbol\n.\u002Fscripts\u002Fdwlf-api.sh GET \"\u002Fannotations?symbol=BTC-USD&timeframe=1d\"\n\n# Update an annotation (merges data — only changes specified fields)\n.\u002Fscripts\u002Fdwlf-api.sh PUT \u002Fannotations\u002Fabc123 '{ \"data\": { \"color\": \"#ff0000\" } }'\n```\n\n## Trade Plan & Position Sizing Examples\n\n```bash\n# Calculate position size\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Ftools\u002Fposition-size '{\n  \"accountSize\": 10000,\n  \"riskPercent\": 2,\n  \"entryPrice\": 95000,\n  \"stopLoss\": 93000,\n  \"symbol\": \"BTC-USD\"\n}'\n\n# Create a trade plan\n.\u002Fscripts\u002Fdwlf-api.sh POST \u002Ftrade-plans '{\n  \"symbol\": \"BTC-USD\",\n  \"direction\": \"long\",\n  \"entryPrice\": 95000,\n  \"stopLoss\": 93000,\n  \"takeProfit\": 100000,\n  \"notes\": \"Bounce off key support with RSI divergence\"\n}'\n```\n\n## Symbol Format\n\n- Crypto: `BTC-USD`, `ETH-USD`, `SOL-USD` (always with `-USD` suffix)\n- Stocks\u002FETFs: `TSLA`, `NVDA`, `META`, `MARA`, `RIOT`\n- Forex: `GBP-USD`, `EUR-USD`\n\nIf user says \"BTC\" → use `BTC-USD`. If \"TSLA\" → use `TSLA`.\n\n## Core Endpoints\n\n### Market Data\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fmarket-data\u002F{symbol}?interval=1d&limit=50` | OHLCV candles |\n| GET | `\u002Fmarket-data\u002Fsymbols` | List all tracked symbols |\n| GET | `\u002Fsupport-resistance\u002F{symbol}` | S\u002FR levels with scores |\n| GET | `\u002Fchart-indicators\u002F{symbol}?interval=1d` | All indicators (RSI, EMA, MACD, etc.) |\n| GET | `\u002Ftrendlines\u002F{symbol}` | Auto-detected trendlines |\n| GET | `\u002Fevents?symbol={symbol}&limit=20` | System events (breakouts) |\n| GET | `\u002Fevents?type=custom_event&scope=user&symbol={symbol}&days=30` | User's custom events (wcl, dss, reversals etc.) |\n\n### Chart Annotations\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fannotations?symbol={symbol}&timeframe={tf}` | List annotations |\n| POST | `\u002Fannotations` | Create annotation (hline, text, trendline, rectangle, channel) |\n| PUT | `\u002Fannotations\u002F{annotationId}` | Update annotation (merges data fields) |\n| DELETE | `\u002Fannotations\u002F{annotationId}` | Delete annotation |\n| POST | `\u002Fannotations\u002Fbulk` | Bulk create annotations |\n\n### Trade Plans\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Ftrade-plans` | List trade plans |\n| GET | `\u002Ftrade-plans\u002F{planId}` | Get trade plan |\n| POST | `\u002Ftrade-plans` | Create trade plan |\n| PUT | `\u002Ftrade-plans\u002F{planId}` | Update trade plan |\n| DELETE | `\u002Ftrade-plans\u002F{planId}` | Delete trade plan |\n| POST | `\u002Ftrade-plans\u002F{planId}\u002Fduplicate` | Duplicate trade plan |\n\n### Position Sizing\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Ftools\u002Fposition-size` | Calculate position size from risk params |\n\n### User Settings\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fuser\u002Fsettings` | Get user settings |\n| PUT | `\u002Fuser\u002Fsettings` | Update user settings |\n| DELETE | `\u002Fuser\u002Fsettings\u002F{settingKey}` | Delete a setting |\n\n### Strategies & Signals\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fvisual-strategies` | List user's strategies |\n| GET | `\u002Fvisual-strategies\u002F{id}` | Strategy details |\n| POST | `\u002Fvisual-strategies` | Create strategy |\n| PUT | `\u002Fvisual-strategies\u002F{id}` | Update strategy |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Factive` | Active trade signals |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Frecent?limit=20` | Recent signals |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Fstats` | Signal performance stats |\n| GET | `\u002Fuser\u002Ftrade-signals\u002Fsymbol\u002F{symbol}` | Signals for a symbol |\n\n### Backtesting\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fbacktests` | Trigger backtest (async) |\n| GET | `\u002Fbacktests` | List backtests |\n| GET | `\u002Fbacktests\u002Fsummary` | Backtest summary |\n| GET | `\u002Fbacktests\u002F{requestId}` | Get backtest status |\n| GET | `\u002Fbacktests\u002F{requestId}\u002Fresults` | Get backtest results |\n| DELETE | `\u002Fbacktests\u002F{requestId}` | Delete a backtest |\n\nBacktests are async — POST triggers, then poll GET until `status: \"completed\"`.\n- Body: `{ strategyId, symbols: [\"BTC-USD\"], startDate: \"2025-01-01\", endDate: \"2026-01-30\" }`\n- Note: `symbols` is an **array**, not `symbol` (singular).\n\n### Portfolio & Trades\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fportfolios` | List portfolios |\n| GET | `\u002Fportfolios\u002F{id}` | Portfolio details + holdings |\n| GET | `\u002Ftrades?status=open` | List trades |\n| POST | `\u002Ftrades` | Log a new trade |\n| PUT | `\u002Ftrades\u002F{id}` | Update trade |\n| GET | `\u002Ftrade-plans` | List trade plans |\n\n### Watchlist\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fwatchlist` | Get watchlist |\n| POST | `\u002Fwatchlist` | Add symbol (`{\"symbol\":\"BTC-USD\"}`) |\n| DELETE | `\u002Fwatchlist\u002F{symbol}` | Remove symbol |\n\n### Custom Events\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fcustom-events` | List custom events |\n| POST | `\u002Fcustom-events` | Create custom event |\n| GET | `\u002Fcustom-events\u002F{id}` | Event details |\n\n### Custom Event Symbol Activation\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fcustom-event-symbols\u002F:eventId\u002Fenable-all` | Bulk activate symbols for an event |\n| POST | `\u002Fcustom-event-symbols\u002F:eventId\u002Fdisable-all` | Bulk deactivate symbols for an event |\n| GET | `\u002Fcustom-event-symbols\u002Fevent\u002F:eventId` | Get active symbols for an event |\n| GET | `\u002Fcustom-event-symbols` | List all event-symbol associations |\n\n### Strategy Symbol Activation\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fstrategy-symbols\u002F:strategyId\u002Fenable-all` | Bulk activate symbols for a strategy |\n| POST | `\u002Fstrategy-symbols\u002F:strategyId\u002Fdisable-all` | Bulk deactivate symbols for a strategy |\n| GET | `\u002Fstrategy-symbols\u002Fstrategy\u002F:strategyId` | Get active symbols for a strategy |\n| GET | `\u002Fstrategy-symbols` | List all strategy-symbol associations |\n\n### AI Summaries\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `\u002Fai\u002Fdashboard` | Full account overview: watchlist, signals, trades, portfolios, strategies, events |\n| GET | `\u002Fai\u002Fsymbol-brief\u002F{symbol}` | Single-symbol snapshot: price, candles, indicators, S\u002FR, events, signals |\n| GET | `\u002Fai\u002Fstrategy-performance` | All strategies with signal stats, win rate, P&L breakdowns |\n\n> 💡 **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.\n\n### Evaluations\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | `\u002Fevaluations` | Trigger evaluation run |\n| GET | `\u002Fevaluations\u002F{id}` | Get evaluation results |\n\n## Symbol Activation (Required After Creation)\n\n> ⚠️ **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\u002Fstrategy will **not fire or generate signals**.\n\n### Workflow: Custom Events\n1. Create the event → `POST \u002Fcustom-events`\n2. Compile the event → `POST \u002Fcustom-events\u002F{id}\u002Fcompile`\n3. **Ask the user** which symbols to activate for\n4. **Activate symbols** → `POST \u002Fcustom-event-symbols\u002F{eventId}\u002Fenable-all` with `{ \"symbols\": [\"BTC-USD\", \"ETH-USD\"] }`\n\n### Workflow: Strategies\n1. Create the strategy → `POST \u002Fvisual-strategies`\n2. Compile the strategy → `POST \u002Fvisual-strategies\u002F{id}\u002Fcompile`\n3. **Ask the user** which symbols to activate for\n4. **Activate symbols** → `POST \u002Fstrategy-symbols\u002F{strategyId}\u002Fenable-all` with `{ \"symbols\": [\"BTC-USD\", \"ETH-USD\"] }`\n\n### Editing Events or Strategies\n\n> ⚠️ **Any update to a custom event or strategy requires recompilation!**\n> 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**.\n\n- After editing an event: `POST \u002Fcustom-events\u002F{id}\u002Fcompile`\n- After editing a strategy: `POST \u002Fvisual-strategies\u002F{id}\u002Fcompile`\n\nAlways recompile immediately after any `PUT` update call.\n\n### Checking Active Symbols\n- Event symbols: `GET \u002Fcustom-event-symbols\u002Fevent\u002F{eventId}`\n- Strategy symbols: `GET \u002Fstrategy-symbols\u002Fstrategy\u002F{strategyId}`\n- All activations: `GET \u002Fcustom-event-symbols` and `GET \u002Fstrategy-symbols` (query: `?activeOnly=true`)\n\n### Deactivating Symbols\n- Event: `POST \u002Fcustom-event-symbols\u002F{eventId}\u002Fdisable-all` with `{ \"symbols\": [...] }`\n- Strategy: `POST \u002Fstrategy-symbols\u002F{strategyId}\u002Fdisable-all` with `{ \"symbols\": [...] }`\n\n## Response Formatting\n\nWhen presenting data to users:\n\n**Market overview:** Show price, % change, key S\u002FR levels, and any recent events.\n\n**Signals:** Show symbol, direction, entry, stop loss, confidence score, strategy name.\n\n**S\u002FR levels:** Sort by score (strongest first), show level and touch count.\n\n**Backtests:** Show trade count, win rate, total return, Sharpe ratio, best\u002Fworst trades.\n\n## Available Indicators\n\nEMA (multiple periods), SMA, RSI, MACD, Bollinger Bands, DSS (Double Smoothed Stochastic),\nStochastic RSI, ATR, ADX, OBV, Volume Profile, Ichimoku Cloud, Fibonacci Retracement,\nSupport\u002FResistance, Trendlines, Candlestick Patterns, SMC (Order Blocks, FVGs, BOS\u002FChoCH).\n\n## Academy\n\nDWLF Academy is a CDN-hosted collection of educational content (15 tracks, 60+ lessons) covering indicators, events, strategies, charting, and more. No auth required.\n\nUse academy tools to read lesson content and understand DWLF concepts:\n- `dwlf_list_academy_tracks` — browse all tracks and lessons\n- `dwlf_search_academy` — search by keyword\n- `dwlf_get_academy_lesson` — read a specific lesson (markdown)\n\nWhen a user asks \"how does X work in DWLF?\" or \"what is DSS?\", check the academy first — it likely has a lesson explaining it.\n\n## Detailed Reference\n\n- **API endpoints** (params, response shapes): read `references\u002Fapi-endpoints.md`\n- **Strategy builder** (node types, edge wiring, examples): read `references\u002Fstrategy-builder.md`\n",{"name":5,"metadata":24,"description":31},{"clawdbot":25},{"emoji":26,"requires":27},"📊",{"bins":28},[29,30],"curl","jq","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\u002FR, 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\u002Fresistance, strategy builder, trade journal, watchlist, chart annotations, trade plans, position sizing, how's BTC, how's the market.\n","main","f9d3fe7cf9ac8f1ea63a0d96e98e1f510a3814db","skills\u002Fandywilliams\u002Fdwlf",1,"https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills","https:\u002F\u002Fgithub.com\u002Fjavimosch","intrane.fr","Building robust, open-source infrastructure for the commons. AI-leveraged, self-hosted, built to last.","2026-06-07 03:34:58",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add javimosch\u002Fopen-claw-skills --skill dwlf",{"tool":47,"command":48},"bunx","bunx skills add javimosch\u002Fopen-claw-skills --skill dwlf",{"tool":50,"command":51},"pnpm","pnpm dlx skills add javimosch\u002Fopen-claw-skills --skill dwlf","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fandywilliams\u002Fdwlf\u002FSKILL.md",true,[],[56,64,71,78,85,92],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":63},"01M778GGXG2VQ0YF31W2MKGMQZ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[],[],"2026-11-15 14:19:17",{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":63},"01M778G7BH8SBJ9FJ6C3G7CB1K","ceaser","Interact with the Ceaser privacy protocol on Base L2 using the ceaser-mcp MCP tools. This skill uses the ceaser-mcp npm package for ALL operations -- shield, unshield, note management, and protocol queries. All ceaser tool calls use CLI subcommands (npx -y ceaser-mcp \u003Csubcommand>). Ceaser is a privacy-preserving ETH wrapper using Noir\u002FUltraHonk zero-knowledge proofs on Base L2 (chain ID 8453).","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyra-v21\u002Fceaser\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":63},"01M778FYCJQZWFKKX5FYMK3S47","ceaser-send","Fully automated private ETH transfer via Ceaser Protocol on Base L2 using the ceaser-mcp MCP tools. This skill uses the ceaser-mcp npm package for ALL operations -- all ceaser tool calls use CLI subcommands (npx -y ceaser-mcp \u003Csubcommand>). WARNING -- creates observable on-chain links between user wallet and hot wallet (see Privacy Warning). Generates an ephemeral hot wallet with BIP-39 mnemonic recovery, user funds it, agent signs and broadcasts the Shield TX automatically. Exactly one manual step required (funding the hot wallet with ETH). Uses Noir\u002FUltraHonk zero-knowledge proofs.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyra-v21\u002Fceaser-send\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":63},"01M778FQQNSEYA3HJKZBPQ4M9Z","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[],[],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":63},"01M778FGVZX7QA2TF9BFMM37FY","moldium","Post and manage content on the Moldium blog platform. Triggered by \"post to Moldium\", \"write a blog post\", \"publish an article\", etc.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzyom45\u002Fmoldium\u002FSKILL.md",[],[],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":63},"01M778F88D8PQ9MQ0KNW2TJ8ZH","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, submit comments, search papers, and import papers. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, submitting paper reviews, searching papers by title, or importing papers from arXiv URLs via API at http:\u002F\u002Fweakaccept.top:8000\u002F.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fopen-claw-skills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[],[]]