scorpion-tracker
SCORPION v5.0.0 โ Multi-Market Active Trader, senpi_runtime_helpers migration. Plumbing-only flip from openclaw-CLI subprocess + mcporter subprocess to in-process SenpiClient. Plus security fix: v4.x read wallet from BANNED generic STRATEGY_ADDRESS env var; v5.0.0 uses per-agent SCORPION_WALLET (with backward-compat fallback + deprecation warning). Thesis preserved verbatim from v4.1.2: only Senpi predator hunting across both crypto AND XYZ DEX commodities/indices, SM concentration + 4H trend alignment scoring, asymmetric MIN_SCORE (crypto 11 / XYZ 9), v4.1.1 held-asset dedup, v4.1.2 post-close cooldown.
What this skill does
# ๐ฆ SCORPION v5.0.0 โ Multi-Market Active Trader (senpi_runtime_helpers)
The only predator that hunts across BOTH crypto AND XYZ DEX (commodities
and indices). v4.0 is the second fleet agent on senpi-trading-runtime
v2 (after Jackal v2).
## What changed from v3.2
v3.2 logged 43 fills / 18h / -$79.84 in Arena Week 5 despite
`MAX_DAILY_ENTRIES=3`. Root cause: the scalp-reentry bypass path and
Python trade counter leaked. v4.0 deletes all that bookkeeping.
| Layer | v3.2 | v4.0 |
|---|---|---|
| Scanner size | 549 lines, full agency | 280-line pure producer |
| Entry decision | Hardcoded scoring thresholds | LLM `decision_prompt` with `min_confidence: 7` |
| Daily cap enforcement | Python state file (silently leaked) | `risk.guard_rails.max_entries_per_day: 5` |
| Per-asset cooldown | Python (with scalp bypass) | `per_asset_cooldown_minutes: 120` (authoritative) |
| Scalp re-entry | Special bypass logic | Removed; runtime owns cooldowns |
| DSL exit order type | Market (taker) | **FEE_OPTIMIZED_LIMIT** (maker-preferred) |
| Phase-2 hard_timeout behavior | Fires regardless | Fires regardless (per Daniel's test) โ outer-bound protection, not phase-gated. 12h is chosen so it doesn't truncate legitimate winners. |
## Architecture
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ scorpion-producer.py (60s) โ โโ 1. scan leaderboard_get_markets
โ โ โโ 2. score SM+4TF candidates (MIN_SCORE 9)
โ โ โโ 3. enrich w/ BTC macro + funding +
โ โ current positions
โ โ โโ 4. push via SenpiClient.push_signal
โ โ (direct HTTP POST)
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ senpi-trading-runtime โ
โ scorpion_signals scanner โ โโ typed signal payload
โ scorpion_entry action โ โโ LLM evaluates with 4TF+SM+BTC
โ decision_mode: llm โ context
โ min_confidence: 7 โ โโ executes if confidence >= 7
โ position_tracker โ โโ lifecycle โ DSL
โ DSL exit engine โ โโ FEE_OPTIMIZED_LIMIT exits
โ 12h hard_timeout โ (maker first, taker fallback)
โ 30m dead_weight โ
โ 60m weak_peak @ 2% โ
โ risk.guard_rails โ โโ daily_loss 5%, max 5 entries,
โ โ per_asset cooldown 120m,
โ โ drawdown_halt 20%
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
## Universe (preserved from v3.2)
| Market | Assets |
|---|---|
| Crypto majors | BTC, ETH, SOL, HYPE |
| Crypto mid-caps | ZEC, LIT, GRASS, FARTCOIN, TAO, ONDO, SUI, ARB, WLD, DOGE, AVAX |
| XYZ commodities | CL (crude oil), BRENTOIL, GOLD |
| XYZ indices | SPX |
XYZ assets use `xyz:` prefix in the runtime (e.g. `xyz:GOLD`). Producer
emits the full prefix; runtime handles it natively.
## Signal scoring (preserved from v3.2)
- SM concentration (0-3 pts): DOMINANT_SM (โฅ15%), STRONG_SM (โฅ10%), SM_PRESENT (โฅ5%)
- 4H price alignment (0-3 pts): big_move, med_move, ALIGNED โ thresholds differ crypto vs XYZ
- 15m SM velocity (0-2, penalty -1): BUILDING / FRESH / FADING
- 1H acceleration (0-1)
- Trader depth (0-1, โฅ50t)
- 4H contribution shift (0-1, โฅ5%)
MIN_SCORE gate at 9. LLM further filters at min_confidence 7. Runtime
enforces daily cap at 5.
## LLM gate expectations
- Typical signal pass rate at MIN_SCORE=9: 5-15 signals/day depending on market
- LLM execute rate at min_confidence 7: ~30-40%
- Net entries/day after all gates: 1-4 (capped at 5)
- Large drop from v3.2's 43/18h by design โ over-trading was the #1 killer
## Risk guard rails (runtime-enforced)
```yaml
risk:
guard_rails:
daily_loss_limit_pct: 5
max_entries_per_day: 5
max_consecutive_losses: 3
cooldown_minutes: 90
drawdown_halt_pct: 20
per_asset_cooldown_minutes: 120
```
All enforced before every entry. No Python counters to drift.
## DSL (short-hold profile preserved; maker exits added)
| Control | Value |
|---|---|
| exit.order_type | **FEE_OPTIMIZED_LIMIT** โ v4.0 key win |
| execution_timeout_seconds | 15 (maker try window) |
| hard_timeout | 12h (forced rotation ceiling) |
| weak_peak_cut | 60 min @ 2% min_value |
| dead_weight_cut | 30 min |
| Phase 1 max_loss | 15% |
| Phase 1 retrace | 6% ROE |
| Phase 1 breaches req | 2 ticks |
| Phase 2 tiers | 5/30, 10/50, 15/70, 25/85, 40/90, 80/94 |
## Install (on OpenClaw host)
```bash
# 1. Pull the skill
mkdir -p /data/workspace/skills/scorpion-tracker/{config,scripts,state}
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/scorpion/runtime.yaml \
-o /data/workspace/skills/scorpion-tracker/runtime.yaml
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/scorpion/scripts/scorpion-producer.py \
-o /data/workspace/skills/scorpion-tracker/scripts/scorpion-producer.py
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/scorpion/scripts/scorpion_config.py \
-o /data/workspace/skills/scorpion-tracker/scripts/scorpion_config.py
# 2. Install the runtime
# SCORPION_DECISION_MODEL is REQUIRED โ pick any model supported by the
# runtime's model registry. Use the BARE model name (NO provider prefix
# like "google/..." or "anthropic/..." โ OpenClaw double-prefixes those
# and rejects them as 500 Unknown model). There is no default by design.
WALLET_ADDRESS=0x... \
TELEGRAM_CHAT_ID=... \
SCORPION_DECISION_MODEL=<your-preferred-model> \
openclaw senpi runtime create --path /data/workspace/skills/scorpion-tracker/runtime.yaml
# 3. Launch the producer daemon (60s tick).
SENPI_AUTH_TOKEN=<your-token> \
SCORPION_WALLET=0x... \
nohup python3 -u /data/workspace/skills/scorpion-tracker/scripts/scorpion-producer.py \
> /tmp/scorpion-producer.log 2>&1 &
# 4. Verify
openclaw senpi runtime list | grep scorpion
openclaw senpi status --runtime scorpion-tracker
senpi-helpers list # daemon visible with recent LAST_TICK
senpi-helpers health scorpion-<wallet-suffix> # exit 0 = healthy
senpi-helpers stats scorpion-<wallet-suffix> --hours 1 # signals posted + error histogram
```
## Verify the LLM gate is doing work
```bash
# All decisions (LLM reasoning JSON per candidate)
openclaw senpi action decisions scorpion_entry
# Only executed entries
openclaw senpi action history scorpion_entry
```
A healthy Scorpion v4 shows:
- Producer runs every 60s with `_scorpion_producer_version: "4.0"`
- 5-15 candidates detected per run during market activity
- LLM decisions with ~30-40% at `execute: true`
- Runtime ultimately executes โค 5 entries per UTC day
## Cost & latency
- Producer: 1 MCP call per run ร 60s cadence = ~1,440 calls/day (market + enrich)
- LLM: 1 call per emitted signal ร ~10/day = ~10 calls/day (after MIN_SCORE gate)
- Entry latency: ~2-3s from signal emit to order placement
- Fee savings from maker-preferred exits: ~$20/week at current turnover profile
## Changelog
### v4.0 (2026-04-23) โ V2-RUNTIME-NATIVE REWRITE
- First multi-asset agent on the senpi-trading-runtime plugin
- Producer-only Python (280 lines vs v3.x's 549-line scanner)
- LLM `decision_mode: llm` replaces hardcoded score thresholds
- `risk.guard_rails` YAML replaces Python risk code โ no more silent counter leaks
- FEE_OPTIMIZED_LIMIT on exits โ maker-preferred for ~$20/week savings
- Runtime-managed DSL lifecycle
### v3.2 (2026-04-22) โ over-trading fix (ineffective; pulled due to counter leak)
### v3.1 (2026-04-16) โ scalp re-entry (pr0br000 copy)
### v3.0 (2026-04-12) โ multi-market crypto + XYZ launch
## License
MIT โ Built by Senpi (https://senpi.ai).
Source: https://github.com/Senpi-ai/senpi-skills
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts โ single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score โฅ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.