Trading Ops
π Framework-driven trading workspace in Claude Code β one slash command scans stocks, crypto, FX, indices & commodities with structured verdicts and audit trails π€
Install / Use
npx skills add l3lackcurtains/trading-opsInstalls into whichever agent you are using.
Quality Score
Category
Development & EngineeringSupported Platforms
README
A systematic trading workspace that runs inside Claude Code. One command scans any asset β stock, crypto, index, FX, commodity β and produces a dated, framework-aligned analysis with structured verdicts, ASCII price ladders, and trade tables. Everything saves as local Markdown: auditable, greppable, version-controlled, and yours.
It is intentionally lean. The framework handles research and structured verdicts β execution, alerts, and integrations are left to you. That boundary is deliberate: your trading decisions should stay yours.
The base layer works out of the box. But Claude Code is MCP-native, so the stack is open:
+ broker MCP β place orders directly from a verdict (Alpaca, CCXT / Weex / Binance)
+ Chrome MCP β auto-pull TradingView charts into every scan
+ Hermes β run scans 24/7 on a $5 VPS, push alerts to Telegram or Discord
+ Playwright MCP β scrape any page without an API β positions, portals, flow data
+ Slack MCP β post verdict deltas to a channel the moment a rescan flips
Every integration is additive. The research framework stays the anchor; MCPs handle execution and delivery. Add as many or as few as you need.
/scan AAPL β 6-pillar fundamentals + Volume Profile + VWAP + trade plan
/scan BTCUSDT β F&G + ETF flows + perp funding/OI + liquidation heatmap
/scan SPX β gamma exposure + VIX term structure + AAII + breadth
/scan EURUSD β CFTC COT + retail sentiment + rate differentials
/scan-macro β regime quadrant (Goldilocks / Reflation / Stagflation / Risk-Off)
/discover β Finviz screener anchored to current macro regime
Demo
<p align="center"> <img src="assets/demo.gif" alt="trading-ops β live scan running in Claude Code" /> </p>What you get
Structured verdicts β no prose triggers. Every scan ends with a verb (LONG / SHORT / WAIT / SKIP / ...), an ASCII price ladder with every level marked, and a trade table with Entry / Stop / T1 / T2 / T3 / R:R / Sizing / Time-stop:
BTCUSDT - 2026-04-29 - spot $76,335
==========================================
UPSIDE (bull resolution path)
$84,000 === [T2] heatmap cluster (forced-cover magnet)
$80,000 === [T1] heatmap density + May 30 max pain
$79,500 --> LONG entry (Swing-B)
$79,200 === ^^ trigger: daily close β₯ + green vector
$78,200 ### supply zone bottom (3-wk rejection)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> $76,335 *** CURRENT ***
$75,500 === [t] Day target / counter-trend entry
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DOWNSIDE (bear resolution path)
$73,800 --> SHORT entry (Swing-A)
$66,000 === [T3] long-dated max pain (Sept/Dec OPEX)
Three horizons per name. Positional (weeksβmonths), Swing (3β15 days), Day (intraday). Different verdict per horizon β positional auto-reject is compatible with a tradeable swing.
Audit trail built in. Every scan is dated and archived. Rescans delta-compare against prior snapshots (Ξ since last scan) and classify prior triggers as fired-correct / fired-stopped / invalidated / stale.
Mostly no API keys required. Nine Python scripts pre-compute data locally (Yahoo Finance, SEC EDGAR, CoinGecko, alternative.me, Binance, mempool.space, Google News RSS). Optional free keys for FRED macroeconomics and Finnhub analyst data upgrade the output further.
Prerequisites
- Claude Code β the CLI that runs the slash commands
- Python 3.10+ β for the data pre-compute scripts
- Free TradingView account (optional) β for chart screenshots via chrome-devtools MCP
No paid data subscriptions required at any tier.
Installation
git clone https://github.com/YOUR_USERNAME/trading-ops.git
cd trading-ops
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
Or with uv (faster installs, no activation needed):
git clone https://github.com/YOUR_USERNAME/trading-ops.git
cd trading-ops
uv venv
uv pip install -r requirements.txt
Scripts can then be run directly without activating the venv:
uv run python scripts/fetch_quote.py AAPL
uv run python scripts/fetch_ohlc.py BTCUSDT
Or with npm (installs venv, dependencies, and the pre-commit hook in one step):
npm run setup
Then open the folder in Claude Code:
claude .
The slash commands are immediately available. Start with:
/scan-macro
Optional API keys
Set these as environment variables (e.g. in ~/.bashrc or a .env):
| Variable | Source | What it unlocks |
|---|---|---|
| FRED_API_KEY | fredaccount.stlouisfed.org/apikeys (free) | Full macro data via fetch_macro.py β replaces ~6 WebFetches per /scan-macro |
| FINNHUB_TOKEN | finnhub.io/register (free, 60 req/min) | Analyst price targets, recommendations, earnings AMC/BMO timing |
| SEC_USER_AGENT | Any string: "Name <email>" | SEC EDGAR fair-access policy for fetch_sec.py β Form 4 insider data + ROIC from XBRL |
Everything works without keys. The keys are upgrades.
Quick start (first 5 minutes)
1. Set the macro regime.
/scan-macro
Pulls rates, curve, CPI, PCE, NFP, DXY, VIX. Places the market in one of four quadrants (Goldilocks / Reflation / Stagflation / Risk-Off). Saves to scanned/MACRO/current.md. Run this first β the regime gates every downstream verdict.
2. Scan a ticker.
/scan AAPL
Auto-detects asset class (stock β 6-pillar + Volume Profile + VWAP + ChartExchange flow). Saves to scanned/stocks/AAPL/current.md. For crypto, FX, indices, or commodities β same command, different symbol.
3. Find new names.
/discover
Parses your intent into Finviz filters, anchors to the current regime, saves a candidate list to scanned/SCREENS/. Then /scan <TICKER> on anything promising.
4. Rescan when things move.
/rescan AAPL
Rotates the prior snapshot to archive/, pulls fresh data, marks the TL;DR with Ξ if the verdict changed.
All commands
| Command | What it does |
|---|---|
| /scan-macro | Top-down regime read. Sets the quadrant for all downstream scans. |
| /scan [SYMBOL] | Universal scan β auto-detects stock / crypto / index / FX / commodity. No args = regenerate scanned/INDEX.md. |
| /rescan SYMBOL\|macro | Full refresh β rotate archive, pull fresh data, mark deltas. |
| /scan-flow SYMBOL | Partial: refresh asset-class flow & positioning only (COT / ETF / gamma). |
| /scan-fundamentals TICKER | Partial: refresh 6-pillar scorecard only (stocks). Run after new 10-Q / 13F. |
| /scan-earnings TICKER | Partial: earnings setup 8-point checklist. Run 4β6 weeks pre-print. |
| /discover [intent] | Finviz screener. Natural language: /discover cheap semis with ROI > 20. |
| /ingest source | Add new framework knowledge to docs/. PDF / URL / inline text. |
| /calibrate [scope] | Audit guide/ against docs/ for drift. |
Asset-class auto-detection
| Symbol shape | Routed as | Extra data |
|---|---|---|
| 1β5 letter US ticker | Stock | 6-pillar + ChartExchange + earnings |
| ends in USDT/USD | Crypto | F&G + ETF + perp funding/OI + max pain + heatmap |
| SPX / NDX / SPY / QQQ | Index | Gamma + VIX structure + AAII + breadth + COT |
| 6-letter pair (EURUSD) | FX | CFTC COT + retail sentiment + rate diffs |
| CL / GC / USO / GLD | Commodity | COT + EIA/USDA + curve + seasonality |
Override ambiguous cases: /scan MSTR --type=crypto
Folder layout
trading-ops/
βββ docs/ β framework knowledge base (read-only)
β βββ macro.md β 4-regime model, key indicators, news-trading playbook
β βββ long-term-investing.md β 6-pillar fundamentals, moat types, 10-K reading
β βββ positioning.md β squeeze tier, dealer gamma, CFTC COT
β βββ volume-profile.md β POC / VAH / VAL / HVN / LVN, profile shapes
β βββ vwap.md β session / weekly / monthly / quarterly / anchored VWAP
βββ guide/ β scan protocol (read-only during scans)
β βββ scan-rules.md β index into guide/scan/
β βββ scan/ β per-concern protocol files
βββ .claude/commands/ β slash command definitions
βββ scripts/ β Python data-fetch utilities
βββ scanned/ β living analyses β your trading desk
β βββ INDEX.md β auto-generated coverage navigator
β βββ MACRO/ β regime tracker
β βββ stocks/<TICKER>/ β per-stock coverage (current.md + archive/)
β βββ crypto/<SYMBOL>/
β βββ indices/<SYMBOL>/
β βββ fx/<PAIR>/
β βββ commodities/<SYMBOL>/
βββ requirements.txt
docs/ and guide/ are read-only during scans β the framework is enforced, not improvised. /ingest is the only command that writes to docs/. /calibrate audits guide/ for drift against the knowledge base.
Python scripts
The scripts replace WebFetches with local pre-computation. All keyless by default; optional keys shown in parentheses:
| Script | What it pre-computes |
|---|---|
| fetch_quote.py TICKER | Yahoo Finance quote β price, valuation, profitability, growth, balance sheet, short interest, analyst consensus. Includes Pillar-1 numeric auto-reject check. |
| fetch_ohlc.py TICKER | Multi-timeframe OHLCV + EMAs (20/50/200) + ATR + RSI + VWAP family (session/weekly/monthly/quarterly/anchored, Β±Ο bands) + Volume Profile (POC/VAH/VAL/HVN/LVN + ASCII histogram). |
| fetch_sec.py TICKER | SEC EDGAR Form 4 insider transactions, clu
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.6kCommit, push, and open a PR
