Par2z — Development skill for Claude Code
A cleanroom reimplementation of the par2 error-correction algorithm, library and cli in Zig, based only on publicly-available specs (NOT its source code), and with a more permissive license, a C ABI w.
How to install Par2z
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open pmarreck/par2z and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Par2z does
A cleanroom reimplementation of the par2 error-correction algorithm, library and cli in Zig, based only on publicly-available specs (NOT its source code), and with a more permissive license, a C ABI wrapper, and a LuaJIT FFI example. Full test coverage. NOTE: gpt-5.2-codex and Claude Opus 4.5 AI assisted in parts.
Alternatives in Development
- Correction Handler — Correction 处理 Prompt 24k ★
- JWT Scan — JWT attack toolkit (offline) — alg:none forgery, RS256→HS256 algorithm confusion, weak-secret crack, static cl 4.5k ★
- Fidelity — Measure how faithfully a clone reproduces a site — pixel-diff plus motion-fidelity into one 0-100 score, a let 3.6k ★
README
par2z
[](https://garnix.io/repo/pmarreck/par2z) [](https://github.com/pmarreck/par2z/actions/workflows/ci.yml)
Overview
Cleanroom PAR2 implementation with a Zig core, C ABI for FFI (Swift/LuaJIT), and a standalone CLI.
API Layers
- High-level recovery/verification API in
src/core/api.zig. - Block-level API in
src/core/block_api.zigfor slice-by-slice workflows and custom storage backends. - Storage adapters in
src/core/storage.zig(memory-backed and file-backed) so recovery can run without loading whole files up front. - CLI operations moved into
src/ops.zig(callable from Zig and suitable for C/Swift wrappers).src/cli.zigis now a thin CLI parser + I/O shim.
C API Examples
The C ABI is declared in `include/par2.h`. Memory and stream inputs do not touch disk.
Thread pool configuration (optional): the library uses a global thread pool by default. You can configure the global pool size or supply your own pool handle via the C ABI. Handles are independent and safe to run concurrently. The only shared global state is the thread pool configuration, so set or swap pools before starting work and avoid changing it while operations are active.
Create from memory (no temp files), write `.par2` to a path:
#include "par2.h"
const uint8_t data[] = {0,1,2,3,4,5,6,7};
Par2CreateHandle *create = NULL;
par2_create_new(NULL, &create);
par2_create_add_memory(create, "data.bin", data, sizeof(data));
par2_create_set_output_path(create, "set.par2");
par2_create_run(create);
par2_create_destroy(create);
// optional: configure global pool size (0 = default)
par2_thread_pool_configure(0);
Verify from in-memory PAR2 bytes and a stream input:
#include "par2.h"
struct MemCtx { const uint8_t *data; size_t len; };
static size_t read_at(void *ctx, uint64_t off, uint8_t *o
Related Skills
Algorithm Recall
Recall canonical algorithm implementations from TheAlgorithms reference library (Python/JavaScript/TypeScript/
License
Check that every Python source file carries the required SPDX Apache-2.0 license header:
Research Like A Clown
A Claude Code writing skill with 28 documented research error patterns and traceable source records.
Docsmith Render Triage
Triage a docsmith render failure: read the captured error, decide whether it's a content bug (the source docum
Parquet Rewrite Row Groups
Rewrite existing parquet shards to enforce a row-group size cap without re-extracting from source. Use when th
Claude Code Playbooks
Free, open-source library of 1,179+ copy-paste CLAUDE.md playbooks for Claude Code — covering finance, marketi
Related Agents
OSS Maintainer
Mantiene la higiene open source de las piezas del paraguas ai-native (cli, skills, mcp). Úsalo antes de public
Module Builder
Implements one carrel module from its spec in specs/, including its tests. Use for building CLI command module
Certora Sui Move Verification
Converts structured invariant specifications into Certora Sui Prover Move specs using the CVLM library. Handle