[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6X8ZBQPR8FFMS628YVVS259":3,"skill-same:01M6X8ZBQPR8FFMS628YVVS259":164},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":22,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6X8ZBQPR8FFMS628YVVS259","dsl-dynamic-stop-loss",null,"Manages automated dynamic\u002Ftrailing stop losses (DSL only) for leveraged perpetual positions on Hyperliquid. Default mode: High Water (pct_of_high_water) — the trailing floor is a percentage of the peak ROE, recalculated every tick, no ceiling. Also supports fixed ROE tiers for legacy positions. Monitors price via cron, ratchets profit floors through configurable tiers, syncs the stop loss to Hyperliquid via edit_position, and auto-closes positions on breach via mcporter. Supports LONG and SHORT, strategy-scoped state isolation, and automatic cleanup.","enuno\u002Fcrewless-capital","enuno","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6727752?v=4","01M6J09HF6Y74150F7PEMC446X","Elvis Nuno","01M6X86WGZG9RH09ACTSTJ2383",1,"MIT","https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"dsl","dsl dynamic stop loss","stop","main","scoped","breach","for","perp positions","profit","mode","long","auth","default","Legacy","only","auto","strategy","short","python3","cleanup","2026-11-10 10:12:30",false,"---\nname: dsl-dynamic-stop-loss\ndescription: >-\n  Manages automated dynamic\u002Ftrailing stop losses (DSL only) for leveraged perpetual positions on\n  Hyperliquid. Default mode: High Water (pct_of_high_water) — the trailing floor is a percentage\n  of the peak ROE, recalculated every tick, no ceiling. Also supports fixed ROE tiers for legacy\n  positions. Monitors price via cron, ratchets profit floors through configurable tiers, syncs\n  the stop loss to Hyperliquid via edit_position, and auto-closes positions on breach via mcporter.\n  Supports LONG and SHORT, strategy-scoped state isolation, and automatic cleanup.\nlicense: MIT\ncompatibility: >-\n  Requires python3, mcporter (configured with Senpi auth), and cron. Hyperliquid perp positions\n  only (main dex and xyz dex).\nmetadata:\n  author: jason-goldberg\n  version: \"5.3.1\"\n  platform: senpi\n  exchange: hyperliquid\n  \n---\n\n# Dynamic Stop Loss (DSL) v5.3.1\n\n**Scope — DSL only.** This skill handles **only** dynamic\u002Ftrailing stop loss (DSL), not normal (static) stop loss. If the user says \"stop loss\" without clearly meaning DSL or static, **ask** (e.g. \"Do you want a trailing stop that moves up with profit, or a fixed price stop loss?\").\n\n**User-facing language.** Use plain terms (\"trailing stop\", \"profit protection\"). Do **not** mention state paths, cron IDs, script names, or `DSL_*` env unless the user asks for technical details.\n\n## Default Mode: High Water\n\n**All new positions should use High Water Mode** (`lockMode: \"pct_of_high_water\"`). This is the recommended default for every Senpi skill. The trailing floor is a percentage of the peak ROE, recalculated on every tick, with no ceiling. A trade at +50% ROE with 85% lock has its floor at +42.5%. A trade at +200% ROE has its floor at +170%. The geometry is constant — the trade always keeps 85% of its best moment.\n\nSee [dsl-high-water-spec 1.0.md](dsl-high-water-spec%201.0.md) for the full spec and [dsl-high-water-adoption-guide.md](dsl-high-water-adoption-guide.md) for per-skill tier configurations.\n\n**When creating DSL state files, ALWAYS include:**\n```json\n{\n  \"lockMode\": \"pct_of_high_water\",\n  \"tiers\": [\n    {\"triggerPct\": 7,  \"lockHwPct\": 40, \"consecutiveBreachesRequired\": 3},\n    {\"triggerPct\": 12, \"lockHwPct\": 55, \"consecutiveBreachesRequired\": 2},\n    {\"triggerPct\": 15, \"lockHwPct\": 75, \"consecutiveBreachesRequired\": 2},\n    {\"triggerPct\": 20, \"lockHwPct\": 85, \"consecutiveBreachesRequired\": 1}\n  ]\n}\n```\nUse the per-skill tiers from `dsl-high-water-adoption-guide.md` — different skills have different tier widths. The above is the standard momentum default (FOX, HAWK, DIRE WOLF).\n\n**Legacy mode** (`lockMode: \"fixed_roe\"` or omitted) still works for existing positions. `lockPct` tiers lock a fixed fraction of the entry→HW price range. No per-tick recalculation — floor only updates on tier changes.\n\n---\n\nTrailing stop for Hyperliquid perps (main + xyz). **Default: High Water Mode** — floor trails the peak ROE as a percentage, recalculated every tick, no ceiling. Cron runs `dsl-v5.py` every 3–5 min; the script syncs the current floor to Hyperliquid via Senpi `edit_position` so HL can execute the SL even if the cron process goes down. Phase 1: wide retrace with absolute floor cap. Phase 2: tiered High Water locks that ratchet up with profit and never come back down. See [references\u002Ftier-examples.md](references\u002Ftier-examples.md) and [references\u002Fstate-schema.md](references\u002Fstate-schema.md).\n\n**Files:** `scripts\u002Fdsl-v5.py` (monitor\u002Fclose, ndjson output), `scripts\u002Fdsl-cleanup.py` (strategy dir cleanup), `scripts\u002Fdsl-cli.py` (lifecycle — use for all setup). Config: `dsl-profile.json` (this skill’s default). State: `{DSL_STATE_DIR}\u002F{strategyId}\u002F{asset}.json`; strategy config: [references\u002Fstrategy-schema.md](references\u002Fstrategy-schema.md). Cleanup: [references\u002Fcleanup.md](references\u002Fcleanup.md). Output schema: [references\u002Foutput-schema.md](references\u002Foutput-schema.md).\n\n## Architecture\n\n- **Scheduler:** OpenClaw cron (one per strategy, every 3–5 min). No per-position cron — the script discovers positions from MCP clearinghouse and state files.\n- **Cron runner:** `dsl-v5.py` — accepts **`--strategy-id \u003Cuuid>`** and **`--state-dir \u003Cpath>`** (CLI args take precedence; env vars `DSL_STRATEGY_ID`, `DSL_STATE_DIR` are fallbacks). Prefer CLI args to avoid agent mistyping UUID in env. Checks strategy active (MCP `strategy_get`); reconciles state files with clearinghouse (archives orphans); for each active position: fetch price, update high water and tiers, sync SL to Hyperliquid via `edit_position`, detect breach, on breach call `close_position` and archive state. Prints one JSON line per position (ndjson).\n- **Lifecycle:** `dsl-cli.py` creates\u002Fupdates strategy config and position state files only (it does not place the SL order). The cron runner syncs the floor to Hyperliquid via `edit_position` and sets `slOrderId` in state. When adding DSL for a strategy with no cron, CLI outputs `cron_needed`, `cron_job_id`, `cron_env`, `cron_schedule`. Agent creates or removes the OpenClaw cron using that ID.\n- **Cleanup:** On strategy inactive or no positions left, agent runs `dsl-cleanup.py` to remove the strategy directory. SL sync and close use Senpi (mcporter); scheduling is OpenClaw only.\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│ OpenClaw cron (per strategy)  →  dsl-v5.py                        │\n│   MCP: strategy_get, clearinghouse, prices, edit_position,       │\n│        close_position, execution_get_order_status                │\n│   Output: ndjson (one line per position or strategy-level)       │\n├─────────────────────────────────────────────────────────────────┤\n│ Agent: create\u002Fremove cron from CLI output; run dsl-cleanup;       │\n│        alert on closed \u002F strategy_inactive \u002F pending_close       │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n## CLI commands\n\nAll lifecycle operations use `scripts\u002Fdsl-cli.py`. Global option: `--state-dir` (default: `$DSL_STATE_DIR` or `\u002Fdata\u002Fworkspace\u002Fdsl`). Config must be a file path with `@` prefix (e.g. `@dsl-profile.json`) or inline JSON.\n\n| Command | Usage | Notes |\n|---------|--------|--------|\n| **add-dsl** | `add-dsl \u003Cstrategy-id> [asset dex] --skill \u003Cskill-name> --configuration @\u003Cpath>` | Creates strategy config and position state files. Omit asset\u002Fdex for all positions. Optional `--entry-price`. Output: `cron_needed`, `cron_job_id`, `cron_env`, `cron_schedule` when cron must be created. |\n| **update-dsl** | `update-dsl \u003Cstrategy-id> [asset dex] --configuration \u003Cjson-or-@path>` | Strategy-wide or per-position config patch (e.g. `'{\"phase1\":{\"retraceThreshold\":0.05}}'` or `@override.json`). |\n| **pause-dsl** | `pause-dsl \u003Cstrategy-id> [asset dex]` | Pause monitoring; cron keeps running, state preserved. |\n| **resume-dsl** | `resume-dsl \u003Cstrategy-id> [asset dex]` | Resume monitoring. |\n| **delete-dsl** | `delete-dsl \u003Cstrategy-id> [asset dex]` | Archive state and tear down. Output: `cron_to_remove` when agent must remove OpenClaw cron. |\n| **status-dsl** | `status-dsl \u003Cstrategy-id> [asset dex]` | Report current status. |\n| **count-dsl** | `count-dsl \u003Cstrategy-id>` | Aggregate counts. |\n| **validate** | `validate --configuration @\u003Cpath>` | Validate a DSL config file (e.g. `@dsl-profile.json`). |\n\nExamples (this skill): `--skill dsl-dynamic-stop-loss --configuration @\u003Cpath-to-this-skill>\u002Fdsl-profile.json`. Other skills: same CLI with `--skill \u003Ctheir-skill>` and `--configuration @\u003Ctheir-dsl-profile.json>`. Full details: [references\u002Fcli-usage.md](references\u002Fcli-usage.md).\n\n## This skill (direct DSL setup)\n\nWhen the user asks for trailing\u002Fdynamic stop loss, use **`scripts\u002Fdsl-cli.py`** for all lifecycle operations (do not edit state files by hand unless CLI is unavailable).\n\n- **Add DSL:** `python3 scripts\u002Fdsl-cli.py add-dsl \u003Cstrategy-id> [asset dex] --skill dsl-dynamic-stop-loss --configuration @\u003Cpath-to-this-skill>\u002Fdsl-profile.json`\n- If output has `cron_needed: true`, create the **OpenClaw** cron with the output `cron_job_id`, `cron_env`, and `cron_schedule` (schedule is derived from `cronIntervalMinutes`, default 3; one cron per strategy).\n- **Update \u002F Pause \u002F Resume \u002F Delete \u002F Status \u002F Count:** use the commands in the table above (same CLI, same `--skill` and `--configuration` as for add).\n\n**Agent:** On `closed=true` → alert user. On `strategy_inactive` → remove cron, run `dsl-cleanup.py`. On `pending_close=true` → alert (script retries). On `delete-dsl` output `cron_to_remove` → remove that cron. On **update-dsl** output `cron_schedule_changed: true` → remove the existing cron (using `cron_to_remove.cron_job_id`) and create a new one with the same `cron_job_id` and the new `cron_schedule` (interval is configurable via `cronIntervalMinutes`; default 3 min).\n\n## Other skills: setting up DSL\n\n**Full integration guide:** [references\u002Fintegration-guide.md](references\u002Fintegration-guide.md) — step-by-step for any skill (paths, add\u002Fdelete-dsl, cron, cleanup, checklist).\n\nAny skill (e.g. `wolf-strategy`, `dsl-tight`) can add DSL for its strategies by calling the same CLI with its own profile and skill name.\n\n1. **Locate** `dsl-cli.py` (e.g. `dsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-cli.py`) and your skill’s **dsl-profile.json** (in your skill directory). Resolve paths at runtime.\n2. **Add DSL:**  \n   `python3 \u003Cpath>\u002Fdsl-cli.py add-dsl \u003Cstrategy-id> [asset dex] --skill \u003Cyour-skill-name> --configuration @\u003Cpath-to-your-dsl-profile.json>`  \n   Use `@` before the config path so the CLI reads the file (without `@` it treats the value as inline JSON).\n3. **Cron:** If the CLI output includes `cron_needed: true`, it also includes `cron_job_id`, `cron_env`, `cron_schedule`. Create the **OpenClaw** cron with that ID and env\u002Fschedule (one cron per strategy).\n4. **Lifecycle:** For update, pause, resume, delete, status, count use the same CLI and the commands in the **CLI commands** table above (same `--skill` and `--configuration` as for add). See [references\u002Fcli-usage.md](references\u002Fcli-usage.md) for examples.\n5. **Agent duties:** Same as this skill — on `closed=true` alert user; on `strategy_inactive` remove cron and run `dsl-cleanup.py`; on `cron_to_remove` remove that OpenClaw cron.\n\n**Example (other skill, single position):**\n\n```bash\npython3 \u002Fpath\u002Fto\u002Fdsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-cli.py add-dsl \u003Cstrategy-id> ETH main \\\n  --skill wolf-strategy \\\n  --configuration @\u002Fpath\u002Fto\u002Fwolf-strategy\u002Fdsl-profile.json\n```\n\nFull command reference and configuration merge rules: [references\u002Fcli-usage.md](references\u002Fcli-usage.md).\n\n## References\n\n| Topic | Reference |\n|-------|-----------|\n| **Integrating another skill with DSL** | [references\u002Fintegration-guide.md](references\u002Fintegration-guide.md) |\n| CLI commands and inter-skill usage | [references\u002Fcli-usage.md](references\u002Fcli-usage.md) |\n| State and strategy schema | [references\u002Fstate-schema.md](references\u002Fstate-schema.md), [references\u002Fstrategy-schema.md](references\u002Fstrategy-schema.md) |\n| Output (ndjson) and agent actions | [references\u002Foutput-schema.md](references\u002Foutput-schema.md) |\n| Cleanup (strategy dir, cron removal) | [references\u002Fcleanup.md](references\u002Fcleanup.md) |\n| Tier math, LONG\u002FSHORT | [references\u002Ftier-examples.md](references\u002Ftier-examples.md) |\n| Config tuning | [references\u002Fcustomization.md](references\u002Fcustomization.md) |\n| Cron-only → HL SL migration | [references\u002Fmigration.md](references\u002Fmigration.md) |\n| **ROE-based → High Water migration** (recommended for existing state) | [references\u002Fmigration.md](references\u002Fmigration.md#migrating-from-roe-based-fixed_roe-to-high-water) |\n\n**API:** Strategy\u002Fpositions\u002Fprice\u002Fclose and SL sync via Senpi (mcporter). Do **not** use `strategy_close_strategy` for a single position — use `close_position`.\n\n## Changelog\n\n| Version | Date | Changes |\n|---------|------|---------|\n| v5.3.1 | 2026-03-13 | High Water: infinite trail, SL sync when floor moves; spec checklist tests |\n| v5.3 | 2026-03-12 | High Water Mode: `lockMode: \"pct_of_high_water\"`, `lockHwPct` per tier |\n| v5.2 | 2026-03-01 | CLI lifecycle manager, multi-skill integration, SL order verification, reconciliation archive types, `cronIntervalMinutes`, config validation |\n| v5.0 | — | Two-phase trailing stop, exchange SL sync |\n","# Dynamic Stop Loss (DSL) v5.3.1\n\n**Scope — DSL only.** This skill handles **only** dynamic\u002Ftrailing stop loss (DSL), not normal (static) stop loss. If the user says \"stop loss\" without clearly meaning DSL or static, **ask** (e.g. \"Do you want a trailing stop that moves up with profit, or a fixed price stop loss?\").\n\n**User-facing language.** Use plain terms (\"trailing stop\", \"profit protection\"). Do **not** mention state paths, cron IDs, script names, or `DSL_*` env unless the user asks for technical details.\n\n## Default Mode: High Water\n\n**All new positions should use High Water Mode** (`lockMode: \"pct_of_high_water\"`). This is the recommended default for every Senpi skill. The trailing floor is a percentage of the peak ROE, recalculated on every tick, with no ceiling. A trade at +50% ROE with 85% lock has its floor at +42.5%. A trade at +200% ROE has its floor at +170%. The geometry is constant — the trade always keeps 85% of its best moment.\n\nSee [dsl-high-water-spec 1.0.md](dsl-high-water-spec%201.0.md) for the full spec and [dsl-high-water-adoption-guide.md](dsl-high-water-adoption-guide.md) for per-skill tier configurations.\n\n**When creating DSL state files, ALWAYS include:**\n```json\n{\n  \"lockMode\": \"pct_of_high_water\",\n  \"tiers\": [\n    {\"triggerPct\": 7,  \"lockHwPct\": 40, \"consecutiveBreachesRequired\": 3},\n    {\"triggerPct\": 12, \"lockHwPct\": 55, \"consecutiveBreachesRequired\": 2},\n    {\"triggerPct\": 15, \"lockHwPct\": 75, \"consecutiveBreachesRequired\": 2},\n    {\"triggerPct\": 20, \"lockHwPct\": 85, \"consecutiveBreachesRequired\": 1}\n  ]\n}\n```\nUse the per-skill tiers from `dsl-high-water-adoption-guide.md` — different skills have different tier widths. The above is the standard momentum default (FOX, HAWK, DIRE WOLF).\n\n**Legacy mode** (`lockMode: \"fixed_roe\"` or omitted) still works for existing positions. `lockPct` tiers lock a fixed fraction of the entry→HW price range. No per-tick recalculation — floor only updates on tier changes.\n\n---\n\nTrailing stop for Hyperliquid perps (main + xyz). **Default: High Water Mode** — floor trails the peak ROE as a percentage, recalculated every tick, no ceiling. Cron runs `dsl-v5.py` every 3–5 min; the script syncs the current floor to Hyperliquid via Senpi `edit_position` so HL can execute the SL even if the cron process goes down. Phase 1: wide retrace with absolute floor cap. Phase 2: tiered High Water locks that ratchet up with profit and never come back down. See [references\u002Ftier-examples.md](references\u002Ftier-examples.md) and [references\u002Fstate-schema.md](references\u002Fstate-schema.md).\n\n**Files:** `scripts\u002Fdsl-v5.py` (monitor\u002Fclose, ndjson output), `scripts\u002Fdsl-cleanup.py` (strategy dir cleanup), `scripts\u002Fdsl-cli.py` (lifecycle — use for all setup). Config: `dsl-profile.json` (this skill’s default). State: `{DSL_STATE_DIR}\u002F{strategyId}\u002F{asset}.json`; strategy config: [references\u002Fstrategy-schema.md](references\u002Fstrategy-schema.md). Cleanup: [references\u002Fcleanup.md](references\u002Fcleanup.md). Output schema: [references\u002Foutput-schema.md](references\u002Foutput-schema.md).\n\n## Architecture\n\n- **Scheduler:** OpenClaw cron (one per strategy, every 3–5 min). No per-position cron — the script discovers positions from MCP clearinghouse and state files.\n- **Cron runner:** `dsl-v5.py` — accepts **`--strategy-id \u003Cuuid>`** and **`--state-dir \u003Cpath>`** (CLI args take precedence; env vars `DSL_STRATEGY_ID`, `DSL_STATE_DIR` are fallbacks). Prefer CLI args to avoid agent mistyping UUID in env. Checks strategy active (MCP `strategy_get`); reconciles state files with clearinghouse (archives orphans); for each active position: fetch price, update high water and tiers, sync SL to Hyperliquid via `edit_position`, detect breach, on breach call `close_position` and archive state. Prints one JSON line per position (ndjson).\n- **Lifecycle:** `dsl-cli.py` creates\u002Fupdates strategy config and position state files only (it does not place the SL order). The cron runner syncs the floor to Hyperliquid via `edit_position` and sets `slOrderId` in state. When adding DSL for a strategy with no cron, CLI outputs `cron_needed`, `cron_job_id`, `cron_env`, `cron_schedule`. Agent creates or removes the OpenClaw cron using that ID.\n- **Cleanup:** On strategy inactive or no positions left, agent runs `dsl-cleanup.py` to remove the strategy directory. SL sync and close use Senpi (mcporter); scheduling is OpenClaw only.\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│ OpenClaw cron (per strategy)  →  dsl-v5.py                        │\n│   MCP: strategy_get, clearinghouse, prices, edit_position,       │\n│        close_position, execution_get_order_status                │\n│   Output: ndjson (one line per position or strategy-level)       │\n├─────────────────────────────────────────────────────────────────┤\n│ Agent: create\u002Fremove cron from CLI output; run dsl-cleanup;       │\n│        alert on closed \u002F strategy_inactive \u002F pending_close       │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n## CLI commands\n\nAll lifecycle operations use `scripts\u002Fdsl-cli.py`. Global option: `--state-dir` (default: `$DSL_STATE_DIR` or `\u002Fdata\u002Fworkspace\u002Fdsl`). Config must be a file path with `@` prefix (e.g. `@dsl-profile.json`) or inline JSON.\n\n| Command | Usage | Notes |\n|---------|--------|--------|\n| **add-dsl** | `add-dsl \u003Cstrategy-id> [asset dex] --skill \u003Cskill-name> --configuration @\u003Cpath>` | Creates strategy config and position state files. Omit asset\u002Fdex for all positions. Optional `--entry-price`. Output: `cron_needed`, `cron_job_id`, `cron_env`, `cron_schedule` when cron must be created. |\n| **update-dsl** | `update-dsl \u003Cstrategy-id> [asset dex] --configuration \u003Cjson-or-@path>` | Strategy-wide or per-position config patch (e.g. `'{\"phase1\":{\"retraceThreshold\":0.05}}'` or `@override.json`). |\n| **pause-dsl** | `pause-dsl \u003Cstrategy-id> [asset dex]` | Pause monitoring; cron keeps running, state preserved. |\n| **resume-dsl** | `resume-dsl \u003Cstrategy-id> [asset dex]` | Resume monitoring. |\n| **delete-dsl** | `delete-dsl \u003Cstrategy-id> [asset dex]` | Archive state and tear down. Output: `cron_to_remove` when agent must remove OpenClaw cron. |\n| **status-dsl** | `status-dsl \u003Cstrategy-id> [asset dex]` | Report current status. |\n| **count-dsl** | `count-dsl \u003Cstrategy-id>` | Aggregate counts. |\n| **validate** | `validate --configuration @\u003Cpath>` | Validate a DSL config file (e.g. `@dsl-profile.json`). |\n\nExamples (this skill): `--skill dsl-dynamic-stop-loss --configuration @\u003Cpath-to-this-skill>\u002Fdsl-profile.json`. Other skills: same CLI with `--skill \u003Ctheir-skill>` and `--configuration @\u003Ctheir-dsl-profile.json>`. Full details: [references\u002Fcli-usage.md](references\u002Fcli-usage.md).\n\n## This skill (direct DSL setup)\n\nWhen the user asks for trailing\u002Fdynamic stop loss, use **`scripts\u002Fdsl-cli.py`** for all lifecycle operations (do not edit state files by hand unless CLI is unavailable).\n\n- **Add DSL:** `python3 scripts\u002Fdsl-cli.py add-dsl \u003Cstrategy-id> [asset dex] --skill dsl-dynamic-stop-loss --configuration @\u003Cpath-to-this-skill>\u002Fdsl-profile.json`\n- If output has `cron_needed: true`, create the **OpenClaw** cron with the output `cron_job_id`, `cron_env`, and `cron_schedule` (schedule is derived from `cronIntervalMinutes`, default 3; one cron per strategy).\n- **Update \u002F Pause \u002F Resume \u002F Delete \u002F Status \u002F Count:** use the commands in the table above (same CLI, same `--skill` and `--configuration` as for add).\n\n**Agent:** On `closed=true` → alert user. On `strategy_inactive` → remove cron, run `dsl-cleanup.py`. On `pending_close=true` → alert (script retries). On `delete-dsl` output `cron_to_remove` → remove that cron. On **update-dsl** output `cron_schedule_changed: true` → remove the existing cron (using `cron_to_remove.cron_job_id`) and create a new one with the same `cron_job_id` and the new `cron_schedule` (interval is configurable via `cronIntervalMinutes`; default 3 min).\n\n## Other skills: setting up DSL\n\n**Full integration guide:** [references\u002Fintegration-guide.md](references\u002Fintegration-guide.md) — step-by-step for any skill (paths, add\u002Fdelete-dsl, cron, cleanup, checklist).\n\nAny skill (e.g. `wolf-strategy`, `dsl-tight`) can add DSL for its strategies by calling the same CLI with its own profile and skill name.\n\n1. **Locate** `dsl-cli.py` (e.g. `dsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-cli.py`) and your skill’s **dsl-profile.json** (in your skill directory). Resolve paths at runtime.\n2. **Add DSL:**  \n   `python3 \u003Cpath>\u002Fdsl-cli.py add-dsl \u003Cstrategy-id> [asset dex] --skill \u003Cyour-skill-name> --configuration @\u003Cpath-to-your-dsl-profile.json>`  \n   Use `@` before the config path so the CLI reads the file (without `@` it treats the value as inline JSON).\n3. **Cron:** If the CLI output includes `cron_needed: true`, it also includes `cron_job_id`, `cron_env`, `cron_schedule`. Create the **OpenClaw** cron with that ID and env\u002Fschedule (one cron per strategy).\n4. **Lifecycle:** For update, pause, resume, delete, status, count use the same CLI and the commands in the **CLI commands** table above (same `--skill` and `--configuration` as for add). See [references\u002Fcli-usage.md](references\u002Fcli-usage.md) for examples.\n5. **Agent duties:** Same as this skill — on `closed=true` alert user; on `strategy_inactive` remove cron and run `dsl-cleanup.py`; on `cron_to_remove` remove that OpenClaw cron.\n\n**Example (other skill, single position):**\n\n```bash\npython3 \u002Fpath\u002Fto\u002Fdsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-cli.py add-dsl \u003Cstrategy-id> ETH main \\\n  --skill wolf-strategy \\\n  --configuration @\u002Fpath\u002Fto\u002Fwolf-strategy\u002Fdsl-profile.json\n```\n\nFull command reference and configuration merge rules: [references\u002Fcli-usage.md](references\u002Fcli-usage.md).\n\n## References\n\n| Topic | Reference |\n|-------|-----------|\n| **Integrating another skill with DSL** | [references\u002Fintegration-guide.md](references\u002Fintegration-guide.md) |\n| CLI commands and inter-skill usage | [references\u002Fcli-usage.md](references\u002Fcli-usage.md) |\n| State and strategy schema | [references\u002Fstate-schema.md](references\u002Fstate-schema.md), [references\u002Fstrategy-schema.md](references\u002Fstrategy-schema.md) |\n| Output (ndjson) and agent actions | [references\u002Foutput-schema.md](references\u002Foutput-schema.md) |\n| Cleanup (strategy dir, cron removal) | [references\u002Fcleanup.md](references\u002Fcleanup.md) |\n| Tier math, LONG\u002FSHORT | [references\u002Ftier-examples.md](references\u002Ftier-examples.md) |\n| Config tuning | [references\u002Fcustomization.md](references\u002Fcustomization.md) |\n| Cron-only → HL SL migration | [references\u002Fmigration.md](references\u002Fmigration.md) |\n| **ROE-based → High Water migration** (recommended for existing state) | [references\u002Fmigration.md](references\u002Fmigration.md#migrating-from-roe-based-fixed_roe-to-high-water) |\n\n**API:** Strategy\u002Fpositions\u002Fprice\u002Fclose and SL sync via Senpi (mcporter). Do **not** use `strategy_close_strategy` for a single position — use `close_position`.\n\n## Changelog\n\n| Version | Date | Changes |\n|---------|------|---------|\n| v5.3.1 | 2026-03-13 | High Water: infinite trail, SL sync when floor moves; spec checklist tests |\n| v5.3 | 2026-03-12 | High Water Mode: `lockMode: \"pct_of_high_water\"`, `lockHwPct` per tier |\n| v5.2 | 2026-03-01 | CLI lifecycle manager, multi-skill integration, SL order verification, reconciliation archive types, `cronIntervalMinutes`, config validation |\n| v5.0 | — | Two-phase trailing stop, exchange SL sync |\n",{"name":5,"license":15,"metadata":44,"description":7,"compatibility":49},{"author":45,"version":46,"exchange":47,"platform":48},"jason-goldberg","5.3.1","hyperliquid","senpi","Requires python3, mcporter (configured with Senpi auth), and cron. Hyperliquid perp positions only (main dex and xyz dex).","bfe4e4653cba696a8dc20f70c6006651b997fdef","migrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss",0,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital","https:\u002F\u002Fgithub.com\u002Fenuno","https:\u002F\u002Fenuno.github.io\u002FDynamicCareerCanvas","Digital Nomad, Blockchain Evangel, and Digital Solutions Architect. \r\nCreator of TerraHash Stack.\r\nCEO of Ryno Crypto Mining Services.","2026-07-02 10:49:15",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add enuno\u002Fcrewless-capital --skill dsl-dynamic-stop-loss",{"tool":64,"command":65},"bunx","bunx skills add enuno\u002Fcrewless-capital --skill dsl-dynamic-stop-loss",{"tool":67,"command":68},"pnpm","pnpm dlx skills add enuno\u002Fcrewless-capital --skill dsl-dynamic-stop-loss","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002FSKILL.md",true,[72,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,148,152,156,160],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"design\u002Fdsl-cli-commands.md","REFERENCE","参考文档",30544,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fdesign\u002Fdsl-cli-commands.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"dsl-high-water-adoption-guide-v2.md",16177,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fdsl-high-water-adoption-guide-v2.md",{"path":83,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":84,"sourceHtmlUrl":85},"dsl-high-water-implementation-spec.md",9042,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fdsl-high-water-implementation-spec.md",{"path":87,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":88,"sourceHtmlUrl":89},"dsl-high-water-spec 1.0.md",10610,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fdsl-high-water-spec 1.0.md",{"path":91,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":92,"sourceHtmlUrl":93},"dsl-profile.json",1115,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fdsl-profile.json",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"README.md",6801,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002FREADME.md",{"path":99,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fcleanup.md",3984,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fcleanup.md",{"path":103,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fcli-usage.md",7546,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fcli-usage.md",{"path":107,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fcustomization.md",6273,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fcustomization.md",{"path":111,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Fexplained.md",16652,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fexplained.md",{"path":115,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Fintegration-guide.md",13272,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fintegration-guide.md",{"path":119,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Fmcp-close-position.md",3167,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fmcp-close-position.md",{"path":123,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":124,"sourceHtmlUrl":125},"references\u002Fmigration.md",5866,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fmigration.md",{"path":127,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":128,"sourceHtmlUrl":129},"references\u002Foutput-schema.md",5257,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Foutput-schema.md",{"path":131,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":132,"sourceHtmlUrl":133},"references\u002Fstate-schema.md",9358,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fstate-schema.md",{"path":135,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":136,"sourceHtmlUrl":137},"references\u002Fstrategy-schema.md",4218,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Fstrategy-schema.md",{"path":139,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":140,"sourceHtmlUrl":141},"references\u002Ftier-examples.md",2784,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Freferences\u002Ftier-examples.md",{"path":143,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":146,"sourceHtmlUrl":147},"scripts\u002Fdsl-cleanup.py","SCRIPT","脚本",2249,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-cleanup.py",{"path":149,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":150,"sourceHtmlUrl":151},"scripts\u002Fdsl-cli.py",66150,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-cli.py",{"path":153,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":154,"sourceHtmlUrl":155},"scripts\u002Fdsl-v4.py",10018,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-v4.py",{"path":157,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":158,"sourceHtmlUrl":159},"scripts\u002Fdsl-v5.py",58735,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fscripts\u002Fdsl-v5.py",{"path":161,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":162,"sourceHtmlUrl":163},"scripts\u002Ftest_all_methods.py",52452,"https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fdsl-dynamic-stop-loss\u002Fscripts\u002Ftest_all_methods.py",[165,196,218,241,264,284],{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":169,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":177,"publishedAt":39},"01M6X94YFR1XNANZ321FS661NG","supermemory","Supermemory is a state-of-the-art memory and context infrastructure for AI agents. Use this skill when building applications that need persistent memory, user personalization, long-term context retention, or semantic search across knowledge bases. It provides Memory API for learned user context, User Profiles for static\u002Fdynamic facts, and RAG for semantic search. Perfect for chatbots, assistants, and knowledge-intensive applications.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsupermemory\u002FSKILL.md",[172],{"categoryNo":173,"categoryName":174,"taxonomyType":175,"taxonomyTypeDesc":176},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[167,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,25,193,194,195],"ai agents","memory","rag","semantic search","infrastructure","search","applications","api","knowledge","context","Art","personalization","across","learned","retention","persistent memory","static","when",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":202,"publishedAt":39},"01M6X94S3K97CSK7VFF5H85ED2","wolverine-strategy","WOLVERINE v2.0 — HYPE alpha hunter. Entry-only scanner, DSL-exit-only architecture. v1.1 lost -22.7% because the scanner's thesis exit chopped 25\u002F27 trades before DSL could manage them. v2.0 removes thesis exit entirely. Scanner decides entries (score 8+, 4H\u002F1H aligned, SM consensus). DSL manages all exits (wide Phase 1 for HYPE volatility, trailing tiers starting at +15% ROE). Leverage lowered to 7x. Max 4 entries\u002Fday. 3-hour cooldown between entries. DSL exit managed by plugin runtime via runtime.yaml.","https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fwolverine\u002FSKILL.md",[],[35,203,204,205,206,207,33,208,209,210,211,47,212,213,214,215,25,216,19,217],"wolverine strategy","architecture","alpha","Volatility","consensus","trading","scanner","manage","max","runtime","leverage","hunter","at","managed","phase",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":227,"publishedAt":39},"01M6X94HN3CHBM37GM2C84KT26","wolf-strategy","WOLF v6.3 — Fully autonomous multi-strategy trading for Hyperliquid perps via Senpi MCP. Manages multiple strategies simultaneously, each with independent wallets, budgets, slots, and DSL configs. 5+N cron architecture: 5 shared wolf crons (Emerging Movers 3min, SM Flip 5min, Watchdog 5min, Risk Guardian 5min, Health Check 10min) plus one DSL v5.2 cron per strategy (native Hyperliquid SL sync via dsl-dynamic-stop-loss skill v5.3.1). Same asset can be traded in different strategies simultaneously. Enter early on first jumps, not at confirmed peaks. Dynamic risk-based leverage per strategy. Requires Senpi MCP connection, python3, mcporter CLI, OpenClaw cron system, and dsl-dynamic-stop-loss skill (provides dsl-cli.py + dsl-v5.py).","https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fwolf-strategy\u002FSKILL.md",[224],{"categoryNo":225,"categoryName":226,"taxonomyType":175,"taxonomyTypeDesc":176},"01JBSEEDCAT000000000000023","Skill与智能体开发",[35,228,229,230,204,231,232,37,233,234,21,235,236,213,237,238,215,239,240,25],"wolf strategy","MCP","openclaw","health","system","check","health check","strategies","shared","connection","wallets","stop-loss","hyperliquid perps",{"skillNo":242,"name":243,"nameZh":6,"description":244,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":245,"categories":246,"keywords":248,"publishedAt":39},"01M6X949FBGWWGY3YZ8N3WB3CP","wolf-howl","HOWL v2 — Hunt, Optimize, Win, Learn. Nightly self-improvement loop for the WOLF autonomous trading strategy. Runs once per day (via cron) to review all trades from the last 24 hours, compute win rates, analyze signal quality correlation, evaluate DSL tier performance, identify missed opportunities, and produce concrete improvement suggestions for the wolf-strategy skill. v2 adds fee drag ratio (FDR) analysis, holding period bucketing, LONG vs SHORT regime detection, rotation cost tracking, cumulative drift detection, and gross vs net profit factor separation. Use when setting up daily trade review automation, analyzing trading performance, or improving an autonomous trading strategy through data-driven feedback loops. Requires Senpi MCP connection, mcporter CLI, and OpenClaw cron system.","https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fwolf-howl\u002FSKILL.md",[247],{"categoryNo":225,"categoryName":226,"taxonomyType":175,"taxonomyTypeDesc":176},[249,229,250,251,252,253,254,255,36,256,257,258,259,260,261,262,27,19,263,195],"wolf howl","review","performance","learn","analysis","loop","analyze","autonomous","up","optimize","drift","self","factor","loops","fdr",{"skillNo":265,"name":266,"nameZh":6,"description":267,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":169,"licenseFileUrl":6,"sourceHtmlUrl":268,"categories":269,"keywords":270,"publishedAt":39},"01M6X9437CQ55N5AYHCPF71JWG","whale-index","Auto-mirror top Discovery traders on Hyperliquid. Scans top 50 traders, scores on PnL rank (35%), win rate (25%), consistency (20%), hold time (10%), drawdown (10%). Creates 2-5 mirror strategies with overlap checks. Daily rebalance with 2-day watch period before swaps. Use when setting up trader mirroring, copy trading, or portfolio auto-rebalancing based on Discovery leaderboard performance.","https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fwhale-index\u002FSKILL.md",[],[271,272,273,251,30,274,275,276,34,257,277,278,235,279,280,281,282,25,283,195],"index","whale","whale index","monitoring","discovery","use","daily","time","with","consistency","top","mirror","pnl",{"skillNo":285,"name":286,"nameZh":6,"description":287,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":288,"categories":289,"keywords":290,"publishedAt":39},"01M6X93YTRGNPYNHZRTW9XNH1E","vixen-strategy","VIXEN v1.0 — Dual-mode emerging movers scanner. Built from FOX v1.6 live trading data (+34.5% ROI). Two entry modes: STALKER (steady accumulation, score 6+, catches the SM buildup BEFORE the explosion) and STRIKER (violent FIRST_JUMP, score 9+, with raw volume confirmation to filter blow-off tops). 2-hour per-asset cooldown after Phase 1 exits. DSL High Water Mode mandatory.","https:\u002F\u002Fgithub.com\u002Fenuno\u002Fcrewless-capital\u002Fblob\u002Fmain\u002Fmigrate-hyperliquid-firm\u002Fskills\u002Fsenpi-skills\u002Fvixen\u002FSKILL.md",[],[35,291,292,293,294,295,209,296,297,298,279,299,28,300,301,302,303,304,19,217],"vixen strategy","roi","data","first","confirmation","volume","filter","asset","explosion","high","v1","modes","emerging movers","entry"]