From cardano-dev-skills
Guides choosing the right provider to query Cardano blockchain data (UTxOs, transactions, on-chain state). Compares Blockfrost, Ogmios, Koios, Kupo, DB-Sync, and other indexers for different use cases.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cardano-dev-skills:query-chainThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- Documentation lookup path: ${CLAUDE_SKILL_DIR}/../../docs/sources/ -->
Help the developer choose and use the right data provider for querying the Cardano blockchain.
setup-devnet skill)connect-wallet skill)Ask the developer (if not already clear):
Search the bundled documentation for relevant content:
${CLAUDE_SKILL_DIR}/../../docs/sources/ogmios/ - Ogmios WebSocket bridge docs${CLAUDE_SKILL_DIR}/../../docs/sources/blockfrost-openapi/ - Blockfrost API docs${CLAUDE_SKILL_DIR}/../../docs/sources/koios/ - Koios API docs${CLAUDE_SKILL_DIR}/../../docs/sources/cardano-graphql/ - Cardano GraphQL docs${CLAUDE_SKILL_DIR}/../../docs/sources/db-sync/ - DB-Sync docs${CLAUDE_SKILL_DIR}/../../docs/sources/evolution-sdk/ - Evolution SDK docs (TypeScript client; see providers/ and querying/)Search the reference file for detailed provider comparisons.
File: skills/infrastructure/query-chain/references/provider-comparison.md
| Context | Recommended Primary | Alternative |
|---|---|---|
| backend-service | Ogmios + Kupo (self-hosted) or Blockfrost (hosted) | Koios (hosted, free tier) |
| dapp-frontend | Blockfrost (via SDK) or Koios | Ogmios via backend proxy |
| data-pipeline | Oura (streaming) or DB-Sync (SQL) | Cardano GraphQL |
| one-off-query | Koios (free, no signup) or Blockfrost | cardano-cli with local node |
For each provider that fits the developer's context, explain:
GET /addresses/{address}/utxos
GET /txs/{hash}
GET /epochs/latest/parameters
Not a provider — a TypeScript library that wraps Blockfrost, Kupmios, Maestro, and Koios behind one query interface, so the provider becomes a config choice rather than a code rewrite. For read-only work, build a provider-only client (no wallet attached):
import { Address, Client, preprod } from "@evolution-sdk/evolution"
const client = Client.make(preprod).withBlockfrost({
baseUrl: "https://cardano-preprod.blockfrost.io/api/v0",
projectId: process.env.BLOCKFROST_PROJECT_ID!,
}) // or .withKupmios(...) / .withMaestro(...) / .withKoios(...) — same query API
const utxos = await client.getUtxos(Address.fromBech32("addr_test1..."))
const nftUtxo = await client.getUtxoByUnit(unit) // the one UTxO holding an NFT
const datum = await client.getDatum(datumHash)
const params = await client.getProtocolParameters()
const { poolId, rewards } = await client.getDelegation(rewardAddress)
Query methods: getUtxos, getUtxosWithUnit, getUtxoByUnit, getUtxosByOutRef, getDatum, getDelegation, getProtocolParameters, awaitTx. Best for: TypeScript backends and dApps that want one query API independent of the underlying provider. See ${CLAUDE_SKILL_DIR}/../../docs/sources/evolution-sdk/providers/ and .../querying/.
Give the developer a working code snippet for their chosen provider and language. Always include:
skills/infrastructure/query-chain/references/provider-comparison.md -- Detailed comparison of all 7 providers with decision matrixnpx claudepluginhub cardano-foundation/cardano-dev-skills --plugin cardano-dev-skillsProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.