@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.
- package/CHANGELOG.md +23 -0
- package/LICENSE +21 -0
- package/README.md +98 -0
- package/package.json +73 -0
- package/scripts/postinstall.js +20 -0
- package/skills/vike-alerts-setup/SKILL.md +75 -0
- package/skills/vike-alerts-webhook/SKILL.md +84 -0
- package/skills/vike-core/SKILL.md +67 -0
- package/skills/vike-cross-venue-perps/SKILL.md +52 -0
- package/skills/vike-defi-positions/SKILL.md +59 -0
- package/skills/vike-fund-holdings/SKILL.md +53 -0
- package/skills/vike-hl-top-traders/SKILL.md +52 -0
- package/skills/vike-hl-trader-profile/SKILL.md +65 -0
- package/skills/vike-options-flow/SKILL.md +49 -0
- package/skills/vike-perp-funding-arb/SKILL.md +53 -0
- package/skills/vike-perp-screener/SKILL.md +49 -0
- package/skills/vike-perp-spread-arb/SKILL.md +38 -0
- package/skills/vike-polymarket-market-detail/SKILL.md +42 -0
- package/skills/vike-polymarket-markets/SKILL.md +44 -0
- package/skills/vike-polymarket-screener/SKILL.md +59 -0
- package/skills/vike-polymarket-smart-money/SKILL.md +58 -0
- package/skills/vike-polymarket-trader/SKILL.md +55 -0
- package/skills/vike-router/SKILL.md +53 -0
- package/skills/vike-smart-money-discovery/SKILL.md +74 -0
- package/skills/vike-token-holders/SKILL.md +45 -0
- package/skills/vike-token-research/SKILL.md +55 -0
- package/skills/vike-token-search/SKILL.md +40 -0
- package/skills/vike-token-transfers/SKILL.md +43 -0
- package/skills/vike-wallet-balances/SKILL.md +60 -0
- package/skills/vike-wallet-counterparties/SKILL.md +48 -0
- package/skills/vike-wallet-discover/SKILL.md +49 -0
- package/skills/vike-wallet-ens/SKILL.md +41 -0
- package/skills/vike-wallet-label-provenance/SKILL.md +65 -0
- package/skills/vike-wallet-pnl-history/SKILL.md +58 -0
- package/skills/vike-wallet-portfolio/SKILL.md +61 -0
- package/skills/vike-wallet-summary/SKILL.md +35 -0
- package/skills/vike-web-fetch/SKILL.md +55 -0
- package/skills/vike-web-research/SKILL.md +58 -0
- package/skills/vike-web-search/SKILL.md +60 -0
- package/src/auth.js +55 -0
- package/src/commands/alerts.js +118 -0
- package/src/commands/auth.js +43 -0
- package/src/commands/doctor.js +87 -0
- package/src/commands/init.js +50 -0
- package/src/commands/labels.js +48 -0
- package/src/commands/options.js +24 -0
- package/src/commands/perp.js +59 -0
- package/src/commands/polymarket.js +74 -0
- package/src/commands/schema.js +31 -0
- package/src/commands/token.js +77 -0
- package/src/commands/wallet.js +106 -0
- package/src/commands/web.js +41 -0
- package/src/format.js +83 -0
- package/src/index.js +44 -0
- package/src/mcp-client.js +94 -0
- 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).
|