hive-intelligence 1.1.4 → 1.3.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/README.md +182 -73
- package/agent-skills/.claude-plugin/plugin.json +4 -4
- package/agent-skills/.mcp.json +1 -4
- package/agent-skills/README.md +16 -10
- package/agent-skills/SKILL.md +30 -12
- package/agent-skills/package.json +1 -1
- package/agent-skills/packs/hive-build/SKILL.md +47 -19
- package/agent-skills/packs/hive-build/evals/evals.json +16 -3
- package/agent-skills/packs/hive-build/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-build-onboarding/SKILL.md +27 -34
- package/agent-skills/packs/hive-build-onboarding/evals/evals.json +1 -1
- package/agent-skills/packs/hive-build-onboarding/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-cli/SKILL.md +33 -35
- package/agent-skills/packs/hive-cli/evals/evals.json +1 -1
- package/agent-skills/packs/hive-cli/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-defi-research/SKILL.md +105 -19
- package/agent-skills/packs/hive-defi-research/evals/evals.json +6 -3
- package/agent-skills/packs/hive-defi-research/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-dex-pool-analysis/SKILL.md +106 -16
- package/agent-skills/packs/hive-dex-pool-analysis/evals/evals.json +5 -3
- package/agent-skills/packs/hive-dex-pool-analysis/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-market-research/SKILL.md +130 -21
- package/agent-skills/packs/hive-market-research/evals/evals.json +15 -2
- package/agent-skills/packs/hive-market-research/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-mcp/SKILL.md +69 -47
- package/agent-skills/packs/hive-mcp/evals/evals.json +3 -2
- package/agent-skills/packs/hive-mcp/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-mcp/references/client-install-matrix.md +62 -35
- package/agent-skills/packs/hive-mcp/references/clients.md +81 -68
- package/agent-skills/packs/hive-network-infrastructure/SKILL.md +105 -20
- package/agent-skills/packs/hive-network-infrastructure/evals/evals.json +4 -2
- package/agent-skills/packs/hive-network-infrastructure/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-nft-research/SKILL.md +105 -18
- package/agent-skills/packs/hive-nft-research/evals/evals.json +4 -2
- package/agent-skills/packs/hive-nft-research/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-prediction-markets/SKILL.md +108 -21
- package/agent-skills/packs/hive-prediction-markets/evals/evals.json +4 -2
- package/agent-skills/packs/hive-prediction-markets/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-query/SKILL.md +79 -33
- package/agent-skills/packs/hive-query/evals/evals.json +7 -5
- package/agent-skills/packs/hive-query/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-query/references/root-mcp-workflow.md +39 -18
- package/agent-skills/packs/hive-security-risk/SKILL.md +110 -19
- package/agent-skills/packs/hive-security-risk/evals/evals.json +4 -2
- package/agent-skills/packs/hive-security-risk/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-solana-analysis/SKILL.md +115 -19
- package/agent-skills/packs/hive-solana-analysis/evals/evals.json +4 -2
- package/agent-skills/packs/hive-solana-analysis/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +92 -47
- package/agent-skills/packs/hive-stateful-monitoring/evals/evals.json +7 -2
- package/agent-skills/packs/hive-stateful-monitoring/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-stateful-monitoring/references/b2b-subject-context.md +53 -0
- package/agent-skills/packs/hive-token-diligence/SKILL.md +119 -21
- package/agent-skills/packs/hive-token-diligence/evals/evals.json +6 -4
- package/agent-skills/packs/hive-token-diligence/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-tool-discovery/SKILL.md +48 -19
- package/agent-skills/packs/hive-tool-discovery/evals/evals.json +17 -3
- package/agent-skills/packs/hive-tool-discovery/evals/triggers.json +50 -0
- package/agent-skills/packs/hive-tool-discovery/references/discovery-surfaces.md +31 -6
- package/agent-skills/packs/hive-wallet-investigation/SKILL.md +111 -18
- package/agent-skills/packs/hive-wallet-investigation/evals/evals.json +5 -3
- package/agent-skills/packs/hive-wallet-investigation/evals/triggers.json +50 -0
- package/agent-skills/references/agents-routing.md +17 -7
- package/agent-skills/scripts/validate-agent-skills-package.mjs +68 -8
- package/bin/hive-mcp.js +5 -5
- package/build/{alias-3OPMQF4X.js → alias-BKAVOYQV.js} +2 -2
- package/build/{api-client-EPF6FD7A.js → api-client-FTVDFW5V.js} +4 -4
- package/build/{auth-Q5Q24IRI.js → auth-EZFJ5RYB.js} +3 -3
- package/build/{browser-auth-VPF5LZMZ.js → browser-auth-OJSUNFBI.js} +2 -2
- package/build/{cache-T6KC5YEY.js → cache-TBDQ7QBU.js} +2 -2
- package/build/{chunk-POT2MBEK.js → chunk-6PC3HUAK.js} +10 -3
- package/build/{chunk-NP6NSOG2.js → chunk-725R3KLJ.js} +26 -3
- package/build/{chunk-GZPDEXO4.js → chunk-7GD2MFYI.js} +57 -6
- package/build/{chunk-ZXB53E7H.js → chunk-AEU43ACS.js} +31 -7
- package/build/chunk-EPF36Q3Z.js +71 -0
- package/build/chunk-I5Z6FZRL.js +178 -0
- package/build/{chunk-3WYWXTNN.js → chunk-ILVPOLA7.js} +12 -3
- package/build/{chunk-VBOKVQ74.js → chunk-L326MQZP.js} +6 -5
- package/build/{chunk-FRXMGRZQ.js → chunk-M6REON2I.js} +2 -2
- package/build/chunk-N32UIHBU.js +125 -0
- package/build/{chunk-7JWXBKEJ.js → chunk-Q7VBYLX7.js} +9 -2
- package/build/chunk-QDZ7MAVN.js +447 -0
- package/build/{chunk-ZTJVOWDQ.js → chunk-R6YZTFQL.js} +2 -0
- package/build/{chunk-YZ2PXBJK.js → chunk-RU6QOFHH.js} +6 -9
- package/build/{chunk-5XXI25JE.js → chunk-RUHO24SX.js} +16 -9
- package/build/{chunk-FH3YGSY5.js → chunk-TNQ7GJ6Q.js} +0 -59
- package/build/{chunk-JTUKQWIO.js → chunk-W2QL7LYI.js} +34807 -15070
- package/build/{chunk-ZCU7XQKF.js → chunk-ZXKFJQDE.js} +7 -1
- package/build/cli.js +3337 -3407
- package/build/{completion-46K674EL.js → completion-7KBW243H.js} +4 -4
- package/build/{config-XE6Q5P4I.js → config-KAEUX6RM.js} +23 -3
- package/build/{config-dir-MAWX5AUF.js → config-dir-5IH7MOOT.js} +2 -2
- package/build/{doctor-HGMQE6IN.js → doctor-ORDOCGLM.js} +12 -12
- package/build/{errors-J2PH3NLJ.js → errors-HGHUF575.js} +2 -2
- package/build/{format-5X2HIVDT.js → format-H7FOQSYY.js} +1 -1
- package/build/{init-JMDNM7ZZ.js → init-UCTCUYFA.js} +52 -8
- package/build/init-all-BVWW3JVK.js +408 -0
- package/build/mcpServer-RUEOTTF7.js +34 -0
- package/build/monitor-worker.js +296 -40
- package/build/{namespace-FSX2G3NM.js → namespace-L5DGCY7K.js} +2 -2
- package/build/{open-5A6ZQMGC.js → open-V2RNA3QT.js} +1 -1
- package/build/{output-V3D4YZ6U.js → output-ITGLBKIG.js} +2 -2
- package/build/release.json +8 -0
- package/build/{serve-AGCOXXFM.js → serve-DKLR2WQH.js} +3 -3
- package/build/server.js +4481 -2319
- package/build/{setup-RMETGJWK.js → setup-PTYFMTK5.js} +60 -55
- package/build/stdio.js +7 -6
- package/build/{telemetry-WCME5XEU.js → telemetry-HPLDYR7U.js} +5 -4
- package/build/{tools-KAB6QBZC.js → tools-I7GLWTV6.js} +15 -15
- package/build/{uninstall-FLJMBBSC.js → uninstall-SAOIPL6K.js} +19 -10
- package/build/{update-check-LNZQK3XA.js → update-check-IEXPOYYR.js} +4 -4
- package/build/{upgrade-DTUIHVPS.js → upgrade-J4HIGCKE.js} +5 -5
- package/build/{version-I6HDAF4L.js → version-Z4HJL4VV.js} +4 -2
- package/build/{watch-YNN255QX.js → watch-WVR4CGCD.js} +8 -7
- package/package.json +71 -35
- package/agent-skills/packs/hive-defi-research/references/workflow.md +0 -41
- package/agent-skills/packs/hive-dex-pool-analysis/references/workflow.md +0 -42
- package/agent-skills/packs/hive-market-research/references/workflow.md +0 -47
- package/agent-skills/packs/hive-network-infrastructure/references/workflow.md +0 -41
- package/agent-skills/packs/hive-nft-research/references/workflow.md +0 -42
- package/agent-skills/packs/hive-prediction-markets/references/workflow.md +0 -42
- package/agent-skills/packs/hive-security-risk/references/workflow.md +0 -46
- package/agent-skills/packs/hive-solana-analysis/references/workflow.md +0 -42
- package/agent-skills/packs/hive-token-diligence/references/workflow.md +0 -45
- package/agent-skills/packs/hive-wallet-investigation/references/workflow.md +0 -45
- package/build/chunk-4F5CI6LX.js +0 -340
- package/build/chunk-CEWCB5YS.js +0 -71
- package/build/chunk-IZPAMRHP.js +0 -43
- package/build/init-all-5SKNV75X.js +0 -273
- package/build/mcpServer-5TKKSKJM.js +0 -21
|
@@ -1,141 +1,154 @@
|
|
|
1
1
|
# Per-client install instructions
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Use the canonical hosted endpoint everywhere:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
https://mcp.hiveintelligence.xyz/mcp
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
After hosted OAuth activation, interactive clients use URL-only OAuth
|
|
10
|
+
discovery. Headless API and backend paths keep `HIVE_API_KEY` in server-side
|
|
11
|
+
secret storage. Before giving any native connector instruction, verify that
|
|
12
|
+
`https://mcp.hiveintelligence.xyz/.well-known/oauth-protected-resource/mcp`
|
|
13
|
+
returns valid metadata; otherwise use a trusted headless path and say that the
|
|
14
|
+
native connector is not live yet.
|
|
6
15
|
|
|
7
16
|
## Claude Code
|
|
8
17
|
|
|
9
18
|
```bash
|
|
10
|
-
claude mcp add --transport http hive https://mcp.hiveintelligence.xyz/mcp
|
|
11
|
-
--header "Authorization: Bearer $HIVE_API_KEY"
|
|
19
|
+
claude mcp add --transport http --scope user hive https://mcp.hiveintelligence.xyz/mcp
|
|
12
20
|
```
|
|
13
21
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
After OAuth activation, Claude opens Hive authorization on first connect. Use
|
|
23
|
+
`--scope user` for a global entry or `--scope project` for the current project.
|
|
24
|
+
|
|
25
|
+
## Claude Desktop / Claude.ai
|
|
26
|
+
|
|
27
|
+
Do not put a remote URL in `claude_desktop_config.json`; that file is for local
|
|
28
|
+
stdio servers. Open **Settings → Connectors → Add custom connector**, enter the
|
|
29
|
+
Hive URL, and, after OAuth activation, complete browser authorization.
|
|
17
30
|
|
|
18
31
|
## Cursor
|
|
19
32
|
|
|
20
|
-
Edit `~/.cursor/mcp.json
|
|
33
|
+
Edit `~/.cursor/mcp.json`:
|
|
21
34
|
|
|
22
35
|
```json
|
|
23
36
|
{
|
|
24
37
|
"mcpServers": {
|
|
25
38
|
"hive": {
|
|
26
|
-
"url": "https://mcp.hiveintelligence.xyz/mcp"
|
|
27
|
-
"headers": {
|
|
28
|
-
"Authorization": "Bearer YOUR_HIVE_API_KEY"
|
|
29
|
-
}
|
|
39
|
+
"url": "https://mcp.hiveintelligence.xyz/mcp"
|
|
30
40
|
}
|
|
31
41
|
}
|
|
32
42
|
}
|
|
33
43
|
```
|
|
34
44
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
cursor://anysphere.cursor-deeplink/mcp/install?name=hive&config=<base64-encoded-config>
|
|
40
|
-
```
|
|
45
|
+
After OAuth activation, reload MCP servers, approve the public URL, and
|
|
46
|
+
complete OAuth when Cursor opens the browser. Never add a placeholder
|
|
47
|
+
Authorization header.
|
|
41
48
|
|
|
42
|
-
##
|
|
49
|
+
## VS Code (GitHub Copilot Chat)
|
|
43
50
|
|
|
44
|
-
|
|
45
|
-
shape as Cursor:
|
|
51
|
+
Create `.vscode/mcp.json` or use the MCP user configuration:
|
|
46
52
|
|
|
47
53
|
```json
|
|
48
54
|
{
|
|
49
|
-
"
|
|
55
|
+
"servers": {
|
|
50
56
|
"hive": {
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"Authorization": "Bearer YOUR_HIVE_API_KEY"
|
|
54
|
-
}
|
|
57
|
+
"type": "http",
|
|
58
|
+
"url": "https://mcp.hiveintelligence.xyz/mcp"
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
```
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
The official one-click form is a `vscode:mcp/install?` URL containing the
|
|
65
|
+
URL-encoded object `{ "name": "hive", "type": "http", "url": "..." }`.
|
|
66
|
+
The Hive CLI installs workflow skills for Copilot-compatible agents under
|
|
67
|
+
`~/.copilot/skills`.
|
|
62
68
|
|
|
63
|
-
##
|
|
69
|
+
## Windsurf / Devin Desktop
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
(or use User Settings for a global install):
|
|
71
|
+
Edit `~/.codeium/windsurf/mcp_config.json`:
|
|
67
72
|
|
|
68
73
|
```json
|
|
69
74
|
{
|
|
70
|
-
"
|
|
75
|
+
"mcpServers": {
|
|
71
76
|
"hive": {
|
|
72
|
-
"
|
|
73
|
-
"url": "https://mcp.hiveintelligence.xyz/mcp",
|
|
74
|
-
"headers": {
|
|
75
|
-
"Authorization": "Bearer YOUR_HIVE_API_KEY"
|
|
76
|
-
}
|
|
77
|
+
"serverUrl": "https://mcp.hiveintelligence.xyz/mcp"
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
```
|
|
81
82
|
|
|
82
|
-
|
|
83
|
-
schema and differs from Cursor / Claude Desktop.
|
|
83
|
+
After OAuth activation, reload the client and complete native OAuth.
|
|
84
84
|
|
|
85
|
-
##
|
|
85
|
+
## Gemini CLI
|
|
86
86
|
|
|
87
|
-
Edit `~/.
|
|
87
|
+
Edit `~/.gemini/settings.json`:
|
|
88
88
|
|
|
89
89
|
```json
|
|
90
90
|
{
|
|
91
91
|
"mcpServers": {
|
|
92
92
|
"hive": {
|
|
93
|
-
"
|
|
94
|
-
"headers": {
|
|
95
|
-
"Authorization": "Bearer YOUR_HIVE_API_KEY"
|
|
96
|
-
}
|
|
93
|
+
"httpUrl": "https://mcp.hiveintelligence.xyz/mcp"
|
|
97
94
|
}
|
|
98
95
|
}
|
|
99
96
|
}
|
|
100
97
|
```
|
|
101
98
|
|
|
102
|
-
|
|
99
|
+
After OAuth activation, Gemini CLI discovers OAuth for the remote HTTP server
|
|
100
|
+
and stores tokens in its credential store. Hive workflow skills install under
|
|
101
|
+
`~/.gemini/skills`.
|
|
102
|
+
|
|
103
|
+
## ChatGPT custom app
|
|
103
104
|
|
|
104
|
-
|
|
105
|
+
In ChatGPT open **Settings → Apps**, enable Developer mode if the workspace
|
|
106
|
+
requires it, choose **Create app**, enter the Hive URL, scan tools, and complete
|
|
107
|
+
Hive OAuth. If the production protected-resource metadata is unavailable, use
|
|
108
|
+
the server-side Responses API path until the OAuth deployment is activated.
|
|
105
109
|
|
|
106
|
-
|
|
107
|
-
Hive API key on your server and pass it in the remote MCP tool headers.
|
|
110
|
+
## Grok
|
|
108
111
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
After OAuth activation, open `grok.com/connectors`, add a custom MCP connector
|
|
113
|
+
with the Hive URL, and complete OAuth. Verify a visible Hive tool call and
|
|
114
|
+
runtime receipt rather than accepting an answer generated only from model
|
|
115
|
+
memory.
|
|
112
116
|
|
|
113
|
-
##
|
|
117
|
+
## OpenAI Responses API (headless)
|
|
114
118
|
|
|
115
|
-
|
|
119
|
+
Use Hive as a server-side remote MCP tool. Keep `HIVE_API_KEY` in backend secret
|
|
120
|
+
storage and pass it through the Responses API authorization field; never expose
|
|
121
|
+
it to a browser or prompt.
|
|
116
122
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
123
|
+
## Codex
|
|
124
|
+
|
|
125
|
+
Use Codex's supported CLI flow so the server entry is URL-only and Codex owns
|
|
126
|
+
the OAuth token lifecycle:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
codex mcp add hive --url https://mcp.hiveintelligence.xyz/mcp
|
|
130
|
+
codex mcp login hive
|
|
121
131
|
```
|
|
122
132
|
|
|
123
|
-
|
|
124
|
-
/
|
|
133
|
+
Complete Hive authorization in the browser. Hive workflow skills install under
|
|
134
|
+
`~/.codex/skills`. For a truly headless Codex process that cannot open a
|
|
135
|
+
browser, `bearer_token_env_var = "HIVE_API_KEY"` remains an explicit fallback;
|
|
136
|
+
keep the key in the launching process's secret store, never in a shared file.
|
|
125
137
|
|
|
126
|
-
##
|
|
138
|
+
## Local stdio fallback
|
|
127
139
|
|
|
128
|
-
|
|
140
|
+
For local-only clients, self-hosting, or provider-key experiments:
|
|
129
141
|
|
|
130
142
|
```json
|
|
131
143
|
{
|
|
132
144
|
"mcpServers": {
|
|
133
|
-
"hive": {
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"Authorization": "Bearer YOUR_HIVE_API_KEY"
|
|
137
|
-
}
|
|
145
|
+
"hive-local": {
|
|
146
|
+
"command": "npx",
|
|
147
|
+
"args": ["-y", "-p", "hive-intelligence@latest", "hive"]
|
|
138
148
|
}
|
|
139
149
|
}
|
|
140
150
|
}
|
|
141
151
|
```
|
|
152
|
+
|
|
153
|
+
Local stdio does not need `HIVE_API_KEY`; optional upstream provider keys can be
|
|
154
|
+
supplied locally when needed.
|
|
@@ -1,44 +1,129 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: hive-network-infrastructure
|
|
3
|
-
description: Use this skill
|
|
3
|
+
description: Use this skill when the user asks about chain state or transaction plumbing — gas prices, blocks, transaction receipts and status ("did my tx go through"), event logs, supported networks, fee data, or RPC diagnostics. Use it whenever the answer needs current chain-level evidence. For wallet holdings use hive-wallet-investigation; for Solana slots/fees use hive-solana-analysis.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
package: "@hiveintelligence/agent-skills"
|
|
7
7
|
category: "network"
|
|
8
8
|
requires_network: "true"
|
|
9
|
-
version: 1.
|
|
9
|
+
version: 1.3.0
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# hive-network-infrastructure — Network Infrastructure
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
RPC
|
|
14
|
+
Read chain state — gas, blocks, receipts, logs, transaction status, supported
|
|
15
|
+
networks — and run RPC diagnostics with auditable, timestamped evidence.
|
|
16
16
|
|
|
17
|
-
## Task toolset
|
|
17
|
+
## Task toolset and identifiers
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Toolset: `network_infrastructure`. Read
|
|
20
|
+
`hive://toolsets/network_infrastructure` before execution; it is authoritative
|
|
21
|
+
for the current output schema, material-call budget, phases, fallback
|
|
22
|
+
condition, and stop conditions.
|
|
20
23
|
|
|
21
|
-
Required
|
|
22
|
-
transaction hash, contract address,
|
|
24
|
+
- Required: chain/network.
|
|
25
|
+
- Optional: block number/hash, transaction hash, contract address, log
|
|
26
|
+
filter, account address, time window.
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
Ask for the exact chain plus transaction/block identifiers before status
|
|
29
|
+
checks — a transaction hash is not globally unique without chain context.
|
|
30
|
+
|
|
31
|
+
Before choosing endpoints, select exactly one matching entry from the exact
|
|
32
|
+
workflow's routes[]. Follow its ordered steps, use a fallback only under that
|
|
33
|
+
step's published condition, stop at four material calls, and preserve the
|
|
34
|
+
selected route_id in the typed result. The broad coverageCatalog is discovery
|
|
35
|
+
coverage, not an execution plan.
|
|
25
36
|
|
|
26
|
-
|
|
27
|
-
RPC/provider comparison, gas/fee context, or a structured network report.
|
|
37
|
+
## Procedure
|
|
28
38
|
|
|
29
39
|
1. Confirm the chain/network id.
|
|
30
|
-
2. Use
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
2. Use `filter_networks` when comparing chains by current liquidity,
|
|
41
|
+
transactions, or volume. Otherwise call `search_tools` for gas, block,
|
|
42
|
+
transaction, receipt, log, supported-network, or RPC-diagnostic
|
|
43
|
+
capabilities.
|
|
44
|
+
3. Call `get_api_endpoint_schema` for each endpoint before calling it.
|
|
45
|
+
4. Use current-state tools for gas and block questions; use
|
|
46
|
+
transaction/receipt/log tools only with exact identifiers.
|
|
47
|
+
5. Report the block/slot/fetched time so the answer is auditable.
|
|
48
|
+
|
|
49
|
+
## Bounded calls
|
|
50
|
+
|
|
51
|
+
- Bound log queries by block range and topics.
|
|
52
|
+
- Do not run broad chain scans for a single transaction question.
|
|
53
|
+
- Retry transient RPC failures once when appropriate.
|
|
54
|
+
|
|
55
|
+
## Worked example
|
|
56
|
+
|
|
57
|
+
User: "Did my transaction go through? Hash is 0x… — I think it was on Base."
|
|
58
|
+
|
|
59
|
+
1. Confirm the chain (Base) and the exact hash.
|
|
60
|
+
2. `search_tools` → `{"query": "transaction receipt status base", "limit": 5}`
|
|
61
|
+
3. `get_api_endpoint_schema` for the receipt/status endpoint returned, then
|
|
62
|
+
`invoke_api_endpoint` with schema-valid arguments.
|
|
63
|
+
4. Report status, block number, gas used, and the fetched time. If the
|
|
64
|
+
receipt is missing, say whether that means pending, dropped, or wrong
|
|
65
|
+
chain — do not guess success.
|
|
66
|
+
|
|
67
|
+
## Report template
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
## Summary
|
|
71
|
+
[Network or transaction state in one or two sentences.]
|
|
34
72
|
|
|
35
|
-
##
|
|
73
|
+
## Calls made
|
|
74
|
+
- Toolset: network_infrastructure
|
|
75
|
+
- Endpoint(s): [exact endpoint names]
|
|
76
|
+
- Identifiers: [chain, hash/block/address, filters]
|
|
36
77
|
|
|
37
|
-
|
|
38
|
-
|
|
78
|
+
## Evidence
|
|
79
|
+
- State: [block/slot, gas/fee, receipt/log/status]
|
|
80
|
+
- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]
|
|
81
|
+
|
|
82
|
+
## Caveats
|
|
83
|
+
[Provider mismatch, stale block, rate limit, incomplete logs.]
|
|
84
|
+
|
|
85
|
+
## Next action
|
|
86
|
+
[Narrower log filter, alternate provider, or retry — only if needed.]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Gotchas
|
|
90
|
+
|
|
91
|
+
- A transaction hash is not globally unique without chain context.
|
|
92
|
+
- Logs require bounded block ranges.
|
|
93
|
+
- HTTP health does not prove provider data freshness.
|
|
94
|
+
|
|
95
|
+
## Evidence receipt (required)
|
|
96
|
+
|
|
97
|
+
End every Hive-backed answer with a compact receipt built from the `_hive`
|
|
98
|
+
object on each material tool response:
|
|
99
|
+
|
|
100
|
+
- `provider`, `tool`, `fetched_at`, `observed_at`, `cache_age_ms`, and `runtime_status`
|
|
101
|
+
- `receipt_id`, `receipt_version`, server/build version, and SHA-256 input/result
|
|
102
|
+
digests when present (self-checks, not signatures)
|
|
103
|
+
- `source`, `cache_status`, `truncated`, and any warnings
|
|
104
|
+
- canonical chain/entity identifiers plus block, slot, transaction, or query ids
|
|
105
|
+
present in provider data
|
|
106
|
+
- material provider disagreements and how they were handled
|
|
107
|
+
- checks that were unavailable, gated, stale, truncated, or intentionally not run
|
|
108
|
+
- a `claims[]` citation from each material statement to exact receipt IDs
|
|
109
|
+
- one `coverage[]` entry for every canonical evidence phase, with each gap explained
|
|
110
|
+
|
|
111
|
+
Never turn missing evidence into a clean result, silently merge conflicting
|
|
112
|
+
provider values, or omit a degraded/fallback call from the receipt.
|
|
113
|
+
`observed_at` is Hive's first-observation/original cache-population time, and
|
|
114
|
+
`cache_age_ms: 0` only means newly retrieved by Hive. Use provider time, block,
|
|
115
|
+
slot, transaction, or candle close for source recency; if absent, mark it
|
|
116
|
+
unknown. Run `validate_task_result` before presenting the typed workflow result;
|
|
117
|
+
it checks structure but cannot authenticate an invented receipt.
|
|
39
118
|
|
|
40
119
|
## Runtime status handling
|
|
41
120
|
|
|
42
|
-
Use `ok`, `missing_key`, `plan_required`, `rate_limited`,
|
|
43
|
-
`failing`. For transient RPC failures, retry once or fall back to another
|
|
121
|
+
Use `ok`, `invalid_input`, `missing_key`, `plan_required`, `rate_limited`,
|
|
122
|
+
`degraded`, and `failing`. For transient RPC failures, retry once or fall back to another
|
|
44
123
|
network read and state the limitation.
|
|
124
|
+
|
|
125
|
+
## Hand-offs
|
|
126
|
+
|
|
127
|
+
- Wallet balances/holdings rather than chain state → `hive-wallet-investigation`.
|
|
128
|
+
- Solana slots, priority fees, parsed transactions → `hive-solana-analysis`.
|
|
129
|
+
- Gas context for a risky transaction → pair with `hive-security-risk`.
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
{
|
|
5
5
|
"id": 1,
|
|
6
6
|
"prompt": "Check whether this Ethereum transaction succeeded and summarize the receipt evidence.",
|
|
7
|
-
"expected_output": "Uses network_infrastructure, asks for chain/tx hash if missing, inspects receipt schema, and
|
|
7
|
+
"expected_output": "Uses network_infrastructure, asks for chain/tx hash if missing, inspects the transaction receipt schema, and ends with a Hive runtime evidence receipt containing block/freshness/status and receipt ids.",
|
|
8
8
|
"files": [],
|
|
9
9
|
"assertions": [
|
|
10
10
|
"Chooses network_infrastructure.",
|
|
11
|
+
"Selects transaction_debug for this intent and follows its ordered receipt/log steps.",
|
|
11
12
|
"Requires chain and transaction hash.",
|
|
12
|
-
"Reports receipt/block evidence."
|
|
13
|
+
"Reports transaction receipt/block evidence.",
|
|
14
|
+
"Includes Hive runtime receipt ids."
|
|
13
15
|
]
|
|
14
16
|
},
|
|
15
17
|
{
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "did my tx go through? 0x… i think it was on base",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "whats gas on mainnet right now",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "pull logs for this contract between blocks 19m and 19.1m",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "is the arbitrum rpc lagging? my reads look stale",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "which networks does hive support for receipts and logs",
|
|
20
|
+
"should_trigger": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "latest block on polygon and the current base fee pls",
|
|
24
|
+
"should_trigger": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "what does this wallet hold",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "solana priority fees right now",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"query": "is this contract a honeypot",
|
|
36
|
+
"should_trigger": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"query": "explain how eip-1559 burns fees",
|
|
40
|
+
"should_trigger": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"query": "alert me when gas drops below 10 gwei",
|
|
44
|
+
"should_trigger": false
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"query": "whats eth trading at",
|
|
48
|
+
"should_trigger": false
|
|
49
|
+
}
|
|
50
|
+
]
|
|
@@ -1,41 +1,128 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: hive-nft-research
|
|
3
|
-
description: Use this skill
|
|
3
|
+
description: Use this skill when the user asks about NFT collections or assets on EVM chains — ownership, metadata, traits, floor prices, sales, rarity, spam/authenticity checks — like "what's the floor on this collection", "who owns this NFT", "is this collection spam". Use it whenever the user needs current NFT evidence rather than a general explanation of NFTs. For Solana-native assets (mints, DAS, compressed NFTs) use hive-solana-analysis.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
package: "@hiveintelligence/agent-skills"
|
|
7
7
|
category: "nft"
|
|
8
8
|
requires_network: "true"
|
|
9
|
-
version: 1.
|
|
9
|
+
version: 1.3.0
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# hive-nft-research — NFT Research
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
spam
|
|
14
|
+
Research NFT collections and assets — ownership, metadata, floors, sales,
|
|
15
|
+
rarity, spam — with collection-level and token-level facts kept separate.
|
|
16
16
|
|
|
17
|
-
## Task toolset
|
|
17
|
+
## Task toolset and identifiers
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Toolset: `nft_research`. Read `hive://toolsets/nft_research` before execution;
|
|
20
|
+
it is authoritative for the current output schema, material-call budget,
|
|
21
|
+
phases, fallback condition, and stop conditions.
|
|
20
22
|
|
|
21
|
-
Required
|
|
23
|
+
- Required: chain/network plus collection contract, token id, asset id, or
|
|
24
|
+
wallet address.
|
|
25
|
+
- Optional: marketplace, time window, trait filter, owner.
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
Ask for chain and contract/asset identifiers when the user gives only a
|
|
28
|
+
collection name — collection names are not unique and copycat collections are
|
|
29
|
+
common.
|
|
30
|
+
|
|
31
|
+
Before choosing endpoints, select exactly one matching entry from the exact
|
|
32
|
+
workflow's routes[]. Follow its ordered steps, use a fallback only under that
|
|
33
|
+
step's published condition, stop at four material calls, and preserve the
|
|
34
|
+
selected route_id in the typed result. The broad coverageCatalog is discovery
|
|
35
|
+
coverage, not an execution plan.
|
|
24
36
|
|
|
25
|
-
|
|
26
|
-
ownership/floor/sale context, spam caveats, or a structured NFT report.
|
|
37
|
+
## Procedure
|
|
27
38
|
|
|
28
39
|
1. Resolve collection contract, token id, wallet, or asset id.
|
|
29
|
-
2.
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
2. Call `search_tools` for metadata, owner, floor, sales, rarity, and spam
|
|
41
|
+
capabilities.
|
|
42
|
+
3. Call `get_api_endpoint_schema` for each endpoint before calling it.
|
|
43
|
+
4. Start with metadata/identity; add floor/sales or owner/rarity only when
|
|
44
|
+
relevant.
|
|
45
|
+
5. Preserve raw metadata when the user asks about traits or provenance.
|
|
46
|
+
|
|
47
|
+
## Bounded calls
|
|
48
|
+
|
|
49
|
+
- Limit owner and sales lists.
|
|
50
|
+
- Keep collection-level and token-level evidence separate.
|
|
51
|
+
- Do not treat one marketplace floor as the entire market without a caveat.
|
|
52
|
+
|
|
53
|
+
## Worked example
|
|
54
|
+
|
|
55
|
+
User: "What's the floor and recent sales for this collection? Contract is
|
|
56
|
+
0x… on Ethereum."
|
|
57
|
+
|
|
58
|
+
1. `search_tools` → `{"query": "nft collection metadata floor price sales ethereum", "limit": 5}`
|
|
59
|
+
2. `get_api_endpoint_schema` for the metadata, floor, and sales endpoints
|
|
60
|
+
returned, then `invoke_api_endpoint` with schema-valid arguments and a
|
|
61
|
+
bounded sales window.
|
|
62
|
+
3. Report floor (with marketplace scope), recent sales, and freshness using
|
|
63
|
+
the template below.
|
|
64
|
+
|
|
65
|
+
## Report template
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
## Summary
|
|
69
|
+
[Collection/token ownership or market read in one or two sentences.]
|
|
32
70
|
|
|
33
|
-
##
|
|
71
|
+
## Calls made
|
|
72
|
+
- Toolset: nft_research
|
|
73
|
+
- Endpoint(s): [exact endpoint names]
|
|
74
|
+
- Identifiers: [chain, contract, token/asset ids]
|
|
34
75
|
|
|
35
|
-
|
|
36
|
-
|
|
76
|
+
## Evidence
|
|
77
|
+
- Identity/metadata: [name, supply, verification]
|
|
78
|
+
- Market: [floor + marketplace, sales in window]
|
|
79
|
+
- Ownership/rarity/spam: [if requested]
|
|
80
|
+
- Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]
|
|
81
|
+
|
|
82
|
+
## Caveats
|
|
83
|
+
[Marketplace coverage, stale floor, missing metadata, degraded data.]
|
|
84
|
+
|
|
85
|
+
## Next action
|
|
86
|
+
[Trait drilldown, ownership verification, or market comparison — only if needed.]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Gotchas
|
|
90
|
+
|
|
91
|
+
- NFT metadata can be mutable or stale.
|
|
92
|
+
- Spam checks can lag new collections — "not flagged" is not "authentic".
|
|
93
|
+
- Floor price is marketplace-scoped unless the provider aggregates.
|
|
94
|
+
|
|
95
|
+
## Evidence receipt (required)
|
|
96
|
+
|
|
97
|
+
End every Hive-backed answer with a compact receipt built from the `_hive`
|
|
98
|
+
object on each material tool response:
|
|
99
|
+
|
|
100
|
+
- `provider`, `tool`, `fetched_at`, `observed_at`, `cache_age_ms`, and `runtime_status`
|
|
101
|
+
- `receipt_id`, `receipt_version`, server/build version, and SHA-256 input/result
|
|
102
|
+
digests when present (self-checks, not signatures)
|
|
103
|
+
- `source`, `cache_status`, `truncated`, and any warnings
|
|
104
|
+
- canonical chain/entity identifiers plus block, slot, transaction, or query ids
|
|
105
|
+
present in provider data
|
|
106
|
+
- material provider disagreements and how they were handled
|
|
107
|
+
- checks that were unavailable, gated, stale, truncated, or intentionally not run
|
|
108
|
+
- a `claims[]` citation from each material statement to exact receipt IDs
|
|
109
|
+
- one `coverage[]` entry for every canonical evidence phase, with each gap explained
|
|
110
|
+
|
|
111
|
+
Never turn missing evidence into a clean result, silently merge conflicting
|
|
112
|
+
provider values, or omit a degraded/fallback call from the receipt.
|
|
113
|
+
`observed_at` is Hive's first-observation/original cache-population time, and
|
|
114
|
+
`cache_age_ms: 0` only means newly retrieved by Hive. Use provider time, block,
|
|
115
|
+
slot, transaction, or candle close for source recency; if absent, mark it
|
|
116
|
+
unknown. Run `validate_task_result` before presenting the typed workflow result;
|
|
117
|
+
it checks structure but cannot authenticate an invented receipt.
|
|
37
118
|
|
|
38
119
|
## Runtime status handling
|
|
39
120
|
|
|
40
|
-
If market data is `degraded`, still return metadata/ownership that
|
|
41
|
-
and label floor or sales metrics as unavailable.
|
|
121
|
+
If market data is `degraded`, still return the metadata/ownership that
|
|
122
|
+
succeeded and label floor or sales metrics as unavailable.
|
|
123
|
+
|
|
124
|
+
## Hand-offs
|
|
125
|
+
|
|
126
|
+
- Solana mints, DAS assets, compressed NFTs → `hive-solana-analysis`.
|
|
127
|
+
- Wallet-wide NFT exposure → `hive-wallet-investigation`.
|
|
128
|
+
- Mint/contract safety before buying → `hive-security-risk`.
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
{
|
|
5
5
|
"id": 1,
|
|
6
6
|
"prompt": "Research this NFT collection's floor, recent sales, owners, and metadata freshness.",
|
|
7
|
-
"expected_output": "Uses nft_research, asks for or resolves chain/collection contract, fetches bounded floor/sales/owner/metadata data,
|
|
7
|
+
"expected_output": "Uses nft_research, asks for or resolves chain/collection contract, fetches bounded floor/sales/owner/metadata data, reports marketplace/provider caveats, and ends with a runtime evidence receipt.",
|
|
8
8
|
"files": [],
|
|
9
9
|
"assertions": [
|
|
10
10
|
"Chooses nft_research.",
|
|
11
|
+
"Selects collection_market or authenticity_check from routes[] and follows its stop condition.",
|
|
11
12
|
"Requires chain and collection/asset identifier.",
|
|
12
|
-
"Reports floor/sales metadata caveats."
|
|
13
|
+
"Reports floor/sales metadata caveats.",
|
|
14
|
+
"Includes receipt ids and source freshness."
|
|
13
15
|
]
|
|
14
16
|
},
|
|
15
17
|
{
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"query": "whats the floor on collection 0x… on ethereum and recent sales",
|
|
4
|
+
"should_trigger": true
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"query": "who owns the most of this collection? any whale concentration?",
|
|
8
|
+
"should_trigger": true
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"query": "is this nft that showed up in my wallet spam",
|
|
12
|
+
"should_trigger": true
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"query": "how rare is token id 4242 in this collection",
|
|
16
|
+
"should_trigger": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"query": "the metadata on this nft looks wrong, pull the raw traits",
|
|
20
|
+
"should_trigger": true
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"query": "sales volume for this collection across marketplaces this month",
|
|
24
|
+
"should_trigger": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"query": "check this compressed nft on solana",
|
|
28
|
+
"should_trigger": false
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"query": "what nfts does wallet 0x28C6… hold",
|
|
32
|
+
"should_trigger": false
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"query": "is minting from this drop site safe? it wants wallet connect",
|
|
36
|
+
"should_trigger": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"query": "explain how erc-721 royalties work",
|
|
40
|
+
"should_trigger": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"query": "alert me when the floor drops below 1 eth",
|
|
44
|
+
"should_trigger": false
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"query": "whats the APE token trading at",
|
|
48
|
+
"should_trigger": false
|
|
49
|
+
}
|
|
50
|
+
]
|