@vike-io/cli 0.5.0

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 (56) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +21 -0
  3. package/README.md +98 -0
  4. package/package.json +73 -0
  5. package/scripts/postinstall.js +20 -0
  6. package/skills/vike-alerts-setup/SKILL.md +75 -0
  7. package/skills/vike-alerts-webhook/SKILL.md +84 -0
  8. package/skills/vike-core/SKILL.md +67 -0
  9. package/skills/vike-cross-venue-perps/SKILL.md +52 -0
  10. package/skills/vike-defi-positions/SKILL.md +59 -0
  11. package/skills/vike-fund-holdings/SKILL.md +53 -0
  12. package/skills/vike-hl-top-traders/SKILL.md +52 -0
  13. package/skills/vike-hl-trader-profile/SKILL.md +65 -0
  14. package/skills/vike-options-flow/SKILL.md +49 -0
  15. package/skills/vike-perp-funding-arb/SKILL.md +53 -0
  16. package/skills/vike-perp-screener/SKILL.md +49 -0
  17. package/skills/vike-perp-spread-arb/SKILL.md +38 -0
  18. package/skills/vike-polymarket-market-detail/SKILL.md +42 -0
  19. package/skills/vike-polymarket-markets/SKILL.md +44 -0
  20. package/skills/vike-polymarket-screener/SKILL.md +59 -0
  21. package/skills/vike-polymarket-smart-money/SKILL.md +58 -0
  22. package/skills/vike-polymarket-trader/SKILL.md +55 -0
  23. package/skills/vike-router/SKILL.md +53 -0
  24. package/skills/vike-smart-money-discovery/SKILL.md +74 -0
  25. package/skills/vike-token-holders/SKILL.md +45 -0
  26. package/skills/vike-token-research/SKILL.md +55 -0
  27. package/skills/vike-token-search/SKILL.md +40 -0
  28. package/skills/vike-token-transfers/SKILL.md +43 -0
  29. package/skills/vike-wallet-balances/SKILL.md +60 -0
  30. package/skills/vike-wallet-counterparties/SKILL.md +48 -0
  31. package/skills/vike-wallet-discover/SKILL.md +49 -0
  32. package/skills/vike-wallet-ens/SKILL.md +41 -0
  33. package/skills/vike-wallet-label-provenance/SKILL.md +65 -0
  34. package/skills/vike-wallet-pnl-history/SKILL.md +58 -0
  35. package/skills/vike-wallet-portfolio/SKILL.md +61 -0
  36. package/skills/vike-wallet-summary/SKILL.md +35 -0
  37. package/skills/vike-web-fetch/SKILL.md +55 -0
  38. package/skills/vike-web-research/SKILL.md +58 -0
  39. package/skills/vike-web-search/SKILL.md +60 -0
  40. package/src/auth.js +55 -0
  41. package/src/commands/alerts.js +118 -0
  42. package/src/commands/auth.js +43 -0
  43. package/src/commands/doctor.js +87 -0
  44. package/src/commands/init.js +50 -0
  45. package/src/commands/labels.js +48 -0
  46. package/src/commands/options.js +24 -0
  47. package/src/commands/perp.js +59 -0
  48. package/src/commands/polymarket.js +74 -0
  49. package/src/commands/schema.js +31 -0
  50. package/src/commands/token.js +77 -0
  51. package/src/commands/wallet.js +106 -0
  52. package/src/commands/web.js +41 -0
  53. package/src/format.js +83 -0
  54. package/src/index.js +44 -0
  55. package/src/mcp-client.js +94 -0
  56. package/src/util.js +25 -0
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: vike-hl-top-traders
3
+ description: Rank top Hyperliquid perp traders by PnL / ROI / win rate / volume / trade count / drawdown across a window. Use when the user asks "top HL traders" / "best Hyperliquid wallets" / "HL leaderboard".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-hl-top-traders
8
+
9
+ ## Command
10
+
11
+ ```bash
12
+ vike perp top-traders
13
+ [--window 1d|7d|30d|all]
14
+ [--sort pnl|roi|win_rate|volume|trade_count|drawdown]
15
+ [--order asc|desc]
16
+ [--min-trades N] # default 3
17
+ [--min-win-rate P] # 0-100 percent
18
+ [--min-volume USD]
19
+ [--size N] # max 20
20
+ [--json]
21
+ ```
22
+
23
+ ## Common queries
24
+
25
+ | Question | Flags |
26
+ |---|---|
27
+ | "Top HL traders this week" | `--window 7d --sort pnl` |
28
+ | "Best ROI traders last 30d w/ >=10 trades" | `--sort roi --min-trades 10` |
29
+ | "Sharpshooters: win rate >75% min $1M vol" | `--sort win_rate --min-win-rate 75 --min-volume 1000000` |
30
+ | "Most active traders today" | `--window 1d --sort trade_count` |
31
+ | "Smallest drawdown winners" | `--sort drawdown --order asc --min-trades 20` |
32
+
33
+ ## Output columns
34
+
35
+ `address`, `pnl_usd`, `roi_pct`, `win_rate_pct`, `volume_usd`, `trade_count`, `max_drawdown_usd`.
36
+
37
+ ## Reading
38
+
39
+ - `roi_pct` here is **realized + unrealized** (uses live position marks).
40
+ - A wallet with 90% win rate on 4 trades is statistical noise. Min trades 10–20 for any "skill" claim.
41
+ - Top by PnL ≠ top by ROI. Whales win big in $ but small in % terms; ROI sort surfaces smaller-account discretionary skill.
42
+ - `max_drawdown_usd` is peak-to-trough realized — does NOT include unrealized intra-position drawdown.
43
+
44
+ ## Anti-patterns
45
+
46
+ - Don't claim a wallet is "the best HL trader" from a 1d window. Anything < 30d is short-term.
47
+ - The leaderboard rewards survivors — wallets that blew up don't appear, so PnL distribution is right-skewed survivorship bias.
48
+
49
+ ## Pairs well with
50
+
51
+ - `vike-hl-trader-profile` to drill into a specific address from the leaderboard
52
+ - `vike-perp-funding-arb` to see if leaders are positioned against funding
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: vike-hl-trader-profile
3
+ description: Profile a single Hyperliquid perp trader — leaderboard rank, recent performance, on-chain identity. Use when the user gives an HL wallet address and asks "is this trader any good" / "profile this address" / "what's this wallet's HL track record".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-hl-trader-profile
8
+
9
+ Composite profile combining ranking, identity, and trading metrics.
10
+
11
+ ## Steps
12
+
13
+ ### 1. On-chain identity + balance
14
+
15
+ ```bash
16
+ vike wallet summary <address> --json
17
+ ```
18
+
19
+ Captures: total volume, inflow/outflow, tx count, unique tokens across ETH/BSC/Base. Tells you if the address is HL-only or also active on spot chains.
20
+
21
+ ### 2. HL leaderboard rank
22
+
23
+ ```bash
24
+ vike perp top-traders --window 30d --sort pnl --size 20 --json
25
+ vike perp top-traders --window 7d --sort pnl --size 20 --json
26
+ ```
27
+
28
+ Search the returned rows for the address. Report rank if found, "outside top 20" otherwise.
29
+
30
+ ### 3. ROI + win rate context
31
+
32
+ ```bash
33
+ vike perp top-traders --sort roi --window 30d --min-trades 10 --size 20 --json
34
+ vike perp top-traders --sort win_rate --window 30d --min-trades 10 --size 20 --json
35
+ ```
36
+
37
+ Same address-search; report rank or "not in top 20".
38
+
39
+ ## Verdict template
40
+
41
+ > **`<address>` — Hyperliquid trader profile (30d)**
42
+ > - PnL: `$X` (rank #Y of top 20) or (outside top 20)
43
+ > - ROI: `Z%` (rank ...) or (outside top 20)
44
+ > - Win rate: `W%` over N trades
45
+ > - Spot activity: `<volume_usd>` total across ETH/BSC/Base, `<tokens>` unique
46
+ > - Classification: **whale / sharp / volume / one-shot / unverified**
47
+
48
+ ## Classification heuristics
49
+
50
+ | Pattern | Label |
51
+ |---|---|
52
+ | Top-20 PnL + high ROI + many trades + low DD | **Sharp** |
53
+ | Top-20 PnL + low ROI + huge volume | **Whale** (size matters more than skill) |
54
+ | Outside leaderboard + high win rate on <10 trades | **Unverified — too few data points** |
55
+ | One big trade dominates PnL | **One-shot** (lucky directional bet) |
56
+ | Wallet age < 30d | **Too new — re-check in a month** |
57
+
58
+ ## Anti-patterns
59
+
60
+ - Don't claim "this is one of the best HL traders" from win rate alone — need volume + trade count for context.
61
+ - A wallet outside the top 20 isn't bad — only ~0.01% of HL wallets make top 20 in any window.
62
+
63
+ ## Pairs well with
64
+
65
+ - `vike-hl-top-traders` for the leaderboard context
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: vike-options-flow
3
+ description: Deribit options flow — call/put volume, put-call ratios, and direction signals for BTC / ETH / SOL. Use when the user asks "options flow on X" / "put call ratio" / "options positioning".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-options-flow
8
+
9
+ ## Command
10
+
11
+ ```bash
12
+ vike options flow --symbol BTC|ETH|SOL [--window 1d|1w|1m] [--json]
13
+ ```
14
+
15
+ Default: BTC, 1d.
16
+
17
+ ## Output
18
+
19
+ Per-window aggregates: call volume, put volume, put-call ratio, net delta, open-interest deltas.
20
+
21
+ ## Reading the put-call ratio (PCR)
22
+
23
+ | PCR (volume basis) | Read |
24
+ |---|---|
25
+ | < 0.5 | **Aggressive call buying** — bullish positioning, or call-overwrite unwind |
26
+ | 0.5–0.8 | Normal bullish |
27
+ | 0.8–1.2 | Balanced |
28
+ | 1.2–1.8 | Bearish hedging or directional put buying |
29
+ | > 1.8 | Heavy put demand — fear / hedge spike |
30
+
31
+ PCR is **not a contrarian signal** on its own. Cross-reference with spot price action and funding:
32
+ - High PCR + price falling + negative funding = real bearish capitulation
33
+ - High PCR + price flat + positive funding = hedging into a rally (not panic)
34
+
35
+ ## Window choice
36
+
37
+ - `1d` — intraday sentiment shifts, useful around major events
38
+ - `1w` — positioning trend; cleaner read for narrative
39
+ - `1m` — structural positioning; useful for IV-rank and term-structure context
40
+
41
+ ## Anti-patterns
42
+
43
+ - Don't quote raw call/put volume without context — Deribit's BTC notional is in the tens of billions weekly; a $100M day means little in isolation.
44
+ - Don't conflate flow (new positions) with open interest (cumulative). Flow is the change; OI is the stock.
45
+
46
+ ## Pairs well with
47
+
48
+ - `vike-perp-funding-arb` for the corresponding perp positioning
49
+ - `vike-perp-screener` for the broader market read
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: vike-perp-funding-arb
3
+ description: Find cross-venue funding-rate arbitrage opportunities on perpetual futures. Use when the user asks "any funding arb today" / "where to long-short X for funding" / "highest funding rates".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-perp-funding-arb
8
+
9
+ Cross-venue funding rates across Binance, Bybit, OKX, Aster, and Hyperliquid.
10
+
11
+ ## Commands
12
+
13
+ ### A. All arb opportunities (default)
14
+
15
+ ```bash
16
+ vike perp funding --json
17
+ ```
18
+
19
+ Returns pre-ranked rows where the spread between the highest-funding venue and the lowest is ≥ 0.3% (daily normalized). Each row already includes:
20
+ - `symbol`
21
+ - `long_exchange`, `long_daily_pct` (pay funding here)
22
+ - `short_exchange`, `short_daily_pct` (receive funding here)
23
+ - `spread_daily_pct`
24
+
25
+ **These are pre-ranked — just cite the top N rows directly. No further sorting needed.**
26
+
27
+ ### B. Single symbol per-venue rates
28
+
29
+ ```bash
30
+ vike perp funding --symbol BTC --json
31
+ ```
32
+
33
+ Returns one row per venue: `{exchange, funding_rate_daily_pct, mark_price, ...}`.
34
+
35
+ ## Reading the arb
36
+
37
+ ```
38
+ spread_daily_pct = 0.42% → ~$420/day per $100k notional, gross
39
+ (before fees, slippage, transfer costs)
40
+ ```
41
+
42
+ A funding arb at 0.4–1% daily is real. > 3% daily on a liquid pair is almost always a halted-trading / venue-mispricing artifact — verify with `vike perp spreads --symbol <sym>` to make sure the underlying spot/perp prices are sane.
43
+
44
+ ## Anti-patterns
45
+
46
+ - Don't quote a daily funding rate as "annualized" without converting (× 365). Some users expect annual; some daily; be explicit.
47
+ - Funding flips every 1–8 hours depending on the venue. The number you see is the current-window rate, not a forecast — don't extrapolate without saying so.
48
+ - Spread < 0.3% daily is filtered out at the source (not enough to cover fees + execution). Don't try to lower the filter; below that the trade doesn't work.
49
+
50
+ ## Pairs well with
51
+
52
+ - `vike-perp-spread-arb` to confirm spot/perp basis is sane
53
+ - `vike-cross-venue-perps` for the full per-venue picture on one symbol
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: vike-perp-screener
3
+ description: Snapshot the current state of perpetual-futures markets — funding rates, cross-venue spreads, and HL leaderboard in one read. Use when the user asks "what's happening in perps today" / "perp market overview".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-perp-screener
8
+
9
+ One-shot market overview for perpetuals.
10
+
11
+ ## Workflow (3 parallel calls)
12
+
13
+ ```bash
14
+ vike perp funding --json & # top funding-arb opportunities
15
+ vike perp spreads --json & # top spot-perp price spreads
16
+ vike perp top-traders --window 1d --sort pnl --size 10 --json &
17
+ wait
18
+ ```
19
+
20
+ ## Report template
21
+
22
+ > **Perp market snapshot (last 24h)**
23
+ >
24
+ > **Top funding arbs (>0.3% daily spread)**
25
+ > - `BTC`: long Bybit @ -0.5%/d, short Hyperliquid @ +0.8%/d → spread 1.3%/d
26
+ > - ...
27
+ >
28
+ > **Top cross-venue price spreads (>0.5%)**
29
+ > - `SOL`: buy Aster @ 138.20, sell OKX @ 139.05 → 0.61%
30
+ > - ...
31
+ >
32
+ > **Top HL traders last 24h (by PnL)**
33
+ > - `0xabc...` +$X, rank #1 — ...
34
+ > - ...
35
+
36
+ ## When to skip the 3-call screener
37
+
38
+ - User asked specifically about one symbol → use `vike-cross-venue-perps` instead.
39
+ - User asked about a single trader → use `vike-hl-trader-profile`.
40
+
41
+ ## Anti-patterns
42
+
43
+ - Don't quote funding rates in 8h chunks when the underlying API returns daily — be consistent (daily %).
44
+ - "Top by PnL last 24h" is noise for swing-trader narratives; only useful for "who's hot right now". Use 7d or 30d for skill claims.
45
+
46
+ ## Pairs well with
47
+
48
+ - `vike-options-flow` for the corresponding options positioning on BTC/ETH/SOL
49
+ - `vike-perp-funding-arb` for the funding-only deep dive
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: vike-perp-spread-arb
3
+ description: Cross-venue perp price spread (buy on venue A, sell on venue B). Use when the user asks "any perp arb today" / "price differences across exchanges" / "where's X cheapest".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-perp-spread-arb
8
+
9
+ ## Command
10
+
11
+ ```bash
12
+ vike perp spreads --json # full matrix, all symbols with spread >= 0.5%
13
+ vike perp spreads --symbol BTC --json # one specific symbol
14
+ ```
15
+
16
+ ## Output
17
+
18
+ Pre-ranked rows: `symbol`, `buy_exchange`, `buy_price`, `sell_exchange`, `sell_price`, `spread_pct`.
19
+
20
+ Outliers (> 400 bps off the cross-venue median) are filtered upstream — typically these are unit-mismatch listings like `1000SHIB` vs `SHIB`, or stale prices.
21
+
22
+ ## Reading
23
+
24
+ `spread_pct = 0.7%` on a liquid pair = real arb opportunity, **before fees + transfer time**. Realistic net edge:
25
+ - 30-60 bps after taker fees
26
+ - Cross-venue settlement adds latency — fast inventory rotation matters more than per-trade size
27
+ - Always check `vike-perp-funding-arb` for the same symbol — funding can amplify or kill the trade economics
28
+
29
+ ## Anti-patterns
30
+
31
+ - Quoting a spread as "free money" without mentioning fees / transfer time
32
+ - Trading 1000-token-suffix pairs without normalizing — `1000PEPE` on Binance ≠ `PEPE` on Bybit; if the spread looks insane it's probably this
33
+ - Treating the buy/sell exchanges as static — the spreads update minute-by-minute; the row you see is current snapshot, not forecast
34
+
35
+ ## Pairs well with
36
+
37
+ - `vike-perp-funding-arb` (combine for the full carry picture)
38
+ - `vike-cross-venue-perps` for one-symbol depth
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: vike-polymarket-market-detail
3
+ description: Deep-dive on a single Polymarket market — question, outcomes, current quotes, 24h volume, smart-money flows, top wallets active in it, resolution status. Use after vike-polymarket-markets when the user asks about a specific market.
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-polymarket-market-detail
8
+
9
+ ## Command
10
+
11
+ ```bash
12
+ vike polymarket market <condition_id> [--json]
13
+ ```
14
+
15
+ `condition_id` is a hex string (you'll have it from `vike polymarket markets` output).
16
+
17
+ ## Example
18
+
19
+ ```bash
20
+ vike polymarket markets --category Crypto --limit 5 --json
21
+ # → pick a condition_id from the output, then:
22
+ vike polymarket market 0x1234abcd...
23
+ ```
24
+
25
+ ## What it returns
26
+
27
+ - Market metadata: question, slug, category, end_date, fee_rate_bps
28
+ - Current quotes for both outcomes (Yes / No mid / bid / ask)
29
+ - 24h volume + liquidity
30
+ - Smart-money cohort activity on this specific market (recent net flow)
31
+ - Top wallets (by trade count or volume) active here
32
+ - Resolution status (resolved / open / awaiting resolution)
33
+
34
+ ## Anti-patterns
35
+
36
+ - Don't claim a market is "manipulated" from cohort flow alone. High cohort buy ≠ insider info — it might just be popular among the cohort.
37
+ - Resolution-pending markets can show stale mids. Cross-check with `last_traded` timestamp.
38
+
39
+ ## Pairs well with
40
+
41
+ - `vike-polymarket-trader` — profile any interesting wallet you find in the top-wallets list
42
+ - `vike-polymarket-smart-money mode=mispricings` — markets where cohort bought below current mid
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: vike-polymarket-markets
3
+ description: List trending Polymarket prediction markets ranked by 24h volume, filterable by category (Crypto / Sports / Politics / Pop-Culture / Tech). Use when the user asks "what's hot on Polymarket" / "top crypto prediction markets" / "trending markets today".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-polymarket-markets
8
+
9
+ ## Command
10
+
11
+ ```bash
12
+ vike polymarket markets [--category C] [--limit N] [--json]
13
+ ```
14
+
15
+ `C` is one of: `Crypto`, `Sports`, `Politics`, `Pop-Culture`, `Tech`, `all` (default).
16
+
17
+ ## Examples
18
+
19
+ ```bash
20
+ vike polymarket markets --category Crypto --limit 10
21
+ vike polymarket markets --category Politics --limit 20
22
+ vike pm markets --json # `pm` alias
23
+ ```
24
+
25
+ ## Output columns
26
+
27
+ `condition_id`, `slug`, `question`, `end_date`, `market_vol_24h` (USD), `liquidity`, plus per-outcome `outcome` / `mid` / `bid` / `ask` for both Yes and No legs.
28
+
29
+ ## Reading the data
30
+
31
+ - `mid` is the midpoint price as a probability (0.0 to 1.0). `0.42` means "the market thinks 42% chance".
32
+ - A bid/ask spread > 0.05 (5 cents) = thin liquidity; the price is noisier.
33
+ - `end_date` is when the market resolves. Sort priority for action-oriented users: markets ending in the next 7 days.
34
+
35
+ ## Anti-patterns
36
+
37
+ - Don't quote `mid` as a percentage without saying so. "Yes is 0.42" is the raw probability; "42% chance" is the user-friendly translation.
38
+ - For tiny markets (<$50k 24h volume) the quotes are often stale or one-sided. Skip them unless explicitly asked.
39
+
40
+ ## Pairs well with
41
+
42
+ - `vike-polymarket-market-detail` — deep-dive on one market once you have its condition_id
43
+ - `vike-polymarket-smart-money` — see which markets cohort wallets are buying/selling
44
+ - `vike-polymarket-screener` — composite multi-call screener
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: vike-polymarket-screener
3
+ description: Polymarket market screener combining trending markets + smart-money flows + mispricings in one pass. Use when the user asks "give me a Polymarket overview" / "what's happening in prediction markets today".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-polymarket-screener
8
+
9
+ Composite playbook — 3 parallel calls for a complete prediction-market snapshot.
10
+
11
+ ## Workflow
12
+
13
+ ```bash
14
+ vike polymarket markets --category all --limit 10 --json &
15
+ vike polymarket smart-money --mode flows --hours 24 --json &
16
+ vike polymarket smart-money --mode mispricings --hours 24 --json &
17
+ wait
18
+ ```
19
+
20
+ ## Report template
21
+
22
+ > **Polymarket snapshot (last 24h)**
23
+ >
24
+ > **Top 5 trending markets by volume**
25
+ > - `<question>` (`<category>`) — Yes mid `<m>`, 24h vol `$X` — ends `<date>`
26
+ > - ...
27
+ >
28
+ > **Top 5 smart-money inflows**
29
+ > - `<title>` (`<slug>`) — `<smart_wallets>` cohort wallets, net inflow `$X`, latest Yes mid `<m>`
30
+ > - ...
31
+ >
32
+ > **Top 5 mispricings**
33
+ > - `<title>` (`<side>`) — cohort avg buy `<p>`, current mid `<m>`, delta `<d>%`, cohort buy `$X`
34
+ > - ...
35
+
36
+ ## When to use the focused skill instead
37
+
38
+ | User asked | Use |
39
+ |---|---|
40
+ | "What's hot on Polymarket" (just lists) | `vike-polymarket-markets` only |
41
+ | "Profile this PM wallet" | `vike-polymarket-trader` |
42
+ | "Deep-dive market X" | `vike-polymarket-market-detail` |
43
+ | "Smart-money signals" | `vike-polymarket-smart-money` |
44
+ | "Full overview" or "give me everything" | This skill |
45
+
46
+ ## Cost note
47
+
48
+ 3 parallel tool calls = ~5 credits total.
49
+
50
+ ## Anti-patterns
51
+
52
+ - Don't report all three sections if the user asked a narrower question. Trim aggressively.
53
+ - Trending markets sorted by volume include resolved markets that closed earlier today — verify `end_date` if you're recommending a position.
54
+ - `mispricings` mode requires `--hours` to be ≥ 6 for stable signal; below that, intraday noise dominates.
55
+
56
+ ## Pairs well with
57
+
58
+ - `vike-polymarket-trader` — drill into any interesting wallet
59
+ - `vike-polymarket-market-detail` — drill into any flagged market
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: vike-polymarket-smart-money
3
+ description: Smart-money signals on Polymarket. Two modes — flows (markets with largest net cohort inflow) or mispricings (markets where cohort bought meaningfully below current mid). Use when the user asks "what is smart money buying on Polymarket" or "any prediction-market alpha".
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-polymarket-smart-money
8
+
9
+ The "smart-money cohort" is wallets meeting all three criteria:
10
+ - ≥ $1,000 lifetime realized PnL
11
+ - ≥ 5 resolved markets (so hit-rate is meaningful)
12
+ - ≥ $5,000 lifetime volume
13
+
14
+ ## Command
15
+
16
+ ```bash
17
+ vike polymarket smart-money --mode flows|mispricings [--hours N] [--category C] [--limit N] [--json]
18
+ ```
19
+
20
+ ## Mode A — flows (default)
21
+
22
+ ```bash
23
+ vike polymarket smart-money --mode flows --hours 24 --category all
24
+ ```
25
+
26
+ Markets with the largest **net buy** from cohort wallets in the last N hours.
27
+ `net_flow = buy_inflow - sell_outflow`. Useful for "where is smart money concentrating today".
28
+
29
+ Output: `condition_id`, `title`, `slug`, `smart_wallets` (cohort count), `buy_inflow_usd`, `sell_outflow_usd`, `trades`, `latest_yes_mid`.
30
+
31
+ ## Mode B — mispricings
32
+
33
+ ```bash
34
+ vike polymarket smart-money --mode mispricings --hours 24 --category Crypto
35
+ ```
36
+
37
+ Markets where cohort wallets recently bought meaningfully **below** the current mid — i.e. the market has moved away from where cohort got their fills.
38
+
39
+ Output: `condition_id`, `title`, `slug`, `side` (Yes or No), `smart_avg_buy`, `current_mid`, `delta_pct`, `smart_buy_usd`.
40
+
41
+ `delta_pct > 5` = cohort got in 5+ cents better than current. Potential edge if you think cohort was right.
42
+
43
+ ## Reading
44
+
45
+ - **Flows**: high net inflow + low `smart_wallets` count = concentrated bet (few wallets, big size). Higher conviction signal than diffuse inflow across 50 wallets.
46
+ - **Mispricings**: high `delta_pct` is interesting only when paired with cohort that has a history in that category. Cross-check with `vike-polymarket-trader` on the top wallets.
47
+
48
+ ## Anti-patterns
49
+
50
+ - Don't treat "smart-money cohort" as omniscient. They're filtered for past performance — survivorship bias applies, especially in fast-moving political markets.
51
+ - Mispricings can be slow-to-resolve. A 5% mispricing on a market resolving in 3 months might be efficient pricing for tail risk, not edge.
52
+ - Don't combine the cohort definition with strict ROI filters — the cohort is built on realized PnL, not Sharpe.
53
+
54
+ ## Pairs well with
55
+
56
+ - `vike-polymarket-market-detail` — drill into a flagged market
57
+ - `vike-polymarket-trader` — profile the top wallets active in flagged markets
58
+ - `vike-polymarket-screener` — full multi-call market scan
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: vike-polymarket-trader
3
+ description: Profile a Polymarket wallet — realized PnL across 24h / 7d / 30d / all, hit-rate on resolved markets, total volume, top categories traded, recent positions. Use when the user gives a Polymarket wallet address.
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-polymarket-trader
8
+
9
+ ## Command
10
+
11
+ ```bash
12
+ vike polymarket wallet <address> [--window 24h|7d|30d|all] [--json]
13
+ ```
14
+
15
+ ## Example
16
+
17
+ ```bash
18
+ vike polymarket wallet 0xabcdef1234... --window 30d
19
+ vike pm wallet 0xabcdef1234... --json # `pm` alias
20
+ ```
21
+
22
+ ## Output
23
+
24
+ Per-wallet summary:
25
+ - `realized_pnl_usd` (lifetime + windowed)
26
+ - `hit_rate_pct` (resolved markets only)
27
+ - `resolved_markets` (count — denominator for hit_rate)
28
+ - `volume_all_usd`, `volume_<window>_usd`
29
+ - `trades_all`, `trades_<window>`
30
+ - Category breakdown (Crypto/Sports/Politics/etc.)
31
+ - Last seen timestamp
32
+
33
+ ## Reading
34
+
35
+ | Pattern | Read |
36
+ |---|---|
37
+ | `hit_rate_pct > 60` with `resolved_markets > 20` | **Skilled** — consistent over a real sample |
38
+ | `hit_rate_pct > 80` with `resolved_markets < 10` | **Lucky — too few data points** |
39
+ | Positive PnL but `hit_rate_pct < 50` | **Asymmetric bettor** — wins big when right, loses small |
40
+ | Negative PnL with high volume | **Volume trader / MM-style** — pays the spread |
41
+ | One category dominates >80% of activity | **Specialist** — only trust their reads in that category |
42
+
43
+ ## Hit-rate caveat
44
+
45
+ `hit_rate_pct` is computed only on **resolved** markets. A wallet with 100 trades but only 5 resolved has a hit_rate based on those 5. Always inspect `resolved_markets` before quoting hit_rate.
46
+
47
+ ## Anti-patterns
48
+
49
+ - Don't claim "this trader is good at predictions" from <10 resolved markets. Below that, hit_rate is noise.
50
+ - Multi-category specialists are rare. If the wallet trades 5+ categories, treat hit_rate as a generic "good at probabilities" signal, not "deep edge".
51
+
52
+ ## Pairs well with
53
+
54
+ - `vike-polymarket-market-detail` — see which markets they're currently in
55
+ - `vike-polymarket-smart-money` — confirm they're in the smart-money cohort
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: vike-router
3
+ description: Entry point — decide which vike skill to use. Read this first when the user asks anything about on-chain analytics, perps, options, prediction markets, wallets, or tokens.
4
+ allowed-tools: Bash(vike:*)
5
+ ---
6
+
7
+ # vike-router
8
+
9
+ Route the user's question to the right `vike-*` skill.
10
+
11
+ ## Routing table
12
+
13
+ | User asks about ... | Use skill |
14
+ |---|---|
15
+ | Token by symbol/name → address | `vike-token-search` |
16
+ | Token holders / who bought / sold | `vike-token-transfers` |
17
+ | Token price chart / OHLCV | `vike-token-research` |
18
+ | Generic token research (everything) | `vike-token-research` |
19
+ | Single wallet's metrics | `vike-wallet-summary` |
20
+ | Top wallets / leaderboard | `vike-wallet-discover` |
21
+ | "Find smart money on X" | `vike-smart-money-discovery` |
22
+ | Perp funding rates / arb opportunities | `vike-perp-funding-arb` |
23
+ | Cross-venue perp price spreads | `vike-perp-spread-arb` |
24
+ | Top Hyperliquid perp traders | `vike-hl-top-traders` |
25
+ | Profile a single HL perp trader | `vike-hl-trader-profile` |
26
+ | HL market overview (vol/OI/funding) | `vike-perp-screener` |
27
+ | Compare a symbol across all perp venues | `vike-cross-venue-perps` |
28
+ | Deribit options flow / put-call ratios | `vike-options-flow` |
29
+ | Create / list / edit alerts | `vike-alerts-setup` |
30
+ | Auth / setup / "I just installed it" | `vike-core` |
31
+
32
+ ## Quick command map
33
+
34
+ ```
35
+ vike token search | transfers | chart
36
+ vike wallet summary | discover
37
+ vike perp funding | spreads | top-traders
38
+ vike options flow
39
+ vike alerts list | channels | create | edit | delete
40
+ vike init | doctor | schema | whoami | login | logout
41
+ ```
42
+
43
+ ## Bias
44
+
45
+ - If unsure between two skills, prefer the **task skill** (specific workflow) over the **per-tool skill** (single command).
46
+ - If the user wants raw data, use the per-tool skill with `--json`.
47
+ - If the user is exploring, lead with `vike schema --pretty` to show what's available.
48
+
49
+ ## Cost note
50
+
51
+ Cheap (free-tier safe): `token search`, `wallet summary`, `alerts list`, `schema`, `doctor`, `whoami`.
52
+
53
+ Heavier (count against quota): `wallet discover` (full pages), `perp top-traders` (large filters), `token transfers` (long periods).