Install
$ agentstack add skill-senpi-ai-senpi-skills-beaver ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
🦫 BEAVER v1.0.0 — BTC Trend Follower (SM-confirmed)
Onboarding tier. BTC only. Long OR short. When BTC is in a 4h trend AND Senpi's Smart-Money leaderboard agrees with that direction, Beaver opens a single conviction position and lets the DSL ratchet manage it.
Why this strategy exists
Beaver is the default first-trade strategy for new Senpi users:
- One asset — BTC. No multi-asset whitelist to tune, no XYZ universe to filter, no funding regime to interpret.
- One question — "Is BTC trending?" Beaver answers by looking at the 4h candle structure (higher-lows = bullish, lower-highs = bearish).
- One direction gate — "Does Smart Money agree?" Beaver pulls Senpi's leaderboard concentration and requires top-trader positioning to align with the trend before firing.
- One exit mechanism — DSL. Phase 1 max_loss 20% floor + Phase 2 wide ratchet ladder. Time-cuts all disabled — winning trends ride.
If both gates pass and the score clears the floor, Beaver emits ONE signal per qualifying setup. Max 2 entries per day. 4h cooldown per asset.
CRITICAL RULES
RULE 1: Producer enters. DSL exits. Producer NEVER closes.
The producer has no close_position call site. All exits flow through the DSL Phase 1 max_loss / Phase 2 ratchet retrace. This is the same structural guarantee as Bison v3.0.1 and Wolverine v6.0.0.
RULE 2: SM direction gate is hard, not soft
If leaderboard_get_markets returns NEUTRAL or returns a direction OPPOSITE to the 4h trend, the producer outputs WAITING — no qualifying setup and does nothing. There is no override.
RULE 3: Producer emits signals via push_signal(); runtime opens
The runtime's LLM-gated beaver_entry action receives the signal, validates it against the schema, and opens via FEEOPTIMIZEDLIMIT with ensure_execution_as_taker: false (ALO patience on entry). Exit orders use ensure_execution_as_taker: true so closes always happen.
RULE 4: Race-window dedup is mandatory
The producer writes to state/recent-signals.json after every successful push_signal() and checks the cache BEFORE building a thesis. 240s TTL covers the gap between push_signal returning OK and the resulting position appearing in the next-tick clearinghouseState. This is the Bison v3.0.1 fix applied at construction-time.
RULE 5: Onboarding defaults — don't tune them aggressively
The default config is:
minScore: 5(out of ~9 max)smTiltMinPct: 60smStrongTiltPct: 70- 25% margin / 5x leverage
- 2 entries/day, 4h cooldown
These are tuned for new users learning the platform, not for aggressive alpha extraction. Don't push minScore higher (it starves the strategy); don't push leverage higher than 5x (operator capital risk).
How Beaver scores a trade
Direction gate (all required):
- 4h trend ≠ NEUTRAL (higher-lows ≥ 60% bullish OR lower-highs ≥ 60% bearish)
- SM direction agrees with 4h trend
- SM tilt ≥ smTiltMinPct (default 60%)
Score components (max ~9):
| Signal | Points | |---|---| | 4h trend aligned with direction | +3 | | 1h trend confirms 4h | +2 | | SM aligned (gate-confirmed) | +2 | | SM strongly tilted (≥ smStrongTiltPct) | +1 | | Volume rising (>10% lookback delta) | +1 |
Floor: minScore: 5. Typical entry clears 5-7. Strong setups clear 7-8. Apex (rare) clears 9.
DSL preset (Bison-pattern wide)
| Phase | Component | Setting | |---|---|---| | Phase 1 | maxlosspct | 20% | | Phase 1 | retracethreshold | 8% | | Phase 1 | consecutivebreaches | 1 | | Time cuts | hardtimeout | DISABLED | | Time cuts | weakpeakcut | DISABLED | | Time cuts | deadweight_cut | DISABLED | | Phase 2 | T0 | +10% / lock 0 | | Phase 2 | T1 | +20% / lock 25% | | Phase 2 | T2 | +30% / lock 40% | | Phase 2 | T3 | +50% / lock 60% | | Phase 2 | T4 | +75% / lock 75% | | Phase 2 | T5 | +100% / lock 85% (apex) |
The T0 lock at 0% is the key shift — a +10% mover can retrace fully without locking, giving real trends room to develop. This is the same ladder that produced Bison's SOL SHORT +71.1% closed win.
Risk guardrails (runtime.yaml risk.guard_rails)
| Gate | Setting | Why | |---|---|---| | maxentriesperday | 2 | Onboarding: fewer-stronger | | perassetcooldownminutes | 240 | 4h between BTC attempts | | dailylosslimitpct | 15 | Cap a bad day | | maxconsecutivelosses | 3 | Halt on losing streak | | cooldownminutes (post-loss) | 60 | Cool off after a stop | | drawdownhaltpct | 25 | Catastrophic-floor circuit breaker | | drawdownresetondayrollover | false | No grace at midnight |
Hardcoded constants (not configurable)
ASSET: "BTC" (Heron/Hummingbird are separate skills with ETH/HYPE)MAX_LEVERAGE: 5RECENT_SIGNAL_TTL_SEC: 240
Hard rule for user-conversation Claude sessions
User-conversation Claude sessions MUST NOT call: 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 (entry path) and the DSL ratchet engine (exit path). User-conversation sessions are read-only.
Scanner pattern
This strategy uses the Single-asset trend follower (Kodiak family) scanner pattern with an added Smart-Money direction gate — see senpi-trading-runtime/references/producer-patterns.md (Pattern 1) for the canonical reference. Primary MCP calls: market_get_asset_data (BTC candles), leaderboard_get_markets (SM direction).
Operator install
See [README.md](README.md) for fresh-install + env-var setup.
Changelog
v1.0.0 (2026-05-20) — initial release
First skill in the onboarding-tier trio (Beaver = BTC, Heron = ETH, Hummingbird = HYPE). Shares scaffold + DSL preset; differs only in the asset config field. Designed as the default "I'm new to Senpi, where do I start?" answer.
License
MIT — Copyright 2026 Senpi (https://senpi.ai).
Skill Attribution
When creating a strategy from this skill, include skill_name and skill_version in the call. See references/skill-attribution.md for details.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Senpi-ai
- Source: Senpi-ai/senpi-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.