Skip to content

feat: add Nodit Web3 Data API skill#315

Merged
jolestar merged 2 commits intomainfrom
feature/nodit-openapi-skill
Mar 18, 2026
Merged

feat: add Nodit Web3 Data API skill#315
jolestar merged 2 commits intomainfrom
feature/nodit-openapi-skill

Conversation

@jolestar
Copy link
Collaborator

What

  • add skills/nodit-openapi-skill
  • add a curated OpenAPI schema for a narrow Nodit Web3 Data read surface
  • update docs/skills.md

Why

Nodit adds a credible multi-chain indexed data surface, but it overlaps with Chainbase, Alchemy, and Moralis.

This PR keeps the wrapper intentionally narrow so it exposes the best-fit Nodit workflows without implying it should replace the existing direct-provider skills.

How

  • package the standard skill files: SKILL.md, agents/openai.yaml, references/usage-patterns.md, scripts/validate.sh
  • scope v1 to entity lookup, native balance, transactions by account, token metadata, and token prices
  • add overlap-aware guardrails

Testing

  • bash skills/nodit-openapi-skill/scripts/validate.sh
  • cargo fmt --check

Closes #314
Refs #168

Copilot AI review requested due to automatic review settings March 18, 2026 06:42
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new nodit-openapi-skill wrapper to expose a narrowly scoped, read-only subset of Nodit’s Web3 Data API via UXC, along with documentation and validation wiring.

Changes:

  • Added a new skill package (SKILL.md, agents/openai.yaml, references/usage-patterns.md, scripts/validate.sh).
  • Added a curated OpenAPI 3.0.3 schema for the selected Nodit read endpoints.
  • Updated docs/skills.md to include and validate the new skill.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
skills/nodit-openapi-skill/scripts/validate.sh Adds a validator to enforce required skill packaging + schema/path expectations.
skills/nodit-openapi-skill/references/usage-patterns.md Provides link/auth setup and example invocations for the curated endpoints.
skills/nodit-openapi-skill/references/nodit-web3.openapi.json Curated OpenAPI schema for the selected Nodit read surface.
skills/nodit-openapi-skill/agents/openai.yaml Registers display name/description/default prompt for the agent wrapper.
skills/nodit-openapi-skill/SKILL.md Main skill docs: scope, auth, workflow, and guardrails.
docs/skills.md Adds skill catalog entry and validation instructions for Nodit.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +58 to +64
contractAddresses:='["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"]'

# Read token prices by contracts
nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenPricesByContracts \
chain=ethereum \
network=mainnet \
contractAddresses:='["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"]'
Comment on lines +79 to +82
- `nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenContractMetadataByContracts chain=ethereum network=mainnet contractAddresses:='[\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]'`

4. Execute with key/value parameters:
- `nodit-openapi-cli post:/v1/{chain}/{network}/token/getTokenPricesByContracts chain=ethereum network=mainnet contractAddresses:='[\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"]'`
if rg -q -- "--args\\s+'\\{" "${SKILL_FILE}" "${USAGE_FILE}"; then
fail 'found banned legacy JSON argument pattern'
fi

Copy link
Contributor

@holonbot holonbot bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review for PR #315: feat: add Nodit Web3 Data API skill

Summary

This PR adds a new nodit-openapi-skill wrapper for Nodit's Web3 Data API. The implementation follows established patterns from similar openapi skills (Chainbase, Alchemy, Moralis) and includes proper guardrails acknowledging service overlap.

Conclusion: APPROVED with minor suggestions

Analysis

Strengths

  1. Follows established patterns: The skill structure matches existing openapi skills (SKILL.md, agents/openai.yaml, references/, scripts/validate.sh)
  2. Narrow, intentional scope: v1 focuses on 5 core read operations (entity lookup, native balance, transactions, token metadata, token prices)
  3. Overlap-aware guardrails: SKILL.md explicitly acknowledges overlap with Chainbase, Alchemy, and Moralis
  4. Validation passes: The validate.sh script runs successfully
  5. Documentation complete: Includes usage patterns, OpenAPI schema, and integration docs

Scope Assessment

The selected endpoints are appropriate for v1:

  • post:/v1/multichain/lookupEntities - Cross-chain entity discovery
  • post:/v1/{chain}/{network}/native/getNativeBalanceByAccount - Native balance reads
  • post:/v1/{chain}/{network}/blockchain/getTransactionsByAccount - Transaction history
  • post:/v1/{chain}/{network}/token/getTokenContractMetadataByContracts - Token metadata
  • post:/v1/{chain}/{network}/token/getTokenPricesByContracts - Token prices

All are read-only operations, consistent with the "read-first" guardrails.

Code Quality

  • OpenAPI schema: Well-structured with proper path templating and security schemes
  • Validation script: Comprehensive checks for required files, schema validity, and documentation completeness
  • Agent configuration: Follows the standard display_name/short_description/default_prompt pattern
  • Documentation: Clear examples and auth setup instructions

Findings

Suggestions (non-blocking)

  1. SKILL.md line 59: The schema URL references main branch. Consider documenting that this requires internet access to fetch:

    --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/nodit-openapi-skill/references/nodit-web3.openapi.json

    This is already implied by "Network access to https://web3.nodit.io" but could be more explicit about GitHub raw content access.

  2. SKILL.md line 144: The overlap guidance is good but could be more actionable. Current text:

    Prefer Nodit when its multi-chain ergonomics or endpoint shape is a better fit for the task

    Consider adding a concrete example of when Nodit's multi-chain design is advantageous (e.g., "Use Nodit when you need consistent cross-chain entity resolution via lookupEntities").

Verification

  • ✅ Validation script passes
  • ✅ Follows openapi skill conventions
  • ✅ Proper API key auth configuration
  • ✅ Read-only scope maintained
  • ✅ Overlap acknowledged in guardrails
  • ✅ Documentation complete
  • ✅ Rust formatting verified (mentioned in PR description)

Recommendation

APPROVE - This is a well-scoped addition that follows repository conventions. The narrow v1 surface and explicit overlap guardrails show thoughtful consideration of the existing ecosystem.

The suggestions above are minor enhancements and do not block merge.

@holonbot
Copy link
Contributor

holonbot bot commented Mar 18, 2026

Review Findings

This review includes 2 inline suggestions (nit-level, non-blocking):

  1. SKILL.md:59 - Schema URL requires network access to GitHub raw content
  2. SKILL.md:144 - Overlap guidance could include concrete example

Both suggestions are documentation improvements and do not block merge.

Full review details: #315

@jolestar jolestar force-pushed the feature/nodit-openapi-skill branch from 3e76486 to 02c58ff Compare March 18, 2026 10:08
@jolestar jolestar merged commit 5980f12 into main Mar 18, 2026
@jolestar jolestar deleted the feature/nodit-openapi-skill branch March 18, 2026 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add Nodit Web3 Data API skill

2 participants