Skip to content
Back to skills

Trading Signals

ASecurity

Query, explain and evaluate TraderSpy's AI crypto futures signals — the newest signals, signals for one coin, what a signal's entry / take-profit / stop levels and triggered conditions mean, whether a signal still stands at the current price, and how signals have performed (hit rate, hits vs stops) over the last 4h to 7d. Use this whenever the user mentions crypto signals, AI alerts, "any setups", "what is the AI seeing", long/short ideas, TraderSpy alerts, signal performance or track record ...

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 14, 2026
ai-agentsperformance

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 14, 2026

npx -y skills add target1m/traderspy-mcp --skill trading-signals --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Trading Signals?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Trading Signals
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/target1m-trading-signals/badge)](https://www.skillsdirectory.com/skills/target1m-trading-signals)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: trading-signals
description: Query, explain and evaluate TraderSpy's AI crypto futures signals — the newest signals, signals for one coin, what a signal's entry / take-profit / stop levels and triggered conditions mean, whether a signal still stands at the current price, and how signals have performed (hit rate, hits vs stops) over the last 4h to 7d. Use this whenever the user mentions crypto signals, AI alerts, "any setups", "what is the AI seeing", long/short ideas, TraderSpy alerts, signal performance or track record — even when they never say the word "signal". Not for placing trades (no tool can), not for whale or top-trader positioning (smart-money), not for indicator reads on a coin (technical-analysis).
---

TraderSpy's AI signals are automated reads of the market: a named preset fires when several
technical conditions line up on one crypto futures pair, a validator scores the alignment, and
the published signal carries an entry, a take-profit ladder, a stop and — later — what actually
happened. The signals feed at https://traderspy.app/signals publishes every one with its resolved
outcome. Your job is to fetch,
translate and contextualise them; the decision stays with the user.

## Tools

| Tool | Use it for | Key arguments |
| --- | --- | --- |
| `get_signals` | The list: newest first | `limit` 1–50 (default 20), `skip`, `importance` high / medium / low / all, `coin` |
| `get_signal_details` | One signal in full, plus the live price | `signalId` (the `id` from the list) |
| `get_signal_stats` | Aggregate hit rate over a window | `period` 4h / 8h / 24h / 7d |

Three argument behaviours that are easy to get wrong:

- **`importance` is inclusive downward.** `high` returns high only, `medium` returns high AND
  medium, `low` returns everything. To show "medium and above" pass `medium`, not `low`.
- **`coin` is a prefix match** on the pair name. `BTC` matches `BTCUSDT` and also `BTCDOMUSDT`;
  check the `coin` field of each row before presenting "BTC signals".
- **`limit` is what gets rendered.** In hosts that draw signal cards, every fetched row becomes a
  card. If the user asks for "the last 5", pass `limit: 5` — do not fetch 20 and show 5.

## What a signal row contains

`strategyName` (the preset, e.g. "OBV Divergence Buy (4H)") · `action` buy / sell · `timeframe`
1h / 4h / 1d · `price` at trigger · `targets[]` as `{label, type, pct}` where `pct` is measured from
`price` · `triggeredConditions[]` in plain language · `importance` · `signalStrength` weak /
moderate / strong / very_strong · `resolutionStatus` · `createdAt`.

Convert target percentages to prices before showing them — users think in prices:

- buy: TP = price × (1 + pct/100), SL = price × (1 − pct/100)
- sell: TP = price × (1 − pct/100), SL = price × (1 + pct/100)
- reward-to-risk at TP1 = TP1 pct ÷ SL pct (a 0.7 R:R is normal for this system, whose first target
  sits close to entry; read it together with the hit rate from `get_signal_stats`, and do not call a
  sub-1 R:R "bad" on its own).

`resolutionStatus` is the outcome so far:

| Status | Meaning |
| --- | --- |
| `pending` | Still inside its tracking window, nothing hit yet |
| `tp1_hit` / `tp2_hit` / `tp3_hit` | Highest take-profit reached (a later stop touch does not downgrade it) |
| `profit_locked` | Trend exhaustion detected before TP1; a partial gain was locked |
| `stop` | Stop level touched before any take-profit |
| `expired` | Window ended with neither side touched |

Outcomes are judged on 1-minute wicks, so "TP1 hit" means price actually traded there. The
tracking window is 24 × the signal timeframe (24h for a 1h signal, 4 days for a 4h signal); a 1h
signal that is still `pending` two days later is stale rather than alive.

## Workflows

**"Latest signals" / "any setups?"** → `get_signals` with the limit the user implies (default 10 if
they gave no number). Lead with the newest, group by side if several, and make the resolved ones
visible — a list that mixes three winners, two stops and five pending rows should say so.

**"Signals for SOL"** → `get_signals` with `coin`. If the result is empty, say there is no recent
signal on that pair rather than offering a different pair as if it were the same thing.

**"Is this signal still valid?" / "Should I still care about it?"** → `get_signal_details`, then
compare `livePrice` with the entry, TP1 and SL in the same units:

- distance from entry in % (signed the way the trade wants it: for a buy, positive = in profit)
- whether a level has already been crossed (a `pending` buy with `livePrice` below the SL price
  is finished in everything but paperwork — say so)
- `history.highestPrice` / `lowestPrice` show the best and worst it has seen since entry
- `indicatorValues` are the readings at trigger time, not now; if the user wants the current
  picture, hand off to technical-analysis rather than re-reading stale values as if they were live

**"How are the signals doing?"** → `get_signal_stats`. Explain the number honestly: `winRate` is
hits ÷ (hits + stops) over signals CREATED in the window, so it ignores `pending` rows, and a 4h
window is a handful of signals. Prefer `7d` for a track-record question and say how many signals
it rests on (`total`, `pending`).

## Presenting

For a list, ALWAYS use a compact table and keep one signal per row:

| Coin | Side | TF | Entry | TP1 | SL | Preset | Status | Age |

For one signal, use this order: headline (coin, side, timeframe, preset, importance) → the levels
as prices with the % in brackets → what triggered it (the `triggeredConditions`, lightly
rephrased) → where price is now versus entry / TP1 / SL → the outcome so far → the one-line risk
note. Quote `livePrice` with its timestamp when the answer depends on it.

Do not invent an "AI review" if `aiReview` is null — most signals do not carry one. When it exists,
report `score` and `decision` as the reviewer's opinion, not as a verdict.

## Conduct

- These are indicator alignments with published outcomes, not instructions. Report what the
  signal says, what has happened to it and what has happened to signals like it; if the user asks
  whether to take it, lay out what supports and what undercuts it and hand the decision back. Never
  tell the user to buy, sell, size or leverage.
- Historical hit rates describe the sample they were computed on. Never present a win rate as a
  forecast or imply any outcome is assured.
- Nothing in this connector trades. There is no order, close, transfer or withdrawal tool, by
  design. If asked to execute, say so plainly; the decision and the trade stay with the user.
- Every number comes from a tool result; if a field is null, say it is unavailable rather than
  estimating it.
- When the answer is about a specific trade idea, end with one plain sentence that crypto
  derivatives are high-risk and this is market information, not financial advice. Once per answer
  is enough.

For the full field glossary, including the `indicatorValues` keys, read
`references/signal-fields.md`.

Files in this skill

  • SKILL.md6.9 KB
  • agents/openai.yaml505 B
  • references/signal-fields.md4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.