noir
Domain knowledge for zero-knowledge circuit design with Noir. For Noir language
syntax patterns (types, modules, generics), see droo-stack's noir-patterns rule.
This skill covers the why of ZK: circuit architecture, security pitfalls,
Aztec integration, and testing strategy.
What You Get
- Circuit architecture and constraint optimization patterns
- ZK-specific security: privacy leaks, oracle safety, nullifier attacks
- Systematic circuit audit methodology (spec-to-constraint mapping, completeness, privacy analysis)
- Aztec contract integration (notes, storage, account abstraction)
- Testing strategy: nargo tests, e2e setup, cross-chain messaging
- Constrained vs unconstrained computation guidance
When to use
This skill activates when working on ZK circuit design, proof systems, or Aztec
contracts. It complements droo-stack (which covers Noir syntax) with domain
knowledge that requires ZK expertise.
When NOT to use
- For Noir language syntax only (types, modules, generics) -- use droo-stack
- For Solidity smart contracts -- use solidity-auditor
- For general Ethereum tooling -- use ethskills
See also
droo-stack -- for Noir language syntax (types, modules, generics)
solidity-auditor -- for Solidity verifier contracts that consume Noir proofs
zk-x-ray -- for pre-audit reports on ZK + EVM hybrid protocols (Noir + Solidity)
ethskills -- for Ethereum ecosystem tooling and standards
Reading guide
| Working on |
Read |
| Circuit design, constraint optimization |
circuits/constrained |
| Oracle calls, unconstrained computation |
circuits/unconstrained |
| Privacy leaks, public/private input design |
security/privacy |
| Unconstrained return safety, oracle verification |
security/oracle-safety |
| Circuit audit methodology, spec compliance |
security/circuit-audit |
| Aztec-specific attacks: nullifiers, MEV, leakage |
security/aztec-contracts |
| Aztec contract structure, notes, storage |
aztec/contracts |
| Account abstraction, access control, keys |
aztec/accounts |
| Testing with nargo, proof vs execution |
testing/nargo |
| Aztec e2e test setup, accounts, deployment |
testing/e2e-setup |
| Token testing, AuthWit, balance assertions |
testing/e2e-token |
| Cross-chain L1/L2, event testing |
testing/e2e-messaging |
1---2name: noir3description: Zero-knowledge circuit design with Noir (Aztec's ZK DSL). TRIGGER when: working with .nr files, Nargo.toml, ZK circuits/proofs, Aztec contracts, zoir extension, or discussing zero-knowledge proof design. Covers circuit architecture, constraint optimization, ZK-specific security, and Aztec integration. DO NOT TRIGGER when: only Noir language syntax is needed (droo-stack handles that), working with Solidity only (use solidity-auditor skill), or hybrid Solidity + Noir projects with both foundry.toml and Nargo.toml (use zk-x-ray skill).4---56# noir78Domain knowledge for zero-knowledge circuit design with Noir. For Noir language9syntax patterns (types, modules, generics), see droo-stack's noir-patterns rule.10This skill covers the **why** of ZK: circuit architecture, security pitfalls,11Aztec integration, and testing strategy.1213## What You Get1415- Circuit architecture and constraint optimization patterns16- ZK-specific security: privacy leaks, oracle safety, nullifier attacks17- Systematic circuit audit methodology (spec-to-constraint mapping, completeness, privacy analysis)18- Aztec contract integration (notes, storage, account abstraction)19- Testing strategy: nargo tests, e2e setup, cross-chain messaging20- Constrained vs unconstrained computation guidance2122## When to use2324This skill activates when working on ZK circuit design, proof systems, or Aztec25contracts. It complements droo-stack (which covers Noir syntax) with domain26knowledge that requires ZK expertise.2728## When NOT to use2930- For Noir language syntax only (types, modules, generics) -- use droo-stack31- For Solidity smart contracts -- use solidity-auditor32- For general Ethereum tooling -- use ethskills3334## See also3536- `droo-stack` -- for Noir language syntax (types, modules, generics)37- `solidity-auditor` -- for Solidity verifier contracts that consume Noir proofs38- `zk-x-ray` -- for pre-audit reports on ZK + EVM hybrid protocols (Noir + Solidity)39- `ethskills` -- for Ethereum ecosystem tooling and standards4041## Reading guide4243| Working on | Read |44| ------------------------------------------------ | ------------------------------------------------------- |45| Circuit design, constraint optimization | [circuits/constrained](circuits/constrained.md) |46| Oracle calls, unconstrained computation | [circuits/unconstrained](circuits/unconstrained.md) |47| Privacy leaks, public/private input design | [security/privacy](security/privacy.md) |48| Unconstrained return safety, oracle verification | [security/oracle-safety](security/oracle-safety.md) |49| Circuit audit methodology, spec compliance | [security/circuit-audit](security/circuit-audit.md) |50| Aztec-specific attacks: nullifiers, MEV, leakage | [security/aztec-contracts](security/aztec-contracts.md) |51| Aztec contract structure, notes, storage | [aztec/contracts](aztec/contracts.md) |52| Account abstraction, access control, keys | [aztec/accounts](aztec/accounts.md) |53| Testing with nargo, proof vs execution | [testing/nargo](testing/nargo.md) |54| Aztec e2e test setup, accounts, deployment | [testing/e2e-setup](testing/e2e-setup.md) |55| Token testing, AuthWit, balance assertions | [testing/e2e-token](testing/e2e-token.md) |56| Cross-chain L1/L2, event testing | [testing/e2e-messaging](testing/e2e-messaging.md) |