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.
Files changed (130) hide show
  1. package/README.md +182 -73
  2. package/agent-skills/.claude-plugin/plugin.json +4 -4
  3. package/agent-skills/.mcp.json +1 -4
  4. package/agent-skills/README.md +16 -10
  5. package/agent-skills/SKILL.md +30 -12
  6. package/agent-skills/package.json +1 -1
  7. package/agent-skills/packs/hive-build/SKILL.md +47 -19
  8. package/agent-skills/packs/hive-build/evals/evals.json +16 -3
  9. package/agent-skills/packs/hive-build/evals/triggers.json +50 -0
  10. package/agent-skills/packs/hive-build-onboarding/SKILL.md +27 -34
  11. package/agent-skills/packs/hive-build-onboarding/evals/evals.json +1 -1
  12. package/agent-skills/packs/hive-build-onboarding/evals/triggers.json +50 -0
  13. package/agent-skills/packs/hive-cli/SKILL.md +33 -35
  14. package/agent-skills/packs/hive-cli/evals/evals.json +1 -1
  15. package/agent-skills/packs/hive-cli/evals/triggers.json +50 -0
  16. package/agent-skills/packs/hive-defi-research/SKILL.md +105 -19
  17. package/agent-skills/packs/hive-defi-research/evals/evals.json +6 -3
  18. package/agent-skills/packs/hive-defi-research/evals/triggers.json +50 -0
  19. package/agent-skills/packs/hive-dex-pool-analysis/SKILL.md +106 -16
  20. package/agent-skills/packs/hive-dex-pool-analysis/evals/evals.json +5 -3
  21. package/agent-skills/packs/hive-dex-pool-analysis/evals/triggers.json +50 -0
  22. package/agent-skills/packs/hive-market-research/SKILL.md +130 -21
  23. package/agent-skills/packs/hive-market-research/evals/evals.json +15 -2
  24. package/agent-skills/packs/hive-market-research/evals/triggers.json +50 -0
  25. package/agent-skills/packs/hive-mcp/SKILL.md +69 -47
  26. package/agent-skills/packs/hive-mcp/evals/evals.json +3 -2
  27. package/agent-skills/packs/hive-mcp/evals/triggers.json +50 -0
  28. package/agent-skills/packs/hive-mcp/references/client-install-matrix.md +62 -35
  29. package/agent-skills/packs/hive-mcp/references/clients.md +81 -68
  30. package/agent-skills/packs/hive-network-infrastructure/SKILL.md +105 -20
  31. package/agent-skills/packs/hive-network-infrastructure/evals/evals.json +4 -2
  32. package/agent-skills/packs/hive-network-infrastructure/evals/triggers.json +50 -0
  33. package/agent-skills/packs/hive-nft-research/SKILL.md +105 -18
  34. package/agent-skills/packs/hive-nft-research/evals/evals.json +4 -2
  35. package/agent-skills/packs/hive-nft-research/evals/triggers.json +50 -0
  36. package/agent-skills/packs/hive-prediction-markets/SKILL.md +108 -21
  37. package/agent-skills/packs/hive-prediction-markets/evals/evals.json +4 -2
  38. package/agent-skills/packs/hive-prediction-markets/evals/triggers.json +50 -0
  39. package/agent-skills/packs/hive-query/SKILL.md +79 -33
  40. package/agent-skills/packs/hive-query/evals/evals.json +7 -5
  41. package/agent-skills/packs/hive-query/evals/triggers.json +50 -0
  42. package/agent-skills/packs/hive-query/references/root-mcp-workflow.md +39 -18
  43. package/agent-skills/packs/hive-security-risk/SKILL.md +110 -19
  44. package/agent-skills/packs/hive-security-risk/evals/evals.json +4 -2
  45. package/agent-skills/packs/hive-security-risk/evals/triggers.json +50 -0
  46. package/agent-skills/packs/hive-solana-analysis/SKILL.md +115 -19
  47. package/agent-skills/packs/hive-solana-analysis/evals/evals.json +4 -2
  48. package/agent-skills/packs/hive-solana-analysis/evals/triggers.json +50 -0
  49. package/agent-skills/packs/hive-stateful-monitoring/SKILL.md +92 -47
  50. package/agent-skills/packs/hive-stateful-monitoring/evals/evals.json +7 -2
  51. package/agent-skills/packs/hive-stateful-monitoring/evals/triggers.json +50 -0
  52. package/agent-skills/packs/hive-stateful-monitoring/references/b2b-subject-context.md +53 -0
  53. package/agent-skills/packs/hive-token-diligence/SKILL.md +119 -21
  54. package/agent-skills/packs/hive-token-diligence/evals/evals.json +6 -4
  55. package/agent-skills/packs/hive-token-diligence/evals/triggers.json +50 -0
  56. package/agent-skills/packs/hive-tool-discovery/SKILL.md +48 -19
  57. package/agent-skills/packs/hive-tool-discovery/evals/evals.json +17 -3
  58. package/agent-skills/packs/hive-tool-discovery/evals/triggers.json +50 -0
  59. package/agent-skills/packs/hive-tool-discovery/references/discovery-surfaces.md +31 -6
  60. package/agent-skills/packs/hive-wallet-investigation/SKILL.md +111 -18
  61. package/agent-skills/packs/hive-wallet-investigation/evals/evals.json +5 -3
  62. package/agent-skills/packs/hive-wallet-investigation/evals/triggers.json +50 -0
  63. package/agent-skills/references/agents-routing.md +17 -7
  64. package/agent-skills/scripts/validate-agent-skills-package.mjs +68 -8
  65. package/bin/hive-mcp.js +5 -5
  66. package/build/{alias-3OPMQF4X.js → alias-BKAVOYQV.js} +2 -2
  67. package/build/{api-client-EPF6FD7A.js → api-client-FTVDFW5V.js} +4 -4
  68. package/build/{auth-Q5Q24IRI.js → auth-EZFJ5RYB.js} +3 -3
  69. package/build/{browser-auth-VPF5LZMZ.js → browser-auth-OJSUNFBI.js} +2 -2
  70. package/build/{cache-T6KC5YEY.js → cache-TBDQ7QBU.js} +2 -2
  71. package/build/{chunk-POT2MBEK.js → chunk-6PC3HUAK.js} +10 -3
  72. package/build/{chunk-NP6NSOG2.js → chunk-725R3KLJ.js} +26 -3
  73. package/build/{chunk-GZPDEXO4.js → chunk-7GD2MFYI.js} +57 -6
  74. package/build/{chunk-ZXB53E7H.js → chunk-AEU43ACS.js} +31 -7
  75. package/build/chunk-EPF36Q3Z.js +71 -0
  76. package/build/chunk-I5Z6FZRL.js +178 -0
  77. package/build/{chunk-3WYWXTNN.js → chunk-ILVPOLA7.js} +12 -3
  78. package/build/{chunk-VBOKVQ74.js → chunk-L326MQZP.js} +6 -5
  79. package/build/{chunk-FRXMGRZQ.js → chunk-M6REON2I.js} +2 -2
  80. package/build/chunk-N32UIHBU.js +125 -0
  81. package/build/{chunk-7JWXBKEJ.js → chunk-Q7VBYLX7.js} +9 -2
  82. package/build/chunk-QDZ7MAVN.js +447 -0
  83. package/build/{chunk-ZTJVOWDQ.js → chunk-R6YZTFQL.js} +2 -0
  84. package/build/{chunk-YZ2PXBJK.js → chunk-RU6QOFHH.js} +6 -9
  85. package/build/{chunk-5XXI25JE.js → chunk-RUHO24SX.js} +16 -9
  86. package/build/{chunk-FH3YGSY5.js → chunk-TNQ7GJ6Q.js} +0 -59
  87. package/build/{chunk-JTUKQWIO.js → chunk-W2QL7LYI.js} +34807 -15070
  88. package/build/{chunk-ZCU7XQKF.js → chunk-ZXKFJQDE.js} +7 -1
  89. package/build/cli.js +3337 -3407
  90. package/build/{completion-46K674EL.js → completion-7KBW243H.js} +4 -4
  91. package/build/{config-XE6Q5P4I.js → config-KAEUX6RM.js} +23 -3
  92. package/build/{config-dir-MAWX5AUF.js → config-dir-5IH7MOOT.js} +2 -2
  93. package/build/{doctor-HGMQE6IN.js → doctor-ORDOCGLM.js} +12 -12
  94. package/build/{errors-J2PH3NLJ.js → errors-HGHUF575.js} +2 -2
  95. package/build/{format-5X2HIVDT.js → format-H7FOQSYY.js} +1 -1
  96. package/build/{init-JMDNM7ZZ.js → init-UCTCUYFA.js} +52 -8
  97. package/build/init-all-BVWW3JVK.js +408 -0
  98. package/build/mcpServer-RUEOTTF7.js +34 -0
  99. package/build/monitor-worker.js +296 -40
  100. package/build/{namespace-FSX2G3NM.js → namespace-L5DGCY7K.js} +2 -2
  101. package/build/{open-5A6ZQMGC.js → open-V2RNA3QT.js} +1 -1
  102. package/build/{output-V3D4YZ6U.js → output-ITGLBKIG.js} +2 -2
  103. package/build/release.json +8 -0
  104. package/build/{serve-AGCOXXFM.js → serve-DKLR2WQH.js} +3 -3
  105. package/build/server.js +4481 -2319
  106. package/build/{setup-RMETGJWK.js → setup-PTYFMTK5.js} +60 -55
  107. package/build/stdio.js +7 -6
  108. package/build/{telemetry-WCME5XEU.js → telemetry-HPLDYR7U.js} +5 -4
  109. package/build/{tools-KAB6QBZC.js → tools-I7GLWTV6.js} +15 -15
  110. package/build/{uninstall-FLJMBBSC.js → uninstall-SAOIPL6K.js} +19 -10
  111. package/build/{update-check-LNZQK3XA.js → update-check-IEXPOYYR.js} +4 -4
  112. package/build/{upgrade-DTUIHVPS.js → upgrade-J4HIGCKE.js} +5 -5
  113. package/build/{version-I6HDAF4L.js → version-Z4HJL4VV.js} +4 -2
  114. package/build/{watch-YNN255QX.js → watch-WVR4CGCD.js} +8 -7
  115. package/package.json +71 -35
  116. package/agent-skills/packs/hive-defi-research/references/workflow.md +0 -41
  117. package/agent-skills/packs/hive-dex-pool-analysis/references/workflow.md +0 -42
  118. package/agent-skills/packs/hive-market-research/references/workflow.md +0 -47
  119. package/agent-skills/packs/hive-network-infrastructure/references/workflow.md +0 -41
  120. package/agent-skills/packs/hive-nft-research/references/workflow.md +0 -42
  121. package/agent-skills/packs/hive-prediction-markets/references/workflow.md +0 -42
  122. package/agent-skills/packs/hive-security-risk/references/workflow.md +0 -46
  123. package/agent-skills/packs/hive-solana-analysis/references/workflow.md +0 -42
  124. package/agent-skills/packs/hive-token-diligence/references/workflow.md +0 -45
  125. package/agent-skills/packs/hive-wallet-investigation/references/workflow.md +0 -45
  126. package/build/chunk-4F5CI6LX.js +0 -340
  127. package/build/chunk-CEWCB5YS.js +0 -71
  128. package/build/chunk-IZPAMRHP.js +0 -43
  129. package/build/init-all-5SKNV75X.js +0 -273
  130. package/build/mcpServer-5TKKSKJM.js +0 -21
@@ -1,44 +1,131 @@
1
1
  ---
2
2
  name: hive-prediction-markets
3
- description: Use this skill for prediction market research covering Polymarket, Kalshi, events, markets, outcomes, odds, prices, liquidity, stats, traders, holders, and trades. Never present market probability as ground truth.
3
+ description: Use this skill when the user asks about prediction markets Polymarket or Kalshi events, markets, outcomes, odds, prices, liquidity, stats, traders, holders, or trades — including "what are the odds of X", "find markets about Y", or comparing venues. Use it whenever live prediction-market evidence is needed. Never present market probability as ground truth.
4
4
  license: MIT
5
5
  metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "prediction-markets"
8
8
  requires_network: "true"
9
- version: 1.0.0
9
+ version: 1.3.0
10
10
  ---
11
11
 
12
12
  # hive-prediction-markets — Prediction Markets
13
13
 
14
- Use this skill for prediction market discovery, including Polymarket, Kalshi,
15
- odds, pricing, event stats, traders, holders, trades, or outcome questions.
14
+ Discover and analyze prediction markets Polymarket, Kalshi — with prices,
15
+ liquidity, outcomes, traders, and trades, always framed as market-implied
16
+ odds rather than truth.
16
17
 
17
- ## Task toolset
18
+ ## Task toolset and identifiers
18
19
 
19
- Use `prediction_markets`.
20
+ Toolset: `prediction_markets`. Read `hive://toolsets/prediction_markets` before
21
+ execution; it is authoritative for the current output schema, material-call
22
+ budget, phases, fallback condition, and stop conditions.
20
23
 
21
- Required identifiers: market id, event id, token id, trader address, or search
22
- query depending on the request.
24
+ - Required: market id, event id, token id, trader address, or a search query —
25
+ depending on the request.
26
+ - Optional: status filter, limit, date range, outcome, liquidity threshold.
27
+
28
+ If the user starts with a topic, search candidates first and ask for selection
29
+ when multiple markets match — similar markets can have different resolution
30
+ criteria.
31
+
32
+ Before choosing endpoints, select exactly one matching entry from the exact
33
+ workflow's routes[]. Follow its ordered steps, use a fallback only under that
34
+ step's published condition, stop at four material calls, and preserve the
35
+ selected route_id in the typed result. The broad coverageCatalog is discovery
36
+ coverage, not an execution plan.
23
37
 
24
38
  ## Procedure
25
39
 
26
- Read `references/workflow.md` when the request needs market/event discovery,
27
- liquidity/probability caveats, trader context, or a structured prediction
28
- market report.
40
+ 1. Call `search_tools` for prediction-market search, event, market, stats,
41
+ holder, trader, or trade capabilities.
42
+ 2. Call `get_api_endpoint_schema` for each endpoint before calling it.
43
+ 3. Search events/markets for topic prompts; resolve exact market/event/token
44
+ ids before pulling stats, holders, or trades.
45
+ 4. Add liquidity/volume and freshness context before interpreting prices.
46
+ 5. Report market price, volume/liquidity, outcomes, provider/source, and
47
+ freshness — and never present probability as ground truth.
48
+
49
+ ## Bounded calls
50
+
51
+ - Use small search limits and page through only when needed.
52
+ - Do not fetch all trades or holders unless the user asks for a deep dive.
53
+ - Keep outcome-token prices separate from event-level interpretation.
54
+
55
+ ## Worked example
56
+
57
+ User: "What are the odds on the next Fed rate decision? Compare Polymarket
58
+ and Kalshi if both have markets."
59
+
60
+ 1. `search_tools` → `{"query": "prediction markets search events fed rate decision", "limit": 5}`
61
+ 2. `get_api_endpoint_schema` for the market-search endpoint returned, then
62
+ `invoke_api_endpoint` with a bounded search per venue.
63
+ 3. If several markets match, list candidates with resolution criteria and ask
64
+ which to inspect — or pick the highest-liquidity exact match and say so.
65
+ 4. Report outcome prices with volume/liquidity and freshness, framed as
66
+ market-implied odds.
67
+
68
+ ## Report template
69
+
70
+ ```markdown
71
+ ## Summary
72
+ [Market/event read and top outcomes in one or two sentences.]
29
73
 
30
- 1. Search/filter markets or events when the user starts with a topic.
31
- 2. Resolve exact market/event/token ids before stats, holders, or trades.
32
- 3. Report market price, volume/liquidity, outcomes, and freshness.
33
- 4. Do not present market probability as ground truth.
74
+ ## Calls made
75
+ - Toolset: prediction_markets
76
+ - Endpoint(s): [exact endpoint names]
77
+ - Identifiers: [market/event/token/trader ids]
34
78
 
35
- ## Example
79
+ ## Evidence
80
+ - Outcomes and prices: [per outcome, per venue]
81
+ - Liquidity/volume: [values + as-of]
82
+ - Provenance: [provider, fetched_at, observed_at/cache_age_ms, runtime status per call]
36
83
 
37
- For "Bitcoin election prediction markets" or "Polymarket vs Kalshi odds",
38
- search markets/events first, then ask which specific market to inspect if
39
- multiple candidates match.
84
+ ## Caveats
85
+ [Market probability is not truth, thin liquidity, stale stats, candidate ambiguity.]
86
+
87
+ ## Next action
88
+ [Inspect selected market, holders, trades, or related events — only if needed.]
89
+ ```
90
+
91
+ ## Gotchas
92
+
93
+ - Market prices reflect trading and liquidity, not verified probability.
94
+ - Similar markets can have different resolution criteria — quote them when
95
+ comparing venues.
96
+ - Event-level and outcome-token-level data are not interchangeable.
97
+
98
+ ## Evidence receipt (required)
99
+
100
+ End every Hive-backed answer with a compact receipt built from the `_hive`
101
+ object on each material tool response:
102
+
103
+ - `provider`, `tool`, `fetched_at`, `observed_at`, `cache_age_ms`, and `runtime_status`
104
+ - `receipt_id`, `receipt_version`, server/build version, and SHA-256 input/result
105
+ digests when present (self-checks, not signatures)
106
+ - `source`, `cache_status`, `truncated`, and any warnings
107
+ - canonical chain/entity identifiers plus block, slot, transaction, or query ids
108
+ present in provider data
109
+ - material provider disagreements and how they were handled
110
+ - checks that were unavailable, gated, stale, truncated, or intentionally not run
111
+ - a `claims[]` citation from each material statement to exact receipt IDs
112
+ - one `coverage[]` entry for every canonical evidence phase, with each gap explained
113
+
114
+ Never turn missing evidence into a clean result, silently merge conflicting
115
+ provider values, or omit a degraded/fallback call from the receipt.
116
+ `observed_at` is Hive's first-observation/original cache-population time, and
117
+ `cache_age_ms: 0` only means newly retrieved by Hive. Use provider time, block,
118
+ slot, transaction, or candle close for source recency; if absent, mark it
119
+ unknown. Run `validate_task_result` before presenting the typed workflow result;
120
+ it checks structure but cannot authenticate an invented receipt.
40
121
 
41
122
  ## Runtime status handling
42
123
 
43
- If a market search succeeds but stats are `degraded`, return the candidates and
44
- label the missing market details clearly.
124
+ If a market search succeeds but stats are `degraded`, return the candidates
125
+ and label the missing market details clearly.
126
+
127
+ ## Hand-offs
128
+
129
+ - General crypto market prices → `hive-market-research`.
130
+ - A trader's full wallet activity → `hive-wallet-investigation`.
131
+ - Standing "alert me when odds move" requests → `hive-stateful-monitoring`.
@@ -4,12 +4,14 @@
4
4
  {
5
5
  "id": 1,
6
6
  "prompt": "Find active prediction markets about the next Fed decision and show the top outcomes with liquidity caveats.",
7
- "expected_output": "Uses prediction_markets, searches markets/events first, resolves candidate ids, bounds results, and reports price/liquidity/freshness caveats.",
7
+ "expected_output": "Uses prediction_markets, searches markets/events first, resolves candidate ids, bounds results, reports price/liquidity/freshness caveats, and ends with a runtime evidence receipt.",
8
8
  "files": [],
9
9
  "assertions": [
10
10
  "Chooses prediction_markets.",
11
+ "Selects event_landscape for event discovery or market_odds for an exact market and preserves route_id.",
11
12
  "Searches markets/events before stats.",
12
- "States market price is not ground truth."
13
+ "States market price is not ground truth.",
14
+ "Includes receipt ids and missing evidence."
13
15
  ]
14
16
  },
15
17
  {
@@ -0,0 +1,50 @@
1
+ [
2
+ {
3
+ "query": "what are the odds on the next fed rate cut on polymarket",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "find prediction markets about the 2026 world cup winner",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "compare polymarket vs kalshi on the CPI print markets",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "who are the biggest holders in this polymarket market",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "that 70% odds number — how much liquidity is actually behind it",
20
+ "should_trigger": true
21
+ },
22
+ {
23
+ "query": "show recent trades on this market id",
24
+ "should_trigger": true
25
+ },
26
+ {
27
+ "query": "whats the POL token trading at",
28
+ "should_trigger": false
29
+ },
30
+ {
31
+ "query": "what does this trader's wallet hold outside polymarket",
32
+ "should_trigger": false
33
+ },
34
+ {
35
+ "query": "explain how prediction markets resolve disputes",
36
+ "should_trigger": false
37
+ },
38
+ {
39
+ "query": "alert me when these odds move 10 points",
40
+ "should_trigger": false
41
+ },
42
+ {
43
+ "query": "is using polymarket legal in my country",
44
+ "should_trigger": false
45
+ },
46
+ {
47
+ "query": "top defi protocols by tvl",
48
+ "should_trigger": false
49
+ }
50
+ ]
@@ -1,34 +1,48 @@
1
1
  ---
2
2
  name: hive-query
3
- description: Use this skill as the default entry point for any live crypto intelligence question before answering from memory. Route wallet, token, DeFi, NFT, Solana, security, market, DEX, network, or prediction-market requests through Hive task toolsets and bounded endpoint invocation. If routing does not surface the exact tool or schema, hand off to hive-tool-discovery.
3
+ description: Default entry point for any live crypto question when Hive MCP is connected — prices, wallets, tokens, DeFi, NFTs, Solana, security, markets, DEX, networks, prediction markets. Use it whenever the answer depends on live or on-chain data instead of answering from memory, even if the user never mentions Hive. Routes intent to a canonical Hive task toolset, then schema lookup and bounded endpoint invocation. If a domain-specific hive-* skill clearly matches, prefer it; if routing cannot surface the exact tool or schema, hand off to hive-tool-discovery.
4
4
  license: MIT
5
5
  metadata:
6
6
  package: "@hiveintelligence/agent-skills"
7
7
  category: "discovery"
8
8
  requires_network: "true"
9
- version: 2.0.0
9
+ version: 1.3.0
10
10
  ---
11
11
 
12
12
  # hive-query — Route Crypto Questions Through Hive
13
13
 
14
- Use this skill when Hive MCP is connected and the user asks a crypto question.
15
- Do not answer from model memory when the answer depends on live data.
16
-
17
- ## Routing rule
18
-
19
- Read `references/root-mcp-workflow.md` when the user asks how Hive MCP is
20
- organized, what tools are available, or how an agent should navigate the root
21
- endpoint without loading the full provider catalog into context.
22
-
23
- 1. Read `hive://toolsets` or call `search_tools` with the user's intent.
24
- 2. Select one canonical task toolset.
25
- 3. Ask for missing identifiers before execution if the toolset requires them.
26
- 4. Call `get_api_endpoint_schema` for the exact tool you plan to call.
27
- 5. Call the exact endpoint through `invoke_api_endpoint`.
28
- 6. Report freshness, provider/runtime status, and any missing-data caveats.
14
+ Route the user's crypto question to one canonical Hive task toolset, inspect
15
+ the exact schema, invoke the endpoint with bounded arguments, and answer with
16
+ provenance. Do not answer from model memory when the answer depends on live
17
+ data.
18
+
19
+ ## Routing procedure
20
+
21
+ 1. Read the compact `hive://toolsets` index or call `search_tools` with the
22
+ user's intent. Use its tool and toolset cursors instead of requesting a
23
+ broad catalog.
24
+ 2. Select one canonical task toolset and the single compact `routes[]` entry
25
+ whose trigger/question matches the user's intent. Preserve its `route_id`;
26
+ broad `coverageCatalog` arrays are not an execution plan.
27
+ 3. Ask for the route's missing identifiers before execution.
28
+ 4. Follow its ordered steps, calling `get_api_endpoint_schema` for each exact
29
+ primary tool. Use a fallback only under that step's published condition.
30
+ 5. Call reads through `invoke_api_endpoint`. For an explicitly approved
31
+ Hive-native state change, use `invoke_stateful_endpoint`; never auto-approve
32
+ that router.
33
+ 6. Stop when the route's stop condition is met or four material calls are used.
34
+ Copy server-returned `_hive` blocks into the task receipt and run
35
+ `validate_task_result` with the selected `route_id` before presenting a structured result.
36
+ 7. Report source recency, provider/runtime status, and missing-data caveats.
37
+
38
+ Read `references/root-mcp-workflow.md` when you need the bigger picture: how
39
+ the root MCP endpoint is organized, what resources exist, or how to navigate
40
+ without loading the full provider catalog into context.
29
41
 
30
42
  ## Canonical task toolsets
31
43
 
44
+ `hive://toolsets` is authoritative; this table is the routing shortcut.
45
+
32
46
  | Intent | Toolset id |
33
47
  | --- | --- |
34
48
  | Price, exchange, OHLC, liquidity, derivatives | `market_research` |
@@ -44,19 +58,19 @@ endpoint without loading the full provider catalog into context.
44
58
  | Durable monitors, alerts, scheduled reports, agent memory | `stateful_monitoring` |
45
59
  | Ambiguous request or schema lookup | `search_discovery` |
46
60
 
47
- ## Example
61
+ ## Worked example
48
62
 
49
63
  User: "Investigate this wallet on Ethereum."
50
64
 
51
65
  Use `wallet_investigation`. Required identifiers are wallet address and chain.
52
- Then search for the current wallet-balance endpoint, inspect its schema, and
53
- only then invoke it. Do not hardcode stale endpoint names in the skill. Use this
54
- sequence: `search_tools` for `wallet investigation ethereum balances`,
55
- `get_api_endpoint_schema` for the selected endpoint, then `invoke_api_endpoint`
56
- with schema-valid `address` and `network` or chain arguments.
66
+ Then: `search_tools` for `wallet investigation ethereum balances`,
67
+ `get_api_endpoint_schema` for the selected endpoint, then
68
+ `invoke_api_endpoint` with schema-valid address and chain arguments. Do not
69
+ hardcode endpoint names from memory — the catalog changes and search is
70
+ authoritative.
57
71
 
58
- Then use schema lookup and add transfer, NFT, or DeFi-position tools only when
59
- the user's question needs that detail.
72
+ Add transfer, NFT, or DeFi-position tools only when the user's question needs
73
+ that detail.
60
74
 
61
75
  ## Report template
62
76
 
@@ -73,8 +87,8 @@ Use this structure for Hive-backed answers:
73
87
 
74
88
  ## Evidence
75
89
  - Provider/source: [provider names]
76
- - Freshness: [Hive execution fetched_at plus provider timestamp, block, or slot when relevant]
77
- - Runtime status: [ok/missing_key/plan_required/rate_limited/degraded/failing]
90
+ - Freshness: [Hive fetched_at/observed_at/cache_age_ms plus provider timestamp, block, or slot; upstream recency unknown if absent]
91
+ - Runtime status: [ok/invalid_input/missing_key/plan_required/rate_limited/degraded/failing]
78
92
 
79
93
  ## Caveats
80
94
  [Fallbacks, stale data, unavailable providers, missing identifiers, limits.]
@@ -83,17 +97,49 @@ Use this structure for Hive-backed answers:
83
97
  [Only include if a retry, deeper check, or user choice is needed.]
84
98
  ```
85
99
 
100
+ ## Evidence receipt (required)
101
+
102
+ End every Hive-backed answer with a compact receipt built from the `_hive`
103
+ object on each material tool response:
104
+
105
+ - `provider`, `tool`, `fetched_at`, `observed_at`, `cache_age_ms`, and `runtime_status`
106
+ - `receipt_id`, `receipt_version`, server/build version, and SHA-256 input/result
107
+ digests when present (self-checks, not signatures)
108
+ - `source`, `cache_status`, `truncated`, and any warnings
109
+ - canonical chain/entity identifiers plus block, slot, transaction, or query ids
110
+ present in provider data
111
+ - material provider disagreements and how they were handled
112
+ - checks that were unavailable, gated, stale, truncated, or intentionally not run
113
+ - a `claims[]` citation from each material statement to exact receipt IDs
114
+ - one `coverage[]` entry for every canonical evidence phase, with each gap explained
115
+
116
+ Never turn missing evidence into a clean result, silently merge conflicting
117
+ provider values, or omit a degraded/fallback call from the receipt.
118
+ `observed_at` is Hive's first-observation/original cache-population time, and
119
+ `cache_age_ms: 0` only means newly retrieved by Hive. Use provider time, block,
120
+ slot, transaction, or candle close for upstream recency; if absent, mark it
121
+ unknown. `validate_task_result` checks structure but cannot authenticate an
122
+ invented receipt.
123
+
86
124
  ## Runtime status handling
87
125
 
88
- Hive uses `ok`, `missing_key`, `plan_required`, `rate_limited`, `degraded`, and
89
- `failing`. Do not treat a non-`ok` provider state as a missing tool. Tell the
90
- user which task/tool failed, why, and what can be retried or upgraded.
126
+ Hive uses `ok`, `invalid_input`, `missing_key`, `plan_required`,
127
+ `rate_limited`, `degraded`, and `failing`. Do not treat a non-`ok` provider
128
+ state as a missing tool. Tell
129
+ the user which task/tool failed, why, and what can be retried or upgraded.
91
130
 
92
131
  ## Guardrails
93
132
 
94
133
  - Never invent token, wallet, market, or event identifiers.
95
- - Prefer exact contract addresses, wallet addresses, pair addresses, market ids,
96
- or exchange ids over fuzzy names.
134
+ - Prefer exact contract addresses, wallet addresses, pair addresses, market
135
+ ids, or exchange ids over fuzzy names.
97
136
  - Keep raw provider endpoints callable; task toolsets are only the selection
98
137
  layer.
99
- - If a tool is absent from the skill, use `search_tools` instead of guessing.
138
+ - If a tool is absent from this skill, use `search_tools` instead of guessing.
139
+
140
+ ## Hand-offs
141
+
142
+ - A domain-specific hive-* skill matches the question → prefer it; this skill
143
+ is the generalist entry point.
144
+ - Routing cannot surface the exact tool or schema → `hive-tool-discovery`.
145
+ - The user wants Hive to keep watching something → `hive-stateful-monitoring`.
@@ -3,13 +3,15 @@
3
3
  "evals": [
4
4
  {
5
5
  "id": 1,
6
- "prompt": "Use Hive MCP to investigate whether wallet 0x0000000000000000000000000000000000000000 has meaningful Ethereum token activity. Show the tools you would call and the caveats.",
7
- "expected_output": "Routes through wallet_investigation, requests or infers eth-mainnet, looks up schemas before exact endpoint calls, avoids inventing activity, and reports provider/runtime/freshness caveats.",
6
+ "prompt": "Use Hive MCP to investigate whether wallet 0x28C6c06298d514Db089934071355E5743bf21d60 has meaningful Ethereum token activity. Show the tools you would call and the caveats.",
7
+ "expected_output": "Routes through wallet_investigation, loads its exact workflow policy, requests or infers eth-mainnet, looks up schemas before bounded read calls, obeys the material-call budget and stop conditions, avoids inventing activity, and ends with a structurally validated receipt containing provider source-recency evidence, runtime/cache/fallback state, and server-minted receipt ids for every material call.",
8
8
  "files": [],
9
9
  "assertions": [
10
10
  "Mentions wallet_investigation or the wallet task toolset.",
11
+ "Selects wallet_investigation plus the matching portfolio_snapshot or recent_activity route and preserves route_id.",
11
12
  "Uses get_api_endpoint_schema before invoke_api_endpoint.",
12
- "Reports provider/runtime status and does not answer from memory."
13
+ "Reports provider/runtime status and does not answer from memory.",
14
+ "Includes an evidence receipt with exact _hive receipt ids and uses validate_task_result."
13
15
  ]
14
16
  },
15
17
  {
@@ -30,8 +32,8 @@
30
32
  "files": [],
31
33
  "assertions": [
32
34
  "Chooses prediction_markets.",
33
- "Uses search_tools or hive://toolsets before endpoint selection.",
34
- "Reports freshness and source caveats."
35
+ "Uses compact search_tools or hive://toolsets, then loads the exact prediction_markets workflow before endpoint selection.",
36
+ "Reports provider source recency separately from Hive observed_at/cache_age_ms and marks upstream recency unknown when absent."
35
37
  ]
36
38
  }
37
39
  ]
@@ -0,0 +1,50 @@
1
+ [
2
+ {
3
+ "query": "whats the price of eth right now and the 24h change",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "can you check what the top crypto gainers are today? i think hive is connected",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "my friend says AVAX activity is exploding, can you check the actual live numbers",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "what can you tell me about the token at 0x6982508145454Ce325dDbE47a25d4ec3d2311933",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "pull live funding rates for btc perps and tell me whats crowded",
20
+ "should_trigger": true
21
+ },
22
+ {
23
+ "query": "how many active polymarket markets are about AI right now",
24
+ "should_trigger": true
25
+ },
26
+ {
27
+ "query": "explain how AMMs work, no need to look anything up",
28
+ "should_trigger": false
29
+ },
30
+ {
31
+ "query": "write a python script that calls the hive REST api every morning",
32
+ "should_trigger": false
33
+ },
34
+ {
35
+ "query": "add hive mcp to cursor for me",
36
+ "should_trigger": false
37
+ },
38
+ {
39
+ "query": "I lost my hive api key, help me get a new one",
40
+ "should_trigger": false
41
+ },
42
+ {
43
+ "query": "watch this wallet and alert me on big moves going forward",
44
+ "should_trigger": false
45
+ },
46
+ {
47
+ "query": "summarize this whitepaper pdf i downloaded",
48
+ "should_trigger": false
49
+ }
50
+ ]
@@ -10,36 +10,48 @@ only pull deeper schemas when needed.
10
10
  flowchart LR
11
11
  User["User crypto question"] --> Agent["Agent with Hive skill"]
12
12
  Agent --> Root["Root MCP /mcp"]
13
- Root --> Resources["Resources: hive://toolsets, hive://tools, hive://providers, hive://status"]
14
- Root --> MetaTools["Meta tools: search_tools, get_api_endpoint_schema, invoke_api_endpoint"]
13
+ Root --> Resources["Compact indexes + exact templates: hive://toolsets/{id}, hive://skills/{name}"]
14
+ Root --> MetaTools["Meta tools: search, schema, read router, stateful router, validator"]
15
15
  Root --> Toolsets["Task toolsets"]
16
16
  MetaTools --> Registry["Provider endpoint registry"]
17
- Registry --> Providers["CoinGecko, DeFiLlama, GoPlus, Codex (Polymarket/Kalshi), CCXT, Tenderly, Moralis, Helius, Alchemy"]
18
- Agent --> Answer["Answer with provenance, freshness, runtime status"]
17
+ Registry --> Providers["CoinGecko, DeFiLlama, GoPlus, Codex (Polymarket/Kalshi), CCXT, Tenderly, Moralis, Helius, Alchemy, Hyperliquid, Open Data Fetch"]
18
+ Agent --> Answer["Validated answer with sources, source recency, runtime receipts"]
19
19
  ```
20
20
 
21
21
  ## Default agent loop
22
22
 
23
23
  1. Start from user intent, not provider names.
24
- 2. Read `hive://toolsets` or call `search_tools`.
25
- 3. Select the closest task toolset.
26
- 4. Ask for required identifiers that are missing: chain, wallet, contract,
24
+ 2. Read the compact `hive://toolsets` index or call `search_tools`. Search
25
+ returns at most three compact toolsets by default and paginates tools and
26
+ toolsets separately.
27
+ 3. Select the closest task toolset and its one best matching compact
28
+ `routes[]` entry. Preserve `route_id`; use `coverageCatalog` only for
29
+ long-tail discovery, never as a call list.
30
+ 4. Ask for the route's required identifiers that are missing: chain, wallet, contract,
27
31
  token id, pair id, protocol slug, market id, or time window.
28
32
  5. Call `get_api_endpoint_schema` for each exact endpoint before execution.
29
- 6. Call `invoke_api_endpoint` with bounded arguments. Respect `limit`,
30
- `page`, `per_page`, `offset`, time windows, and response-size safeguards.
31
- 7. Report provider, freshness, fallback/degraded state, missing keys, rate
32
- limits, and caveats.
33
+ 6. Call reads through `invoke_api_endpoint` with bounded arguments. For a
34
+ Hive-native write, explain the effect, obtain explicit user approval, and
35
+ use `invoke_stateful_endpoint`. Respect `limit`, `page`, `per_page`,
36
+ `offset`, time windows, and response-size safeguards.
37
+ 7. Follow the route's ordered primary calls, conditional per-call fallbacks,
38
+ four-call cap, and stop condition. Never call every fallback by default.
39
+ 8. Copy each material response's `_hive` block into the task receipt, call
40
+ `validate_task_result` with `route_id`, and report provider, source recency,
41
+ fallback/degraded state, missing evidence, and caveats. Structural
42
+ validation does not authenticate invented receipts.
33
43
 
34
44
  ## Root versus category endpoints
35
45
 
36
- - Root `/mcp` should expose a small meta-tool surface. It is optimized for
37
- agents that need routing, schema lookup, and bounded invocation.
46
+ - Root `/mcp` exposes five tools: compact search, schema lookup, separate
47
+ read/write routers, and task-result validation.
38
48
  - Category endpoints expose direct scoped tools for clients that explicitly
39
49
  need broad `tools/list` results.
40
50
  - Do not treat root `tools/list` as the full product. Full provider coverage is
41
- discoverable through resources, category listing tools, schema lookup, and
42
- `invoke_api_endpoint`.
51
+ discoverable through resources, hidden compatibility listings, scoped
52
+ category endpoints, schema lookup, and
53
+ `invoke_api_endpoint` for reads or `invoke_stateful_endpoint` for explicitly
54
+ approved Hive state changes.
43
55
 
44
56
  ## Reporting standard
45
57
 
@@ -48,7 +60,16 @@ Every answer that used Hive should include enough context to debug the result:
48
60
  - Toolset or endpoint used.
49
61
  - Provider or data source.
50
62
  - Chain/network and identifiers.
51
- - Freshness or timestamp if available.
52
- - Runtime state: `ok`, `missing_key`, `plan_required`, `rate_limited`,
53
- `degraded`, or `failing`.
63
+ - Source recency from provider time, block, slot, transaction, or candle close.
64
+ `_hive.observed_at` is Hive first-observation/original cache time;
65
+ `cache_age_ms: 0` does not prove upstream freshness. Mark source recency
66
+ unknown when no provider marker exists.
67
+ - Runtime state: `ok`, `invalid_input`, `missing_key`, `plan_required`,
68
+ `rate_limited`, `degraded`, or `failing`.
54
69
  - Any fallback, cache use, unavailable provider, or omitted data.
70
+ - Server-minted receipt IDs for every material call plus the
71
+ `validate_task_result` outcome.
72
+ - A `claims[]` citation for each material statement and one `coverage[]`
73
+ entry for every canonical evidence phase, including explicit gaps.
74
+ - Server/build version and input/result SHA-256 self-checks when present. These
75
+ digests are not signatures.