Multi-objective, gradient-based protein binder design with Mosaic.

MITAuto-check passedResearch & Science

Install Mosaic

skills CLI
$ npx skills add adaptyvbio/protein-design-skills --skill mosaic -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install adaptyvbio/protein-design-skills mosaic --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/adaptyvbio/protein-design-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mosaic .claude/skills/mosaic && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mosaic
GitHub stars
164
Used in
1 other repo
Token cost
~1.7k tokens
SKILL.md length
616 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

Multi-objective, gradient-based protein binder design with Mosaic.

  • Composing several structure
  • SKILL.md covers When Mosaic fits, Prerequisites, Install and Core idea, plus 4 more sections
  • Calls uv and git; reaches github.com
  • Sequence models into one design objective

What it does

Mosaic is an agent skill from adaptyvbio/protein-design-skills. Multi-objective, gradient-based protein binder design with Mosaic. Use this skill when: (1) Composing several structure or sequence models into one design objective, (2) Optimizing binders against a custom loss rather than a fixed pipeline, (3) Wanting gradient descent over sequence space in the style of ColabDesign, RSO, or BindCraft but with interchangeable predictors, (4) Letting the optimizer choose the epitope instead of fixing hotspots. For an end-to-end binder pipeline with default filters, use bindcraft…

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Research & Science, covering Protein structure and design. It works with Python. The repository describes itself as: Claude Code skills for protein design. The licence is MIT.

When your agent uses it

  • Composing several structure
  • Sequence models into one design objective
  • Optimizing binders against a custom loss rather than a fixed pipeline
  • Wanting gradient descent over sequence space in the style of ColabDesign

Example prompts

  • “/mosaic”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 59dd633. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    Also links to:

    • blog.escalante.bio

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mosaic loads about 1.7k tokens when it runs. Until then it costs about 154 tokens; SKILL.md has 616 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~154
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from adaptyvbio/protein-design-skills at commit 59dd633, republished under its MIT licence (© adaptyvbio). 616 words, ~1,660 tokens.

Download SKILL.mdSave it as .claude/skills/mosaic/SKILL.md (or your agent's skills folder).
name
mosaic
description
Multi-objective, gradient-based protein binder design with Mosaic. Use this skill when: (1) Composing several structure or sequence models into one design objective, (2) Optimizing binders against a custom loss rather than a fixed pipeline, (3) Wanting gradient descent over sequence space in the style of ColabDesign, RSO, or BindCraft but with interchangeable predictors, (4) Letting the optimizer choose the epitope instead of fixing hotspots. For an end-to-end binder pipeline with default filters, use bindcraft. For all-atom diffusion design, use boltzgen. For backbone-only generation, use rfdiffusion.
license
MIT
category
design-tools
tags
design, gradient-optimization, multi-objective, jax, binder

Mosaic Multi-Objective Design

Mosaic (Escalante Bio) is a JAX framework for "functional, multi-objective protein design using continuous relaxation." It optimizes a soft sequence by gradient descent over a continuous relaxation of sequence space, in the lineage of ColabDesign, RSO, and BindCraft, with one key difference: it composes multiple learned objectives from different models in a single differentiable loss.

When Mosaic fits

Mosaic is a framework for custom objectives, not a one-click method. The README is explicit: it "may require substantial hand-holding (tuning learning rates, etc), often produces proteins that fail simple in-silico tests, [and] should be combined with standard filtering methods." Reach for it when a fixed pipeline cannot express the objective you need. For a turnkey binder run, use bindcraft instead.

Prerequisites

RequirementMinimumRecommended
Python3.11+3.11
FrameworkJAX with CUDA or TPUJAX CUDA 12
GPU VRAM24GB48GB+ (depends on predictors used)

JIT compilation makes the first call to any loss slow; later calls are fast.

Install

Mosaic runs locally on a JAX GPU or TPU build. It has no CLI and no Modal integration; you drive it through the marimo notebooks or the Python API.

bash
git clone https://github.com/escalante-bio/mosaic && cd mosaic
uv sync --group jax-cuda      # or --group jax-tpu / --group jax-cpu
uv add jax[cuda12]            # may be needed for a GPU build
uv run marimo edit examples/example_notebook.py

Ready-made examples include esmfold_minibinder.py, esmfold_vhh.py, boltzgen_pipeline.py, and batched_protenix.py.

Core idea

A design objective is built from LossTerm objects that you add and scale with plain Python arithmetic, then hand to an optimizer.

python
import mosaic.losses.structure_prediction as sp

# Compose a loss from interface, confidence, and inverse-folding terms
design_loss = (
    sp.BinderTargetContact()
    + sp.WithinBinderContact()
    + 0.05 * sp.TargetBinderPAE()
    + 0.05 * sp.BinderTargetPAE()
    + 0.025 * sp.IPTMLoss()
    + 0.1 * sp.PLDDTLoss()
)

Loss terms can wrap one model used several ways (for example a structure predictor scoring both the binder-target complex and the binder as a monomer). Composing different architectures also lowers the chance of finding adversarial sequences that fool a single predictor.

What you can compose
CategoryOptions
Structure predictorsAF2, Boltz-1, Boltz-2, Protenix, OpenFold3, ESMFold2
Generative / designBoltzGen, Proteina-Complexa
Inverse foldingProteinMPNN, SolubleMPNN, AbMPNN
Language modelsESM-2, ESM-C, AbLang, trigram
Property headsStability (megascale-trained)
Optimizers
OptimizerUse
simplex_APGMDefault; proximal gradient / mirror descent on the probability simplex
batched_simplex_APGMThe same, vmapped over many designs
gradient_MCMCDiscrete moves for fine-tuning a sequence

A reasonable simplex_APGM step size is about 0.1 * sqrt(binder_length).

Show full SKILL.md (284 more words)Show less

Worked example: ranking with ipSAE

The published Nipah competition recipe optimizes a design loss on Boltz-2, then ranks candidates with a separate multi-sample loss built from ipTM and ipSAE. The multi-sample loss is a method on the Boltz2 model, not a free function:

python
from mosaic.models.boltz2 import Boltz2

boltz2 = Boltz2()
ranking_loss = boltz2.build_multisample_loss(
    loss=1.00 * sp.IPTMLoss()
    + 0.5 * sp.TargetBinderIPSAE()
    + 0.5 * sp.BinderTargetIPSAE(),
    features=design_features,
    num_samples=6,
    recycling_steps=3,
)

On the Adaptyv Nipah de novo target, this recipe produced 8 binders out of 9 tested designs at nanomolar affinity, the highest hit-rate of any method on that target in the public results. That is a small, expert-tuned sample on one hard target, not a guarantee across targets, so treat Mosaic as a high-ceiling option that rewards careful objective design rather than a turnkey default.

Two practices from that work are worth carrying over:

  • Let the optimizer choose the epitope. Asking for a binder, without fixing hotspots, can find a better interface than a manually chosen one.
  • Match filter stringency to assay throughput. With high-throughput testing, filter lightly to keep diversity rather than applying heavy consensus filters that can reject good binders.

Decision tree

Should I use Mosaic?
│
├─ Need a custom objective across multiple models? → Mosaic
├─ Want one-click binders with default filters?    → bindcraft
├─ Want all-atom diffusion design?                  → boltzgen
└─ Want backbone-only diversity?                    → rfdiffusion + proteinmpnn

Cost

Adaptyv's own tests of these models showed Mosaic costing about $0.55 per accepted design, averaged across 7 targets, among the cheapest per design of the methods tested. That is compute only; the setup and tuning effort is the real cost of using Mosaic.

Troubleshooting

IssueCauseFix
Designs fail simple in-silico checksUnder-constrained objectiveAdd inverse-folding and confidence terms; filter with protein-qc
Optimization unstableStep size too largeLower the simplex_APGM step size
First call very slowJIT compilationExpected; reuse the compiled loss across designs
OOM with large predictorsSeveral models in one lossUse smaller predictors or a larger GPU

Next: Validate designs with boltz or chai, rank with ipsae, then filter with protein-qc.

© adaptyvbio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/mosaic of adaptyvbio/protein-design-skills.

Open the folder on GitHubat commit 59dd633

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in adaptyvbio/protein-design-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Mosaic next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mosaic compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mosaic this skilladaptyvbio/protein-design-skills1641 repos~1.7kAutomated safety check: PassMIT
DiffDock Molecular DockingK-Dense-AI/scientific-agent-skills48k1 repos~3kAutomated safety check: NotesMIT
Ggetdavila7/claude-code-templates32k10 repos~6.3kAutomated safety check: PassMIT
Chai1JimLiu/science-skills2274 repos~1.2kAutomated safety check: PassApache-2.0
Alphafold3VectorSpaceLab/AREX-Skill330—~1.2kAutomated safety check: PassApache-2.0
Molecular DynamicsK-Dense-AI/scientific-agent-skills48k1 repos~4.7kAutomated safety check: PassMIT

Similar skills

  • DiffDock Molecular Docking

    K-Dense-AI/scientific-agent-skills

    Predicts how small molecules bind to a protein with DiffDock, covering batch docking, pose ranking by confidence and checks on the results; not for binding affinity.

    48k GitHub starsUsed in 1 repo~3k tokens
    Research & ScienceAuto-check: notes
  • Gget

    davila7/claude-code-templates

    CLI/Python toolkit for rapid bioinformatics queries. An agent skill from davila7/claude-code-templates.

    32k GitHub starsUsed in 10 repos~6.3k tokens
    Research & ScienceAuto-check passed
  • Chai1

    JimLiu/science-skills

    Structure prediction for protein, nucleic-acid, and small-molecule complexes with the Chai-1 foundation model (Chai Discovery 2024, github.com/chaidiscovery/chai-lab).

    227 GitHub starsUsed in 4 repos~1.2k tokens
    Research & ScienceAuto-check passed
  • Alphafold3

    VectorSpaceLab/AREX-Skill

    A skill your agent uses for AlphaFold 3 input preparation, prediction command planning, output interpretation, and Python API inspection.

    330 GitHub stars~1.2k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Molecular Dynamics

    K-Dense-AI/scientific-agent-skills

    Runs and analyzes molecular dynamics simulations with OpenMM and MDAnalysis.

    48k GitHub starsUsed in 1 repo~4.7k tokens
    Research & ScienceAuto-check passed
  • Bio Immunoinformatics Epitope Prediction

    FreedomIntelligence/OpenClaw-Medical-Skills

    Predict B-cell and T-cell epitopes using BepiPred, IEDB tools, and structure-based methods for vaccine and antibody design.

    3.1k GitHub starsUsed in 1 repo~2.1k tokens
    Research & ScienceAuto-check passed

More from adaptyvbio/protein-design-skills

All 24 skills in this repo
  • Alphafold

    adaptyvbio/protein-design-skills

    Validate protein designs using AlphaFold2 structure prediction.

    164 GitHub starsUsed in 3 repos~1.2k tokens
    Auto-check passed
  • Bindcraft

    adaptyvbio/protein-design-skills

    End-to-end binder design using BindCraft hallucination. An agent skill from adaptyvbio/protein-design-skills.

    164 GitHub starsUsed in 3 repos~1.3k tokens
    Auto-check passed
  • Binder Design

    adaptyvbio/protein-design-skills

    Guidance for choosing the right protein binder design tool. An agent skill from adaptyvbio/protein-design-skills.

    164 GitHub starsUsed in 3 repos~1.8k tokens
    Auto-check passed
  • Boltzgen

    adaptyvbio/protein-design-skills

    All-atom protein design using BoltzGen diffusion model. An agent skill from adaptyvbio/protein-design-skills.

    164 GitHub starsUsed in 3 repos~2k tokens
    Auto-check passed
  • Chai

    adaptyvbio/protein-design-skills

    Structure prediction using Chai-1, a foundation model for molecular structure.

    164 GitHub starsUsed in 3 repos~1.5k tokens
    Auto-check passed
  • Protein Design Workflow

    adaptyvbio/protein-design-skills

    End-to-end guidance for protein design pipelines. An agent skill from adaptyvbio/protein-design-skills.

    164 GitHub starsUsed in 3 repos~1.2k tokens
    Auto-check passed

Works with

Questions about Mosaic

What does Mosaic do?

Multi-objective, gradient-based protein binder design with Mosaic. Mosaic is an agent skill from adaptyvbio/protein-design-skills. Multi-objective, gradient-based protein binder design with Mosaic.

When should I use Mosaic?

Mosaic fits situations like: composing several structure; sequence models into one design objective; optimizing binders against a custom loss rather than a fixed pipeline; wanting gradient descent over sequence space in the style of ColabDesign.

How do I install Mosaic in Claude Code?

Run `npx skills add adaptyvbio/protein-design-skills --skill mosaic -a claude-code`. Or copy the skill folder (skills/mosaic in adaptyvbio/protein-design-skills) into .claude/skills/mosaic in your project. Claude Code loads it when a task matches its description.

How do I install Mosaic in Codex?

Run `npx skills add adaptyvbio/protein-design-skills --skill mosaic -a codex`. Or copy the skill folder (skills/mosaic in adaptyvbio/protein-design-skills) into .agents/skills/mosaic in your project. Codex loads it when a task matches its description.

Can I use Mosaic in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adaptyvbio/protein-design-skills --skill mosaic -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mosaic, .gemini/skills/mosaic, .github/skills/mosaic and .opencode/skills/mosaic in your project.

What does Mosaic need to run?

Going by SKILL.md and its folder, Mosaic needs the command-line tools its instructions call (uv and git). Our summary lists: Python 3.

Does Mosaic access the network?

SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: blog.escalante.bio. This is read from the text; nothing was executed.

Is Mosaic safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Mosaic use?

Mosaic is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mosaic use?

About 1.7k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Mosaic?

Skills that share tags, products or a category with Mosaic: DiffDock Molecular Docking (K-Dense-AI/scientific-agent-skills, 48k stars), Gget (davila7/claude-code-templates, 32k stars), Chai1 (JimLiu/science-skills, 227 stars) and Alphafold3 (VectorSpaceLab/AREX-Skill, 330 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mosaic?

adaptyvbio (a GitHub organization) maintains it in adaptyvbio/protein-design-skills, which has 164 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on June 11, 2026.

Source: adaptyvbio/protein-design-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.