calcifier
Calcifier turns Claude/Codex skills into executable Python workflows. Give it a
SKILL.md; it produces a recipe that you can read, review, run, and debug.
Python handles repeatable operations. Agents handle reasoning.
Why use it?
A skill is a set of instructions that an agent interprets each time it runs. That works well for exploration, but a recurring task often has a stable procedure: gather files, run a script, ask for a judgment, then write a report. Repeating that planning costs model calls and makes the procedure harder to inspect.
Calcifier makes the procedure explicit. For example, a review skill can become Python that selects files, calls an agent to assess them, validates the returned findings, and writes the report. You can change the file selection or report format without asking a model to invent the whole workflow again.
Use it for skills you run repeatedly, such as code reviews, data triage, and report generation, when you want:
- A workflow you own: ordinary Python functions and control flow that humans can maintain.
- Less repeated model work: file operations, scripts, transformations, and rendering execute directly in Python.
- Checked answers: agent responses are parsed into typed values with explicit validation and a bounded retry.
- Visible execution: budgets, permissions, artifacts, and traces make it easier to see what ran and where it failed.
Agent answers remain nondeterministic. Compilation checks catch mechanical errors; whether a recipe follows the skill and produces good answers needs testing on real tasks. Recipes execute Python on your host, so review generated code before granting trust.
Try it
Install from source until the first PyPI release. Requires Python 3.13+, uv, and an authenticated Claude or Codex CLI (or a custom agent adapter).
uv tool install git+https://github.com/trailofbits/calcifier.git
calcifier --version
Follow the quickstart to configure agent roles, compile a skill, review the generated recipe, and run it.
Compilation starts with a runnable baseline that gives one agent session the
intact skill and its resources. It then tries to move repeatable work into
Python. If that fails, it retains and labels the baseline; use
--require-compiled when you need compilation failure to exit nonzero.
The Claude Code plugin provides compilation, execution, debugging, and update skills:
/plugin marketplace add trailofbits/calcifier
/plugin install calcifier@calcifier
For local testing, use the checkout's absolute path as the marketplace.
Commands and documentation
| Command | Purpose |
|---|---|
calcify SKILL.md |
Compile a skill and package its resources. |
exec recipe.py |
Run a reviewed, trusted recipe. |
debug recipe.py |
Run with verbose diagnostics. |
update SKILL.md |
Compile a candidate and print a diff without changing the package. |
lint recipe.py --portable |
Check recipe and dependency contracts. |
build-graph build.json |
Compile dependencies and publish a closed catalog. |
profile run.json |
Summarize timings, attempts, prompt sizes, and token use. |
Use calcifier COMMAND --help for flags.
- Usage: setup, compilation, inputs, trust, outputs, and traces.
- Recipe authoring: typed answers, effects, budgets, parallel work, and composition.
- Providers: agent roles and custom agent/tool contracts.
- Architecture: compiler and runtime internals.
- Contributing: development, testing, and compiler replay.
Development
uv --no-config sync --all-groups --locked
gmake verify
See CONTRIBUTING.md and SUPPORT.md for contribution and support policies. Report vulnerabilities privately using SECURITY.md. Project interactions follow the Code of Conduct.
MIT, copyright Trail of Bits, Inc.
Metadata
Release files for calcifier 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| calcifier-0.1.1.tar.gz | 494.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| calcifier-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 678.6 kB
Release files / calcifier-0.1.1.tar.gz
| Download URL | calcifier-0.1.1.tar.gz |
|---|---|
| Size | 494.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8901b112c7023008265ed76372466469f6d0005773bfc9cb05bb17de39ec4fc2
|
|
BLAKE2b-256 checksum How to use checksums |
1d5918c8ae9938de0b2bee2bff63d9de2d49d8e1b3cc06e08780bb4f24d07e50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logRelease files / calcifier-0.1.1-py3-none-any.whl
| Download URL | calcifier-0.1.1-py3-none-any.whl |
|---|---|
| Size | 184.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7adf01172aa8b209ddf0f516200a1a4448092f88e990d65333e9b31331a53ae2
|
|
BLAKE2b-256 checksum How to use checksums |
98b030ed39543ee7c3991ab3de83374a91a6697e47526a4991a147d9bac0aeb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logSecurity for calcifier 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for calcifier-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.