kodiak-strategy
KODIAK v7.0.0 โ SOL alpha hunter, senpi_runtime_helpers migration. Plumbing-only flip from openclaw-CLI subprocess + mcporter subprocess to in-process SenpiClient (direct HTTPS for MCP, direct HTTP POST to runtime /signals, long-lived producer_daemon). Thesis preserved verbatim from v6.0.1: SOL alpha hunter, single-asset focus, v5.1 base-tech-score floor with multi-factor scoring (SM consensus, trend structure, momentum, funding, OI, BTC correlation, RSI), conviction-tiered leverage (5x default, 6x conviction at score 11+, 7x apex at score 13+), 240-min asset cooldown.
What this skill does
# ๐ป KODIAK v7.0.0 โ SOL Alpha Hunter
One asset. Every signal. Scanner enters. DSL exits.
---
## โ CRITICAL AGENT RULES
### RULE 1: Install path is `/data/workspace/skills/kodiak-strategy/`
### RULE 2: THE SCANNER DOES NOT EXIT POSITIONS
When the scanner sees an active SOL position, it outputs NO_REPLY. DSL is the
ONLY exit mechanism. v1.1.1 had a thesis exit that chopped positions before
DSL could trail them. v2.0 removes it entirely.
### RULE 3: MAX 1 POSITION โ SOL only
### RULE 4: Scanner output is AUTHORITATIVE
### RULE 5: Verify runtime is installed on every session start
Run `openclaw senpi runtime list`. Runtime must be listed. The position tracker and DSL exit are handled by the plugin runtime.
### RULE 6: Never modify parameters. Never increase leverage above 7x.
### RULE 7: 120-minute cooldown after consecutive losses
---
## What Changed From v1.1.1
| v1.1.1 | v2.0 |
|---|---|
| Thesis exit active in RIDING mode | **Removed** โ DSL manages all exits |
| DSL state missing wallet + size | **All fields included** |
| Leverage 10-12x | **Capped at 7x** |
| Retrace 0.03 (3% ROE = 0.3% price at 10x) | **0.08 (8% ROE = 1.14% price at 7x)** |
| `strategy_id` discarded in run() | **Captured and passed to DSL builder** |
| SOL SHORT ran 13h unprotected | **Every position protected from second 1** |
---
## v1.1.1 Proof of Concept
Kodiak's best trade: SOL SHORT, entry $90.36, DSL trailed to Tier 4 (+44% ROE),
exit at $85.86, realized **+$134** profit. The scanner found the setup. DSL
managed the exit perfectly โ locked 85% of peak, gave back only $3 from top.
The problem: DSL was manually patched onto this trade 13 hours after entry
because the state file was missing wallet fields. v2.0 fixes this permanently.
---
## The Three-Mode Lifecycle
### MODE 1 โ HUNTING (default)
Scan SOL every 3 minutes. All signals must align (4h trend, 1h momentum, SM,
funding, OI, volume). Score 10+ to enter. When a position opens, switch to MODE 2.
### MODE 2 โ RIDING
Active position. **DSL manages the exit via the plugin runtime. Scanner outputs NO_REPLY.**
The scanner does NOT re-evaluate the thesis. It does NOT close positions.
The plugin DSL trails the position through Phase 1 protection and Phase 2
trailing tiers. When DSL closes the position โ switch to MODE 3.
### MODE 3 โ STALKING
DSL locked profits. Watch for a reload opportunity. ALL reload conditions
must pass: fresh momentum impulse, OI stable, volume present, funding not
crowded, SM still aligned, 4h trend intact.
If reload fires โ re-enter same direction, switch to MODE 2.
If kill conditions trigger โ reset to MODE 1.
---
## Cron Setup
Scanner (3 min, main):
```
python3 /data/workspace/skills/kodiak-strategy/scripts/kodiak-scanner.py
```
---
## How KODIAK Trades
### Entry (score >= 10 required)
Every 3 minutes, the scanner evaluates SOL across all signal sources:
| Signal | Points | Required? |
|---|---|---|
| 4h trend structure (higher lows / lower highs) | 3 | **Yes** |
| 1h trend agrees with 4h | 2 | **Yes** |
| 15m momentum confirms direction | 0-1 | **Yes** |
| 5m alignment (all 4 timeframes agree) | 1 | No |
| SM aligned with direction | 2-3 | **Hard block if opposing** |
| Funding pays to hold the direction | 2 | No |
| Volume above average | 1-2 | No |
| OI growing | 1 | No |
| BTC confirms move | 1 | No |
| RSI has room | 1 | No (blocks overbought/oversold) |
| 4h momentum strength | 1 | No |
Maximum score: ~18. Minimum to enter: 10.
### Conviction-Scaled Leverage
| Score | Leverage |
|---|---|
| 10-11 | 7x |
| 12+ | 7x |
### Conviction-Scaled Margin
| Score | Margin |
|---|---|
| 10-11 | 20% of account |
| 12-13 | 25% |
| 14+ | 30% |
## Exit Management
DSL exit is handled by the plugin runtime via `runtime.yaml`. The `position_tracker` scanner auto-detects position opens/closes on-chain. See `runtime.yaml` for configuration details.
**Monitor positions:**
- `openclaw senpi dsl positions` โ list all DSL-tracked positions
- `openclaw senpi dsl inspect <ASSET>` โ full position details
## Why SOL-Only at 7x Leverage
---
## Risk
| Rule | Value |
|---|---|
| Max positions | 1 (SOL only) |
| Max leverage | 7x |
| Phase 1 retrace | 0.08 |
| Daily loss limit | 10% |
| Cooldown | 120 min after 3 consecutive losses |
---
## Runtime Setup
**Step 1:** Set your strategy wallet address in runtime.yaml:
```bash
sed -i 's/${WALLET_ADDRESS}/<STRATEGY_WALLET_ADDRESS>/' /data/workspace/skills/kodiak-strategy/runtime.yaml
```
Replace `<STRATEGY_WALLET_ADDRESS>` with the actual wallet address.
**Step 2:** Set telegram chat ID for notifications:
```bash
sed -i 's/${TELEGRAM_CHAT_ID}/<CHAT_ID>/' /data/workspace/skills/kodiak-strategy/runtime.yaml
```
Replace `<CHAT_ID>` with the actual Telegram chat ID.
**Step 3:** Install the runtime:
```bash
openclaw senpi runtime create --path /data/workspace/skills/kodiak-strategy/runtime.yaml
```
**Step 4:** Verify:
```bash
openclaw senpi runtime list
```
---
## Bootstrap Gate
On EVERY session start, check `config/bootstrap-complete.json`. If missing:
1. Read the `senpi-trading-runtime` skill โ it provides all CLI commands for runtime management and DSL position inspection.
2. Verify Senpi MCP
3. Set wallet in runtime.yaml: `sed -i 's/${WALLET_ADDRESS}/ACTUAL_ADDRESS/' /data/workspace/skills/kodiak-strategy/runtime.yaml`
4. Set Telegram in runtime.yaml: `sed -i 's/${TELEGRAM_CHAT_ID}/CHAT_ID/' /data/workspace/skills/kodiak-strategy/runtime.yaml`
5. Install runtime: `openclaw senpi runtime create --path /data/workspace/skills/kodiak-strategy/runtime.yaml`
6. Verify runtime installed: `openclaw senpi runtime list`
7. Remove old DSL cron (if upgrading): run `openclaw crons list`, delete any cron containing `dsl-v5.py` via `openclaw crons delete <id>`
8. Create scanner cron (3 min, isolated)
9. Write `config/bootstrap-complete.json`
10. Send: "KODIAK is online. Watching SOL. DSL managed by plugin runtime. Silence = no conviction."
If bootstrap exists, still verify runtime and scanner cron on every session start.
---
## Notification Policy
**ONLY alert:** Position OPENED (direction, leverage, score, reasons), position CLOSED (DSL exit with P&L), risk guardian triggered, critical error.
**NEVER alert:** Scanner found no thesis, thesis re-eval passed, any reasoning.
---
## Expected Behavior
| Metric | Expected |
|---|---|
| Trades/day | 1-3 |
| Avg hold time | 1-12 hours |
| Win rate | ~45-55% |
| Avg winner | 20-50%+ ROE |
| Avg loser | -20 to -40% ROE |
---
## Files
| File | Purpose |
|---|---|
| `scripts/kodiak-scanner.py` | SOL thesis builder + stalk/reload |
| `scripts/kodiak_config.py` | Config helper (MCP, state, cooldowns) |
| `config/kodiak-config.json` | Wallet, strategy ID, configurable variables |
| `runtime.yaml` | Runtime config for plugin (DSL exit + position tracker) |
---
## License
MIT โ Built by Senpi (https://senpi.ai).
Source: https://github.com/Senpi-ai/senpi-skills
---
## Skill Attribution
When creating a strategy, include `skill_name` and `skill_version` in the call. See `references/skill-attribution.md` for details.
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.