An AI trading desk built as a team of sub-agents (Claude Code and Robinhood MCP) A developer built an AI-powered trading desk inside Claude Code that uses a team of specialized sub-agents—fundamental, technical, macro/news, and a risk manager—to screen stocks and propose trades, but requires human approval before placing any order via a Robinhood Agentic account. The system includes structural guardrails like human-in-the-loop approval, position caps, and prompt-injection defenses, and mirrors its state to a live dashboard. The project is in beta for US equities only and is shared as a reference architecture, not investment advice. A multi-agent stock-research desk that runs inside Claude Code, connects to a Robinhood Agentic account over MCP, and never places an order without your approval. It's not a "bot that YOLOs your money." It's a small team of specialized sub-agents — fundamental, technical, macro/news, and a risk manager with veto power — that screen your watchlist, debate each candidate, and hand you a one-click preview card . You approve; it places. Everything's wrapped in written guardrails human-in-the-loop, position caps, prompt-injection defense and mirrored to a Robinhood-style dashboard. A team, not one prompt — analysts gather evidence in parallel; an independent risk manager can veto a trade the analysts liked. Guardrails are structural, not vibes — sub-agents physically have no order tools; only you-plus-the-PM can place, and only after explicit in-session approval. Prompt-injection-aware — the news agent treats fetched content as untrusted data and quotes suspicious "instructions" instead of acting on them. Low-touch by design — it runs read-only research on a schedule and only surfaces a trade when one genuinely qualifies; most days it tells you to stand aside. A real dashboard — a Robinhood-style UI mirrors the desk's state live. ⚠️ Real money, beta, not investment advice.Robinhood Agentic Trading is in beta US, equities only . The agent trades only inside an isolated Agentic account funded with a dedicated budget — that budget is the most it can ever lose. There isno track record and no performance claim here; this is a reference architecture for learning, run it at your own risk and monitor it yourself. This repo holds the guardrails, strategy notes, agents, dashboard, and setup docs — never secrets, and never the OAuth token those live outside the repo . . ├── CLAUDE.md The PM's operating contract rules it must follow ├── .mcp.json Project-scoped Robinhood Trading MCP connection ├── .env.example Template for .env account number; .env is gitignored ├── .claude/ │ ├── settings.json Permissions: reads allowed, orders gated, options denied │ └── agents/ The desk team — one sub-agent per role │ ├── fundamental-analyst.md │ ├── technical-analyst.md │ ├── macro-news-analyst.md injection-isolated the only web-facing role │ └── risk-manager.md veto power over every trade ├── strategies/ │ ├── README.md Risk caps + when the Risk Manager must VETO │ └── mean-reversion.md Example strategy entry/exit/sizing ├── docs/ │ ├── SETUP.md OAuth setup + how to tighten guardrails │ └── TEAM.md The desk roles and end-to-end workflow └── ui/ Read-only Robinhood-style dashboard Vite + React ├── public/desk-state.example.json demo data live desk-state.json is gitignored └── src/ polls the snapshot, renders account/desk/preview - Make this repo private before pushing anything. - Read docs/SETUP.md and follow it top to bottom. - Connect the MCP, authenticate via OAuth desktop , fund a small Agentic budget. - Refine .claude/settings.json once you know the real tool names. A small team of sub-agents coordinated by the Portfolio Manager PM = the main Claude Code session . Analysts gather evidence in parallel; the Risk Manager has veto power; only the PM can place orders — and only after your in-session approval. After every run the PM writes ui/public/desk-state.json , which the dashboard mirrors live. php flowchart TD U You: ask the PM in plain language -- PM{{Portfolio Manager