CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

position-check

Health-check crypto futures positions the user describes or pastes in chat ("I'm long ETH from 2,400 at 10x") with TraderSpy market data. TraderSpy cannot see anyone's account, so the position always comes from the user. Produces a structured risk report per position — distance to liquidation and to the stop, where price sits versus entry, the multi-timeframe technical read, funding cost or benefit and the open-interest regime, whether top traders are on the same or the opposite side, and what would invalidate the position's thesis. Use this whenever the user asks "how's my position", "am I in trouble", "how far am I from liquidation", "should I hold or close", "what do you think of my long / short", or pastes a position. It reports and explains; it never tells the user to close, add, hedge or move a stop, and it cannot trade.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

A position check answers, in order: how much room is left before this position is taken away (liquidation), how much before the user's own plan says it is wrong (stop), what the chart and the derivatives market are doing around it, and who else is positioned the same way. Report those facts with numbers. The decision — hold, trim, close, add — belongs to the person whose money it is.

Inputs

The position always comes from the user. TraderSpy has no account tool: it cannot read a balance or an open position on any exchange, so never offer to "check the account".

Ask for whatever is missing among side, entry, leverage (and stop / target / the exchange's liquidation price if they have them). Size is optional — the analysis works in percentages. The current price is the price that get_technical_indicators returns.

Map the symbol to Binance naming for the data tools: BTC → BTCUSDT, kPEPE → 1000PEPEUSDT, xyz:AVGO → AVGOUSDT.

Calls per position (keep it to what matters)

  1. get_technical_indicators — intervals: ["1h","4h","1d"], indicators: ["rsi","macd","ema", "atr","adx","supertrend","levels"], and the coins as symbols (up to three in ONE call; each coin's read is its own entry in data[]). This gives the trend on three timeframes, ATR for stop sanity and the nearest levels.
  2. get_derivatives — up to five coins in ONE call for all positions at once. Funding is a cost or an income for this position; the OI regime says whether the move is being funded.
  3. get_positions — symbol, status: "open", limit: 20. Optional; skip on a tight quota. Tells you whether tracked top traders are on the same side.

Three positions ≈ 1 + 1 (+3) calls. If the quota is tight, skip step 3: technicals and derivatives for every position are still two calls.

The math (show it, briefly)

  • P&L % on margin = (mark − entry) / entry × leverage, sign-flipped for shorts; P&L % on price = the same without leverage. State both when leverage > 1.
  • Distance to liquidation = |liq − mark| / mark. With no liquidation price from the user, approximate: ≈ 100 / leverage % minus a maintenance buffer (say it is approximate; cross margin makes the real distance depend on the whole account).
  • Distance to stop = |stop − mark| / mark, and stop distance in ATRs = |stop − mark| / ATR(14) on the 4h. Under 1 ATR means the stop sits inside normal noise for that timeframe.
  • Funding per day ≈ funding.ratePct × 3 on notional; positive rate costs longs and pays shorts.

Bands for the liquidation distance: ≤ 5% → "at risk", ≤ 15% → "watch", above → "comfortable". These are labels for a distance, not instructions.

The report

ALWAYS use this template per position:

· x ·

  • Entry → mark (<±x.x%> on price, <±y%> on margin) · uPnL <$, when the size is known>
  • Liquidation — <d%> away → <at risk / watch / comfortable>
  • Stop <stop or "none stated"> — <d%> / ATR(4h) away · Target
  • Chart: 1h <bias, RSI, trend> · 4h <…> · 1d <…> · confluence <aligned / mixed>
  • Nearest levels: support <price (d%)>, resistance <price (d%)>
  • Derivatives: funding <label, annualized → cost or income for this side>, OI , top traders <long %> (same side / opposite side)
  • Thesis check: what the position needs to keep working, and the level or reading that would say it has stopped working
  • Scenarios: if price goes to the position shows <P&L>; at it is gone; at it shows <P&L>

Then one line naming the position with the least room, and one plain sentence that crypto derivatives are high-risk and this is market information, not financial advice.

Facts first, labels second, no verbs of instruction. "The stop sits 0.6 ATR away, inside normal 4h noise" is a report; "move your stop" is not.

Conduct

  • Never tell the user to close, hold, add, hedge, move a stop or change leverage. Present distances, scenarios and the invalidation level; the decision is theirs. If they ask "should I close", lay out what supports staying in and what argues against, then hand it back.
  • Distances and scenarios are arithmetic on current prices and levels the tools returned; they are not predictions of where price will go.
  • Nothing in this connector trades — no order, close, transfer or withdrawal tool exists, by design. Say so when asked to act; the decision and any trade stay with the user.
  • Position details the user shares stay in the conversation; do not restate them in later unrelated answers.
  • Quote only tool results and what the user told you; if a coin is not tracked, say so.

Formulas and worked examples: references/risk-math.md.

Repository

target1m/traderspy-mcp

Path

skills/position-check/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.