brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
traderspy-market-screenerScan the most-traded crypto futures pairs for up to 3 technical conditions in one TraderSpy call, compare coins, and backtest what followed a condition. Use for "which coins are oversold".
Independent GitHub snapshot · Automated classification · Original documentation governs
Two tools, one vocabulary. screen_symbols evaluates up to three AND-ed conditions across the
most-traded pairs (or a list you give it) on one timeframe, in ONE quota unit. backtest_condition
takes the same conditions, one symbol and one timeframe, and reports what price did after every
past occurrence — with the unconditional baseline so the edge is separated from the tape's drift.
Together they answer the two questions traders actually ask: "what fits this pattern right now?" and "has this pattern meant anything before?"
get_technical_indicators coin by coin. For a deep read of one coin use @traderspy-technical-analysis.A condition is { metric, op, value, period?, period2? }. op is lt / gt (latest value) or
crossAbove / crossBelow (a one-bar event: the previous bar was on the other side).
| Metric | Default period | Unit / meaning |
|---|---|---|
rsi | 14 | 0–100 |
stochastic | 14, %D 3 | slow %K, 0–100 |
cci | 20 | Commodity Channel Index (±100 typical bands) |
mfi | 14 | 0–100, volume-weighted RSI |
williamsR | 14 | −100…0 (−80 oversold, −20 overbought) |
adx | 14 | trend strength; > 25 strong, < 20 absent |
roc | 12 | rate of change, % |
macdHistogram | 12, 26 (signal 9) | histogram in price units; crossAbove 0 = bullish MACD cross |
atrPct | 14 | ATR as % of price — volatility |
volumeRatio | 20 | bar volume ÷ average of the previous N bars |
bbPercentB | 20 (2σ) | 0 = lower band, 1 = upper band; < 0 or > 1 = outside |
bbWidthPct | 20 | band width as % of the middle — small = squeeze |
priceVsEma | 50 | % distance of close from EMA(period); > 0 above |
emaSpread | 50, 200 | % of EMA(period) over EMA(period2); crossAbove 0 = golden cross |
supertrend | 10 (×3) | +1 up-trend, −1 down-trend |
changePct | 24 | % change of close over the last N BARS (on 1h, 24 = one day) |
price | — | close |
Periods clamp to 2–200. Conditions are AND-ed; there is no OR — run two scans for an OR and merge.
Unknown metrics are rejected, so stick to the table (the full recipe list is in
references/condition-cookbook.md).
screen_symbols)Arguments: interval (default 4h), conditions (≤ 3), universe (5–100 most-traded by 24h
volume, default 50) OR symbols (≤ 100, explicit), limit (≤ 50 rows), sortBy volume /
change24h / metric, sortOrder.
Choose the timeframe from the user's horizon: intraday → 1h (or 15m), swing → 4h, position →
1d. Widen universe to 100 when the user wants small caps or the first scan matched little.
Every result row carries the metric values under their labels (values["RSI(14)"]), plus price,
change24hPct, volume24hUsd, bias, trend, rsi14, adx14, atrPct, volumeRatio,
squeeze. When matched > returned, say so and offer to raise limit.
Comparison mode: symbols with no conditions returns every listed symbol as a table — this is
how you answer "compare BTC, ETH and SOL" or "how do my five coins look on the daily".
Translate intent to conditions before calling, and say what you translated it to:
rsi lt 30 (or 35 for a wider net); "deeply oversold" add bbPercentB lt 0rsi gt 70priceVsEma gt 0 period 200 + supertrend gt 0volumeRatio gt 1.5bbWidthPct lt 4 on 4h (lower on 1h) — then sort by metric ascendingchangePct lt -5 period 24 on 1h, or period 6 on 4hemaSpread crossAbove 0 period 50 period2 200 on 1dbacktest_condition)Arguments: symbol, interval, conditions (same vocabulary), horizons in bars (≤ 4; defaults
≈ 4h / 1d / 3d: 1h → [4, 24, 72], 4h → [6, 18, 42], 1d → [1, 3, 7]).
The study runs over the whole stored tape — up to 1000 candles, so roughly 41 days on 1h, 166
days on 4h, 3 years on 1d. An "occurrence" is the FIRST bar of each run where the condition held
(ten consecutive oversold bars are one episode). For each horizon you get samples,
avgReturnPct, medianReturnPct, winRatePct, avgMaxUpPct / avgMaxDownPct (average best and
worst excursion, wick-accurate), bestPct / worstPct, baselineAvgReturnPct (every bar on the
same tape) and edgePct = average − baseline. Also activeNow, currentValues, lastOccurrence,
and recent[] with the last five episodes and their realised returns.
How to read it honestly:
edgePct +1.8 on 27 samples is a statement;
+6 on 4 samples is an anecdote, and the tool says so in warnings. Never quote the edge alone.avgMaxDownPct −5.1 on a "bullish" setup means the average
episode went 5% against you before the horizon ended. That belongs next to the win rate.null in recent), never
counted as zero."What's oversold right now?" → one screen_symbols. Present the table, then (optional, one more
call) backtest_condition the same condition on the top match so the answer carries "and here is
what that has meant on this coin before".
"Find me setups" / "watchlist" → decide the archetype with the user in one line (mean-reversion vs trend-continuation vs breakout), run one scan per archetype (2–3 calls), and present each list with the conditions it was built from. Do not promise an outcome for any row.
"Is X actually bullish?" → one backtest_condition on the coin and timeframe in question;
if the user names no coin, BTC on 1d is the most meaningful default and say why (longest tape).
"Compare A, B, C" → screen_symbols with symbols, no conditions, on the timeframe they care
about. Add get_derivatives (technical-analysis) only if the question includes funding or
positioning.
Screen: state the conditions in words and in the tool's labels, the timeframe, and the universe ("50 most-traded pairs"), then one row per symbol:
| Symbol | Price | 24h % | <metric labels…> | Bias | Trend | ADX | ATR% |
Backtest: one header line (symbol, timeframe, condition, occurrences, coverage), a horizon table —
| Horizon | Samples | Avg % | Median % | Win % | Avg best % | Avg worst % | Baseline % | Edge % |
— then the last episodes and whether the condition is active now. Close with the sample-size caveat in your own words.
Which coins are oversold on the 4h?
Run the screener: RSI under 30 and ADX above 25 on the 4h, top 100 by volume.
Compare BTC, ETH and SOL on the daily.
Historically, what happened on SOLUSDT 4h after RSI crossed above 30? Compare it against the baseline over the same tape.
https://mcp.traderspy.app/mcp, Streamable HTTP), authorized with OAuth or a personal key from https://traderspy.app/mcp. A free TraderSpy account is enough. Without the server the skill has no data to work from.@traderspy-technical-analysis (called technical-analysis in the text above, its upstream ID) - one coin in depth, and get_derivatives for funding and positioning@traderspy-market-briefing - a market overview that includes a movers scan