opencode-skills-collection 4.0.74 → 4.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +14 -1
  2. package/bundled-skills/claude-api/SKILL.md +4 -4
  3. package/bundled-skills/claude-api/curl/examples.md +5 -5
  4. package/bundled-skills/claude-api/java/claude-api.md +1 -1
  5. package/bundled-skills/claude-api/php/claude-api.md +2 -2
  6. package/bundled-skills/claude-api/python/claude-api/README.md +13 -13
  7. package/bundled-skills/claude-api/python/claude-api/batches.md +3 -3
  8. package/bundled-skills/claude-api/python/claude-api/files-api.md +3 -3
  9. package/bundled-skills/claude-api/python/claude-api/streaming.md +6 -6
  10. package/bundled-skills/claude-api/python/claude-api/tool-use.md +19 -19
  11. package/bundled-skills/claude-api/ruby/claude-api.md +3 -3
  12. package/bundled-skills/claude-api/shared/error-codes.md +2 -2
  13. package/bundled-skills/claude-api/shared/live-sources.md +1 -1
  14. package/bundled-skills/claude-api/shared/models.md +4 -4
  15. package/bundled-skills/claude-api/shared/tool-use-concepts.md +2 -2
  16. package/bundled-skills/claude-api/typescript/claude-api/README.md +12 -12
  17. package/bundled-skills/claude-api/typescript/claude-api/batches.md +2 -2
  18. package/bundled-skills/claude-api/typescript/claude-api/files-api.md +1 -1
  19. package/bundled-skills/claude-api/typescript/claude-api/streaming.md +4 -4
  20. package/bundled-skills/claude-api/typescript/claude-api/tool-use.md +14 -14
  21. package/bundled-skills/electron-drive-skill/LICENSE +21 -0
  22. package/bundled-skills/electron-drive-skill/README.md +172 -0
  23. package/bundled-skills/electron-drive-skill/SKILL.md +237 -0
  24. package/bundled-skills/electron-drive-skill/drive.config.json.example +10 -0
  25. package/bundled-skills/electron-drive-skill/package.json +28 -0
  26. package/bundled-skills/electron-drive-skill/scripts/daemon.mjs +352 -0
  27. package/bundled-skills/electron-drive-skill/scripts/drive.mjs +250 -0
  28. package/bundled-skills/electron-drive-skill/scripts/lib.mjs +165 -0
  29. package/bundled-skills/electron-drive-skill/scripts/lib.test.mjs +56 -0
  30. package/bundled-skills/mcp-dependency-drift-audit/SKILL.md +169 -0
  31. package/bundled-skills/nexrad-mosaic-access/SKILL.md +297 -0
  32. package/bundled-skills/nexrad-mosaic-construction/SKILL.md +277 -0
  33. package/bundled-skills/nexrad-product-access/SKILL.md +258 -0
  34. package/bundled-skills/nexrad-radar-visualization/SKILL.md +318 -0
  35. package/bundled-skills/radar-satellite-analysis/SKILL.md +314 -0
  36. package/bundled-skills/traderspy-market-briefing/SKILL.md +132 -0
  37. package/bundled-skills/traderspy-market-screener/SKILL.md +182 -0
  38. package/bundled-skills/traderspy-market-screener/references/condition-cookbook.md +70 -0
  39. package/bundled-skills/traderspy-position-check/SKILL.md +130 -0
  40. package/bundled-skills/traderspy-position-check/references/risk-math.md +60 -0
  41. package/bundled-skills/traderspy-smart-money/SKILL.md +151 -0
  42. package/bundled-skills/traderspy-smart-money/references/exchange-notes.md +40 -0
  43. package/bundled-skills/traderspy-technical-analysis/SKILL.md +162 -0
  44. package/bundled-skills/traderspy-technical-analysis/references/derivatives-guide.md +57 -0
  45. package/bundled-skills/traderspy-technical-analysis/references/indicator-guide.md +47 -0
  46. package/bundled-skills/traderspy-trading-signals/SKILL.md +156 -0
  47. package/bundled-skills/traderspy-trading-signals/references/signal-fields.md +64 -0
  48. package/bundled-skills/unified-ai-gateway/SKILL.md +3 -3
  49. package/package.json +1 -1
  50. package/skills_index.json +235 -1
@@ -0,0 +1,314 @@
1
+ ---
2
+ name: radar-satellite-analysis
3
+ description: "Interpret weather radar and satellite observations by validating product metadata and geometry, deriving storm and cloud structures, tracking evolution, and quantifying uncertainty."
4
+ category: analysis
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-09-25"
9
+ author: ShianMike
10
+ tags: [weather, radar, satellite, nexrad, goes, nowcasting, storm-analysis, remote-sensing, uncertainty]
11
+ tools: [claude, cursor, gemini, codex]
12
+ ---
13
+
14
+ # Radar and Satellite Analysis
15
+
16
+ ## Overview
17
+
18
+ Analyze radar and satellite weather products as remote-sensing observations,
19
+ not as ground truth. Validate scan time, geometry, calibration, quality flags,
20
+ and coverage before interpreting a feature. Then separate what the instrument
21
+ directly measures from what a meteorological inference suggests.
22
+
23
+ This skill consumes already retrieved and decoded products. Use it after
24
+ `noaa-radar-satellite-fetching` or an equivalent source-specific skill. It does
25
+ not discover buckets, download files, repair outages, or make a product
26
+ scientifically suitable by naming it radar or satellite data.
27
+
28
+ ## When to Use This Skill
29
+
30
+ - Interpret NEXRAD reflectivity, velocity, spectrum width, or multi-moment
31
+ volumes.
32
+ - Track storm growth, decay, splits, mergers, rotation, anvils, or cloud-top
33
+ evolution over time.
34
+ - Analyze GOES visible, infrared, water-vapor, or derived cloud and convection
35
+ products.
36
+ - Combine radar structure with satellite cloud-top evidence while preserving
37
+ each sensor's limitations.
38
+ - Produce a short-term precipitation or severe-weather nowcast from a sequence
39
+ of observations.
40
+ - Explain why a radar or satellite feature is—or is not—supported by the data.
41
+
42
+ Do not infer a surface hail size, wind speed, rainfall rate, or lightning count
43
+ from a single proxy without stating the retrieval assumptions. Do not use a
44
+ single still image to claim a storm's future track or intensity.
45
+
46
+ ## Define the Remote-Sensing Analysis Contract
47
+
48
+ Before interpreting pixels, beams, or profiles, record:
49
+
50
+ - event, target phenomenon, region, and UTC interval;
51
+ - radar site, product level, scan/volume interval, elevation angles, moments,
52
+ and resolution—or satellite platform, product, sector, channel, scan mode,
53
+ and resolution;
54
+ - the measurement height or viewing geometry;
55
+ - the quality masks, calibration or scaling, and missing-data policy;
56
+ - the temporal cadence and the allowed lag between radar, satellite,
57
+ observations, and model guidance;
58
+ - the feature definition and the expected output: structure, motion,
59
+ intensity proxy, nowcast, or uncertainty map;
60
+ - the criteria for a confident, tentative, or inconclusive interpretation.
61
+
62
+ Keep observation time, scan start/end time, file creation time, retrieval time,
63
+ and analysis time separate. A file created quickly after a scan is not a newer
64
+ measurement.
65
+
66
+ ## Validate the Products Before Interpretation
67
+
68
+ ### Common checks
69
+
70
+ 1. Confirm the radar site or physical satellite, product identity, sector,
71
+ channel or moment, and expected dimensions from the decoded metadata.
72
+ 2. Verify the time interval, scan start and end, coordinate reference system,
73
+ and geolocation. For GOES fixed grids, use the product's geostationary
74
+ projection metadata rather than treating scan `x` and `y` as latitude and
75
+ longitude.
76
+ 3. Apply the product's documented scale, offset, fill values, calibration, and
77
+ quality flags before computing statistics or thresholds.
78
+ 4. Inspect missing scans, partial volumes, data gaps, saturated or invalid
79
+ values, and spatial coverage. Do not smooth over a gap without labeling it.
80
+ 5. Record the resolution, footprint, and observation uncertainty. A high pixel
81
+ count is not a high spatial resolution if the beam or channel is coarse.
82
+
83
+ ### Radar-specific checks
84
+
85
+ - Confirm site, volume start/end time, sweep count, moments, and elevation
86
+ angles. Level II, Level III, and real-time chunk products are not
87
+ interchangeable encodings.
88
+ - Account for range-dependent beam width, beam height above the radar, terrain
89
+ blockage, range folding, attenuation, clutter, anomalous propagation, and
90
+ velocity dealiasing where relevant.
91
+ - Determine whether a feature is sampled by one low-level sweep, several
92
+ elevation angles, or a full vertical column. Do not compare a low-level echo
93
+ top with a satellite cloud top as if they were the same physical surface.
94
+ - Keep base reflectivity, column-integrated liquid, echo top, and derived
95
+ products distinct. Their thresholds and physical meanings are not
96
+ interchangeable.
97
+
98
+ ### Satellite-specific checks
99
+
100
+ - Confirm platform, instrument, product short name, channel or RGB product,
101
+ sector, scan mode, and scan interval from file attributes.
102
+ - Apply channel-specific calibration and quality flags. Brightness
103
+ temperature, reflectance, cloud-top temperature, and land-surface
104
+ temperature are different quantities.
105
+ - Treat cloud-top parallax as a viewing-geometry problem. A high cloud can be
106
+ displaced from its surface footprint, especially near the edge of a sector.
107
+ - Distinguish visible, infrared, water-vapor, and derived RGB products. Their
108
+ interpretation depends on reflectance, emission, atmospheric absorption, and
109
+ daylight or scan mode.
110
+
111
+ ## Analyze Radar Structure
112
+
113
+ ### Reflectivity and precipitation proxies
114
+
115
+ Use reflectivity to describe the location and organization of precipitation
116
+ echoes, then qualify the interpretation with beam height, range, attenuation,
117
+ and sampling. Look for features such as:
118
+
119
+ - high-reflectivity cores and their relationship to weaker surrounding echo;
120
+ - echo overhangs, weak-echo regions, bounded weak-echo regions, and vertical
121
+ development;
122
+ - bow, hook, line, multicell, or training structures when the geometry supports
123
+ that description;
124
+ - echo-top or vertically integrated liquid patterns that are relevant to the
125
+ stated question.
126
+
127
+ Do not call a reflectivity threshold hail, tornado, or destructive wind. Those
128
+ are conditional interpretations requiring velocity, cloud-top, lightning,
129
+ surface, or model context. Convert reflectivity to rain rate only with an
130
+ explicit relation, sample assumptions, and uncertainty bounds; a reflectivity
131
+ lookup is not a universal precipitation truth.
132
+
133
+ ### Velocity and rotation
134
+
135
+ Analyze radial velocity as a radar-relative measurement. State whether the
136
+ field is gate-to-gate shear, environmental shear, storm-relative radial flow, or
137
+ a derived couplet. Consider dealiasing, range folding, noise, side lobes,
138
+ velocity folding artifacts, and the fact that a velocity signature can have
139
+ multiple meteorological explanations.
140
+
141
+ For rotation or mesocyclone interpretation, use the appropriate temporal,
142
+ azimuthal, and vertical support and compare the result with neighboring scans.
143
+ A single couplet is a candidate feature, not a confirmed tornado. Do not use
144
+ radial velocity as a direct measurement of the environmental wind vector
145
+ without accounting for viewing geometry.
146
+
147
+ ### Three-dimensional organization
148
+
149
+ When a volume supports it, align elevation angles and analyze vertical
150
+ structure: low-level inflow, mid-level rotation, updraft organization, echo
151
+ top, overhang, and bounded weak-echo regions. Account for increasing beam
152
+ volume and decreasing resolution with height. A feature that appears vertically
153
+ stacked may be a sampling or attenuation artifact; check adjacent sites or
154
+ scans before asserting a continuous structure.
155
+
156
+ ## Analyze Satellite Cloud and Storm Structure
157
+
158
+ Use satellite data to describe cloud-top and environmental context, not to
159
+ replace radar precipitation structure. Depending on the product, examine:
160
+
161
+ - cloud-top temperature, brightness-temperature gradients, and overshooting
162
+ top candidates;
163
+ - anvil extent, spreading direction, and relationship to upper-level outflow;
164
+ - deep-convective cloud shields and mesoscale convective systems;
165
+ - visible-texture changes, cloud-top lowering or warming, and inferred growth or
166
+ decay only with a time sequence;
167
+ - water-vapor patterns, upper-level moisture, and potential convective
168
+ environments when the product and resolution support those claims.
169
+
170
+ An infrared cold cloud top is not, by itself, proof of severe weather, hail,
171
+ or a particular updraft strength. A very cold top can reflect a high cloud
172
+ whose emission and viewing geometry differ from a nearby lower cloud. State the
173
+ proxy, the threshold, and the alternative explanation.
174
+
175
+ ## Track Evolution and Motion
176
+
177
+ For a time sequence, use a consistent feature-identification and tracking
178
+ method. Track cell or cloud-system centers, echoes or anvils, growth and decay,
179
+ merges and splits, and changes in shape or intensity proxy. Distinguish motion
180
+ from the steering flow and from apparent motion caused by parallax, changing
181
+ scan geometry, or inconsistent feature definitions.
182
+
183
+ Estimate motion over multiple scans and report the method, time interval,
184
+ position uncertainty, and whether the feature was occluded or lost. A single
185
+ displacement between scans is not a reliable nowcast. If a forecast window is
186
+ short, say so and show the persistence or extrapolation assumption.
187
+
188
+ ## Combine Radar and Satellite Carefully
189
+
190
+ Align the products in time and space before joining them. Radar can provide
191
+ precipitation structure, radial motion, and vertical echoes; satellite can
192
+ provide broad cloud shield, cloud-top context, anvils, and environmental
193
+ patterns. Their footprints, resolution, viewing geometry, and quality are not
194
+ identical.
195
+
196
+ Use a joint interpretation only when the evidence is complementary. For
197
+ example, a radar core beneath a rapidly developing cold cloud top can support a
198
+ convective-growth diagnosis, but it still does not establish surface hail or a
199
+ confirmed tornado. Preserve each source's quality mask and contribution in the
200
+ final result instead of collapsing them into an opaque score.
201
+
202
+ For multi-radar mosaics, resolve overlapping beams using a documented rule.
203
+ Never average dBZ values or velocity fields across sites without a physical and
204
+ quality-aware rule. A mosaic should show coverage and the selected source for
205
+ each pixel or cell.
206
+
207
+ ## Quantify Uncertainty and Avoid Overclaiming
208
+
209
+ Remote-sensing interpretation has several uncertainty sources: beam geometry,
210
+ attenuation, parallax, threshold choice, temporal resolution, feature tracking,
211
+ instrument calibration, cloud microphysics, and incomplete coverage. When the
212
+ task is operational or safety-relevant, report the strongest alternative
213
+ interpretation and the observations that would distinguish it.
214
+
215
+ Use a bounded nowcast horizon and show how the result changes with alternate
216
+ motion, persistence, growth, or decay assumptions. Do not turn a qualitative
217
+ feature label into a precise probability without a calibration method. If the
218
+ images are too sparse, ambiguous, or poorly geolocated, report that the
219
+ feature is unconfirmed rather than filling the gap with narrative certainty.
220
+
221
+ ## Examples
222
+
223
+ When asked whether a storm intensified over an hour, align successive radar
224
+ volumes and satellite scans, verify time and geolocation, and track one
225
+ consistent feature definition. Report measured reflectivity and cloud-top
226
+ changes separately from inferred intensification, include data gaps and
227
+ uncertainty, and do not infer surface hail from a cold cloud top alone.
228
+
229
+ For a suspected velocity couplet, inspect neighboring scans and available
230
+ elevation angles, confirm radial-velocity convention and dealiasing quality,
231
+ and call it a possible rotation signature unless the evidence supports a
232
+ stronger conclusion.
233
+
234
+ ## Output Contract
235
+
236
+ Return a traceable analysis with:
237
+
238
+ 1. the radar site or satellite platform, product, channel/moment, scan interval,
239
+ region, and time range;
240
+ 2. the preprocessing, calibration, geolocation, quality masking, and temporal
241
+ alignment steps;
242
+ 3. the observed feature locations, structure, motion, and evolution with the
243
+ supporting pixels or beams identified;
244
+ 4. a clear separation between direct measurements, derived indices, and
245
+ meteorological interpretation;
246
+ 5. uncertainty, alternative explanations, and coverage limitations;
247
+ 6. figures or maps that preserve timestamps, color scales, units, and source;
248
+ 7. provenance for the raw or materialized products and every derived artifact.
249
+
250
+ Avoid a report that says only "severe storm," "heavy rain," or "rapidly
251
+ developing convection" without a location, time, measured proxy, and evidence
252
+ beneath the label.
253
+
254
+ ## Verification Checklist
255
+
256
+ - Radar site or satellite platform and product metadata are confirmed.
257
+ - Scan start/end time, retrieval time, and analysis time are distinct.
258
+ - Geolocation, projection, scale/offset, calibration, and quality flags are
259
+ applied.
260
+ - Beam height, beam width, range, terrain, attenuation, and radar artifacts are
261
+ considered where relevant.
262
+ - Satellite channel meaning, scan mode, daylight dependence, and parallax are
263
+ considered.
264
+ - Radar and satellite claims remain separate unless their alignment and
265
+ complementary evidence are explicit.
266
+ - Feature tracking uses multiple scans and reports its motion assumptions.
267
+ - Derived products include units, thresholds, coverage, and uncertainty.
268
+
269
+ ## Security & Safety Notes
270
+
271
+ - Use only public or authorized radar and satellite products.
272
+ - Do not expose AWS credentials, signed URLs, private bucket names, tokens, or
273
+ restricted provider metadata in reports or logs.
274
+ - Treat filenames, metadata, and product attributes as untrusted input; validate
275
+ them before constructing paths or visualizations.
276
+ - Bound scan counts, image sizes, decoding concurrency, and generated artifact
277
+ resolution.
278
+ - Preserve NOAA, NEXRAD, GOES, and other provider attribution and license terms.
279
+
280
+ ## Common Pitfalls
281
+
282
+ - **The file creation time was used as measurement time:** A delayed or
283
+ reprocessed product was placed at the wrong point in a storm timeline. Parse
284
+ scan start and end time.
285
+ - **A cold cloud top became a hail claim:** An infrared proxy was treated as a
286
+ direct hail measurement. State the proxy and supporting evidence.
287
+ - **Radar and satellite features did not line up:** Scan intervals, parallax,
288
+ geolocation, or beam height were ignored. Align the observations first.
289
+ - **A reflectivity pixel became a rain rate:** A threshold or lookup relation
290
+ was used without its assumptions and uncertainty. Keep the measured quantity
291
+ separate from the estimate.
292
+ - **A storm “rapidly intensified” from two frames:** A gap, feature mismatch, or
293
+ inconsistent threshold was mistaken for growth. Use a longer sequence and
294
+ tracking evidence.
295
+ - **Radar mosaics hid artifacts:** Values were averaged across sites or a blocked
296
+ beam was treated as a complete field. Retain quality and source information.
297
+
298
+ ## Limitations
299
+
300
+ - Radar and satellite products are remote-sensing observations with sampling,
301
+ calibration, attenuation, parallax, and coverage limitations.
302
+ - A single product cannot uniquely identify every convective or microphysical
303
+ process.
304
+ - Historical gaps, instrument outages, scan strategy changes, and provider
305
+ product changes cannot be repaired by interpretation alone.
306
+ - This skill does not retrieve products, perform numerical model comparison, or
307
+ replace official warning and emergency-management guidance.
308
+
309
+ ## Additional Resources
310
+
311
+ - [NOAA Radar Operations Center interface documents](https://www.roc.noaa.gov/wsr88d/BuildInfo/Files.aspx)
312
+ - [NOAA NEXRAD on the AWS Registry of Open Data](https://registry.opendata.aws/noaa-nexrad/)
313
+ - [NOAA GOES on the AWS Registry of Open Data](https://registry.opendata.aws/noaa-goes/)
314
+ - [NOAA GOES-R documents](https://www.ospo.noaa.gov/resources/documents/goes-r.html)
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: traderspy-market-briefing
3
+ description: "Crypto market briefing from live TraderSpy data: majors, funding, open interest, top-trader lean, fresh AI signals and screener movers. Use for \"what's happening in crypto\" or a recap."
4
+ category: finance
5
+ risk: safe
6
+ source: "https://github.com/target1m/traderspy-mcp/tree/069aae5a84640d671f92705a2e3bc0b62efca1e0/skills/market-briefing"
7
+ source_repo: target1m/traderspy-mcp
8
+ source_type: official
9
+ date_added: "2026-09-25"
10
+ author: target1m
11
+ tags: [traderspy, crypto, market-briefing, derivatives, mcp]
12
+ tools: [claude, cursor, gemini]
13
+ license: MIT
14
+ license_source: "https://github.com/target1m/traderspy-mcp/blob/069aae5a84640d671f92705a2e3bc0b62efca1e0/LICENSE"
15
+ ---
16
+
17
+ # TraderSpy Market Briefing
18
+
19
+ A briefing is a fixed set of questions answered with fresh numbers, in an order a trader can scan
20
+ in thirty seconds: where are the majors, how is the market positioned, what is the signal engine
21
+ seeing, what stands out on the screener. The value is in the selection and the brevity, not in the
22
+ volume of data — every tool call costs the user quota, so the playbook below is deliberately
23
+ tight.
24
+
25
+ ## When to Use
26
+
27
+ - Use when the user asks "what's happening in crypto", for a market update or a morning brief, "how's the market today", "anything interesting right now", an overview or a weekly recap.
28
+ - Use when a conversation opens with a vague question about the crypto market, even a casual one.
29
+ - Do not use for a deep dive on one coin (`@traderspy-technical-analysis`), one trader (`@traderspy-smart-money`) or one signal (`@traderspy-trading-signals`).
30
+
31
+ ## The playbook (6 calls, all read-only)
32
+
33
+ 1. **Majors** — `get_price` with `["BTCUSDT","ETHUSDT","SOLUSDT"]` plus any coins the user has
34
+ mentioned in the conversation (≤ 20 per call). Price, 24h change, 24h range.
35
+ 2. **Positioning** — `get_derivatives` with `["BTC","ETH","SOL"]` (add up to two of the user's
36
+ coins). Funding label and annualized rate, open-interest change and regime, top-trader long
37
+ share, taker flow. The `notes[]` are written to be quoted.
38
+ 3. **Movers** — `screen_symbols` with no conditions, `sortBy: "change24h"`, `limit: 50`, `universe:
39
+ 50`, `interval: "4h"`. One call returns all 50 most-traded pairs sorted by 24h change: the top
40
+ five are the gainers, the last five the losers.
41
+ 4. **What is stretched** — `screen_symbols` with `[{"metric":"rsi","op":"lt","value":30}]` on 4h,
42
+ `limit: 5`. If it returns nothing, flip to `rsi gt 70` — one of the two usually has names.
43
+ 5. **Signal engine** — `get_signal_stats` with `period: "24h"` (or `7d` for a weekly recap).
44
+ 6. **Freshest ideas** — `get_signals` with `limit: 5`.
45
+
46
+ Smart-money lean is already in step 2 (`positioning.topTraderLongPct`); add `get_positions`
47
+ (`status: open`, `limit: 20`) only when the user asks who specifically is positioned how.
48
+
49
+ **Quota-aware variants.** If the user is on a free key or asks for "just the headline", run steps
50
+ 1, 2 and 5 only (three calls) and say what you skipped. For a weekly recap use `7d` in step 5 and
51
+ `interval: "1d"` in steps 3–4.
52
+
53
+ If any call fails or returns empty, keep the section with a one-line "unavailable right now" note
54
+ rather than dropping it silently — a briefing with a hole is more honest than one that quietly
55
+ narrowed.
56
+
57
+ ## Reading the pieces
58
+
59
+ - **Funding**: near the 0.01%/8h baseline is neutral; clearly positive means longs pay shorts (a
60
+ crowded long is a risk, not a signal); negative means shorts pay. Quote the annualized figure —
61
+ it is the number people feel.
62
+ - **Open interest regime** (`openInterest.regime`): `new_longs` (OI up, price up), `short_covering`
63
+ (OI down, price up), `new_shorts` (OI up, price down), `long_liquidation` (OI down, price down),
64
+ `flat`. This is the one line that explains WHY the majors moved.
65
+ - **Top-trader long share**: the tool labels `long_heavy` at a long/short ratio ≥ 1.5 (≈ 60%+
66
+ long) and `short_heavy` at ≤ 0.67 (≈ 40% or less); in between call it balanced. Top-trader
67
+ positioning is the more informative one; the all-account ratio shows the crowd.
68
+ - **Signal stats**: `winRate` is hits ÷ (hits + stops) on signals created in the window; say
69
+ `total` and `pending` next to it, and treat a 24h window with fewer than ~10 resolved signals as
70
+ a small sample.
71
+ - **Movers** are the most-traded pairs by 24h volume sorted by change — a liquid-names list, not
72
+ an all-market list. Say so if a small cap the user follows is missing.
73
+
74
+ ## The briefing format
75
+
76
+ ALWAYS use this structure, in this order, with real numbers from the calls — no placeholders:
77
+
78
+ **Crypto brief — <date, UTC time of the calls>**
79
+
80
+ 1. **Headline** — one sentence: the majors' direction and the single most notable positioning fact.
81
+ 2. **Majors** — a table: Symbol · Price · 24h % · 24h range.
82
+ 3. **Positioning** — per major, one line: funding (label, annualized), OI regime, top-trader long %,
83
+ and one quoted `note`.
84
+ 4. **Movers** — top 5 gainers and top 5 losers among the most-traded pairs (symbol, price, 24h %).
85
+ 5. **Stretched** — the oversold or overbought names with their RSI, or "none on the 4h" if empty.
86
+ 6. **Signal engine** — `total` signals in the window, hit rate with the resolved count, then the
87
+ five freshest signals as one line each: coin, side, timeframe, preset, status.
88
+ 7. **What to watch** — two or three bullets derived from the data above (a funding extreme, an OI
89
+ regime worth confirming, a stretched name that is also in a signal). Facts and their
90
+ implications, not instructions.
91
+ 8. One plain sentence: crypto derivatives are high-risk; this is market information for the user's
92
+ own research, not financial advice.
93
+
94
+ Keep it under ~350 words. Numbers beat adjectives: "BTC −2.1% to 77,300, funding neutral, OI −2.7%
95
+ with price flat" is a briefing; "BTC looks weak" is not.
96
+
97
+ ## Conduct
98
+
99
+ - A briefing reports the market; it does not tell the user what to do in it. "What to watch" names
100
+ facts and what would confirm or invalidate them — never "buy the dip" or "short this".
101
+ - Hit rates and past moves describe their sample; do not extend them into predictions.
102
+ - Nothing in this connector trades — no order, close, transfer or withdrawal tool exists, by
103
+ design. If asked to act on the briefing, say so plainly; the decision and the trade stay with the
104
+ user.
105
+ - Every number comes from a tool result made in this conversation; state the time of the calls so
106
+ the user knows how fresh the brief is, and never reuse figures from an earlier brief as if they
107
+ were current.
108
+
109
+ ## Examples
110
+
111
+ ```text
112
+ Give me a crypto market briefing.
113
+ Give me a crypto morning brief: what moved, where funding is stretched, and what the AI signals fired overnight.
114
+ Just the headline: where are BTC, ETH and SOL, and how is the market positioned?
115
+ Weekly recap of the crypto market.
116
+ ```
117
+
118
+ ## Limitations
119
+
120
+ - Needs the hosted TraderSpy MCP server connected in the client (`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.
121
+ - Tool calls are metered per day: 300 on the free tier, 5,000 on premium.
122
+ - Every tool is read-only. Nothing here places, closes or modifies an order, and there is no withdrawal or transfer tool.
123
+ - The output is market data and analysis for the user's own research, not investment advice.
124
+ - A full briefing uses six tool calls; the headline variant uses three.
125
+ - The movers and stretched lists cover the most-traded pairs by 24h volume, not every listed coin.
126
+
127
+ ## Related Skills
128
+
129
+ - `@traderspy-technical-analysis` - one coin in depth
130
+ - `@traderspy-market-screener` - the full screener and backtests behind the movers list
131
+ - `@traderspy-trading-signals` - one signal in detail
132
+ - `@traderspy-smart-money` - who specifically is positioned how
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: traderspy-market-screener
3
+ description: "Scan 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\"."
4
+ category: finance
5
+ risk: safe
6
+ source: "https://github.com/target1m/traderspy-mcp/tree/069aae5a84640d671f92705a2e3bc0b62efca1e0/skills/market-screener"
7
+ source_repo: target1m/traderspy-mcp
8
+ source_type: official
9
+ date_added: "2026-09-25"
10
+ author: target1m
11
+ tags: [traderspy, crypto, screener, backtesting, mcp]
12
+ tools: [claude, cursor, gemini]
13
+ license: MIT
14
+ license_source: "https://github.com/target1m/traderspy-mcp/blob/069aae5a84640d671f92705a2e3bc0b62efca1e0/LICENSE"
15
+ ---
16
+
17
+ # TraderSpy Market Screener
18
+
19
+ Two tools, one vocabulary. `screen_symbols` evaluates up to three AND-ed conditions across the
20
+ most-traded pairs (or a list you give it) on one timeframe, in ONE quota unit. `backtest_condition`
21
+ takes the same conditions, one symbol and one timeframe, and reports what price did after every
22
+ past occurrence — with the unconditional baseline so the edge is separated from the tape's drift.
23
+
24
+ Together they answer the two questions traders actually ask: "what fits this pattern right now?"
25
+ and "has this pattern meant anything before?"
26
+
27
+ ## When to Use
28
+
29
+ - Use when the user wants to find, filter, rank or compare several coins by technical conditions: "which coins are oversold on the 4h", "what is above its 200 EMA with rising volume", "show me Bollinger squeezes", "find me setups".
30
+ - Use for side-by-side comparison tables such as "compare BTC, ETH and SOL".
31
+ - Use when the user asks what happened after a condition in the past: "how did ETH do after RSI dropped below 30", "is a golden cross on BTC daily actually bullish".
32
+ - Never answer these by calling `get_technical_indicators` coin by coin. For a deep read of one coin use `@traderspy-technical-analysis`.
33
+
34
+ ## The condition vocabulary
35
+
36
+ A condition is `{ metric, op, value, period?, period2? }`. `op` is `lt` / `gt` (latest value) or
37
+ `crossAbove` / `crossBelow` (a one-bar event: the previous bar was on the other side).
38
+
39
+ | Metric | Default period | Unit / meaning |
40
+ | --- | --- | --- |
41
+ | `rsi` | 14 | 0–100 |
42
+ | `stochastic` | 14, %D 3 | slow %K, 0–100 |
43
+ | `cci` | 20 | Commodity Channel Index (±100 typical bands) |
44
+ | `mfi` | 14 | 0–100, volume-weighted RSI |
45
+ | `williamsR` | 14 | −100…0 (−80 oversold, −20 overbought) |
46
+ | `adx` | 14 | trend strength; > 25 strong, < 20 absent |
47
+ | `roc` | 12 | rate of change, % |
48
+ | `macdHistogram` | 12, 26 (signal 9) | histogram in price units; `crossAbove 0` = bullish MACD cross |
49
+ | `atrPct` | 14 | ATR as % of price — volatility |
50
+ | `volumeRatio` | 20 | bar volume ÷ average of the previous N bars |
51
+ | `bbPercentB` | 20 (2σ) | 0 = lower band, 1 = upper band; < 0 or > 1 = outside |
52
+ | `bbWidthPct` | 20 | band width as % of the middle — small = squeeze |
53
+ | `priceVsEma` | 50 | % distance of close from EMA(period); > 0 above |
54
+ | `emaSpread` | 50, 200 | % of EMA(period) over EMA(period2); `crossAbove 0` = golden cross |
55
+ | `supertrend` | 10 (×3) | +1 up-trend, −1 down-trend |
56
+ | `changePct` | 24 | % change of close over the last N BARS (on 1h, 24 = one day) |
57
+ | `price` | — | close |
58
+
59
+ Periods clamp to 2–200. Conditions are AND-ed; there is no OR — run two scans for an OR and merge.
60
+ Unknown metrics are rejected, so stick to the table (the full recipe list is in
61
+ `references/condition-cookbook.md`).
62
+
63
+ ## Screening (`screen_symbols`)
64
+
65
+ Arguments: `interval` (default 4h), `conditions` (≤ 3), `universe` (5–100 most-traded by 24h
66
+ volume, default 50) OR `symbols` (≤ 100, explicit), `limit` (≤ 50 rows), `sortBy` volume /
67
+ change24h / metric, `sortOrder`.
68
+
69
+ Choose the timeframe from the user's horizon: intraday → `1h` (or `15m`), swing → `4h`, position →
70
+ `1d`. Widen `universe` to 100 when the user wants small caps or the first scan matched little.
71
+
72
+ Every result row carries the metric values under their labels (`values["RSI(14)"]`), plus `price`,
73
+ `change24hPct`, `volume24hUsd`, `bias`, `trend`, `rsi14`, `adx14`, `atrPct`, `volumeRatio`,
74
+ `squeeze`. When `matched` > `returned`, say so and offer to raise `limit`.
75
+
76
+ **Comparison mode**: `symbols` with no `conditions` returns every listed symbol as a table — this is
77
+ how you answer "compare BTC, ETH and SOL" or "how do my five coins look on the daily".
78
+
79
+ **Translate intent to conditions before calling**, and say what you translated it to:
80
+
81
+ - "oversold" → `rsi lt 30` (or 35 for a wider net); "deeply oversold" add `bbPercentB lt 0`
82
+ - "overbought" → `rsi gt 70`
83
+ - "in an uptrend" → `priceVsEma gt 0 period 200` + `supertrend gt 0`
84
+ - "with rising volume" → `volumeRatio gt 1.5`
85
+ - "squeezing" → `bbWidthPct lt 4` on 4h (lower on 1h) — then sort by metric ascending
86
+ - "dumped today" → `changePct lt -5 period 24` on 1h, or `period 6` on 4h
87
+ - "golden cross" → `emaSpread crossAbove 0 period 50 period2 200` on 1d
88
+
89
+ ## Backtesting (`backtest_condition`)
90
+
91
+ Arguments: `symbol`, `interval`, `conditions` (same vocabulary), `horizons` in bars (≤ 4; defaults
92
+ ≈ 4h / 1d / 3d: 1h → [4, 24, 72], 4h → [6, 18, 42], 1d → [1, 3, 7]).
93
+
94
+ The study runs over the whole stored tape — up to 1000 candles, so roughly 41 days on 1h, 166
95
+ days on 4h, 3 years on 1d. An "occurrence" is the FIRST bar of each run where the condition held
96
+ (ten consecutive oversold bars are one episode). For each horizon you get `samples`,
97
+ `avgReturnPct`, `medianReturnPct`, `winRatePct`, `avgMaxUpPct` / `avgMaxDownPct` (average best and
98
+ worst excursion, wick-accurate), `bestPct` / `worstPct`, `baselineAvgReturnPct` (every bar on the
99
+ same tape) and `edgePct` = average − baseline. Also `activeNow`, `currentValues`, `lastOccurrence`,
100
+ and `recent[]` with the last five episodes and their realised returns.
101
+
102
+ How to read it honestly:
103
+
104
+ - **Edge and sample size travel together.** `edgePct +1.8 on 27 samples` is a statement;
105
+ `+6 on 4 samples` is an anecdote, and the tool says so in `warnings`. Never quote the edge alone.
106
+ - **Median vs average**: a positive average with a negative median means a few big winners carried
107
+ it. Say which.
108
+ - **Excursions are the risk picture**: `avgMaxDownPct −5.1` on a "bullish" setup means the average
109
+ episode went 5% against you before the horizon ended. That belongs next to the win rate.
110
+ - **Horizons that disagree** (positive at 1d, negative at 3d) usually mean a bounce that fades —
111
+ report the shape, do not pick the flattering horizon.
112
+ - Recent episodes newer than a horizon are excluded from that horizon (`null` in `recent`), never
113
+ counted as zero.
114
+ - Coverage limits what the study can see: 41 days of 1h data contains one market regime. A 1d
115
+ study is the only one that spans cycles.
116
+
117
+ ## Workflows
118
+
119
+ **"What's oversold right now?"** → one `screen_symbols`. Present the table, then (optional, one more
120
+ call) `backtest_condition` the same condition on the top match so the answer carries "and here is
121
+ what that has meant on this coin before".
122
+
123
+ **"Find me setups" / "watchlist"** → decide the archetype with the user in one line (mean-reversion
124
+ vs trend-continuation vs breakout), run one scan per archetype (2–3 calls), and present each list
125
+ with the conditions it was built from. Do not promise an outcome for any row.
126
+
127
+ **"Is X actually bullish?"** → one `backtest_condition` on the coin and timeframe in question;
128
+ if the user names no coin, BTC on 1d is the most meaningful default and say why (longest tape).
129
+
130
+ **"Compare A, B, C"** → `screen_symbols` with `symbols`, no conditions, on the timeframe they care
131
+ about. Add `get_derivatives` (technical-analysis) only if the question includes funding or
132
+ positioning.
133
+
134
+ ## Presenting
135
+
136
+ Screen: state the conditions in words and in the tool's labels, the timeframe, and the universe
137
+ ("50 most-traded pairs"), then one row per symbol:
138
+
139
+ | Symbol | Price | 24h % | <metric labels…> | Bias | Trend | ADX | ATR% |
140
+
141
+ Backtest: one header line (symbol, timeframe, condition, occurrences, coverage), a horizon table —
142
+
143
+ | Horizon | Samples | Avg % | Median % | Win % | Avg best % | Avg worst % | Baseline % | Edge % |
144
+
145
+ — then the last episodes and whether the condition is active now. Close with the sample-size
146
+ caveat in your own words.
147
+
148
+ ## Conduct
149
+
150
+ - A screen is a list of things that are true about the chart right now; a backtest is a sample of
151
+ what followed in the past. Neither is a recommendation. Present the evidence, note what would
152
+ invalidate the setup, and leave the trade — and the sizing — to the user.
153
+ - Never turn "70% win rate on 12 samples" into a forecast; historical stats describe their sample.
154
+ - Nothing in this connector trades — no order, close, transfer or withdrawal tool exists by design.
155
+ If asked to execute, say so plainly; the decision and the trade stay with the user.
156
+ - Quote only what the tools returned; when a symbol is missing from the universe say it was not
157
+ scanned rather than implying it failed the filter.
158
+ - When a specific trade idea is under discussion, end with one plain sentence that crypto
159
+ derivatives are high-risk and this is market information, not financial advice.
160
+
161
+ ## Examples
162
+
163
+ ```text
164
+ Which coins are oversold on the 4h?
165
+ Run the screener: RSI under 30 and ADX above 25 on the 4h, top 100 by volume.
166
+ Compare BTC, ETH and SOL on the daily.
167
+ Historically, what happened on SOLUSDT 4h after RSI crossed above 30? Compare it against the baseline over the same tape.
168
+ ```
169
+
170
+ ## Limitations
171
+
172
+ - Needs the hosted TraderSpy MCP server connected in the client (`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.
173
+ - Tool calls are metered per day: 300 on the free tier, 5,000 on premium.
174
+ - Every tool is read-only. Nothing here places, closes or modifies an order, and there is no withdrawal or transfer tool.
175
+ - The output is market data and analysis for the user's own research, not investment advice.
176
+ - Conditions are AND-ed, at most three per scan, from the fixed metric list above. An OR needs two scans.
177
+ - A scan covers up to the 100 most-traded pairs or an explicit list of up to 100 symbols. A backtest sees at most 1000 stored candles, about 41 days on 1h.
178
+
179
+ ## Related Skills
180
+
181
+ - `@traderspy-technical-analysis` (called `technical-analysis` in the text above, its upstream ID) - one coin in depth, and `get_derivatives` for funding and positioning
182
+ - `@traderspy-market-briefing` - a market overview that includes a movers scan