Source profileQuality 80/100

xuzhougeng/wisp-science/skills/boltz/SKILL.md

boltz

Structure prediction for protein, nucleic-acid, and small-molecule complexes with Boltz-2 (Passaro & Wohlwend et al. 2025, github.com/jwohlwend/boltz). Reach for this skill to validate designed binders against a target, to co-fold a protein with a SMILES or CCD ligand, or to get an open-source AlphaFold3 alternative with optional binding-affinity prediction.

Source repository stars
560
Declared platforms
0
Static risk flags
1
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Boltz-2 is the open-weights diffusion co-folder closest in surface to AlphaFold3: a YAML describing protein, DNA, RNA, and ligand chains in, mmCIF plus pTM/ipTM/pLDDT confidences out, with an optional small-molecule affinity head. Among our four co-fold skills it is the default…

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/xuzhougeng/wisp-science --skill "skills/boltz"
    Safe inspection promptEditorial

    Inspect the Agent Skill "boltz" from https://github.com/xuzhougeng/wisp-science/blob/95d2c13d1665d46a388b5bdc998dcce0d5ec2eee/skills/boltz/SKILL.md at commit 95d2c13d1665d46a388b5bdc998dcce0d5ec2eee. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Running it

      Review the “Running it” section in the pinned source before continuing.

      Review and apply the “Running it” source section.
    2. 02

      complex.yaml

      version: 1 sequences: - protein: id: A sequence: MVTPEGNVSLVDESLLVGVTDEDRAVRS... target - protein: id: B sequence: AIQRTPKIQVYSRHPAENG... binder - ligand: id: L smiles: 'NC@@Hcc1)C(=O)O' or ccd: SAH bash boltz predict complex.yaml \ --usemsaserver --outdir out/ --recyclingsteps…

      protein:ligand:affinity:
    3. 03

      Affinity head

      Add a properties: block naming one ligand chain as the binder and Boltz-2 predicts protein–small-molecule binding affinity alongside the structure:

      Add a properties: block naming one ligand chain as the binder and Boltz-2 predicts protein–small-molecule binding affinity alongside the structure:Output gains affinitycomplex.json next to the confidence file: affinitypredvalue is log10(IC50 in μM) — lower is tighter (≈0 → 1 μM, −3 → 1 nM); affinityprobabilitybinary is the 0–1 binder-vs-non-binder score and is wha…
    4. 04

      msa: empty is an accuracy hit, not a memory save

      Single-sequence mode has been suggested elsewhere as a way to fit smaller GPUs. It does not help: the MSA search is CPU-side, so --usemsaserver versus msa: empty changes nothing about peak VRAM. If you OOM, lower --diffusionsamples or --maxparallelsamples, or move to an 80 GB ti…

      Single-sequence mode has been suggested elsewhere as a way to fit smaller GPUs. It does not help: the MSA search is CPU-side, so --usemsaserver versus msa: empty changes nothing about peak VRAM. If you OOM, lower --diff…
    5. 05

      Missing fast kernels are slow, not fatal

      ImportError for cuequivarianceopstorch or its libcueops.so means the compiled triangle-kernel package is not on the loader path. --nokernels falls back to the reference PyTorch path — roughly 2× slower, numerically identical, so it is the right unblock for a one-off and the wron…

      ImportError for cuequivarianceopstorch or its libcueops.so means the compiled triangle-kernel package is not on the loader path. --nokernels falls back to the reference PyTorch path — roughly 2× slower, numerically iden…

    Permission review

    Static risk signals and limitations

    Reads files

    low · line 3

    The documentation asks the agent to read local files, directories, or repositories.

    Boltz-2 is the open-weights diffusion co-folder closest in surface to

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score80/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars560SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    xuzhougeng/wisp-science
    Skill path
    skills/boltz/SKILL.md
    Commit
    95d2c13d1665d46a388b5bdc998dcce0d5ec2eee
    License
    AGPL-3.0
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    Boltz-2

    Boltz-2 is the open-weights diffusion co-folder closest in surface to AlphaFold3: a YAML describing protein, DNA, RNA, and ligand chains in, mmCIF plus pTM/ipTM/pLDDT confidences out, with an optional small-molecule affinity head. Among our four co-fold skills it is the default for binder-validation campaigns — fully open MIT weights and the fastest sampler; pick chai1 when you want a second independent model for consensus, openfold3 when AF3-faithful settings matter, and esmfold2 when you can live without an MSA. Code and weights are MIT (PyPI boltz, github.com/jwohlwend/boltz).

    Running it

    # complex.yaml
    version: 1
    sequences:
      - protein:
          id: A
          sequence: MVTPEGNVSLVDESLLVGVTDEDRAVRS...   # target
      - protein:
          id: B
          sequence: AIQRTPKIQVYSRHPAENG...            # binder
      - ligand:
          id: L
          smiles: 'N[C@@H](Cc1ccc(O)cc1)C(=O)O'      # or  ccd: SAH
    
    boltz predict complex.yaml \
        --use_msa_server --out_dir out/ --recycling_steps 3 --diffusion_samples 5
    

    Each protein chain needs an MSA; without one the run exits before the model loads. --use_msa_server queries api.colabfold.com (expect a 30–90 s pause per chain) and is the right default unless you already have an .a3m to name under msa: in the YAML. Setting msa: empty forces single-sequence mode — that is an accuracy sacrifice, not a speed or memory optimization, because the MSA search runs on CPU before the GPU stage starts.

    Per input the output lands at out/boltz_results_complex/predictions/complex/. Read confidence_complex_model_0.json first: iptm > 0.5 is the community pass line for an interface, complex_plddt > 0.7 for the fold itself, and confidence_score is the weighted aggregate the structures are ranked by. Structures themselves are complex_model_{0..N-1}.cif (or .pdb with --output_format pdb).

    Affinity head

    Add a properties: block naming one ligand chain as the binder and Boltz-2 predicts protein–small-molecule binding affinity alongside the structure:

    properties:
      - affinity:
          binder: L            # the ligand chain id, not the protein
    

    Output gains affinity_complex.json next to the confidence file: affinity_pred_value is log10(IC50 in μM) — lower is tighter (≈0 → 1 μM, −3 → 1 nM); affinity_probability_binary is the 0–1 binder-vs-non-binder score and is what to rank hits by. One affinity ligand per input; the binder must be a ligand chain (no protein–protein affinity), and Boltz v2.2.x caps affinity ligands at 128 atoms. FASTA inputs cannot request affinity at all.

    msa: empty is an accuracy hit, not a memory save

    Single-sequence mode has been suggested elsewhere as a way to fit smaller GPUs. It does not help: the MSA search is CPU-side, so --use_msa_server versus msa: empty changes nothing about peak VRAM. If you OOM, lower --diffusion_samples or --max_parallel_samples, or move to an 80 GB tier; do not trade away the MSA for it.

    Missing fast kernels are slow, not fatal

    ImportError for cuequivariance_ops_torch or its libcue_ops.so means the compiled triangle-kernel package is not on the loader path. --no_kernels falls back to the reference PyTorch path — roughly 2× slower, numerically identical, so it is the right unblock for a one-off and the wrong choice for a campaign.

    Wisp execution

    Use python only for bounded interactive checks. For a long or GPU-backed workload, require a selected and probed ssh:<alias> context and load remote-compute-ssh. Put the documented invocation in a self-contained project script, activate the remote environment explicitly, stage only small files with input_paths, and make the command write to a known absolute remote result path. Submit it with run_in_context and register that exact ssh:// path in output_specs. Call monitor_run once when waiting is needed, get_run once for a snapshot, or cancel_run to stop. Do not send a scheduler submission through the SSH-direct runner.

    Errors worth recognizing

    You seeIt means / do this
    Missing MSA's in input and --use_msa_server flag not setA protein chain has no MSA — add --use_msa_server or set msa: to an .a3m path in the YAML.
    ImportError: ... cuequivariance_ops_torch / libcue_ops.soFast-kernel wheel not visible — add --no_kernels (slower, correct) or fix the env's LD_LIBRARY_PATH.
    KeyError: 'iptm' reading the confidence JSONSingle-chain input — ipTM is interface-only; read ptm instead.
    No affinity_*.json in outputUsed FASTA input, or the YAML is missing the properties: block — see Affinity head above.

    Next: compute clash and interface metrics on passing complexes, or feed them back to proteinmpnn for another design round.