Agent skill

Agentic Trading Desk

by Oft3r in Oft3r/agentic-trading-desk

Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP.

MITAuto-check passedBusiness, Finance & HR

Install Agentic Trading Desk

skills CLI
$ npx skills add Oft3r/agentic-trading-desk --skill agentic-trading-desk -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Oft3r/agentic-trading-desk agentic-trading-desk --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Oft3r/agentic-trading-desk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/gemini-spark .claude/skills/agentic-trading-desk && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
agentic-trading-desk
GitHub stars
306
Token cost
~2.4k tokens
SKILL.md length
1,249 words
Files
4 (incl. scripts)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP.

  • Works in 6 steps: Protected positions: Certain tickers may… → Two accounts, two roles → Buying power: I always take… → …
  • Tasks that involve Trading and backtesting
  • SKILL.md covers Guardrails — Read First,…, Execution Mandate & Boundaries, Robinhood MCP Recipe (Order of… and Computation Flow (Run via Code…, plus 3 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Agentic Trading Desk is an agent skill from Oft3r/agentic-trading-desk. Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP. Computes deterministic indicators (EMA/RSI/MACD/TRIX/Bollinger) from raw bars, scores with the three-pillar framework, and evaluates cycle exhaustion and rebound trading setups within user-defined risk limits.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/indicators.py`, `scripts/macro_pillar.py` and `scripts/score.py`).

It sits in Business, Finance & HR, covering Trading and backtesting and Stock and market analysis. It works with Model Context Protocol and Google Gemini. The repository describes itself as: AI-assisted trading desk for short-term technical analysis on stocks & ETFs via Robinhood MCP. Deterministic Python engines score each asset on a three-pillar framework (Trend ·… The licence is MIT.

When your agent uses it

  • Tasks that involve Trading and backtesting
  • Tasks that involve Stock and market analysis

Example prompts

  • “/agentic-trading-desk”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Protected positions: Certain tickers may be designated as restricted (e.g., stock grants). NEVER analyze them to sell or trim, nor include…
  2. Two accounts, two roles
  3. Buying power: I always take get_portfolio.buying_power as the authoritative figure rather than deriving it myself. Account type matters…
  4. HTML visualization only on Fridays as part of the weekly review ritual. Do not offer or generate it on other days unless the user…
  5. Macro source (optional / best-effort): Investing.com. If inaccessible or blocked by network egress, do NOT halt or block execution…
  6. Execution Mandate: All trade execution follows the pre-configured Execution Mandate limits. Always review using review_*_order…

What it can do on your machine

Read from SKILL.md and the folder at commit 908125f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Agentic Trading Desk loads about 2.4k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 1,249 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Oft3r/agentic-trading-desk at commit 908125f, republished under its MIT licence (© Oft3r). 1,249 words, ~2,398 tokens.

Download SKILL.mdSave it as .claude/skills/agentic-trading-desk/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
agentic-trading-desk
description
Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP. Computes deterministic indicators (EMA/RSI/MACD/TRIX/Bollinger) from raw bars, scores with the three-pillar framework, and evaluates cycle exhaustion and rebound trading setups within user-defined risk limits.

Agentic Trading Desk

Operations manual for technical trading analysis and execution management. I (Agent) perform calls to the Robinhood MCP; the scripts act as my deterministic calculator; the framework evaluates and prepares execution. I never calculate indicators by reasoning directly over the price bars: I fetch the data and pass it to scripts/.

Guardrails — Read First, Non-Negotiable

  1. Protected positions: Certain tickers may be designated as restricted (e.g., stock grants). NEVER analyze them to sell or trim, nor include them in exit suggestions. They should only be mentioned as exposure context if relevant.
  2. Two accounts, two roles:
    • Agentic → short-term trading; this is where execution applies under the Mandate.
    • Individual (margin account) → core buy-and-hold; only analyze holding quality, no active trading.
    • I identify the tradable account by the broker's own flag from get_accounts (exactly one account is agent-tradable; the others reject orders outright). I never infer it from the account nickname, and I never hardcode an account number.
  3. Buying power: I always take get_portfolio.buying_power as the authoritative figure rather than deriving it myself. Account type matters and can change: on a cash account only SETTLED cash is spendable (T+1), while a limited-margin account can trade unsettled proceeds immediately.
  4. HTML visualization only on Fridays as part of the weekly review ritual. Do not offer or generate it on other days unless the user explicitly asks for it.
  5. Macro source (optional / best-effort): Investing.com. If inaccessible or blocked by network egress, do NOT halt or block execution: proceed with deterministic market data without the yield spread.
  6. Execution Mandate: All trade execution follows the pre-configured Execution Mandate limits. Always review using review_*_order (simulation) before executing place_*_order.

Execution Mandate & Boundaries

The system operates strictly within these boundaries. A limit exceeded is a directive to not trade and report:

What may be evaluated and executed

  • Only decisions emitted by score.py in this same session, with the macro pillar computed by macro_pillar.py the same day. Zero discretion: if the script did not emit EXIT, EXIT / TRIM, RE-ENTRY (new cycle) or TACTICAL REBOUND (counter-trend), there is no trade. A hunch is not a trigger.
  • TACTICAL REBOUND goes in at half size — it is counter-trend by definition.

Hard limits

  • Max $1,200 per order.
  • Max 3 new positions per session. Exits are uncapped.
  • Minimum 15% of account value held in cash. I never touch that reserve.
  • Order types: limit and market are both supported:
    • Passive limit: limit_price strictly inside the spread, within 0.3% of the last trade. Best price, may not fill.
    • Marketable limit: cross the spread but keep a hard cap — buy at min(ask, last x 1.003), sell at max(bid, last x 0.997). Fills like a market order in regular hours while bounding the worst case.
    • Market: fills at prevailing book price. Regular hours only — the Robinhood MCP rejects market in extended hours. Outside regular hours, use a limit order or wait for the next session.
    • In every run summary, state the order type chosen and the explicit rationale.
  • Quote staleness: Before pricing any order, check venue_bid_time / venue_ask_time against current time and confirm a recent trade print. If top of book has not updated in over 2 minutes during regular hours, or there is no post-close print when the session is closed, the quote is stale: do NOT price against it and do not trade the name.
  • Order preflight: Before every place_equity_order, check each of these fields:
    • type: limit or market only.
    • session: market, fractional, and dollar_amount all require regular hours.
    • quote age: top of book updated < 2 min ago; recent trade exists.
    • limit_price: limit orders only: within 0.3% of last trade.
    • size: quantity or dollar_amount (exactly one).
    • notional: ≤ $1,200.
  • No new position in a single name within 2 sessions of confirmed earnings (get_earnings_calendar). ETFs exempt.
  • Run review_equity_order before every place_equity_order. If the simulation differs by more than 1% in price or quantity from computed targets, abort and report.

Circuit breakers

  • If account value at session open is down more than 4% against the prior close: no new buys that day. Exits remain allowed.
  • If data does not reconcile — missing bars, an obviously stale quote, positions that do not match get_equity_positions — do not trade.

Still prohibited

  • Protected positions, always.
  • Any account other than the broker-designated agent-tradable one.
  • Averaging down.
  • Options, crypto, margin, and short selling.
Show full SKILL.md (539 more words)Show less

Robinhood MCP Recipe (Order of Calls)

Load the tools with tool_search before using them.

Session self-audit (first call of every run): get_equity_orders on the agent-tradable account with placed_agent="agentic" since the previous session. Check type, time_in_force, and notional on every order returned, and surface any discrepancy in the summary report.

To analyze a ticker:

  1. Robinhood:get_equity_historicals → ~290 daily bars (closes). Request a range yielding ≥220 bars (ideal for EMA200).
  2. Robinhood:get_equity_quotes → live price / last session close.
  3. If holding a position: Robinhood:get_equity_positions for size and P&L → set holding: true in scoring.

For the Macro-Sentiment pillar (once per session, shared):

  1. get_equity_historicals for the 8 ETFs: SPY, RSP, IWM, HYG, LQD, TLT, XLY, XLP.
  2. Attempt to fetch the 10Y-2Y yield spread from Investing.com (web) and inject it as yield_spread. If blocked by network egress policy or unavailable, omit it: macro_pillar.py automatically redistributes its 20% weight among the other components.

For portfolio management:

  • Robinhood:get_portfolio → market value and buying power.
  • Robinhood:get_equity_positions → open positions by account.
  • Robinhood:get_realized_pnl → realized P&L.

Computation Flow (Run via Code Execution)

Scripts are pure Python stdlib; they do not require external network access. They live in scripts/ inside this skill's directory.

Step 0 — append today's close if needed: If daily historical bars do not include the current session, append last_trade_price from get_equity_quotes as today's close before scoring.

Step 1 — Macro (once per session): Assemble JSON with closes of the 8 ETFs + yield_spread (optional):

bash
python3 scripts/macro_pillar.py macro_input.json --json

Save pillar_score (-2..+2). That number is the Macro-Sentiment score for all tickers today.

Step 2 — Per ticker: Assemble {symbol, close:[...], macro_score, holding}:

bash
python3 scripts/score.py ticker_input.json

This returns the three-pillar scorecard and decision.

Three-Pillar Framework

Each pillar ranges from -2 to +2:

  • Trend — EMA 20/50/200 structure + price position vs. EMAs + long-term slope.
  • Momentum — Wilder's RSI-14 + MACD histogram + TRIX-15 vs. signal.
  • Macro-Sentiment — from macro_pillar.py (cross-asset regime).

Decisions:

  • EXIT / TRIM: Bullish momentum exhausted (RSI turning from overbought, MACD histogram shrinking, price near upper Bollinger band).
  • EXIT: Bearish momentum relentless (structural weakness, negative MACD histogram, falling TRIX).
  • RE-ENTRY (new cycle): Flat account; rebound arrives with healthy EMA structure.
  • TACTICAL REBOUND (counter-trend): Flat account; rebound appears within a death-cross: reduced size, close target, conditional exit on next session / daily close if rebound falters.
  • HOLD (ride the cycle): Holding position with intact positive trend and momentum; maintain while watching for exhaustion.
  • HOLD (under review): Holding position; weak signals or adverse momentum, prepare to exit if conditions degrade.
  • WAIT (do not chase): Flat account; healthy trend but no fresh entry trigger.
  • STAY OUT / AVOID: Flat account; relentless bearish trend, no rebound trigger.
  • HOLD / OBSERVE or OBSERVE: Mixed signals; no clear trigger.

External Context (News + Analysts — Non-Blocking / Optional)

All external context is optional, best-effort, and non-blocking:

  1. News/macro: Investing.com (if available).
  2. Analyst ratings: Google Finance (if available).
  3. Network egress safety: If external web lookups fail, time out, or are blocked by network egress policies, skip them immediately and proceed with deterministic Robinhood data and local Python scripts.
  4. Report qualitative context alongside the three-pillar scorecard — it never alters numerical indicator scores.

Indicator Details

  • EMA seed = SMA of the first N bars.
  • RSI-14 with Wilder's smoothing.
  • MACD 12/26/9; line, signal, histogram.
  • TRIX-15 = % ROC of triple EMA, with EMA-9 signal.
  • Bollinger Bands 20/2 with population standard deviation; report %B.
  • Slopes are measured against 5 bars ago (--slope-lookback).

© Oft3r, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in gemini-spark of Oft3r/agentic-trading-desk.

  • SKILL.md
  • scripts/indicators.py
  • scripts/macro_pillar.py
  • scripts/score.py

Open the folder on GitHubat commit 908125f

Compare with similar skills

Agentic Trading Desk next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Agentic Trading Desk compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Agentic Trading Desk this skillOft3r/agentic-trading-desk306—~2.4kAutomated safety check: PassMIT
Tradingview MCPatilaahmettaner/tradingview-mcp5k—~1.3kAutomated safety check: PassMIT
Polymarket Tennislivetennisapi/livetennisapi-mcp152—~3kAutomated safety check: PassMIT
Okx Sentiment Trackerdex-original/okx-agent-trade-kit1101 repos~3.8kAutomated safety check: PassMIT
Tradingview MCPhimself65/finance-skills3.4k—~2.4kAutomated safety check: PassMIT
OpenmmLeoYeAI/openclaw-master-skills2.2k—~5.1kAutomated safety check: NotesMIT

Similar skills

  • Tradingview MCP

    atilaahmettaner/tradingview-mcp

    AI Trading Intelligence — live prices, 30+ technical indicators, backtesting (6 strategies), walk-forward overfitting detection, trade logs, equity curves, licensed news sentiment (Marketaux), and…

    5k GitHub stars~1.3k tokensUpdated 2 days ago
    Business, Finance & HRAuto-check passed
  • Polymarket Tennis

    livetennisapi/livetennisapi-mcp

    Build observe-only Polymarket and Kalshi tennis market tooling on the polymarket-tennis Python package (MIT) plus the Live Tennis API free tier.

    152 GitHub stars~3k tokensUpdated 2 days ago
    Business, Finance & HRAuto-check passed
  • Okx Sentiment Tracker

    dex-original/okx-agent-trade-kit

    A skill your agent uses when the user asks about: 'any crypto news', 'latest news', 'market update', 'daily briefing', 'BTC news', 'ETH news', 'news on SOL', 'search SEC ETF', 'regulation news'…

    110 GitHub starsUsed in 1 repo~3.8k tokens
    Business, Finance & HRAuto-check passed
  • Tradingview MCP

    himself65/finance-skills

    Query TradingView market data through the bundled tradingview MCP server without a desktop app or login.

    3.4k GitHub stars~2.4k tokensUpdated 4 days ago
    Business, Finance & HRAuto-check passed
  • Openmm

    LeoYeAI/openclaw-master-skills

    Open-source market making for AI agents. An agent skill from LeoYeAI/openclaw-master-skills.

    2.2k GitHub stars~5.1k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check: notes
  • Multi-Symbol Market Scanner

    tradesdontlie/tradingview-mcp

    Scans a list of trading symbols in TradingView for setups, patterns or strategy results and reports them as a ranked comparison table.

    6.8k GitHub starsUsed in 2 repos~447 tokens
    Business, Finance & HRAuto-check passed

More from Oft3r/agentic-trading-desk

  • Agentic Trading Desk

    Oft3r/agentic-trading-desk

    Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP.

    306 GitHub stars~5.1k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Agentic Trading Desk

What does Agentic Trading Desk do?

Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP. Agentic Trading Desk is an agent skill from Oft3r/agentic-trading-desk. Personal trading desk for short-term technical analysis on stocks/ETFs via Robinhood MCP.

When should I use Agentic Trading Desk?

Agentic Trading Desk fits situations like: tasks that involve Trading and backtesting; tasks that involve Stock and market analysis.

How do I install Agentic Trading Desk in Claude Code?

Run `npx skills add Oft3r/agentic-trading-desk --skill agentic-trading-desk -a claude-code`. Or copy the skill folder (gemini-spark in Oft3r/agentic-trading-desk) into .claude/skills/agentic-trading-desk in your project. Claude Code loads it when a task matches its description.

How do I install Agentic Trading Desk in Codex?

Run `npx skills add Oft3r/agentic-trading-desk --skill agentic-trading-desk -a codex`. Or copy the skill folder (gemini-spark in Oft3r/agentic-trading-desk) into .agents/skills/agentic-trading-desk in your project. Codex loads it when a task matches its description.

Can I use Agentic Trading Desk in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Oft3r/agentic-trading-desk --skill agentic-trading-desk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agentic-trading-desk, .gemini/skills/agentic-trading-desk, .github/skills/agentic-trading-desk and .opencode/skills/agentic-trading-desk in your project.

What does Agentic Trading Desk need to run?

Going by SKILL.md and its folder, Agentic Trading Desk needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Agentic Trading Desk access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Agentic Trading Desk safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Agentic Trading Desk use?

Agentic Trading Desk is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Agentic Trading Desk use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Agentic Trading Desk?

Skills that share tags, products or a category with Agentic Trading Desk: Tradingview MCP (atilaahmettaner/tradingview-mcp, 5k stars), Polymarket Tennis (livetennisapi/livetennisapi-mcp, 152 stars), Okx Sentiment Tracker (dex-original/okx-agent-trade-kit, 110 stars) and Tradingview MCP (himself65/finance-skills, 3.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Agentic Trading Desk?

Oft3r (a GitHub user) maintains it in Oft3r/agentic-trading-desk, which has 306 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 3, 2026.

Source: Oft3r/agentic-trading-desk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.