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
| Topic |
Description |
Reference |
| Floor planning |
SimpleFloorPlanner, choosing k, regions |
best-practices-floor-planning |
1---2name: halo23description: Skills for building and debugging PLONK circuits with halo2_proofs (zcash/halo2)4---56> The skill is based on halo2 (halo2_proofs) at the version recorded in GENERATION.md, generated at 2026-02-24.78halo2 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.910## Core References1112| Topic | Description | Reference |13|-------|-------------|-----------|14| Circuit API | Circuit trait, configure, synthesize, FloorPlanner | [core-circuit-api](references/core-circuit-api.md) |15| Constraint system | Columns, gates, equality, lookups | [core-constraint-system](references/core-constraint-system.md) |16| Chip and region | Chip trait, Region, Layouter, assign_region, copy_advice | [core-chip-and-region](references/core-chip-and-region.md) |17| Columns and values | Column types, Value, Assigned, AssignedCell, Rotation | [core-columns-and-values](references/core-columns-and-values.md) |1819## Features2021| Topic | Description | Reference |22|-------|-------------|-----------|23| Lookup tables | Lookup argument, TableColumn, TableLayouter | [features-lookup-tables](references/features-lookup-tables.md) |24| Keygen, prover, verifier | Params, keygen_vk/keygen_pk, create_proof, verify_proof | [features-keygen-prover-verifier](references/features-keygen-prover-verifier.md) |25| Mock prover | MockProver::run, verify(), VerifyFailure | [features-mock-prover](references/features-mock-prover.md) |26| Parallelism | RAYON_NUM_THREADS, multicore feature | [features-parallelism](references/features-parallelism.md) |2728## Best practices2930| Topic | Description | Reference |31|-------|-------------|-----------|32| Floor planning | SimpleFloorPlanner, choosing k, regions | [best-practices-floor-planning](references/best-practices-floor-planning.md) |