# Sf Loop Hunter

> Recurring scanner that watches the StrategyFactory HOT leaderboard and surfaces NEW top-N picks as they appear. Designed to be wrapped by the /loop skill (or any cron) — runs one pass per invocation, persists the previous top-N to disk, and emits a delta. Use when the user asks "keep an eye on SF for new winners / monitor the leaderboard / alert me when a new top edge shows up / find me new bangers automatically".

- Skill: `daviddme/sf-loop-hunter` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add daviddme/sf-loop-hunter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/daviddme/sf-loop-hunter/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: daviddme (https://skillmd.com/u/daviddme)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/daviddme/sf-loop-hunter

---


# sf-loop-hunter

The "always-on edge hunter". One invocation = one scan. State persists at
`~/.claude/skills/sf-skills/hunter-state.json` so consecutive runs can
diff "what's new in the top N".

Pair with the [`/loop` skill](../../README.md#loop-driven-skills) to run
on an interval:

```
/loop 15m python SF-Skills/sf-loop-hunter/hunter.py --top 10
```

## What each run does

1. Run `sf-best-pick` logic against the HOT leaderboard (composite score).
2. Load the previous top-N from disk.
3. Diff: which slugs entered the top-N, which dropped out, which moved.
4. Emit a short report. If nothing changed, prints `no change`.
5. Save the new top-N to disk.

## When to use

- "Watch the SF leaderboard and tell me when something new ranks"
- "Run an edge-hunter in the background during the stream"
- "Alert me when a fresh top strategy appears"

## How to run

```
python sf-loop-hunter/hunter.py [--top N] [--state PATH] [--json]
```

Defaults: top 10, state at `~/.claude/skills/sf-skills/hunter-state.json`.

## Output

```
HUNTER PASS @ 2026-05-24T14:00:00Z
  + NEW:     spicy-trend-v2  score=0.83  PF=2.4 30d=+12.1%
  + RISER:   meanrev-eth     score=0.79 (was 0.71, +0.08)
  - DROPPED: tired-edge-v1   was rank 4 — fell out of top 10
```

## Notes

- State is local JSON, easy to inspect. Delete it to "forget" history.
- This is the discovery side. For "is what I'm running still good?" use
  [`sf-loop-pruner`](../sf-loop-pruner/SKILL.md).

