From noir
Patterns for Noir circuit development: data types, stdlib, workspace setup. Use when working with Noir circuits in any capacity unless otherwise specified
How this skill is triggered — by the user, by Claude, or both
Slash command
/noir:noir-developerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive patterns and best practices for Noir zero-knowledge circuit development.
circuit-dev/circuit-structure.mdcircuit-dev/data-types.mdcircuit-dev/generics.mdcircuit-dev/index.mdcircuit-dev/modules-and-imports.mdcircuit-dev/oracles.mdcircuit-dev/traits.mdcircuit-dev/unconstrained-functions.mdstdlib/collections.mdstdlib/cryptographic-primitives.mdstdlib/field-operations.mdstdlib/index.mdworkspace/dependencies.mdworkspace/index.mdworkspace/nargo-toml.mdworkspace/project-setup.mdComprehensive patterns and best practices for Noir zero-knowledge circuit development.
Navigate to the appropriate section based on your task:
Start with Circuit Structure for the basic template, then explore:
nargo init, directory structure, workflowFor detailed API documentation and code examples beyond what is covered here, use the Noir MCP tools.
| Tool | Purpose |
|---|---|
noir_sync_repos() | Clone/update Noir repos locally. Run first to enable searching. |
noir_status() | Check which repos are synced and their commit hashes |
noir_search_code({ query }) | Search Noir source code with regex patterns |
noir_search_docs({ query }) | Search Noir documentation |
noir_search_stdlib({ query }) | Search the Noir standard library |
noir_list_examples() | List available Noir example circuits |
noir_read_example({ name }) | Read full source code of an example |
noir_read_file({ path }) | Read any file from cloned repos by relative path |
noir_list_libraries() | List available Noir libraries |
User asks Noir question
|
noir_sync_repos() (if not done)
|
noir_search_code() / noir_search_docs() / noir_search_stdlib()
|
noir_read_example() if needed
|
Respond with VERIFIED current syntax
First, sync the repos (if not already done):
noir_sync_repos()
Search for code patterns:
noir_search_code({ query: "<pattern>", filePattern: "*.nr" })
Search the standard library:
noir_search_stdlib({ query: "poseidon" })
List and read examples:
noir_list_examples()
noir_read_example({ name: "<example-name>" })
Search documentation:
noir_search_docs({ query: "<question>" })
npx claudepluginhub critesjosh/noir-claude-plugin --plugin noirAztec smart contract development: Noir programming, testing, deployment, and TypeScript SDK integration. Includes common pitfalls and correct usage patterns for notes, private state, and public-private boundaries.
Guides implementing zero-knowledge proof verification on Stellar, covering Groth16 verifiers, BLS12-381, BN254, and toolchains like Circom, Noir, RISC Zero.
This skill should be used when the user asks about zero-knowledge proofs, ZK SNARKs, witness data, prover/verifier roles, constraint systems, proof generation, proof verification, privacy boundaries, or how Midnight uses ZK cryptography for transaction privacy and data protection.