agentleFS
PQBlocksPQBlocks/pqblocks-skills/skills/pqblocks/SKILL.md

pqblocks

Skill0 starsChanged 8 days agoApache-2.0View on GitHub

Post-quantum engineering with the PQBlocks packages. Use when adding, migrating or auditing cryptography for the quantum threat (ML-KEM / FIPS 203, ML-DSA / FIPS 204, SLH-DSA / FIPS 205, Kyber, Dilithium, hybrid X25519 + ML-KEM), signing or encrypting JWTs post-quantum, encrypting files post-quantum, finding RSA / ECC in code, producing a CBOM, CNSA 2.0 compliance, checking TLS for X25519MLKEM768, running NIST ACVP vectors, or solving QUBO / Ising / Max-Cut problems with quantum-inspired solvers.

  • Installs packages

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use the documented API only: Before writing code with a PQBlocks package, read its reference file below (or call the get_snippet tool of …

    line 14
  2. Distinctive:

    Never hand-roll post-quantum cryptography: Use the packages; they wrap maintained implementations (liboqs, pyca/cryptography).

    line 17
  3. Very specific:

    Randomness from the OS only: Never pass a seed argument when generating production keys.

    line 21
  4. Distinctive:

    Install lines: use the exact install line listed for each package.

    line 28
  5. Very specific:

    Discover: run pqblocks-scan on the code base (and pqblocks-tls-interop on endpoints).

    line 60

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<!-- GENERATED by scripts/gen_skills.py from data/catalog.json - do not edit by hand -->

PQBlocks: post-quantum engineering

PQBlocks is an open-source organisation that builds verified post-quantum (PQ) components: cryptography, migration and readiness tooling, protocol interoperability, conformance testing and quantum-inspired optimisation. 29 packages, Apache-2.0, docs at https://pqblocks.github.io.

Rules

  1. Use the documented API only. Before writing code with a PQBlocks package, read its reference file below (or call the get_snippet tool of the pqblocks-mcp server). Every quickstart there was executed against the package. Never guess function names.
  2. Never hand-roll post-quantum cryptography. Use the packages; they wrap maintained implementations (liboqs, pyca/cryptography).
  3. Hybrid by default during the transition: ML-KEM-768 + X25519 for key establishment, ML-DSA-65 + Ed25519 for signatures. Downgrade to classical-only must be explicit.
  4. Randomness from the OS only. Never pass a seed argument when generating production keys; seeds exist for reproducible tests.
  5. Never log or return secret keys or shared secrets (logs, exceptions, HTTP responses, repr).
  6. Say exactly what is true. PQBlocks packages implement FIPS 203/204/205 and test against official vectors where they exist. They are not FIPS 140-3 / CMVP validated, not externally audited, and pre-1.0. Never call them certified, validated, audited or quantum-proof.
  7. Quantum-inspired packages are optimisation, not cryptography. Never place them in a security path.
  8. Install lines: use the exact install line listed for each package; most install from GitHub until their PyPI release is published.

Which package for which task

TaskPackageInstallImport
ML-KEM / ML-DSA / SLH-DSA primitives (keygen, encapsulate, sign)pqblocks-primitivespip install pqblocks-primitivespqblocks_primitives
Hybrid ML-KEM-768 + X25519 key establishment, native speedpqblocks-corepip install git+https://github.com/PQBlocks/hybrid-sdkpqblocks_core
Sign or verify JWTs / JWS with ML-DSA; encrypt JWE with ML-KEMpqblocks-josepip install pqblocks-josepqblocks_jose
Encrypt files or byte strings to a post-quantum public keypqblocks-filespip install pqblocks-filespqblocks_files
Find RSA / ECC / weak hashes in code or a TLS endpoint; CBOM + SARIFpqblocks-scanpip install pqblocks-scanpqblocks_scan
Python crypto data-flow linting; CBOM + SARIFpqblocks-lintpip install pqblocks-lintpqblocks_lint
Enrich a CycloneDX CBOM with quantum-safety and CNSA 2.0 tagspqblocks-cbompip install pqblocks-cbompqblocks_cbom
Crypto-agility readiness score and CI regression gatepqblocks-agilitypip install pqblocks-agilitypqblocks_agility
Policy-as-code: fail CI on forbidden algorithmspqblocks-policypip install pqblocks-policypqblocks_policy
Audit which JWE / JOSE algorithms a gateway acceptspqblocks-jwe-auditpip install pqblocks-jwe-auditpqblocks_jwe_audit
CNSA 2.0 compliance evidence packpqblocks-cnsa-evidencepip install pqblocks-cnsa-evidencepqblocks_cnsa_evidence
Probe a TLS 1.3 endpoint for X25519MLKEM768; hybrid key-schedule checkspqblocks-tls-interoppip install pqblocks-tls-interoppqblocks_tls_interop
Binary container for ML-KEM ciphertexts and ML-DSA / SLH-DSA signaturespqblocks-wirepip install pqblocks-wirepqblocks_wire
Five-part hybrid JWE wire layout (serialise / parse only, no encryption)pqblocks-jwepip install pqblocks-jwepqblocks_jwe
ML-KEM certificate signing request with proof of possessionpqblocks-csr-poppip install pqblocks-csr-poppqblocks_csr_pop
Run NIST ACVP vectors against ML-KEM / ML-DSA implementationspqblocks-acvppip install pqblocks-acvppqblocks_acvp
Reject malformed or wrong-length FIPS 203/204 inputs at a boundarypqblocks-fips-checkpip install pqblocks-fips-checkpqblocks_fips_check
Verify post-quantum X.509 certificate chains in browser or Node.jspqblocks-browser-pqc-verifiernpm install git+https://github.com/PQBlocks/browser-pqc-verifier@pqblocks/browser-pqc-verifier
Build or convert QUBO / Ising modelspqblocks-qubopip install pqblocks-qubopqblocks_qubo
Solve QUBO / Ising / Max-Cut (Simulated Bifurcation)pqblocks-bifurcationpip install pqblocks-bifurcationpqblocks_bifurcation
Simulated annealing / quantum annealing / population annealing / QIEA solverspqblocks-anneal-sa, pqblocks-anneal-sqa, pqblocks-population-anneal, pqblocks-qieapip install pqblocks-anneal-sapqblocks_anneal_sa
Benchmark QUBO / Ising solvers (time-to-solution)pqblocks-qubo-benchpip install pqblocks-qubo-benchpqblocks_qubo_bench

Migration workflow

  1. Discover: run pqblocks-scan on the code base (and pqblocks-tls-interop on endpoints).
  2. Assess: enrich the CBOM with pqblocks-cbom; score with pqblocks-agility.
  3. Govern: gate CI with pqblocks-policy; build evidence with pqblocks-cnsa-evidence.
  4. Migrate: pqblocks-primitives / pqblocks-core for primitives, pqblocks-jose for tokens, pqblocks-files for files.
  5. Verify: pqblocks-acvp against NIST vectors; pqblocks-fips-check at input boundaries.

Reference files

Each file holds the package summary, install line, import, command-line entry points and its executed quickstart. Read the one you need before writing code.

  • pqblocks-core: Post-quantum hybrid cryptography core SDK with C shared libraries and policy enforcement.
  • pqblocks-files: Hybrid post-quantum file encryption: ML-KEM-768 plus X25519 key encapsulation with chunked ChaCha20-Poly1305 in the pfsh v1 format.
  • pqblocks-fips-dualmode: Dual-mode cryptographic abstraction switching between FIPS 140-3 classical crypto (ECDH/AES-GCM) and post-quantum crypto (ML-KEM/ML-DSA).
  • pqblocks-jose: Post-quantum hybrid JOSE library supporting ML-KEM and ML-DSA JWE and JWS tokens.
  • pqblocks-primitives: Production-ready integrated post-quantum cryptographic primitives (ML-KEM, ML-DSA, SLH-DSA, and hybrid schemes).
  • pqblocks-agility: Cryptographic Agility Readiness Scoring (CARS) and CI/CD regression firewall for CycloneDX 1.6 CBOM inventories.
  • pqblocks-cbom: CycloneDX 1.5 CBOM metadata enrichment engine injecting quantum-safe classifications and CNSA 2.0 compliance properties.
  • pqblocks-cnsa-evidence: CNSA 2.0 evidence pack generator for quantum-safe compliance, CBOM generation, and migration scheduling.
  • pqblocks-jwe-audit: High-throughput JSON Web Encryption (JWE) cryptographic policy auditor enforcing CNSA 2.0 and NIST FIPS 203 PQC standards.
  • pqblocks-lint: Static analysis for Python source that finds classical and post-quantum cryptographic primitives with a source-to-sink taint pass and reports them as a CycloneDX 1.6 CBOM or a SARIF 2.1.0 log.
  • pqblocks-policy: Policy-as-code engine for post-quantum cryptography compliance and CBOM verification.
  • pqblocks-scan: Cryptography inventory scanner: finds classical and post-quantum algorithms in source code or a TLS endpoint and writes a CycloneDX 1.6 CBOM, a SARIF 2.1.0 report and a readiness grade.
  • pqblocks-csr-pop: ML-KEM (FIPS 203) PKCS#10 Certificate Signing Request (CSR) generator with RFC 9883 Proof of Possession (PoP).
  • pqblocks-jwe: Compact five-part wire format, with a serializer and structural parser, for hybrid ML-KEM-768 + X25519 JWE-style tokens; it performs no encryption itself.
  • pqblocks-tls-interop: TLS 1.3 hybrid key exchange (X25519MLKEM768 / RFC 10024) endpoint probe, downgrade detector, and key material validator.
  • pqblocks-wire: Length-prefixed container format (PQCWF1) for ML-KEM ciphertexts and ML-DSA / SLH-DSA signatures, with thin wrappers over liboqs-python and pyca/cryptography; it implements no primitive itself.
  • pqblocks-acvp: Cross-implementation NIST ACVP conformance harness for FIPS 203 (ML-KEM) and FIPS 204 (ML-DSA).
  • pqblocks-browser-pqc-verifier: Post-quantum certificate and chain verifier for browsers and Node.js using ML-DSA/SLH-DSA from @noble/post-quantum.
  • pqblocks-fips-check: FIPS 203/204 boundary validator and hybrid key exchange (X25519 + ML-KEM-768) with ML-DSA-65 signatures and CBOM reporting.
  • pqblocks-anneal-sa: Simulated Annealing heuristic solver for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.
  • pqblocks-anneal-schedule: Quantum-inspired instance-adaptive simulated annealing with statistics-driven schedule generation for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.
  • pqblocks-anneal-sqa: Simulated Quantum Annealing (Path-Integral Monte Carlo via Suzuki-Trotter decomposition) heuristic solver for Ising and QUBO optimization. Quantum-inspired classical optimization, not cryptography.
  • pqblocks-bifurcation: Simulated Bifurcation (ballistic and discrete) heuristic solver for Ising and QUBO problems. Quantum-inspired classical optimization, not cryptography.
  • pqblocks-digital-anneal: Digital Annealer-style parallel-trial heuristic solver for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.
  • pqblocks-population-anneal: Population Annealing Monte Carlo heuristic solver for Ising models and QUBO combinatorial optimization. Quantum-inspired classical optimization, not cryptography.
  • pqblocks-qiea: Quantum-Inspired Evolutionary Algorithm (QIEA) with Q-bit representations and quantum rotation gates for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.
  • pqblocks-qubo: Unified mathematical representation and converter library for Quadratic Unconstrained Binary Optimization (QUBO) and Ising formulations.
  • pqblocks-qubo-bench: Benchmarking harness and standard instance loaders for quantum-inspired optimization algorithms against classical baselines.
  • pqblocks-sparse-bifurcation: Sparse Discrete Simulated Bifurcation (dSB) heuristic solver for large-scale Ising and QUBO combinatorial optimization.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.