Skip to content

/monitor

Autonomous monitoring loop. Checks open trades against SL/TP levels, closes trades that hit targets, evaluates expired predictions, and generates periodic summaries. Run via cron for full autonomy. Usage: /monitor

From plugin
crypto-trading-desk
1078 skills7 agents1 hook

Claude Code

$ npx -y skills add hugoguerrap/crypto-claude-desk --skill monitor --agent claude-code

SKILL.md

monitor.SKILL.md
name: monitor
description: Autonomous monitoring loop. Checks open trades against SL/TP levels, closes trades that hit targets, evaluates expired predictions, and generates periodic summaries. Run via cron for full autonomy. Usage: /monitor
user-invocable: true

Monitor - Autonomous Learning Loop

Closes the autonomous loop: check trades, close hits, evaluate predictions, generate summaries.

**All agents use `subagent_type: general-purpose`** with explicit `model` to ensure MCP tool access. Include "Do NOT use the Edit tool" in every prompt.

Workflow

Step 1: Get Current Prices

Delegate using Task with `subagent_type: general-purpose`, `model: haiku`:

"You are the market-monitor agent. Get current prices for ALL symbols that have open trades. Call get_portfolio_state() from crypto-learning-db first to see which symbols have open positions. Then use get_exchange_prices(symbol=...) from crypto-exchange MCP to get live prices for each symbol. Return a JSON object like: {\"BTC/USDT\": 98500, \"ETH/USDT\": 3200} Do NOT use the Edit tool."

Step 2: Check Open Trades Against SL/TP

Using the prices from Step 1 and the open trades from get_portfolio_state():

For each open trade, check:

  • **Long trade**: Did price drop to or below `stop_loss`? Did price rise to or above `take_profit`?
  • **Short trade**: Did price rise to or above `stop_loss`? Did price drop to or below `take_profit`?

If SL or TP was hit, delegate using Task with `subagent_type: general-purpose`, `model: opus`:

"You are the portfolio-manager agent. Close trade {trade_id}. Current price is ${price}. The {SL/TP} at ${level} was hit. Call close_trade(trade_id='{trade_id}', exit_price={price}, close_reason='{SL/TP} hit at ${level}') from crypto-learning-db. Do NOT use the Edit tool."

Step 2b: Trailing Stop Adjustment

For open trades that were NOT closed (still active), check if the trade is profitable:

  • **Long**: current price > entry_price
  • **Short**: current price < entry_price

If profitable AND the current stop_loss hasn't been optimally trailed, delegate using Task with `subagent_type: general-purpose`, `model: sonnet`:

"You are the risk-specialist agent. Read agents/risk-specialist.md for context. Trade {trade_id} ({symbol}, {side}) is profitable. Entry: ${entry}, Current: ${price}, SL: ${stop_loss}, TP: ${take_profit}. Analyze whether to trail the stop-loss. Use calculate_volatility(symbol=...) and get_support_resistance(symbol=...) from crypto-technical MCP. If you recommend adjusting, call update_trade(trade_id='{trade_id}', stop_loss={new_sl}, notes='your reasoning') from crypto-learning-db. Rules: only trail in profitable direction, never widen the stop, leave room for normal volatility. Do NOT use the Edit tool."

Step 3: Post-Mortem for Closed Trades

For each trade closed in Step 2, delegate using Task with `subagent_type: general-purpose`, `model: opus`:

"You are the learning-agent. Read agents/learning-agent.md for your analysis framework. Trade {trade_id} was just closed ({result}, PnL: {pnl}). Do a full post-mortem: 1. Call query_predictions(trade_id='{trade_id}') from crypto-learning-db to find all predictions 2. For each pending prediction, evaluate: read the original, compare to what happened, write a detailed NL evaluation 3. Call validate_prediction() with your evaluation for each one 4. Call upsert_pattern() if you identify a named pattern 5. Write a post-mortem report to data/reports/ Do NOT use the Edit tool."

Step 4: Evaluate Expired Predictions

Delegate using Task with `subagent_type: general-purpose`, `model: opus`:

"You are the learning-agent. Call find_expired_predictions(current_prices='{prices_json}') from crypto-learning-db using the current prices. For each expired prediction: 1. Read the original prediction text 2. Compare to the current price / market state 3. Write a natural language evaluation explaining how close it was and why 4. Call validate_prediction() with your evaluation Do NOT use the Edit tool."

Step 5: Monthly Summary (conditional)

Check if today is the last day of the month (or within 2 days of month end). If yes, delegate using Task with `subagent_type: general-purpose`, `model: opus`:

"You are the learning-agent. Generate a monthly summary. Call generate_summary(summary_type='monthly') from crypto-learning-db. Also check if it's end of quarter — if so, call generate_summary(summary_type='quarterly') too. Do NOT use the Edit tool."

Step 6: Report

Present a summary of what happened:

## Monitor Report

**Open Trades:** X active
**Trades Closed This Run:** X (list with PnL)
**Predictions Evaluated:** X expired validated
**Summary Generated:** Yes/No

### Next Actions
- [Any trades approaching SL/TP levels]
- [Any concerning patterns noticed]
Read more
@hugoguerrap
Ships withcrypto-trading-desk

I used to spend weeks building multi-agent systems with LangGraph, CrewAI, and AutoGen. Hundreds of lines of Python orchestration code, custom state machines, fragile message passing between agents.

Stars on GitHub

Momentum

stars in total
107
Star history of hugoguerrap/crypto-claude-desk on GitHub, a chart by star-history.com

Other skills on crypto-trading-desk.

create
Auto-invoked

create

Extend the system by creating new MCP servers, agents, or skills. Usage: /create a DeFi protocol tracker or /create an agent for…

setup
Auto-invoked

setup

First-time setup for Crypto Trading Desk. Detects your environment, installs dependencies, and verifies everything works. Run…

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n10d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

browser-usetoday120k
@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about monitor.

Which coding agents can use monitor?
monitor installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.