grizzly-strategy
GRIZZLY v7.0.0 โ BTC 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.0: BTC single-asset trend hunter, six-gate entry validation including v5.5 macro V-recovery gate (block fades within 1.25% of 24h extreme), RSI hard gates (70/30 โ BTC-tuned), multi-factor scoring (~17 max), conviction-scaled leverage (7x default / 10x conviction / 10x apex), MIN_SCORE 12, FP-001 quiet hours, FP-003 requireAllConfirmations gate. Trades WITH SM consensus and trend, NOT contrarian. Family member alongside Kodiak (SOL), Wolverine (HYPE), Polar (ETH).
What this skill does
# ๐ป GRIZZLY v7.0.0 โ BTC Alpha Hunter (senpi_runtime_helpers)
Trend-continuation on BTC, v2-runtime-native. Same Kodiak-family
architecture as Wolverine / Polar / Kodiak. Producer emits signals,
runtime executes via LLM gate, DSL manages exits via maker-first
FEE_OPTIMIZED_LIMIT.
**Trades WITH the trend and WITH the smart money.** Not contrarian.
SM-opposes is a hard block.
---
## โ CRITICAL AGENT RULES
### RULE 1: Install path is `/data/workspace/skills/grizzly-strategy/`
### RULE 2: THE SCANNER DOES NOT EXIT POSITIONS โ DSL only.
### RULE 3: MAX 1 POSITION (BTC only)
### RULE 4: Verify runtime on every session start
### RULE 5: Never modify parameters without family-wide review
### RULE 6: HARD_STOP circuit breaker triggers at -25% drawdown
### RULE 7 (FP-002): User-conversation Claude sessions MUST NOT trade
**Hard rule, not a heuristic.** When responding to a user message (Telegram
ping, status check, "tell me about your trades", etc.), the Claude Code
session MUST NOT call any of:
- `create_position`
- `close_position`
- `edit_position`
- `ratchet_stop_add` / `ratchet_stop_edit` / `ratchet_stop_delete`
- `cancel_order`
- `strategy_close` / `strategy_close_positions`
These tools are reserved for the **producer daemon** (grizzly-producer.py)
and the **DSL ratchet engine**. The daemon is the only entry path. The DSL
is the only exit path. User-conversation sessions are read-only.
If the user asks an action-implying question ("anything close to
triggering?", "should I take this trade?"), respond by reading current
state โ DO NOT execute. The producer will fire on its next tick if a
real signal is there. Pattern observed across the fleet: agents have
been opening positions immediately after user pings because their
conversation sessions had MCP write access. This rule closes that gap.
### RULE 8 (FP-001): Quiet hours for low-liquidity windows
Producer skips emission during 00:00-04:00 UTC by default. Apex setups
(score >= `quietHoursApexBypassScore`, default 14) bypass โ high-conviction
BTC trends can fire any hour; routine sub-apex entries wait until 04:00 UTC.
Configurable via `quietHoursStartUtc`, `quietHoursEndUtc`,
`quietHoursApexBypassScore` in `grizzly-config.json`. Set start == end
to disable.
Rationale: fleet-wide pattern of 00:00 UTC pile-ins after daily-cap reset.
For Grizzly specifically, BTC overnight liquidity is thinnest in this
window and entry slippage can eat a low-conviction edge.
---
## Thesis
**Pure trend continuation on BTC, never counter-trend.**
From Kodiak's lifetime top-3 SOL winners (+$133 / +$87 / +$78):
> "The absolute highest predictor of a massive directional swing is when
> the 4H, 1H, 15m, and 5m price momentum are perfectly unified in a
> single direction, AND the Smart Money leaderboard is heavily lopsided
> (>65% directional consensus) in that exact same direction."
Grizzly v5.0 applies that exact thesis to BTC. BTC is slower and heavier
than SOL, so thresholds are tightened โ but the pattern is identical.
---
## v5.0 โ COMPLETE REWRITE
v4.x was a contrarian SM-fader. The April 10 inversion test read "if we
flipped direction we'd win 81.8%" as evidence that SM was broken on BTC.
The correct read was: the scanner was late, entering *after* the move
exhausted. Flipping direction made those same late entries profitable
temporarily, but it also set Grizzly up to fight every real trend.
v4.x lost $245. Grizzly was the only family member running a direction
opposite to the family intent.
v5.0 returns to the family pattern:
- **REMOVED:** CONTRARIAN_FLIP โ Grizzly now trades WITH SM consensus
- **REMOVED:** CONTRARIAN_EXHAUSTION_GATE โ gating contrarian behavior
- **ADDED:** 3-mode state machine (HUNTING / RIDING / STALKING)
- **ADDED:** 4-timeframe alignment (5m + 15m + 1h + 4h)
- **ADDED:** 4TF_aligned bonus scoring
- **ADDED:** SM strongly tilted bonus (>65% consensus)
- **ADDED:** SM opposes HARD BLOCK
- **ADDED:** Move-exhaustion + tiring penalties
- **ADDED:** RSI filter (70/30 BTC-tuned)
- **ADDED:** Volume trend + OI-proxy growth signal
- **ADDED:** STALKING mode โ reload on dip after DSL exit
- **KEPT:** Dynamic daily cap (P&L-aware circuit breaker)
- **KEPT:** has_resting_orders with auto-cancel stale
- **KEPT:** 10x MAX_LEVERAGE cap
---
## Hard Gates (all must pass)
1. **4h trend structure โ NEUTRAL** (BULLISH or BEARISH, >60% higher-lows or lower-highs)
2. **1h trend agrees** with 4h direction
3. **15m momentum confirms** direction (>0.05% in direction)
4. **SM opposes = HARD BLOCK** (leaderboard_get_markets)
5. **RSI filter** โ LONG requires RSI โค 70, SHORT requires RSI โฅ 30
---
## BTC-Specific Tuning vs Kodiak (SOL)
BTC moves ~0.6% in 4h; SOL moves 2โ4%. Thresholds tightened ~3x:
| Parameter | Kodiak (SOL) | Grizzly (BTC) | Why |
|---|---|---|---|
| min_mom_15m | 0.10% | 0.05% | BTC slower |
| rsi_max_long | 74 | 70 | BTC rarely pushes 74 |
| rsi_min_short | 26 | 30 | BTC rarely pushes 26 |
| move_exhaustion | 4.0% | 2.5% | BTC exhaustion at lower % |
| move_tiring | 2.5% | 1.5% | |
| 4h_strong | 4.0% | 2.0% | |
| vol_ratio_min | 1.2 | 1.1 | BTC volume always deep |
| funding_extreme | 0.005 | 0.003 | BTC lower-magnitude |
MIN_SCORE = 10 (family standard). Dynamic daily cap same as family.
---
## Scoring (max ~18 pts, MIN_SCORE = 10)
| Signal | Points |
|---|---:|
| 4h trend structure | +3 |
| 1h trend agrees | +2 |
| 15m momentum strength | +1 |
| 4TF_aligned (5m agrees) | +1 |
| SM aligned | +2 |
| SM strongly tilted (>65%) | +1 |
| 15m velocity fresh (>0.5) | +1 |
| 15M_STALE_PENALTY (cc โค 0) | -3 |
| Funding pays direction | +2 |
| Funding crowded against | -1 |
| Volume ratio โฅ 1.1x | +1 |
| Volume rising >15% | +1 |
| OI growing >10% | +1 |
| RSI room | +1 |
| 4h strong (>2%) | +1 |
| MOVE_EXHAUSTION (>2.5%) | -2 |
| MOVE_TIRING (>1.5%) | -1 |
---
## Position Sizing
| Score | Leverage | Margin % |
|---|---:|---:|
| 10-11 | 10x (clamped to HL max) | 30% |
| 12-13 | 10x | 37.5% |
| **14+** | **10x** | **45%** |
Leverage auto-clamped to BTC's Hyperliquid max via `strategy_get_asset_trading_limits`.
---
## Exit (DSL) โ BTC-Tuned per RatchetStop Timing Guide
| Mechanism | Value | Why |
|---|---|---|
| hard_timeout | 360 min (6h) | BTC trends take time |
| weak_peak_cut | 120 min @ 2% min | BTC peaks consolidate slowly |
| dead_weight_cut | 90 min | BTC can sit quietly within a trend |
| Phase 1 max_loss | 15% | Same as Kodiak |
| Phase 1 retrace | 8% | |
| Phase 2 tier 1 | +5% โ 25% lock | First profit lock |
| Phase 2 tier 2 | +10% โ 45% | |
| Phase 2 tier 3 | +15% โ 65% | |
| Phase 2 tier 4 | +20% โ 80% | |
| Phase 2 tier 5 | +30% โ 90% | Apex lock |
| Phase 2 tier 6 | +50% โ 94% | Monster winner trail |
---
## Lifecycle (v6.0 โ runtime-owned)
```
producer.py โ [all gates pass, score >= MIN_SCORE] โ client.push_signal()
runtime LLM โ [pass-through gate, min_confidence 7] โ OPEN_POSITION
runtime DSL โ [tracks position, ratchets through Phase 2 ladder] โ exit
runtime risk โ [enforces daily caps + drawdown halt + cooldowns] โ block next entry
```
**Producer (HUNTING):** scanner evaluates BTC every 3 minutes. All hard
gates must pass. NO Python state โ emits a signal and exits.
**Runtime (RIDING):** position_tracker scanner detects open via
`POSITION_OPENED`, fires `ON_POSITION_OPENED`, DSL engine starts
trailing. Producer's held-asset check prevents duplicate emission while
position is open.
**Runtime (POST-EXIT):** when DSL closes, `per_asset_cooldown_minutes`
gate blocks new BTC entries for 60 min. v5.x's STALKING mode and
reload-on-dip logic are dropped โ DSL owns position lifecycle and the
producer does NOT add to existing positions.
**v5.x Python state machine** (HUNTING/RIDING/STALKING) is gone. Runtime
owns all state. No Python state files to corrupt.
---
## Family Relationship
All four single-asset specialists run the same architecture:
| Agent | Asset | MIN_SCORE | DSL Profile |
|---|---|---:|---|
| Kodiak | SOL | 10 | Mid-beta (240/60/90Related 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.