From hl-design-systems
Guide developers through brainstorming ZK use cases, understanding zkVerify benefits, choosing the right proof system (Groth16, Noir, Risc Zero, SP1, Plonky2, EZKL, Fflonk), and designing architecture for privacy apps, zkML/AI, and cross-chain bridges. Use when users mention zkVerify, ZK proofs, privacy applications, proof verification, or want to explore adding ZK capabilities to their projects.
npx claudepluginhub horizenlabs/hl-claude-marketplace --plugin hl-design-systemsThis skill uses the workspace's default tool permissions.
Help developers ideate, understand, and design zero-knowledge proof applications using zkVerify - a specialized L1 blockchain for ZK proof verification.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Performs token-optimized structural code search using tree-sitter AST parsing to discover symbols, outline files, and unfold code without reading full files.
Help developers ideate, understand, and design zero-knowledge proof applications using zkVerify - a specialized L1 blockchain for ZK proof verification.
When helping users choose a proof system, consider:
| Use Case | Recommended Proof System | Why |
|---|---|---|
| General circuits | Groth16 (BN128/BN254) | Most mature, smallest proofs, widely used |
| zkML / AI inference | EZKL | Purpose-built for ML models |
| General computation | Risc Zero or SP1 | Write Rust, no circuit knowledge needed |
| Noir-based apps | UltraHonk | Modern, developer-friendly DSL |
| High-throughput | Plonky2 | Fast proving, recursive-friendly |
| Polygon zkEVM | Fflonk | Polygon-compatible |
Reference the detailed comparison in proof-selection.md.
See detailed use cases in use-cases.md.
[Your App] → [Generate Proof] → [zkVerify Chain] → [Query Result]
Best for: Testing, zkVerify-native apps, internal verification
[Your App] → [Generate Proof] → [zkVerify Chain] → [Aggregation] → [L1 Contract] → [Verify Merkle Proof]
Best for: dApps on Ethereum/Base/Arbitrum needing cheap proof verification
[L1 dApp] → [Critical proofs: L1 verify] + [Bulk proofs: zkVerify]
Best for: High-volume apps with mixed verification requirements
See detailed patterns in architecture-patterns.md.
START
│
├─ Do you need on-chain verification on Ethereum/Base/etc?
│ ├─ YES → Use zkverify-attestation pattern
│ │ (proofs aggregated, attested to L1)
│ └─ NO → Use zkverify-direct pattern
│ (verify directly on zkVerify chain)
│
├─ Which integration method?
│ ├─ Simplest (REST API) → zkverify-kurier
│ ├─ Full control (JS/TS) → zkverify-sdk
│ └─ Low-level/custom → zkverify-rpc
│
└─ Which proof system? (See selection guide above)
Define your use case
Choose proof system
Design architecture
Implementation
zkverify-groth16, zk-noir-builder, zk-risczero-builder, zk-sp1-builder, zk-plonky2-builder, zk-ezkl-builder, zk-fflonk-builderzkverify-sdk, zkverify-kurier, zkverify-rpczkverify-direct, zkverify-attestationzkverify-contractsWhen users ask about:
Use web search to get current information, as the ZK ecosystem evolves rapidly.