Skill
Build custom Solana indexers end-to-end. Geyser gRPC plugins, backfill strategies, Postgres schema design, real-time streaming, cost optimization, testing with LiteSVM/Surfpool, and production operations. Use when designing a new indexer, choosing between Geyser/WebSocket/webhooks/polling, designing a schema, planning a backfill, reducing RPC costs, or operating an indexer in production.From its SKILL.md
npx -y skills add srivtx/solana-indexer-skill --skill skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.8 KB, 853 tokens by cl100k_base, as published. Nobody here has run it
Solana Indexer — Skill Hub
Routes to the right reference based on intent. Read only the section you need; the references are designed for progressive loading.
Quick Routing
| Intent | Read first |
|---|---|
| "I need to build an indexer for X" | references/indexer-architecture.md — decision tree for the right approach |
| "Geyser / Yellowstone gRPC / Rust plugin" | references/geyser-plugins.md |
| "Postgres schema for [swaps / NFTs / pools / vaults]" | references/postgres-schemas.md |
| "How do I backfill [N days] of historical data" | references/backfill-strategies.md |
| "Real-time WebSocket / gRPC streaming patterns" | references/real-time-streaming.md |
| "Reduce RPC costs / credit usage" | references/cost-optimization.md |
| "Test my indexer" | references/testing-indexers.md |
| "Run in production — slot lag, alerts, failover" | references/production-ops.md |
| "Where are the official docs" | references/resources.md |
Examples
See examples/ for runnable code:
examples/minimal-indexer-ts/— 100-line TypeScript indexer using Helius webhooks → Postgres. Runnable against devnet.examples/geyser-plugin/skeleton/— Rust Geyser plugin skeleton (filterProgramSubscribe→ batched Postgres writes).examples/subgraph-template/— The Graph subgraph manifest for Solana (compressed subgraph).
When to use this skill
Activate when:
- User wants to build, modify, debug, or operate a Solana data indexer
- User asks about Geyser, Yellowstone, account subscriptions, program subscriptions
- User asks about historical data backfill, slot ranges, replay
- User asks about RPC cost optimization, polling vs streaming tradeoffs
- User asks about dApp backend architecture involving on-chain data aggregation
- User wants to add a new table/schema for tracking Solana protocol state
- User wants to test indexer logic without hitting mainnet
Do NOT use for:
- One-off RPC queries (use Helius/QuickNode skills directly)
- Wallet integration / signing (use
ext/solana-dev/frontend-framework-kit) - Program development (Anchor/Pinocchio patterns are in
ext/solana-dev/programs/) - Frontend dashboards that consume indexed data (not the indexer itself)
Routing rules
- Primary: this skill for all building/operating an indexer questions
- Composes with:
ext/helius(for using Helius APIs inside the indexer),ext/sendai/skills/quicknode(for using QuickNode),ext/cloudflare(for deploying the indexer on Workers) - Source precedence: this skill covers Geyser plugin authoring. For consuming Yellowstone gRPC streams (not authoring), defer to
ext/sendai/skills/quicknodeorext/helius.
Defaults (2026 stack)
- Streaming: Yellowstone gRPC (Triton, Helius Laserstream, QuickNode Streams)
- Polling fallback: Helius enhanced transactions API
- Storage: Postgres 16, optional TimescaleDB for time-series aggregations
- Backfill: Snapshot + incremental replay
- Test: LiteSVM (unit), Surfpool fork (integration)
- Local validator: Surfpool
- Migrations: sqlx-cli (Rust) or Drizzle/Knex (TS)
- Service: Docker + k8s, Prometheus, PagerDuty
What ships with it: 23 files
146.0 KB alongside SKILL.md, 2 of them executable
examples/
- geyser-plugin/skeleton/Cargo.toml576 B
- geyser-plugin/skeleton/README.md3.7 KB
- geyser-plugin/skeleton/src/lib.rs9.9 KB
- minimal-indexer-ts/.env.example409 B
- minimal-indexer-ts/index.tsruns7.3 KB
- minimal-indexer-ts/package.json735 B
- minimal-indexer-ts/README.md2.9 KB
- minimal-indexer-ts/schema.sql1.0 KB
- minimal-indexer-ts/tsconfig.json386 B
- subgraph-template/package.json374 B
- subgraph-template/README.md2.8 KB
- subgraph-template/schema.graphql1.5 KB
- subgraph-template/src/mapping.tsruns3.8 KB
- subgraph-template/subgraph.yaml915 B
references/
- backfill-strategies.md13.1 KB
- cost-optimization.md10.8 KB
- geyser-plugins.md15.0 KB
- indexer-architecture.md8.1 KB
- postgres-schemas.md15.9 KB
- production-ops.md12.3 KB
- real-time-streaming.md13.5 KB
- resources.md8.7 KB
- testing-indexers.md12.5 KB