build-data-pipeline — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited build-data-pipeline (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
# Suiperpower telemetry. Routes through the CLI so projects.json + Convex stay in sync.
# Silent on failure so the skill never blocks. Opt out: SUIPERPOWER_TELEMETRY=off.
#
# AGENT NOTE: when this skill finishes, run the matching completion command:
# suiperpower track build-data-pipeline build completed
# Or use "failed" / "aborted" if it ended that way.
command -v suiperpower >/dev/null 2>&1 && suiperpower track build-data-pipeline build started >/dev/null 2>&1 &
trueIf TEL_PROMPTED is no, before doing real work, ask the user:
Help suiperpower get better. We track which skills get used and how long they take. No code, no file paths, no PII. Change anytime in ~/.suiperpower/config.json.>
A) Sure, anonymous B) No thanks
Write the answer to ~/.suiperpower/config.json telemetryTier field and create ~/.suiperpower/.telemetry-prompted. Then continue.
Helps the user read, index, and monitor on-chain Sui data. Picks the right data access method (GraphQL RPC, event polling, custom indexer, or gRPC), implements the queries or indexer, and verifies that real data comes back before declaring done.
find-next-sui-idea first.scaffold-project first.build-with-move.ptb-composer.deepbook-orderbook (it has DeepBook-specific queries).If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
.suiperpower/build-context.md from scaffold-project. Read it if present.If unclear, interview the user for:
.graphql queries or inline TS query strings.sui-indexer-alt-framework..suiperpower/build-context.md: ## build-data-pipeline session, <timestamp>
- method: <graphql | event-polling | custom-indexer | grpc>
- data targets: <what is being indexed/queried>
- network: <mainnet | testnet | devnet>
- polling interval: <if applicable>
- third-party services: <if applicable>
- open issues: <list>.suiperpower/build-context.md if it exists.https://graphql.testnet.sui.io/graphql (or mainnet). Respect the limits: 5KB query size, 40s timeout, 300 nodes max, 50 items per page, cursor-based pagination.queryEvents with cursor tracking, descending order, and a persistence mechanism for the last-seen cursor.sui-indexer-alt-framework, configure the PostgreSQL schema, and write the pipeline handler.references/data-access-methods.md for code patterns.references/data-pipeline-pitfalls.md and fix any matching issues..suiperpower/build-context.md..suiperpower/intent.md exists and the session was non-trivial (new module, new sponsor integration, or material changes to public functions), recommend verify-against-intent as the next step so drift is caught before shipping.intent.md exists and the session was non-trivial, surface that gap once: offer clarify-intent to backfill, do not force it.| Use case | Method | When to pick |
|---|---|---|
| Read object state, balances, transaction history | GraphQL RPC | Default for most read-only queries. Best for hackathons. |
| React to Move events in near-real-time | Event polling (queryEvents) | Simplest real-time option. Good up to moderate event volume. |
| High-volume historical indexing, complex joins | Custom indexer (sui-indexer-alt-framework) | When you need PostgreSQL-backed analytics or full history. Rust + PostgreSQL required. |
| DeFi feed, exchange integration, low-latency streaming | gRPC API | Replacing JSON-RPC. Best for high-throughput, latency-sensitive consumers. |
| Quick prototyping without running infrastructure | Third-party (BlockVision, ZettaBlock) | When you want SQL or REST without running your own infra. |
Notes:
subscribeEvent is also deprecated. Use queryEvents polling instead.Before reporting done, the skill asks itself the following and refuses to declare success if any answer is no:
suix_* calls, no WebSocket subscribeEvent)?If any answer is no, the skill reports the gap and works through it before claiming the pipeline is complete.
On-demand references (load when relevant to the user's question):
references/data-access-methods.md: All 4 data access methods with code examples, endpoints, and limits.references/data-pipeline-pitfalls.md: Common mistakes with Sui data pipelines and how to avoid them.External docs (fetch at runtime for the latest API surface):
claude "/suiper:build-data-pipeline <your message>"codex "/build-data-pipeline <your message>"grok, then /build-data-pipeline <your message> in the session~/.cursor/rules/build-data-pipeline.mdc and reference it.If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.