| name | sf-prune |
| description | Find deployed StrategyFactory bots whose underlying strategy's edge is decaying, and optionally pause them. Use when the user asks "kill the dead bots / prune my portfolio / pause the losers / which of my bots are dying / clean up the bot roster". Writes state via PATCH only when --apply is passed. |
sf-prune
Audit-and-clean for your deployed roster. For every ACTIVE bot, pulls the
underlying strategy and runs the same edge-decay heuristic as
sf-edge-watch. Bots whose strategies are
decaying or dead are listed; with --apply they get paused via
PATCH /bots/:id.
When to use
- "Prune the bot roster"
- "Pause anything that's dying"
- "Show me which of my bots have lost their edge"
How to run
# Dry run — lists candidates, never PATCHes
python sf-prune/prune.py [--include soft|decaying|dead] [--json]
# Actually pause flagged bots
python sf-prune/prune.py --apply [--include soft|decaying|dead]
Defaults: --include decaying,dead (soft = watch but don't touch).
Output
Table sorted worst-first: bot name, strategy, status, flags. With
--apply, also prints PATCH result per bot.
Safety
- Without
--apply, this is fully read-only.
--apply PATCHes one bot per call. The shared client respects the
server-side 10-second per-bot cooldown automatically.
- Only ACTIVE bots are considered. PAUSED/DRAFT/DISABLED are skipped.
- This skill does not delete bots — it only pauses them. To re-activate
later, use
PATCH /bots/:id with action: "reactivate".