Create Strategy — Etemaro
SkillDev toolsGuide for creating a new Etemaro LP strategy from scratch or selecting and adapting an existing one. Use this skill whenever a user asks to "create a strategy", "add a new strategy", "set up a strategy", "configure LP strategy", "what strategy should I use", or any variant involving Etemaro strategy setup, customization, or deployment configuration. Also trigger when the user describes a trading goal (e.g. "I want to go bullish on SOL", "I want to earn fees on a stable pair", "I have a volatile token") and needs it translated into a concrete config.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Create Strategy — Etemaro skill
What this skill tells your AI
The instructions your AI receives, as published by romankurnovskii/etemaro in .agents/skills/create-strategy/SKILL.md and read by ahel’s review.
This skill walks an agent through creating or selecting an LP strategy for the Etemaro trading daemon, then generates a ready-to-use config patch.
Phase 1: Gather Minimum Required Information
Before looking at any existing strategies, collect the following from the user. Ask as a single, concise message — don't split into separate turns unless the user's answer is ambiguous.
Checklist (all required)
- Directional view — Is the user bullish, bearish, or neutral on the token?
- Token type — Is this a volatile/narrative token, a stable/high-volume pool, or a blue-chip (SOL, ETH)?
- Risk tolerance — Conservative (tight stop-loss, quick exits), moderate, or aggressive (hold through dips, re-seed)?
- Capital per position (SOL) — How much SOL to deploy per position? (Relevant for fee/risk math.)
- Exit preference — Take profit at a specific % gain? Trail the price? Let it run and re-seed?
- Smart-wallet tracking — Should the strategy be gated by smart-wallet presence (KOL/alpha wallets)?
This affects
opportunitySmartWalletBonusand the opportunity poller.
If the user already gave some of these in their request, extract answers from the conversation and only ask for what is missing. Don't ask for things you already know.
Phase 2: Review Strategy Library
Read config/shared/strategy-library.json now. It contains the canonical list of LP strategy presets:
| ID | Name | LP Shape | Best For |
|---|---|---|---|
custom_ratio_spot | Custom Ratio Spot | spot | Directional bias, earn fees both ways |
single_sided_reseed | Single-Sided Bid-Ask + Re-seed | bid_ask | Volatile tokens, DCA-out on dip |
fee_compounding | Fee Compounding | any | Stable volume pools, compounding yield |
multi_layer | Multi-Layer | mixed | Custom distributions, one position |
partial_harvest | Partial Harvest | any | High-fee pools, incremental profit-taking |
Recommendation Logic
Map the user's intent to an existing strategy first. Only propose a new one if no existing strategy fits.
| User Intent | Recommended Strategy |
|---|---|
| Bullish / bearish directional view | custom_ratio_spot (adjust bins_below:bins_above ratio) |
| Volatile token, want to exit on dump | single_sided_reseed |
| Stable pair, maximize yield | fee_compounding |
| Want custom bin distribution | multi_layer |
| Want to lock in gains incrementally | partial_harvest |
| Neutral / range-bound | fee_compounding or multi_layer |
Present your recommendation to the user with a one-sentence rationale. Example:
"Based on your bullish view, I'd recommend
custom_ratio_spot— it places more bins below the current price so you earn fees as the token rises, and auto-closes if it breaks out of range."
Ask: "Would you like to use this existing strategy, adjust it, or create a new one from scratch?"
Phase 3: Smart Wallet Decision
Ask (if not already answered in Phase 1):
"Do you want to track smart wallets (KOL/alpha wallets) for this strategy? If enabled, the opportunity poller gives a score bonus to pools where tracked wallets are LPs, letting the agent enter pools it would otherwise skip."
- Yes → set
opportunityPollEnabled: true,opportunitySmartWalletBonus: 20(or higher). SetsmartWalletListIdon the strategy and remind the user to populate that named list inconfig/shared/smart-wallets.jsonvia:Telegram: add smart wallet <address> name=<label> category=alpha type=lp - No → set
opportunitySmartWalletBonus: 0or leaveopportunityPollEnabled: false.
Phase 4: Build the Config Patch
Document reading order
Read these docs in this order before generating config — each one layers on the previous:
docs/ARCHITECTURE.md— understand the strategy library's role in deploy decisionsdocs/CONFIGURATION.md— full field reference (all categories, types, defaults)config/templates/agent-config.example.json— canonical template; every field that must be present
Config sections to populate
When generating a new config file, first copy the entire content of config/templates/agent-config.example.json. Then, modify only the specific fields that differ based on the user's requirements. This ensures no required fields are missed. Cover these sections:
strategy section (always required)
"strategy": {
"strategy": "<bid_ask|spot|curve>",
"minBinsBelow": <int>,
"maxBinsBelow": <int>,
"defaultBinsBelow": <int>,
"minSafeBinsBelow": <int>
}
Directional bias rules (for custom_ratio_spot):
- 75% bullish →
bins_below : bins_above ≈ 52:17→ set highdefaultBinsBelow, lowmaxBinsBelow - 75% bearish → flip: mostly bins above (use single-sided or flip ratio)
- Neutral → equal split (35 below, 35 above)
management section (risk/exit fields)
Populate based on user's risk tolerance and exit preference:
| Risk Level | stopLossPct | takeProfitPct | trailingTakeProfit | outOfRangeWaitMinutes |
|---|---|---|---|---|
| Conservative | -15 | 3 | true | 15 |
| Moderate | -30 | 5 | true | 30 |
| Aggressive | -50 | 10 | false | 60 |
Also set:
deployAmountSol— from user's capital-per-position answerpositionSizePct— deployAmountSol / available_sol (ask user for wallet SOL if unknown)
opportunity section (smart wallet gating)
"opportunity": {
"opportunityPollEnabled": true|false,
"opportunitySmartWalletBonus": 0|20,
"opportunityMinScore": 40
}
screening section (token-type filters)
Adjust based on token type:
| Token Type | minOrganic | minHolders | minBinStep | maxBinStep | minTvl | maxTvl |
|---|---|---|---|---|---|---|
| Volatile/narrative | 60 | 500 | 80 | 125 | 10000 | 150000 |
| Stable/high-volume | 70 | 2000 | 1 | 50 | 100000 | 5000000 |
| Blue-chip (SOL/ETH) | 80 | 5000 | 1 | 25 | 500000 | 10000000 |
strategy-library.json entry (if new or customized strategy)
If the user wants a new or customized strategy, generate a new entry for config/shared/strategy-library.json:
{
"id": "<snake_case_id>",
"name": "<Human Readable Name>",
"author": "<user or custom>",
"lpStrategy": "<spot|bid_ask|curve|mixed|any>",
"tokenCriteria": { "notes": "<when to use this>" },
"entry": {
"condition": "<entry trigger>",
"singleSide": null,
"notes": "<deployment notes>"
},
"range": {
"type": "<default|custom>",
"binsBelowPct": 100,
"notes": "<range notes>"
},
"exit": {
"takeProfitPct": 10,
"notes": "<exit rules>"
},
"bestFor": "<one-line summary>",
"addedAt": "<ISO timestamp>",
"updatedAt": "<ISO timestamp>"
}
Then set it as active with:
npm run cli set-active-strategy -- --id <your_id>
Phase 5: Output
Present the result as three clearly labeled blocks:
Block A — Config patch file
Generate the patch as a separate configuration file. Unless the user specifically requests another name, use the following pattern:
config/agent-config.<major-strategy-short-idea>.<?minor-desc>.v<YYMMDD>-<counter-number>.json
(e.g., config/agent-config.copy-trade.v260817-1.json).
The generated config MUST be a complete JSON file containing all fields from the example config, with the relevant overrides applied.
Tell the user they can run the bot with this config using:
AGENT_CONFIG_PATH=<filename> npm start
Block B — Strategy library entry (if new/customized)
Show the full JSON entry to append into config/shared/strategy-library.json → strategies object.
Provide the CLI command to activate it.
Block C — Verification checklist
✅ Env vars assumed set: LLM_API_KEY, LLM_MODEL, RPC_URL
✅ dryRun: true ← test first before going live
✅ Smart wallets: <populated / not needed>
✅ Active strategy ID: <id>
✅ Run: npm run dev ← safe dry-run verification
✅ When ready for live: set dryRun: false and npm start
Reference Quick Map
| Need | Read |
|---|---|
| All config fields + types | docs/CONFIGURATION.md |
| Field defaults | config/templates/agent-config.example.json |
| Existing strategy presets | config/shared/strategy-library.json |
| Smart wallet tracking setup | docs/QA.md → Smart Wallets section |
| Architecture (how strategy is used at deploy) | docs/ARCHITECTURE.md → Strategy Library section |
| CLI strategy commands | docs/USAGE_GUIDE.md → Strategy management section |
| Full agent flow | docs/FULL_FLOW.md |
Signals
- GitHub stars
- 54
- Forks
- 1
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
create-strategy- Source
- github.com/romankurnovskii/etemaro