sf-discover — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited sf-discover (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
npm install -g @spfunctions/cliNo auth required for sf discover. sf cross-venue works without auth. sf edges requires sf login if you want personalized edges against your active theses.
sf discover --quality --json --limit 10sf discover --quality is the agent default. It:
Without --quality, the raw output includes everything (useful for breadth, noisy for ranked selection).
sf discover --quality --category macro --json --limit 10
sf discover --quality --category geopolitics --json --limit 10
sf discover --quality --category crypto --json --limit 10
sf discover --quality --category elections --json --limit 10Available categories: macro, geopolitics, crypto, elections, sports, entertainment, science.
Cross-venue arbitrage is a high-confidence signal class:
sf cross-venue --preset arb --json --limit 5--preset arb returns pairs with confidence ≥0.75 AND |Δt| ≤90d. Other presets:
world — broader pairing for world-state contextdetail — per-pair detail with both venues' indicatorsbrowse — full unfiltered pair setsf inspect <ticker> --jsonVerify liquidity, spread, and regime before recommending. A 10¢ edge with a 5¢ spread is a 5¢ realized edge — adjust for that.
Produce a ranked table:
| Rank | Ticker | Venue | Price | Edge | Conf | Liq | Spread | Category |
|---|---|---|---|---|---|---|---|---|
| 1 | KXRATECUT-26DEC31 | Kalshi | 72¢ | +12 | 0.85 | high | 1¢ | macro |
| 2 | ... | ... | ... | ... | ... | ... | ... | ... |
Always include the realized edge (raw edge minus spread), not just raw edge.
sf discover is the opportunity router. sf screen is the raw filter:
sf screen --iy-min 200 --las-max 0.1 --jsonUse screen when you have specific indicator thresholds in mind (yield, spread, regime). Use discover when you want the ranker to surface things for you.
{
"status": "ok",
"data": {
"opportunities": [
{
"ticker": "...",
"title": "...",
"price": 72,
"edge": 12,
"confidence": 0.85,
"liquidity": "high",
"spread": 1,
"category": "macro",
"source": "trade_idea" | "world" | "cross_venue" | "new_market" | "contagion",
"rationale": "...",
"nextActions": [{ "command": "sf inspect ..." }]
}
],
"filtered": 15,
"totalCandidates": 37,
"regime": { "label": "...", "confidence": ... }
}
}--quality for raw breadth, or filter to a specific category.lastComputedAt field in each item tells you freshness. If it's >1h old, run sf world --json to confirm regime hasn't shifted.sf-research — topic-specific research (when you know what to look at)sf-inspect — deep dossier on one tickersf-pre-trade-check — adversarial check before recommending an entry~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.