@vike-io/cli 0.8.0 → 0.8.1

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/README.md CHANGED
@@ -5,13 +5,26 @@
5
5
  [![npm version](https://img.shields.io/npm/v/@vike-io/cli.svg)](https://www.npmjs.com/package/@vike-io/cli)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
  [![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](https://nodejs.org)
8
+ [![skills.sh](https://skills.sh/b/vike-io/vike-cli)](https://skills.sh/vike-io/vike-cli)
8
9
 
9
10
  > **Command-line interface for the [vike.io](https://vike.io) API.** On-chain analytics, perpetuals, options flow, and prediction-market data across 11 chains — designed to be driven by AI agents (Claude Code, OpenClaw) as well as humans.
10
11
 
11
12
  ## Install
12
13
 
13
14
  ```bash
15
+ # Standard install — gives you the `vike` binary
14
16
  npm install -g @vike-io/cli
17
+
18
+ # OR install just the skill playbooks into your AI agent (Claude Code, Cursor,
19
+ # Codex, Copilot, OpenCode and 50+ more — auto-detected):
20
+ npx skills add vike-io/vike-cli
21
+ ```
22
+
23
+ After `npm install`, you can also drop the skill into AI agents from the CLI itself:
24
+
25
+ ```bash
26
+ vike install --all # writes to ~/.claude/skills/vike/, .cursorrules,
27
+ # .github/copilot-instructions.md, AGENTS.md
15
28
  ```
16
29
 
17
30
  ## Quick start
@@ -22,7 +35,7 @@ vike doctor # confirm everything works
22
35
  vike token search BTC # your first query
23
36
  ```
24
37
 
25
- Get an API key at [vike.io/api/keys](https://vike.io/api/keys).
38
+ Get an API key at [vike.io/account?tab=api-keys](https://vike.io/account?tab=api-keys).
26
39
 
27
40
  ## Commands at a glance
28
41
 
@@ -50,15 +63,24 @@ Run `vike schema --pretty` for the full command + flag reference.
50
63
 
51
64
  ## For AI agents
52
65
 
53
- This package ships **skill playbooks** under [`skills/`](skills/) — markdown files designed to be loaded by AI coding agents (Claude Code, OpenClaw, Cursor) so they know when and how to invoke each command.
66
+ This package ships **41 skill playbooks** under [`skills/`](skills/) — markdown files designed to be loaded by AI coding agents (Claude Code, Cursor, Codex, Copilot, OpenCode, …) so they know when and how to invoke each command. They are grouped in [`skills.sh.json`](skills.sh.json) by domain (Tokens / Wallets / CEX perps / Hyperliquid / Options / Polymarket / Alerts / Web research).
54
67
 
55
- Skill entry points:
56
- - `vike-core` — install + auth + conventions (read first)
57
- - `vike-router` — decide which skill applies
58
- - `vike-token-research`, `vike-smart-money-discovery`, `vike-perp-funding-arb`, `vike-perp-screener`, `vike-hl-top-traders`, `vike-hl-trader-profile`, `vike-cross-venue-perps`, `vike-options-flow`, `vike-alerts-setup` — task playbooks
59
- - Per-tool skills for each command
68
+ Three install paths, pick whichever fits your stack:
69
+
70
+ ```bash
71
+ # 1. Install just the skill files for your agent (no Node binary needed):
72
+ npx skills add vike-io/vike-cli # auto-detects the agent
73
+ npx skills add vike-io/vike-cli -a claude-code # explicit target
74
+ npx skills add vike-io/vike-cli --list # list all 41 first
75
+
76
+ # 2. Use the CLI itself to install the umbrella skill into multiple agents:
77
+ vike install --claude --cursor --copilot --agents
78
+
79
+ # 3. Manual: point your agent at the skills/ folder of this npm package
80
+ # (lives at node_modules/@vike-io/cli/skills/ after install).
81
+ ```
60
82
 
61
- In Claude Code, the bundled skills are auto-discovered after `npm install -g @vike-io/cli`. In other harnesses, point the agent at the `skills/` folder of this package.
83
+ Entry-point skill: `vike` (the umbrella) — auto-routes the user's question to the right specialized skill below. Bypass it and pick a specialized one if you know exactly which you need (e.g. `vike-hl-position-match` for reverse-lookup of an HL share card).
62
84
 
63
85
  ## Auth
64
86
 
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.8.0",
6
+ "version": "0.8.1",
7
7
  "description": "AI-agent CLI for vike.io on-chain analytics, perps, options, and prediction markets across 11 chains",
8
8
  "type": "module",
9
9
  "main": "src/index.js",
@@ -14,7 +14,7 @@
14
14
  "src/**/*.js",
15
15
  "scripts/postinstall.js",
16
16
  "skills/**",
17
- "SKILL.md",
17
+ "skills.sh.json",
18
18
  "CHANGELOG.md"
19
19
  ],
20
20
  "scripts": {
@@ -47,7 +47,7 @@ If the user has no API key yet, tell them:
47
47
 
48
48
  > **To use vike, you'll need a free API key:**
49
49
  >
50
- > 1. Visit https://vike.io/api/keys?utm_source=skill&utm_medium=ai&utm_campaign=cli_skill, sign in, and copy a key (starts with `vk_`).
50
+ > 1. Visit https://vike.io/account?tab=api-keys&utm_source=skill&utm_medium=ai&utm_campaign=cli_skill, sign in, and copy a key (starts with `vk_`).
51
51
  > 2. Save it: `vike login --api-key vk_...` (or `export VIKE_API_KEY=vk_...`).
52
52
  > 3. Verify: `vike doctor`.
53
53
  >
@@ -32,7 +32,7 @@ vike login --api-key vk_... # non-interactive
32
32
  export VIKE_API_KEY=vk_... # env (wins over saved config)
33
33
  ```
34
34
 
35
- Get an API key at https://vike.io/api/keys
35
+ Get an API key at https://vike.io/account?tab=api-keys
36
36
 
37
37
  ## Verify
38
38
 
@@ -68,6 +68,16 @@ Tool credits = 4 per call (heavier than other graph-less tools). Graph explodes
68
68
  - Don't depth-5 by default. Graph blows up; results become noise.
69
69
  - Don't ignore `min_usd` — without it, dust transfers create false-positive edges.
70
70
 
71
+ ## Visual graph (web UI)
72
+
73
+ When the user wants to *see* the network rather than read JSON, surface the URL:
74
+
75
+ ```
76
+ https://vike.io/spot/wallet/<address>
77
+ ```
78
+
79
+ Tell them to click the **Graph** tab. It renders the same trace data as a force-directed graph (nodes coloured by hop depth, sized by USD volume, animated directional particles on edges). Clicking any non-root node navigates to that wallet's graph. Use this in chat replies when the user says "show me", "visualize", or pastes a wallet address asking for an exploration view — JSON is for downstream pipelines, the URL is for humans.
80
+
71
81
  ## Pairs well with
72
82
 
73
83
  - `vike labels <addr>` — identify any interesting node
package/skills.sh.json ADDED
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://skills.sh/schemas/skills.sh.schema.json",
3
+ "notGrouped": "bottom",
4
+ "groupings": [
5
+ {
6
+ "title": "Quick start",
7
+ "description": "Start here. The umbrella skill auto-routes user questions to the right specialized skill below.",
8
+ "skills": [
9
+ "vike",
10
+ "vike-router",
11
+ "vike-core"
12
+ ]
13
+ },
14
+ {
15
+ "title": "Tokens",
16
+ "description": "Resolve, screen, and research tokens across 11 chains. Smart-money inflow, holders, recent transfers, OHLCV.",
17
+ "skills": [
18
+ "vike-token-search",
19
+ "vike-token-research",
20
+ "vike-token-transfers",
21
+ "vike-token-holders",
22
+ "vike-token-screener",
23
+ "vike-smart-money-discovery"
24
+ ]
25
+ },
26
+ {
27
+ "title": "Wallets",
28
+ "description": "Per-wallet profile, PnL, counterparty graphs, ENS, batch labelling, fund affiliation, DeFi positions.",
29
+ "skills": [
30
+ "vike-wallet-summary",
31
+ "vike-wallet-portfolio",
32
+ "vike-wallet-discover",
33
+ "vike-wallet-transactions",
34
+ "vike-wallet-counterparties",
35
+ "vike-wallet-trace",
36
+ "vike-wallet-compare",
37
+ "vike-wallet-batch",
38
+ "vike-wallet-pnl-history",
39
+ "vike-wallet-balances",
40
+ "vike-wallet-ens",
41
+ "vike-wallet-label-provenance",
42
+ "vike-fund-holdings",
43
+ "vike-defi-positions"
44
+ ]
45
+ },
46
+ {
47
+ "title": "CEX perps",
48
+ "description": "Funding-rate arb + cross-venue mark-price spreads across Binance, Bybit, OKX, Aster, Hyperliquid.",
49
+ "skills": [
50
+ "vike-perp-funding-arb",
51
+ "vike-perp-spread-arb",
52
+ "vike-perp-screener",
53
+ "vike-cross-venue-perps"
54
+ ]
55
+ },
56
+ {
57
+ "title": "Hyperliquid perps",
58
+ "description": "Deep on-chain HL coverage: top traders, full trader profiles, and share-card reverse-lookup.",
59
+ "skills": [
60
+ "vike-hl-top-traders",
61
+ "vike-hl-trader-profile",
62
+ "vike-hl-position-match"
63
+ ]
64
+ },
65
+ {
66
+ "title": "Options",
67
+ "description": "Deribit BTC/ETH options flow + put-call ratios.",
68
+ "skills": [
69
+ "vike-options-flow"
70
+ ]
71
+ },
72
+ {
73
+ "title": "Polymarket",
74
+ "description": "Prediction-market discovery, single-market deep-dives, trader profiles, and smart-money leaderboards.",
75
+ "skills": [
76
+ "vike-polymarket-markets",
77
+ "vike-polymarket-market-detail",
78
+ "vike-polymarket-trader",
79
+ "vike-polymarket-smart-money",
80
+ "vike-polymarket-screener"
81
+ ]
82
+ },
83
+ {
84
+ "title": "Alerts",
85
+ "description": "Create, list, edit, delete price + flow alerts; register HTTPS webhooks with HMAC delivery.",
86
+ "skills": [
87
+ "vike-alerts-setup",
88
+ "vike-alerts-webhook"
89
+ ]
90
+ },
91
+ {
92
+ "title": "Web research",
93
+ "description": "Off-chain context: general web search and AI-summarized URL fetch for news, docs, and social.",
94
+ "skills": [
95
+ "vike-web-search",
96
+ "vike-web-fetch",
97
+ "vike-web-research"
98
+ ]
99
+ }
100
+ ]
101
+ }
package/src/auth.js CHANGED
@@ -48,7 +48,7 @@ export function requireApiKey() {
48
48
  if (!key) {
49
49
  throw new Error(
50
50
  'No API key. Run `vike login --api-key <key>` or set VIKE_API_KEY. ' +
51
- 'Get a key at https://vike.io/api/keys',
51
+ 'Get a key at https://vike.io/account?tab=api-keys',
52
52
  );
53
53
  }
54
54
  return key;
@@ -8,7 +8,7 @@ export function registerLogin(program) {
8
8
  .option('--api-key <key>', 'API key (vk_...)')
9
9
  .action(async (opts) => {
10
10
  if (!opts.apiKey) {
11
- console.error('Pass --api-key <vk_...>. Get a key at https://vike.io/api/keys');
11
+ console.error('Pass --api-key <vk_...>. Get a key at https://vike.io/account?tab=api-keys');
12
12
  process.exitCode = 1;
13
13
  return;
14
14
  }
@@ -15,7 +15,7 @@ export function registerInit(program) {
15
15
  if (!key) {
16
16
  const rl = createInterface({ input: stdin, output: stdout });
17
17
  try {
18
- console.log('Get your API key at https://vike.io/api/keys');
18
+ console.log('Get your API key at https://vike.io/account?tab=api-keys');
19
19
  key = (await rl.question('Paste your API key (vk_...): ')).trim();
20
20
  } finally {
21
21
  rl.close();
@@ -22,14 +22,17 @@ const BEGIN = '<!-- vike-skill:begin -->';
22
22
  const END = '<!-- vike-skill:end -->';
23
23
 
24
24
  function readSkillSource() {
25
- // SKILL.md ships at the root of the npm package, two levels up from
26
- // src/commands/install.js.
25
+ // Umbrella SKILL.md lives at skills/vike/SKILL.md (moved from the repo
26
+ // root so the skills-CLI auto-discovers all 40 nested skills instead of
27
+ // stopping at the root one). Fallback to the old root path keeps older
28
+ // installs working until they upgrade.
27
29
  const here = fileURLToPath(import.meta.url);
28
- const candidate = resolve(dirname(here), '..', '..', 'SKILL.md');
29
- if (!existsSync(candidate)) {
30
- throw new Error(`SKILL.md not found at ${candidate}. Reinstall @vike-io/cli.`);
30
+ const root = resolve(dirname(here), '..', '..');
31
+ for (const rel of ['skills/vike/SKILL.md', 'SKILL.md']) {
32
+ const candidate = resolve(root, rel);
33
+ if (existsSync(candidate)) return readFileSync(candidate, 'utf8');
31
34
  }
32
- return readFileSync(candidate, 'utf8');
35
+ throw new Error(`SKILL.md not found under ${root}. Reinstall @vike-io/cli.`);
33
36
  }
34
37
 
35
38
  function writeStandalone(path, skill) {