SkillAgentSearch skills...

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-ops

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop

README

<p align="center"> <img src="assets/trading-ops-logo.png" alt="trading-ops" width="200" /> </p>

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

View on GitHub
GitHub Stars49
CategoryDevelopment
Updated9d ago
Forks11

Languages

Python

Security Score

95/100

Audited on Jul 29, 2026

No findings