The skill is based on halo2 (halo2_proofs) at the version recorded in GENERATION.md, generated at 2026-02-24.
halo2 is a Rust library for building PLONK-based zero-knowledge proofs. The main crates are halo2_proofs (circuit API, keygen, prover, verifier) and halo2_gadgets (reusable gadgets). This skill focuses on agent-oriented usage: defining circuits, configuring constraints, assigning witnesses, and debugging with the mock prover.
Core References
| Topic |
Description |
Reference |
| Circuit API |
Circuit trait, configure, synthesize, FloorPlanner |
core-circuit-api |
| Constraint system |
Columns, gates, equality, lookups |
core-constraint-system |
| Chip and region |
Chip trait, Region, Layouter, assign_region, copy_advice |
core-chip-and-region |
| Columns and values |
Column types, Value, Assigned, AssignedCell, Rotation |
core-columns-and-values |
Features
| Topic |
Description |
Reference |
| Lookup tables |
Lookup argument, TableColumn, TableLayouter |
features-lookup-tables |
| Keygen, prover, verifier |
Params, keygen_vk/keygen_pk, create_proof, verify_proof |
features-keygen-prover-verifier |
| Mock prover |
MockProver::run, verify(), VerifyFailure |
features-mock-prover |
| Parallelism |
RAYON_NUM_THREADS, multicore feature |
features-parallelism |
Best practices