Skill
Monitor, backtest, rebalance, and tax-track Solana concentrated-liquidity LP across Orca Whirlpools, Raydium CLMM, Meteora DLMM/DAMM v2, and Kamino vaults; realtime out-of-range gRPC/websocket alerts, IL-vs-HODL + fee-APR backtest, cross-DEX yield routing, simulate-first human-confirm rebalance, and a FIFO/HIFO/SPECID tax-lot ledger.From its SKILL.md
npx -y skills add alexbanda08/clmm-command-center --skill skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.9 KB, 953 tokens by cl100k_base, as published. Nobody here has run it
CLMM Command Center
Full concentrated-liquidity LP lifecycle across Orca Whirlpools / Raydium CLMM / Meteora DLMM + DAMM v2 / Kamino vaults: realtime out-of-range alerting, IL-vs-HODL + fee-APR backtesting, cross-DEX yield routing, simulate-first rebalancing, and a tax-lot ledger.
Prior art (honest): single-venue liquidity skills/SDKs and hosted rebalancing bots already exist. This is a level-up of the seed position-manager pattern. The edge is the combination: realtime gRPC/websocket alerts (not polling), backtesting with break-even width, cross-DEX routing, and a confirm-gated rebalance - in one router that delegates Anchor work to ../solana-dev. This is scaffolding + knowledge, never a hosted/auto-running bot.
Source precedence (apply in order)
- On-chain account state (whirlpool/pool/position accounts) is ground truth.
- SDK quote / simulation is next - use for pricing and rebalance sizing.
- Cached values are last resort and must be labeled stale.
- Never auto-execute a fund-moving or signing transaction without an explicit typed human confirmation.
- Always
rpc.simulateTransactionbefore submit (you pay the CU limit either way). - Enforce caps: slippage, max-notional, max-position, daily-loss, kill-switch; default
DRY_RUN=true,REQUIRE_CONFIRM=true. No bypass flag. - Delegate all Anchor / program / IDL / tx-signing / priority-fee plumbing to
../solana-devviareferences/delegation.md. Delegate swaps to the jupiter skill where relevant.
Task Routing Guide
Open exactly ONE leaf per task.
| User asks about... | Leaf |
|---|---|
| list / track / show positions, unclaimed fees, in-range | references/positions.md |
| realtime / out-of-range / websocket / gRPC alerts | references/streaming.md |
| IL vs HODL / fee APR / backtest / range width | references/backtesting.md |
| best yield / compare APR / where to LP | references/yield-routing.md |
| Kamino vault / auto-compound | references/kamino-vaults.md |
| rebalance / recenter / close+reopen / execute | references/rebalancing.md |
| taxes / cost basis / FIFO / HIFO / lots | references/tax-lots.md |
| Anchor / program / IDL / sign tx / priority fee | references/delegation.md |
| package / version / which SDK | references/sdk-versions.md |
| safety / caps / confirm gate / kill-switch | references/safety-rails.md |
Progressive disclosure
templates/types.ts- sharedLpPositioncontract (import everywhere).templates/adapters/{orca,raydium,meteora,kamino}.ts-fetchPositions(owner)per venue (lazy SDK imports).templates/watcher.ts-startWatcher(opts), reconnecting stream.templates/il-backtest.ts-backtestRange(params).templates/yield-compare.ts-compareYields(pair).templates/rebalance.ts-planRebalance/executeRebalance(confirm-gated).templates/kamino-vault.ts- Kamino vault helpers.templates/tax-lots.ts-buildTaxLots(events, method).
Agents
| Agent | Use when |
|---|---|
agents/lp-risk-analyst.md | evaluating IL / range / exposure risk before a rebalance or deposit (opus) |
agents/stream-watcher.md | wiring or debugging realtime gRPC/websocket out-of-range streams (sonnet) |
Commands
| Command | Does |
|---|---|
/clmm-watch | start realtime out-of-range watcher for an owner |
/clmm-backtest | run IL-vs-HODL + fee-APR for a pair/range |
/clmm-compare | compare cross-DEX fee APR / TVL for a pair |
/clmm-rebalance | plan, simulate, then confirm-gate a rebalance |
/clmm-tax | build a tax-lot ledger from events |
What ships with it: 24 files
140.2 KB alongside SKILL.md, 13 of them executable
references/
- backtesting.md4.5 KB
- delegation.md2.6 KB
- kamino-vaults.md4.6 KB
- positions.md7.8 KB
- rebalancing.md5.5 KB
- safety-rails.md4.1 KB
- sdk-versions.md2.7 KB
- streaming.md5.6 KB
- tax-lots.md4.8 KB
- yield-routing.md4.7 KB
templates/
- adapters/kamino.tsruns4.8 KB
- adapters/meteora.tsruns5.3 KB
- adapters/orca.tsruns3.3 KB
- adapters/raydium.tsruns3.4 KB
- il-backtest.test.tsruns10.7 KB
- il-backtest.tsruns7.3 KB
- kamino-vault.tsruns9.4 KB
- package.json833 B
- rebalance.tsruns7.8 KB
- tax-lots.test.tsruns14.0 KB
- tax-lots.tsruns8.1 KB
- types.tsruns1.6 KB
- watcher.tsruns9.3 KB
- yield-compare.tsruns7.4 KB
Gives 0 of the 12 instructions most finance skills give in 953 tokens
Counted across 469 of the 469 authors here whose files we hold, read 2026-08-07
- Extract date vendor amount and descriptionin 15 of 469, across 3 files
- Scan folder for invoice filesin 14 of 469, across 2 files
- Rename files to standard formatin 14 of 469, across 2 files
- Show organization plan before movingin 14 of 469, across 2 files
- Generate summary CSVin 14 of 469, across 2 files
- Organize files by categoryin 13 of 469, across 1 file
- Preserve original filesin 13 of 469, across 1 file
- Flag files missing critical infoin 13 of 469, across 1 file
- Produce the requested output filein 9 of 469, across 4 files
- Build best, base, and worst case scenariosin 9 of 469, across 5 files
- Implement backoff if rate limit errors occurin 8 of 469, across 3 files
- Determine the weighted average cost of capitalin 8 of 469, across 4 files
Said here and by no other author read
- treat on-chain account state as ground truth
- use sdk quote or simulation for pricing
- label cached values as stale
- never auto-execute signing transactions without confirmation
- enforce slippage and loss caps
- default to dry run mode
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.