home / skills / jeremylongshore / claude-code-plugins-plus-skills / scanning-market-movers

This skill detects top market movers across crypto assets by combining price changes, volume spikes, and market cap into a prioritization score.

npx playbooks add skill jeremylongshore/claude-code-plugins-plus-skills --skill scanning-market-movers

Review the files below or copy the command above to add this skill to your agents.

Files (12)
SKILL.md
8.1 KB
---
name: scanning-market-movers
description: |
  Detect significant price movements and unusual volume across crypto markets.
  Calculates significance scores combining price change, volume ratio, and market cap.
  Use when tracking market movers, finding gainers/losers, or detecting volume spikes.
  Trigger with phrases like "scan market movers", "top gainers", "biggest losers",
  "volume spikes", "what's moving", "find pumps", or "market scan".
allowed-tools: Read, Write, Edit, Grep, Glob, Bash(python:*)
version: 2.0.0
author: Jeremy Longshore <[email protected]>
license: MIT
---

# Scanning Market Movers

## Overview

Real-time detection and analysis of significant price movements and unusual volume patterns across cryptocurrency markets. This skill identifies top gainers, losers, and volume spikes, ranking them by a composite significance score.

**Key Features:**
- Scan 1,000+ cryptocurrencies for movers
- Configurable thresholds (change %, volume spike, market cap)
- Significance scoring for prioritization
- Category filtering (DeFi, L2, NFT, etc.)
- Multiple output formats (table, JSON, CSV)

**Dependency:**
This skill uses `tracking-crypto-prices` from `market-price-tracker` plugin for price data infrastructure.

## Prerequisites

Install required dependencies:

```bash
pip install requests pandas
```

**Dependency Setup:**
Ensure `market-price-tracker` plugin is installed with `tracking-crypto-prices` skill configured.

## Instructions

### Step 1: Quick Market Scan

Run a default scan for top gainers and losers:

```bash
python {baseDir}/scripts/scanner.py
```

This returns the top 20 gainers and top 20 losers by 24h change with volume confirmation.

### Step 2: Custom Thresholds

Scan with specific criteria:

```bash
# Only show moves > 10% with volume spike > 3x
python {baseDir}/scripts/scanner.py --min-change 10 --volume-spike 3

# Filter by market cap
python {baseDir}/scripts/scanner.py --min-cap 100000000 --max-cap 1000000000
```

### Step 3: Category Filtering

Focus on specific sectors:

```bash
# DeFi tokens only
python {baseDir}/scripts/scanner.py --category defi

# Layer 2 tokens
python {baseDir}/scripts/scanner.py --category layer2

# Available: defi, layer2, nft, gaming, meme
```

### Step 4: Different Timeframes

Scan across timeframes:

```bash
# 1-hour movers
python {baseDir}/scripts/scanner.py --timeframe 1h

# 7-day movers
python {baseDir}/scripts/scanner.py --timeframe 7d
```

### Step 5: Export Results

Save results for analysis:

```bash
# JSON export
python {baseDir}/scripts/scanner.py --format json --output movers.json

# CSV export
python {baseDir}/scripts/scanner.py --format csv --output movers.csv
```

## Output

### Default Table Output

```
================================================================================
  MARKET MOVERS                                    Updated: 2025-01-14 15:30:00
================================================================================

  TOP GAINERS (24h)
--------------------------------------------------------------------------------
  Rank  Symbol      Price         Change    Vol Ratio   Market Cap    Score
--------------------------------------------------------------------------------
    1   XYZ       $1.234        +45.67%        5.2x      $123.4M      89.3
    2   ABC       $0.567        +32.10%        3.8x       $45.6M      76.5
    3   DEF       $2.890        +28.45%        2.9x      $234.5M      71.2
--------------------------------------------------------------------------------

  TOP LOSERS (24h)
--------------------------------------------------------------------------------
  Rank  Symbol      Price         Change    Vol Ratio   Market Cap    Score
--------------------------------------------------------------------------------
    1   GHI       $3.456        -28.90%        4.1x       $89.1M      72.1
    2   JKL       $0.123        -22.34%        2.5x       $12.3M      58.9
--------------------------------------------------------------------------------

  Summary: 42 movers found | Scanned: 1000 assets
================================================================================
```

### JSON Output (--format json)

```json
{
  "gainers": [
    {
      "rank": 1,
      "symbol": "XYZ",
      "name": "Example Token",
      "price": 1.234,
      "change_24h": 45.67,
      "volume_ratio": 5.2,
      "market_cap": 123400000,
      "significance_score": 89.3,
      "category": "defi"
    }
  ],
  "losers": [...],
  "meta": {
    "scan_time": "2025-01-14T15:30:00Z",
    "thresholds": {
      "min_change": 5,
      "volume_spike": 2,
      "min_market_cap": 10000000
    },
    "total_scanned": 1000,
    "matches": 42
  }
}
```

### Significance Score

The significance score (0-100) combines:
- **Change %** (40%): Larger moves score higher
- **Volume Ratio** (40%): Higher volume confirmation scores higher
- **Market Cap** (20%): Larger caps score slightly higher

Higher scores indicate more significant, higher-conviction moves.

## Configuration

Edit `{baseDir}/config/settings.yaml`:

```yaml
# Default Thresholds
thresholds:
  min_change: 5           # Minimum % change to include
  volume_spike: 2         # Minimum volume ratio (current/avg)
  min_market_cap: 10000000  # $10M minimum
  max_market_cap: null    # No maximum by default

# Scoring Weights
scoring:
  change_weight: 0.40
  volume_weight: 0.40
  cap_weight: 0.20

# Display
display:
  top_n: 20               # Number of results per category
  sort_by: significance   # significance, change, volume, market_cap

# Categories (CoinGecko category IDs)
categories:
  defi:
    - decentralized-finance-defi
    - yield-farming
  layer2:
    - layer-2
    - polygon-ecosystem
    - arbitrum-ecosystem
  nft:
    - non-fungible-tokens-nft
  gaming:
    - gaming
  meme:
    - meme-token
```

### Named Presets

Create presets in `{baseDir}/config/presets/`:

**aggressive.yaml:**
```yaml
min_change: 3
volume_spike: 1.5
min_market_cap: 1000000
top_n: 50
```

**conservative.yaml:**
```yaml
min_change: 10
volume_spike: 3
min_market_cap: 100000000
top_n: 10
```

Use with:
```bash
python {baseDir}/scripts/scanner.py --preset aggressive
```

## Error Handling

See `{baseDir}/references/errors.md` for comprehensive error handling.

### Common Errors

| Error | Cause | Solution |
|-------|-------|----------|
| `Dependency not found` | tracking-crypto-prices unavailable | Install market-price-tracker plugin |
| `No movers found` | Thresholds too strict | Relax thresholds with lower values |
| `Rate limit exceeded` | Too many API calls | Wait or use cached data |
| `Partial results` | Some assets unavailable | Normal, proceed with available data |

## Examples

See `{baseDir}/references/examples.md` for detailed usage examples.

### Example 1: Daily Scan

```bash
python {baseDir}/scripts/scanner.py --timeframe 24h --top 20
```

### Example 2: Volume Spike Hunt

```bash
python {baseDir}/scripts/scanner.py --volume-spike 5 --min-volume 1000000
```

### Example 3: DeFi Movers Export

```bash
python {baseDir}/scripts/scanner.py --category defi --format csv --output defi_movers.csv
```

### Example 4: High-Cap Gainers

```bash
python {baseDir}/scripts/scanner.py --min-cap 1000000000 --gainers-only --top 10
```

## Integration with Other Skills

This skill can be combined with other crypto skills:

**With crypto-signal-generator:**
```bash
# Get movers, then generate signals for top gainers
python {baseDir}/scripts/scanner.py --format json | \
  python ../crypto-signal-generator/.../scanner.py --from-stdin
```

**With arbitrage-opportunity-finder:**
Volume spikes often precede arbitrage opportunities. Use movers as input for arbitrage scanning.

## Files

| File | Purpose |
|------|---------|
| `scripts/scanner.py` | Main CLI entry point |
| `scripts/analyzer.py` | Core analysis logic |
| `scripts/filters.py` | Threshold filtering |
| `scripts/scorers.py` | Significance scoring |
| `scripts/formatters.py` | Output formatting |
| `config/settings.yaml` | User configuration |
| `config/presets/` | Named preset configurations |

## Resources

- PRD.md - Product requirements
- ARD.md - Architecture documentation
- Depends on: tracking-crypto-prices skill
- CoinGecko API documentation: https://www.coingecko.com/en/api

Overview

This skill detects significant price moves and unusual volume across cryptocurrency markets and ranks results by a composite significance score. It scans hundreds to thousands of assets, highlights top gainers and losers, and outputs results in table, JSON, or CSV formats. Use configurable thresholds and category filters to focus scans by sector, market cap, or timeframe.

How this skill works

The scanner ingests price and volume data (via a price-tracking plugin) and computes a significance score combining percent change, volume ratio versus average, and market cap weighting. Filters remove noise using configurable thresholds (min change, volume spike, cap range) and category lists. Results are formatted for CLI display or exported as JSON/CSV for downstream processing.

When to use it

  • Routine market monitoring to find fast movers across many assets
  • Finding top gainers or biggest losers over custom timeframes (1h, 24h, 7d)
  • Detecting volume-confirmed pumps or dumps before manual review
  • Filtering movers by sector (DeFi, layer2, NFT, gaming, meme)
  • Feeding high-significance candidates into signal generators or arbitrage pipelines

Best practices

  • Start with conservative thresholds, then create an aggressive preset for discovery runs
  • Confirm high-significance hits with orderbook or on-chain checks before trading
  • Use category filters to reduce false positives from low-liquidity microcaps
  • Schedule frequent short-window scans (1h) plus daily scans to capture different move profiles
  • Export JSON for automated workflows and CSV for quick manual inspection

Example use cases

  • Daily morning scan: 24h top 20 gainers and losers for market overview
  • Volume spike hunt: find tokens with >5x volume and >10% move for quick alerts
  • Sector focus: run DeFi-only scan and export CSV for research team
  • High-cap watch: identify large-cap gainers only for lower-risk opportunities
  • Pipeline input: stream JSON results into a signal generator or arbitrage scanner

FAQ

What does the significance score mean?

A 0–100 score combining change (40%), volume ratio (40%), and market cap (20%). Higher means more conviction and prominence.

How do I reduce false positives?

Raise min_change and volume_spike thresholds, filter by min_market_cap, and run scans only on targeted categories.

Can I export results for automation?

Yes. The scanner supports JSON and CSV export for downstream tools or scheduled jobs.