Create Strategy — Etemaro

SkillDev tools

Guide 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.

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)

  1. Directional view — Is the user bullish, bearish, or neutral on the token?
  2. Token type — Is this a volatile/narrative token, a stable/high-volume pool, or a blue-chip (SOL, ETH)?
  3. Risk tolerance — Conservative (tight stop-loss, quick exits), moderate, or aggressive (hold through dips, re-seed)?
  4. Capital per position (SOL) — How much SOL to deploy per position? (Relevant for fee/risk math.)
  5. Exit preference — Take profit at a specific % gain? Trail the price? Let it run and re-seed?
  6. Smart-wallet tracking — Should the strategy be gated by smart-wallet presence (KOL/alpha wallets)? This affects opportunitySmartWalletBonus and 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:

IDNameLP ShapeBest For
custom_ratio_spotCustom Ratio SpotspotDirectional bias, earn fees both ways
single_sided_reseedSingle-Sided Bid-Ask + Re-seedbid_askVolatile tokens, DCA-out on dip
fee_compoundingFee CompoundinganyStable volume pools, compounding yield
multi_layerMulti-LayermixedCustom distributions, one position
partial_harvestPartial HarvestanyHigh-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 IntentRecommended Strategy
Bullish / bearish directional viewcustom_ratio_spot (adjust bins_below:bins_above ratio)
Volatile token, want to exit on dumpsingle_sided_reseed
Stable pair, maximize yieldfee_compounding
Want custom bin distributionmulti_layer
Want to lock in gains incrementallypartial_harvest
Neutral / range-boundfee_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). Set smartWalletListId on the strategy and remind the user to populate that named list in config/shared/smart-wallets.json via:
    Telegram: add smart wallet <address> name=<label> category=alpha type=lp
    
  • No → set opportunitySmartWalletBonus: 0 or leave opportunityPollEnabled: 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:

  1. docs/ARCHITECTURE.md — understand the strategy library's role in deploy decisions
  2. docs/CONFIGURATION.md — full field reference (all categories, types, defaults)
  3. 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 high defaultBinsBelow, low maxBinsBelow
  • 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 LevelstopLossPcttakeProfitPcttrailingTakeProfitoutOfRangeWaitMinutes
Conservative-153true15
Moderate-305true30
Aggressive-5010false60

Also set:

  • deployAmountSol — from user's capital-per-position answer
  • positionSizePct — 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 TypeminOrganicminHoldersminBinStepmaxBinStepminTvlmaxTvl
Volatile/narrative605008012510000150000
Stable/high-volume7020001501000005000000
Blue-chip (SOL/ETH)80500012550000010000000
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.jsonstrategies 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

NeedRead
All config fields + typesdocs/CONFIGURATION.md
Field defaultsconfig/templates/agent-config.example.json
Existing strategy presetsconfig/shared/strategy-library.json
Smart wallet tracking setupdocs/QA.md → Smart Wallets section
Architecture (how strategy is used at deploy)docs/ARCHITECTURE.md → Strategy Library section
CLI strategy commandsdocs/USAGE_GUIDE.md → Strategy management section
Full agent flowdocs/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