[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80806":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":14,"starSnapshotCount":14,"syncStatus":15,"lastSyncTime":33,"discoverSource":34},80806,"trading-ops","l3lackcurtains\u002Ftrading-ops","l3lackcurtains","📈 Framework-driven trading workspace in Claude Code — one slash command scans stocks, crypto, FX, indices & commodities with structured verdicts and audit trails 🤖",null,"Python",40,10,1,0,2,3.12,"MIT License",false,"main",true,[22,23,24,25,26,27,28,29],"ai","algorithmic-trading","claude-code","crypto","forex","stocks","technical-analysis","trading","2026-06-12 02:04:07","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Ftrading-ops-logo.png\" alt=\"trading-ops\" width=\"200\" \u002F>\n\u003C\u002Fp>\n\nA systematic trading workspace that runs inside [Claude Code](https:\u002F\u002Fclaude.ai\u002Fcode). 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.\n\nIt 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.\n\nThe base layer works out of the box. But Claude Code is MCP-native, so the stack is open:\n\n```\n+ broker MCP       → place orders directly from a verdict (Alpaca, CCXT \u002F Weex \u002F Binance)\n+ Chrome MCP       → auto-pull TradingView charts into every scan\n+ Hermes           → run scans 24\u002F7 on a $5 VPS, push alerts to Telegram or Discord\n+ Playwright MCP   → scrape any page without an API — positions, portals, flow data\n+ Slack MCP        → post verdict deltas to a channel the moment a rescan flips\n```\n\nEvery integration is additive. The research framework stays the anchor; MCPs handle execution and delivery. Add as many or as few as you need.\n\n```\n\u002Fscan AAPL        → 6-pillar fundamentals + Volume Profile + VWAP + trade plan\n\u002Fscan BTCUSDT     → F&G + ETF flows + perp funding\u002FOI + liquidation heatmap\n\u002Fscan SPX         → gamma exposure + VIX term structure + AAII + breadth\n\u002Fscan EURUSD      → CFTC COT + retail sentiment + rate differentials\n\u002Fscan-macro       → regime quadrant (Goldilocks \u002F Reflation \u002F Stagflation \u002F Risk-Off)\n\u002Fdiscover         → Finviz screener anchored to current macro regime\n```\n\n---\n\n## Demo\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemo.gif\" alt=\"trading-ops — live scan running in Claude Code\" \u002F>\n\u003C\u002Fp>\n\n---\n\n## What you get\n\n**Structured verdicts — no prose triggers.** Every scan ends with a verb (`LONG` \u002F `SHORT` \u002F `WAIT` \u002F `SKIP` \u002F ...), an ASCII price ladder with every level marked, and a trade table with Entry \u002F Stop \u002F T1 \u002F T2 \u002F T3 \u002F R:R \u002F Sizing \u002F Time-stop:\n\n```\n              BTCUSDT  -  2026-04-29  -  spot $76,335\n              ==========================================\n\n              UPSIDE  (bull resolution path)\n   $84,000   ===   [T2]  heatmap cluster (forced-cover magnet)\n   $80,000   ===   [T1]  heatmap density + May 30 max pain\n   $79,500         -->   LONG entry  (Swing-B)\n   $79,200   ===    ^^   trigger: daily close ≥ + green vector\n   $78,200   ###         supply zone bottom (3-wk rejection)\n   - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n>> $76,335   ***   CURRENT   ***\n   $75,500   ===   [t]   Day target \u002F counter-trend entry\n   - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n              DOWNSIDE  (bear resolution path)\n   $73,800         -->   SHORT entry  (Swing-A)\n   $66,000   ===   [T3]  long-dated max pain (Sept\u002FDec OPEX)\n```\n\n**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.\n\n**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 \u002F fired-stopped \u002F invalidated \u002F stale`.\n\n**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.\n\n---\n\n## Prerequisites\n\n- **[Claude Code](https:\u002F\u002Fclaude.ai\u002Fcode)** — the CLI that runs the slash commands\n- **Python 3.10+** — for the data pre-compute scripts\n- **Free TradingView account** (optional) — for chart screenshots via chrome-devtools MCP\n\nNo paid data subscriptions required at any tier.\n\n---\n\n## Installation\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FYOUR_USERNAME\u002Ftrading-ops.git\ncd trading-ops\n\npython3 -m venv .venv\nsource .venv\u002Fbin\u002Factivate          # Windows: .venv\\Scripts\\activate\npip install -r requirements.txt\n```\n\nOr with [uv](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv) (faster installs, no activation needed):\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FYOUR_USERNAME\u002Ftrading-ops.git\ncd trading-ops\n\nuv venv\nuv pip install -r requirements.txt\n```\n\nScripts can then be run directly without activating the venv:\n\n```bash\nuv run python scripts\u002Ffetch_quote.py AAPL\nuv run python scripts\u002Ffetch_ohlc.py BTCUSDT\n```\n\nOr with npm (installs venv, dependencies, and the pre-commit hook in one step):\n\n```bash\nnpm run setup\n```\n\nThen open the folder in Claude Code:\n\n```bash\nclaude .\n```\n\nThe slash commands are immediately available. Start with:\n\n```\n\u002Fscan-macro\n```\n\n---\n\n## Optional API keys\n\nSet these as environment variables (e.g. in `~\u002F.bashrc` or a `.env`):\n\n| Variable | Source | What it unlocks |\n|---|---|---|\n| `FRED_API_KEY` | [fredaccount.stlouisfed.org\u002Fapikeys](https:\u002F\u002Ffredaccount.stlouisfed.org\u002Fapikeys) (free) | Full macro data via `fetch_macro.py` — replaces ~6 WebFetches per `\u002Fscan-macro` |\n| `FINNHUB_TOKEN` | [finnhub.io\u002Fregister](https:\u002F\u002Ffinnhub.io\u002Fregister) (free, 60 req\u002Fmin) | Analyst price targets, recommendations, earnings AMC\u002FBMO timing |\n| `SEC_USER_AGENT` | Any string: `\"Name \u003Cemail>\"` | SEC EDGAR fair-access policy for `fetch_sec.py` — Form 4 insider data + ROIC from XBRL |\n\nEverything works without keys. The keys are upgrades.\n\n---\n\n## Quick start (first 5 minutes)\n\n**1. Set the macro regime.**\n```\n\u002Fscan-macro\n```\nPulls rates, curve, CPI, PCE, NFP, DXY, VIX. Places the market in one of four quadrants (Goldilocks \u002F Reflation \u002F Stagflation \u002F Risk-Off). Saves to `scanned\u002FMACRO\u002Fcurrent.md`. Run this first — the regime gates every downstream verdict.\n\n**2. Scan a ticker.**\n```\n\u002Fscan AAPL\n```\nAuto-detects asset class (stock → 6-pillar + Volume Profile + VWAP + ChartExchange flow). Saves to `scanned\u002Fstocks\u002FAAPL\u002Fcurrent.md`. For crypto, FX, indices, or commodities — same command, different symbol.\n\n**3. Find new names.**\n```\n\u002Fdiscover\n```\nParses your intent into Finviz filters, anchors to the current regime, saves a candidate list to `scanned\u002FSCREENS\u002F`. Then `\u002Fscan \u003CTICKER>` on anything promising.\n\n**4. Rescan when things move.**\n```\n\u002Frescan AAPL\n```\nRotates the prior snapshot to `archive\u002F`, pulls fresh data, marks the TL;DR with `Δ` if the verdict changed.\n\n---\n\n## All commands\n\n| Command | What it does |\n|---|---|\n| `\u002Fscan-macro` | Top-down regime read. Sets the quadrant for all downstream scans. |\n| `\u002Fscan [SYMBOL]` | Universal scan — auto-detects stock \u002F crypto \u002F index \u002F FX \u002F commodity. No args = regenerate `scanned\u002FINDEX.md`. |\n| `\u002Frescan SYMBOL\\|macro` | Full refresh — rotate archive, pull fresh data, mark deltas. |\n| `\u002Fscan-flow SYMBOL` | Partial: refresh asset-class flow & positioning only (COT \u002F ETF \u002F gamma). |\n| `\u002Fscan-fundamentals TICKER` | Partial: refresh 6-pillar scorecard only (stocks). Run after new 10-Q \u002F 13F. |\n| `\u002Fscan-earnings TICKER` | Partial: earnings setup 8-point checklist. Run 4–6 weeks pre-print. |\n| `\u002Fdiscover [intent]` | Finviz screener. Natural language: `\u002Fdiscover cheap semis with ROI > 20`. |\n| `\u002Fingest source` | Add new framework knowledge to `docs\u002F`. PDF \u002F URL \u002F inline text. |\n| `\u002Fcalibrate [scope]` | Audit `guide\u002F` against `docs\u002F` for drift. |\n\n### Asset-class auto-detection\n\n| Symbol shape | Routed as | Extra data |\n|---|---|---|\n| 1–5 letter US ticker | Stock | 6-pillar + ChartExchange + earnings |\n| ends in `USDT`\u002F`USD` | Crypto | F&G + ETF + perp funding\u002FOI + max pain + heatmap |\n| `SPX` \u002F `NDX` \u002F `SPY` \u002F `QQQ` | Index | Gamma + VIX structure + AAII + breadth + COT |\n| 6-letter pair (`EURUSD`) | FX | CFTC COT + retail sentiment + rate diffs |\n| `CL` \u002F `GC` \u002F `USO` \u002F `GLD` | Commodity | COT + EIA\u002FUSDA + curve + seasonality |\n\nOverride ambiguous cases: `\u002Fscan MSTR --type=crypto`\n\n---\n\n## Folder layout\n\n```\ntrading-ops\u002F\n├── docs\u002F                    ← framework knowledge base (read-only)\n│   ├── macro.md             ← 4-regime model, key indicators, news-trading playbook\n│   ├── long-term-investing.md  ← 6-pillar fundamentals, moat types, 10-K reading\n│   ├── positioning.md       ← squeeze tier, dealer gamma, CFTC COT\n│   ├── volume-profile.md    ← POC \u002F VAH \u002F VAL \u002F HVN \u002F LVN, profile shapes\n│   └── vwap.md              ← session \u002F weekly \u002F monthly \u002F quarterly \u002F anchored VWAP\n├── guide\u002F                   ← scan protocol (read-only during scans)\n│   ├── scan-rules.md        ← index into guide\u002Fscan\u002F\n│   └── scan\u002F                ← per-concern protocol files\n├── .claude\u002Fcommands\u002F        ← slash command definitions\n├── scripts\u002F                 ← Python data-fetch utilities\n├── scanned\u002F                 ← living analyses — your trading desk\n│   ├── INDEX.md             ← auto-generated coverage navigator\n│   ├── MACRO\u002F               ← regime tracker\n│   ├── stocks\u002F\u003CTICKER>\u002F     ← per-stock coverage (current.md + archive\u002F)\n│   ├── crypto\u002F\u003CSYMBOL>\u002F\n│   ├── indices\u002F\u003CSYMBOL>\u002F\n│   ├── fx\u002F\u003CPAIR>\u002F\n│   └── commodities\u002F\u003CSYMBOL>\u002F\n└── requirements.txt\n```\n\n`docs\u002F` and `guide\u002F` are read-only during scans — the framework is enforced, not improvised. `\u002Fingest` is the only command that writes to `docs\u002F`. `\u002Fcalibrate` audits `guide\u002F` for drift against the knowledge base.\n\n---\n\n## Python scripts\n\nThe scripts replace WebFetches with local pre-computation. All keyless by default; optional keys shown in parentheses:\n\n| Script | What it pre-computes |\n|---|---|\n| `fetch_quote.py TICKER` | Yahoo Finance quote — price, valuation, profitability, growth, balance sheet, short interest, analyst consensus. Includes Pillar-1 numeric auto-reject check. |\n| `fetch_ohlc.py TICKER` | Multi-timeframe OHLCV + EMAs (20\u002F50\u002F200) + ATR + RSI + VWAP family (session\u002Fweekly\u002Fmonthly\u002Fquarterly\u002Fanchored, ±σ bands) + Volume Profile (POC\u002FVAH\u002FVAL\u002FHVN\u002FLVN + ASCII histogram). |\n| `fetch_sec.py TICKER` | SEC EDGAR Form 4 insider transactions, cluster detection, ROIC from XBRL company facts. Requires `SEC_USER_AGENT`. |\n| `fetch_max_pain.py TICKER` | Options max pain across next N OPEX dates from yfinance options chain. |\n| `fetch_macro.py` | FRED macro gauges + Treasury yield curve. Requires `FRED_API_KEY`. |\n| `fetch_crypto.py SYMBOL` | CoinGecko + alternative.me F&G + Binance klines + mempool.space + DeFiLlama. |\n| `fetch_news.py SYMBOL` | Google News RSS (keyless) + Finviz widget + optional Finnhub analyst data (`FINNHUB_TOKEN`). |\n| `regen_index.py` | Regenerate `scanned\u002FINDEX.md` from every `current.md`. |\n| `prune_archive.py [--apply]` | Retention policy — keep latest per month, drop >12 months. Dry-run by default. |\n| `validate_links.py` | Project-wide markdown link audit. Exits non-zero on broken links. |\n| `validate_tiers.py` | Lint coverage tier syntax across all `current.md` files. |\n\nRun any script with `--help` for full options. Use `.venv\u002Fbin\u002Fpython scripts\u002F\u003Cscript>.py` if the venv is not activated.\n\n---\n\n## Coverage tiers\n\nEvery scan tags one tier per horizon (Pos \u002F Swing \u002F Day). `INDEX.md` rolls them up:\n\n| Tier | Meaning |\n|---|---|\n| **T** — Top Pick | Full conviction, deploy on next trigger |\n| **W** — Watchlist | Live trigger spec ready, act when conditions hit |\n| **B** — Bench | Followed but no near-term trigger |\n| **S** — Skip | Auto-reject or hostile setup |\n| **X** — Dropped | Removed from coverage |\n\nA name's verdict can differ by horizon — positional S is compatible with a swing W around a catalyst.\n\n---\n\n## The framework (in `docs\u002F`)\n\nAll scans draw from four documents in `docs\u002F`. They are read-only during scans — the framework is the anchor.\n\n- **`macro.md`** — Four growth × inflation quadrants (Goldilocks \u002F Reflation \u002F Stagflation \u002F Risk-Off), key indicators, FOMC\u002FCPI\u002FNFP news-trading playbook, bubble indicators.\n- **`long-term-investing.md`** — 6-pillar scorecard (Quality \u002F Growth \u002F Valuation \u002F Balance Sheet \u002F Capital Allocation \u002F Smart Money), moat types, how to read a 10-K, capital allocation discipline.\n- **`volume-profile.md`** — POC \u002F VAH \u002F VAL \u002F HVN \u002F LVN, profile shapes (D \u002F P \u002F b \u002F B \u002F multi-modal), naked POCs as forward targets. The backbone of the technical read.\n- **`vwap.md`** — Session \u002F weekly \u002F monthly \u002F quarterly \u002F anchored VWAP, ±1σ \u002F ±2σ bands, reclaim \u002F lose patterns. The second leg of the technical core.\n\nAdd new knowledge via `\u002Fingest`. The command shows a write plan and waits for consent before touching `docs\u002F`.\n\n---\n\n## Extending the framework\n\n**New framework knowledge** (new indicator, new macro model, new positioning concept):\n```\n\u002Fingest input\u002Fnew-paper.pdf\n\u002Fingest \"Add dealer delta positioning section to macro.md\"\n```\n\n**Protocol improvements** (better source priority, new data source, fixed filter code): handled by the self-improvement loop — Claude surfaces suggestions at the end of every scan and waits for your consent before editing `guide\u002F` or `.claude\u002Fcommands\u002F`.\n\n**New asset class or data source**: add a `guide\u002Fscan\u002F\u003Cclass>-flow.md` file following the pattern of the existing flow docs, then run `\u002Fcalibrate` to sync.\n\n---\n\n## Extending with MCPs\n\nClaude Code is MCP-native. Any MCP server you add to `~\u002F.claude\u002Fclaude.json` (global) or `.claude\u002Fsettings.json` (project) is immediately available inside every slash command and freeform session. The possibilities are essentially unbounded — here are the ones that slot most naturally into this workspace.\n\n### Broker integration\n\nWire up order execution so Claude can place, size, and cancel orders directly from a scan verdict.\n\n**Alpaca** (stocks, commission-free):\n```json\n\u002F\u002F ~\u002F.claude\u002Fclaude.json → mcpServers\n\"alpaca\": {\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@alpacahq\u002Falpaca-mcp\"],\n  \"env\": {\n    \"ALPACA_API_KEY\": \"your-key\",\n    \"ALPACA_API_SECRET\": \"your-secret\",\n    \"ALPACA_BASE_URL\": \"https:\u002F\u002Fpaper-api.alpaca.markets\"\n  }\n}\n```\n\nAfter adding it, `\u002Fscan AAPL` ends with a trade table — then you ask Claude: *\"Place the Swing-B entry as a limit order, 50% size.\"* Claude calls the broker MCP, confirms fill, logs it.\n\n**Weex \u002F Binance** (crypto perpetuals and spot):\n\nCrypto exchanges expose REST + WebSocket APIs with HMAC-signed requests. Wire them up through any HTTP MCP that handles auth signing, or use a thin community wrapper:\n\n```json\n\"weex\": {\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"mcp-server-ccxt\"],\n  \"env\": {\n    \"EXCHANGE\": \"weex\",\n    \"API_KEY\": \"your-key\",\n    \"API_SECRET\": \"your-secret\"\n  }\n}\n```\n\n[CCXT](https:\u002F\u002Fgithub.com\u002Fccxt\u002Fccxt) covers 100+ exchanges under a unified interface — swap `\"weex\"` for `\"binance\"`, `\"bybit\"`, `\"okx\"`, or any other supported exchange without changing anything else.\n\nOther brokers with community MCPs: Interactive Brokers, Tradovate. Search `mcp \u003Cbroker name>` on GitHub or the MCP registry.\n\n### TradingView charts via Chrome DevTools MCP\n\nThe Chrome DevTools MCP is listed in Prerequisites because chart screenshots plug directly into scan output — Claude opens TradingView, navigates to the symbol, screenshots the chart, and embeds it in `scanned\u002Fstocks\u002F\u003CTICKER>\u002Fcharts\u002F`.\n\n```json\n\"chrome-devtools\": {\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-chrome-devtools\"],\n  \"env\": { \"CHROME_PATH\": \"\u002Fusr\u002Fbin\u002Fgoogle-chrome\" }\n}\n```\n\nThen from a scan: *\"Pull a daily chart for NVDA with 20\u002F50\u002F200 EMAs and save it.\"* Claude navigates TradingView, applies the layout, screenshots, saves. No manual steps.\n\nYou can extend this further — monitor an open TradingView alert panel and have Claude notify you when a level fires, or read DOM-level order book data from exchange web UIs.\n\n### Browser automation MCP\n\nA Playwright or Puppeteer MCP opens the rest of the web to the scan pipeline — pages that don't have APIs, paywalled data sources, broker web portals.\n\n```json\n\"playwright\": {\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@executeautomation\u002Fplaywright-mcp-server\"]\n}\n```\n\nExample use: scrape a brokerage account's positions page, reconcile against open scan verdicts, flag anything that drifted outside its stop.\n\n### Notification MCP (Slack \u002F Discord \u002F Telegram)\n\nGet alerted when a rescan flips a verdict from W → T or fires a trigger.\n\n```json\n\"slack\": {\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-slack\"],\n  \"env\": { \"SLACK_BOT_TOKEN\": \"xoxb-...\" }\n}\n```\n\nAfter a `\u002Frescan AAPL`, if the verdict changed: *\"Post the delta summary to #trading-alerts.\"*\n\n### The pattern\n\nEvery MCP extends what Claude can *do* inside this workspace — but the research framework, verdicts, and levels stay anchored to `docs\u002F` and `guide\u002F`. MCPs handle the last mile (execute, alert, visualize) while the framework handles the thinking. Add as many or as few as you need.\n\n---\n\n## npm shortcuts\n\nA `package.json` is included for common maintenance tasks. No Node dependencies — just script aliases.\n\n| Command | What it does |\n|---|---|\n| `npm run setup` | Create venv, install Python deps, install pre-commit hook |\n| `npm run hook` | Install pre-commit hook only |\n| `npm run validate` | Run link audit + tier syntax linter |\n| `npm run index` | Regenerate `scanned\u002FINDEX.md` |\n| `npm run prune` | Dry-run archive retention policy |\n| `npm run prune:apply` | Apply retention policy (deletes old snapshots) |\n\n---\n\n## Automating with Claude routines\n\nClaude Code has a `\u002Fschedule` command that runs any slash command as a recurring background agent — no cron setup, no server. Useful for keeping the workspace fresh without manual effort.\n\n```\n\u002Fschedule \"run \u002Fscan-macro every Monday at 8am ET\"\n\u002Fschedule \"run \u002Frescan BTCUSDT every day at 6am ET\"\n\u002Fschedule \"run \u002Fdiscover every Sunday at 7pm ET\"\n```\n\nEach routine runs independently, saves output to the normal `scanned\u002F` paths, and respects the same framework rules as a manual scan. You can list, pause, or delete routines with `\u002Fschedule list` and `\u002Fschedule delete`.\n\n**Practical setups:**\n\n- **Weekly regime refresh** — schedule `\u002Fscan-macro` Monday premarket. Every downstream scan that week reads a fresh regime.\n- **Watchlist maintenance** — schedule `\u002Frescan` on your open positions daily. The delta markers (`Δ`) flag anything that moved.\n- **Screen rotation** — schedule `\u002Fdiscover` weekly on Sunday. Monday morning you have a fresh candidate list anchored to the new regime.\n- **Earnings pipeline** — schedule `\u002Fscan-earnings TICKER` a month out from print date. The checklist is waiting when you need it.\n\nRoutines don't replace judgment — they make sure the data is there when you sit down to make a decision.\n\n### Server-side automation with Hermes\n\nClaude routines require the Claude Code desktop app to be running. If you want the same workflows running 24\u002F7 on a VPS — and delivered to your phone via Telegram, Discord, or Slack — [Hermes](https:\u002F\u002Fgithub.com\u002Fnousresearch\u002Fhermes-agent) is the natural complement.\n\nHermes is an open-source autonomous agent framework (Nous Research) with a built-in cron scheduler, MCP support, and messaging-platform bridges. It runs on a $5 VPS and supports 200+ models.\n\n**Install:**\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FNousResearch\u002Fhermes-agent\u002Fmain\u002Fscripts\u002Finstall.sh | bash\nsource ~\u002F.bashrc\nhermes setup          # configure model + messaging platform\n```\n\n**Schedule the same workflows:**\n```bash\n# weekly macro refresh — Monday 8am\nhermes cron add \"0 8 * * 1\" \"claude --print '\u002Fscan-macro'\"\n\n# daily watchlist rescan — 6am weekdays\nhermes cron add \"0 6 * * 1-5\" \"claude --print '\u002Frescan BTCUSDT'\"\n\n# weekly screen — Sunday 7pm\nhermes cron add \"0 19 * * 0\" \"claude --print '\u002Fdiscover'\"\n```\n\nResults save to `scanned\u002F` exactly as they would from a manual run. Hermes forwards a summary to your configured Telegram or Discord channel — you wake up to a fresh regime read and any verdict deltas, no laptop required.\n\n**With MCP:** If you wire this workspace's tools into Hermes as an MCP server, Hermes can also trigger scans conversationally — ask it from your phone and get the full scan output back in the chat.\n\n---\n\n## Pre-commit validation\n\nA git hook runs `validate_links.py` and `validate_tiers.py` on every staged markdown commit. Install with:\n\n```bash\nnpm run hook\n```\n\n---\n\n## Rules in four bullets\n\n1. **`docs\u002F` is read-only.** `\u002Fingest` is the only writer. Never modify during a scan.\n2. **Read before you scan.** Every command loads `current.md`, recent archives, and `MACRO\u002Fcurrent.md` first.\n3. **Cite numbers, not vibes.** Every claim that drives a verdict gets a markdown link. ROIC -38.6% beats \"ROIC is poor.\"\n4. **Action verdicts are structured, not prose.** Verbs from a fixed list, ASCII ladder for levels, trade table for triggers \u002F stops \u002F targets \u002F R:R \u002F sizing.\n\n---\n\n## License\n\nMIT — do whatever you want with it, including adding your own framework docs and protocols.\n","trading-ops 是一个基于 Claude Code 的系统化交易工作空间，通过一条命令即可对股票、加密货币、外汇、指数和商品进行扫描，并生成结构化的分析报告和审计跟踪。项目采用 Python 编写，核心功能包括框架驱动的资产扫描、日期标记的分析报告、ASCII 价格梯度图以及交易计划表。这些报告以 Markdown 格式保存，便于审计、搜索和版本控制。该项目适用于需要系统化研究和决策支持的个人或机构交易者。它提供了多种扩展选项，如直接下单、自动图表拉取、24\u002F7 扫描等，但执行和警报集成由用户自行配置，确保交易决策的自主性。","2026-06-11 04:02:25","CREATED_QUERY"]