# Sf Hot Scan

> List HOT StrategyFactory strategies with optional quant filters and sorting. Use when the user asks "what's hot on StrategyFactory", "scan SF for live strategies", "show me HOT strategies with PF > 1.5", or any variant of "what's on the SF leaderboard". Read-only, requires SF_API_KEY/SF_API_SECRET.

- Skill: `daviddme/sf-hot-scan` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add daviddme/sf-hot-scan`
- Raw SKILL.md: https://api.skillmd.com/api/skills/daviddme/sf-hot-scan/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-hot-scan

---


# sf-hot-scan

Thin wrapper over `GET /api/user-api/strategies/hot`. The agent picks the
filters; this skill ships the request and prints a readable table (or JSON
for chaining into other skills).

## When to use

- "Scan StrategyFactory for hot strategies"
- "List HOT strategies with min profit factor 1.5 and max drawdown 20"
- "What's on the SF leaderboard sorted by 30-day return?"

## How to run

```
python sf-hot-scan/scan.py \
  [--limit N] \
  [--min-win-rate %] [--min-profit-factor X] [--min-net-profit-pct %] \
  [--max-drawdown %] [--min-sharpe X] [--min-sortino X] [--min-trades N] \
  [--min-pct-7d %] [--min-pct-30d %] [--min-pct-90d %] \
  [--min-calmar X] [--max-risk-of-ruin X] [--max-volatility X] \
  [--min-expected-monthly %] [--min-expected-yearly %] \
  [--q TEXT] [--pair CSV] [--timeframe CSV] [--type T] [--status S] \
  [--sort-by FIELD] [--sort-dir asc|desc] \
  [--json]
```

Sort fields: `netProfit`, `winRate`, `profitFactor`, `drawdown`, `sharpe`,
`sortino`, `trades`, `pct7Days`, `pct30Days`, `pct90Days`, `updatedAt`.

## Output

A table: rank, name, pair, timeframe, PF, win rate, net profit %,
drawdown %, Sharpe, 7d %, 30d %, trades. Or full JSON with `--json`.

## Notes

- Reads `SF_API_KEY` / `SF_API_SECRET` from env. Never accepts keys on CLI.
- Server defaults: limit 5000 (max 10000). The agent typically wants `--limit 25`.
- This is the raw scan. For a curated "best 5" use [`sf-best-pick`](../sf-best-pick/SKILL.md).

