Help us improve
Share bugs, ideas, or general feedback.
From crypto-trading-desk
Autonomous monitoring loop for crypto trades: checks SL/TP levels, closes trades that hit targets, evaluates expired predictions, generates periodic summaries. Run via cron for full autonomy.
npx claudepluginhub hugoguerrap/crypto-claude-desk --plugin crypto-trading-deskHow this skill is triggered — by the user, by Claude, or both
Slash command
/crypto-trading-desk:monitorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Closes the autonomous loop: check trades, close hits, evaluate predictions, generate summaries.
Closes an open trade and runs post-mortem analysis including prediction validation and pattern updates. Useful for systematic trade management.
Guides progression from read-only Kraken market analysis to fully autonomous trading agent via four incremental risk levels with safeguards.
Fetches live AI crypto trading signals with entry price, stop-loss, take-profit, leverage, confidence scores, and automated verification. Covers 50+ coins. Use for trade ideas, market direction, or building trading bots.
Share bugs, ideas, or general feedback.
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.
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."
Using the prices from Step 1 and the open trades from get_portfolio_state():
For each open trade, check:
stop_loss? Did price rise to or above take_profit?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."
For open trades that were NOT closed (still active), check if the trade is profitable:
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."
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:
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:
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."
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]