Gget
davila7/claude-code-templates
CLI/Python toolkit for rapid bioinformatics queries. An agent skill from davila7/claude-code-templates.
API + Python SDK for ordering cell-free protein expression and binding assays.
$ npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills adaptyv-bio --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/proteomics-protein-engineering/adaptyv-bio .claude/skills/adaptyv-bio && rm -rf skills-srcUse ~/.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/
Install the "adaptyv-bio" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/proteomics-protein-engineering/adaptyv-bio into .claude/skills/adaptyv-bio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adaptyv-bio", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/proteomics-protein-engineering/adaptyv-bioType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills adaptyv-bio --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/proteomics-protein-engineering/adaptyv-bio .agents/skills/adaptyv-bio && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "adaptyv-bio" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/proteomics-protein-engineering/adaptyv-bio into .agents/skills/adaptyv-bio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adaptyv-bio", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills adaptyv-bio --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/proteomics-protein-engineering/adaptyv-bio .cursor/skills/adaptyv-bio && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "adaptyv-bio" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/proteomics-protein-engineering/adaptyv-bio into .cursor/skills/adaptyv-bio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adaptyv-bio", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jaechang-hits/SciAgent-Skills.git --path skills/proteomics-protein-engineering/adaptyv-bio--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills adaptyv-bio --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/proteomics-protein-engineering/adaptyv-bio .gemini/skills/adaptyv-bio && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "adaptyv-bio" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/proteomics-protein-engineering/adaptyv-bio into .gemini/skills/adaptyv-bio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adaptyv-bio", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jaechang-hits/SciAgent-Skills adaptyv-bioInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/proteomics-protein-engineering/adaptyv-bio .github/skills/adaptyv-bio && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "adaptyv-bio" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/proteomics-protein-engineering/adaptyv-bio into .github/skills/adaptyv-bio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adaptyv-bio", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills adaptyv-bio --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/proteomics-protein-engineering/adaptyv-bio .opencode/skills/adaptyv-bio && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "adaptyv-bio" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/proteomics-protein-engineering/adaptyv-bio into .opencode/skills/adaptyv-bio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adaptyv-bio", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
adaptyv-bioAPI + Python SDK for ordering cell-free protein expression and binding assays.
Adaptyv Bio is an agent skill from jaechang-hits/SciAgent-Skills. API + Python SDK for ordering cell-free protein expression and binding assays. Submit sequences for expression (10–100 µg), measure binding affinity (KD) against targets, track status, and retrieve results programmatically — no wet-lab setup. Built for ML-guided directed evolution and antibody/nanobody optimization. Requires Adaptyv account and API key.
Its SKILL.md is about 4.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 Bioinformatics, Protein structure and design and Project management. It works with Python. The repository describes itself as: 197 bioinformatics & life science skills for Claude Code and AI agents — BixBench 92.0% accuracy. RNA-seq, single-cell, drug discovery, proteomics, and more. Powers OmicsHorizon. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 82c862c. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
doi.orgadaptyvbio.comdocs.adaptyvbio.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ADAPTYV_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Adaptyv Bio loads about 4.7k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 916 words of instructions outside code blocks.
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.
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.
The full file from jaechang-hits/SciAgent-Skills at commit 82c862c, republished under its MIT licence (© jaechang-hits). 916 words, ~4,662 tokens.
.claude/skills/adaptyv-bio/SKILL.md (or your agent's skills folder).Adaptyv Bio is a protein expression and characterization platform accessed via a REST API and Python SDK. Users submit protein sequences (antibodies, nanobodies, enzymes, binding proteins) and receive expressed protein along with binding affinity measurements (KD via biolayer interferometry) within days. The platform is designed for high-throughput directed evolution loops: generate candidate sequences (computationally or by library design) → order expression + assay via API → receive affinity data → retrain model or select top candidates → repeat. The SDK handles experiment submission, status polling, and result retrieval in Python.
benchling-integration for LIMS-style sequence and plasmid management; use Adaptyv Bio instead when you need automated cell-free expression and affinity characterization without wet-lab setupadaptyvbio, requests, pandaspip install adaptyvbio requests pandas
# Set API key as environment variable
export ADAPTYV_API_KEY="your_api_key_here"import adaptyvbio as ab
import os
# Initialize client
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
# List available experiment types
experiment_types = client.get_experiment_types()
for et in experiment_types:
print(f" {et['name']}: {et['description']}")Submit protein sequences for cell-free expression and characterization.
import adaptyvbio as ab
import os
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
# Submit a single protein sequence for expression
sequence = "MAQRITLPSGMKELRLSYNMGEIVYKIEPVGSIVHIEYYDPENKDTLVNKPSDIVELTMPGKLVVENAKTFAEK"
submission = client.submit_experiment(
experiment_type="expression", # "expression" or "binding"
sequences=[sequence],
metadata={
"project": "nanobody_optimization_round1",
"designer": "ESM2_1000_candidates",
}
)
experiment_id = submission["experiment_id"]
print(f"Submitted experiment: {experiment_id}")
print(f"Status: {submission['status']}")
print(f"Estimated completion: {submission.get('estimated_completion', 'N/A')}")# Submit batch of sequences (up to 96 per experiment)
import pandas as pd
# Load candidate sequences from CSV
candidates = pd.read_csv("esm_candidates.csv") # columns: name, sequence, score
top_candidates = candidates.nlargest(48, "score")
sequences = top_candidates["sequence"].tolist()
names = top_candidates["name"].tolist()
batch_submission = client.submit_experiment(
experiment_type="binding",
sequences=sequences,
sequence_names=names,
target="target_protein_name", # registered target in your Adaptyv account
metadata={"round": 2, "parent_experiment": experiment_id}
)
print(f"Batch experiment: {batch_submission['experiment_id']}")
print(f"Sequences submitted: {len(sequences)}")Poll experiment status and retrieve results when complete.
import adaptyvbio as ab
import os
import time
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
experiment_id = "exp_abc123" # from submission step
# Check current status
status = client.get_experiment_status(experiment_id)
print(f"Status: {status['status']}") # "pending", "running", "complete", "failed"
print(f"Progress: {status.get('progress', 0):.0%}")
# Poll until complete (with timeout)
max_wait_hours = 72
poll_interval_minutes = 30
timeout = max_wait_hours * 3600
start = time.time()
while time.time() - start < timeout:
status = client.get_experiment_status(experiment_id)
print(f"[{time.strftime('%H:%M')}] Status: {status['status']}")
if status["status"] in ("complete", "failed"):
break
time.sleep(poll_interval_minutes * 60)
print(f"Final status: {status['status']}")Download and parse experiment results.
import adaptyvbio as ab
import pandas as pd
import os
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
experiment_id = "exp_abc123"
# Get results (only available when status is "complete")
results = client.get_experiment_results(experiment_id)
# Convert to DataFrame
records = []
for result in results["results"]:
records.append({
"name": result.get("sequence_name", "unnamed"),
"sequence": result["sequence"],
"kd_nM": result.get("kd_nM"), # binding dissociation constant
"yield_ug": result.get("yield_ug"), # expression yield
"expression_pass": result.get("expression_pass"),
"binding_pass": result.get("binding_pass"),
})
df = pd.DataFrame(records)
df = df.sort_values("kd_nM", ascending=True) # rank by affinity (lower KD = tighter binding)
print(f"Results: {len(df)} sequences")
print(f"Successfully expressed: {df['expression_pass'].sum()}")
print(f"KD range: {df['kd_nM'].min():.2f} – {df['kd_nM'].max():.2f} nM")
print(df[["name", "kd_nM", "yield_ug", "expression_pass"]].head(10).to_string())
df.to_csv(f"{experiment_id}_results.csv", index=False)import adaptyvbio as ab
import pandas as pd
import os
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
# List all experiments
experiments = client.list_experiments(project="nanobody_optimization")
print(f"Total experiments: {len(experiments)}")
for exp in experiments:
print(f" {exp['experiment_id']}: {exp['status']} | "
f"{exp['n_sequences']} seqs | {exp['created_at'][:10]}")
# Retrieve all results across experiments for a project
all_results = []
for exp in experiments:
if exp["status"] == "complete":
results = client.get_experiment_results(exp["experiment_id"])
for r in results["results"]:
r["experiment_id"] = exp["experiment_id"]
r["round"] = exp.get("metadata", {}).get("round", "unknown")
all_results.append(r)
project_df = pd.DataFrame(all_results)
print(f"\nAll results: {len(project_df)} sequences across {len(experiments)} experiments")
print(f"Best KD: {project_df['kd_nM'].min():.3f} nM")Integrate Adaptyv Bio results with computational protein design tools.
import adaptyvbio as ab
import pandas as pd
import numpy as np
import os
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
def run_design_iteration(previous_results_df, n_new_candidates=48):
"""
Closed-loop protein engineering iteration.
Input: DataFrame with sequence, kd_nM from previous round
Output: submitted experiment_id for new round
"""
# Select top performers as parents for next round
parents = previous_results_df.nsmallest(5, "kd_nM")["sequence"].tolist()
print(f"Top parent KDs: {previous_results_df.nsmallest(5, 'kd_nM')['kd_nM'].values}")
# --- Placeholder for computational design step ---
# In practice: call ESM, ProteinMPNN, or mutation scanning here
# new_sequences = design_model.generate(parents, n=n_new_candidates)
# For demonstration, create random variants:
new_sequences = [p[:20] + "X" * 10 + p[30:] for p in parents[:3]] # placeholder
# Submit new candidates
submission = client.submit_experiment(
experiment_type="binding",
sequences=new_sequences,
metadata={"round": "auto", "parent_kd_min": parents[0] if parents else None}
)
print(f"Round submitted: {submission['experiment_id']}")
return submission["experiment_id"]
# Example: load round 1 results and start round 2
round1 = pd.read_csv("exp_round1_results.csv")
if not round1.empty:
next_id = run_design_iteration(round1)
print(f"Round 2 experiment ID: {next_id}")KD measures binding affinity between protein and target. Lower KD = tighter binding:
Adaptyv Bio reports KD in nM from biolayer interferometry (BLI) steady-state or kinetic measurements.
Adaptyv Bio uses cell-free protein synthesis (CFPS) systems (wheat germ or E. coli extract) to express proteins without cloning. This enables high-throughput screening (96-well format, days not weeks) but has limitations: eukaryotic modifications (glycosylation, disulfide bonds in complex proteins) may differ from cell-based expression.
import adaptyvbio as ab
import pandas as pd
import os
import time
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
ROUNDS = 3
CANDIDATES_PER_ROUND = 48
TARGET = "your_target_protein"
all_data = pd.DataFrame()
for round_num in range(1, ROUNDS + 1):
print(f"\n=== Round {round_num} ===")
# Step 1: Generate candidates (replace with actual design model)
if round_num == 1:
sequences = ["MAQRITLPSGMKELRL" + "A" * 20 for _ in range(CANDIDATES_PER_ROUND)]
else:
parents = all_data.nsmallest(5, "kd_nM")["sequence"].tolist()
# In practice: sequences = design_model.generate_variants(parents, n=CANDIDATES_PER_ROUND)
sequences = parents[:CANDIDATES_PER_ROUND] # placeholder
# Step 2: Submit
submission = client.submit_experiment(
experiment_type="binding",
sequences=sequences,
target=TARGET,
metadata={"round": round_num}
)
exp_id = submission["experiment_id"]
print(f"Submitted {len(sequences)} sequences: {exp_id}")
# Step 3: Wait for results (skip in demo; poll in production)
# time.sleep(72 * 3600)
# Step 4: Retrieve results
results = client.get_experiment_results(exp_id)
round_df = pd.DataFrame(results["results"])
round_df["round"] = round_num
all_data = pd.concat([all_data, round_df], ignore_index=True)
best = round_df.nsmallest(1, "kd_nM").iloc[0]
print(f"Best KD this round: {best['kd_nM']:.2f} nM")
all_data.to_csv("directed_evolution_all_rounds.csv", index=False)
print(f"\nFinal best KD: {all_data['kd_nM'].min():.3f} nM")import adaptyvbio as ab
import pandas as pd
import matplotlib.pyplot as plt
import os
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
# Retrieve completed experiment results and rank
exp_id = "exp_completed_123"
results = client.get_experiment_results(exp_id)
df = pd.DataFrame(results["results"])
df = df.dropna(subset=["kd_nM"]).sort_values("kd_nM")
# Summary statistics
print(f"Sequences tested: {len(df)}")
print(f"Expression success rate: {df['expression_pass'].mean():.0%}")
print(f"Binding positives (KD < 100 nM): {(df['kd_nM'] < 100).sum()}")
# Rank plot
fig, ax = plt.subplots(figsize=(10, 4))
ax.semilogy(range(len(df)), df["kd_nM"].values, 'o', markersize=4)
ax.axhline(100, color='red', linestyle='--', label='100 nM threshold')
ax.set_xlabel("Sequence rank")
ax.set_ylabel("KD (nM)")
ax.set_title(f"Binding Affinity Rank — {exp_id}")
ax.legend()
plt.tight_layout()
plt.savefig(f"{exp_id}_rank_plot.pdf", bbox_inches="tight")
# Export top hits
top_hits = df.head(10)[["sequence_name", "sequence", "kd_nM", "yield_ug"]]
top_hits.to_csv(f"{exp_id}_top_hits.csv", index=False)
print(f"\nTop 10 hits:\n{top_hits.to_string(index=False)}")| Parameter | Module/Function | Default | Range / Options | Effect |
|---|---|---|---|---|
experiment_type | submit_experiment | — | "expression", "binding" | Type of assay: expression only or expression + binding |
sequences | submit_experiment | — | list of strings, max 96 | Protein sequences to screen per experiment |
target | submit_experiment | — | registered target name | Target protein for binding measurement |
metadata | submit_experiment | {} | dict | Custom key-value pairs stored with experiment |
project | list_experiments | None | string | Filter experiments by project name |
| KD threshold | downstream analysis | — | 1–1000 nM | User-defined cutoff for hit selection |
Include positive and negative control sequences: Always include a known binder (positive control) and a scrambled/null sequence (negative control) in each experiment batch. This validates assay performance and flags batch-level failures before drawing conclusions about untested variants.
Design candidates in batches matching plate format (48 or 96): Adaptyv Bio runs experiments in 48-well or 96-well format. Design candidate batches to fill plates — partial plates cost the same as full plates but generate fewer data points per experiment.
Log all metadata at submission time: Include round number, parent sequences, computational model version, and generation parameters in the metadata field. This makes it possible to reconstruct the design-experiment history for publications and reproducibility.
Filter by expression yield before ranking by KD: Proteins that failed to express or expressed below the detection threshold will have unreliable KD values. Always filter expression_pass == True before sorting by KD.
Use the API to automate the poll-retrieve-design loop: Implement an automated pipeline that polls every 6–12 hours, retrieves results when complete, runs the design model, and submits the next round — removing the manual bottleneck in iterative protein engineering.
import adaptyvbio as ab
import os
client = ab.Client(api_key=os.environ["ADAPTYV_API_KEY"])
def results_to_fasta(exp_id, top_n=10, kd_cutoff_nM=100, output_file="top_hits.fasta"):
results = client.get_experiment_results(exp_id)
hits = [r for r in results["results"]
if r.get("expression_pass") and r.get("kd_nM", float("inf")) < kd_cutoff_nM]
hits.sort(key=lambda x: x["kd_nM"])
with open(output_file, "w") as f:
for r in hits[:top_n]:
name = r.get("sequence_name", r["sequence"][:8])
f.write(f">{name}_KD{r['kd_nM']:.1f}nM\n{r['sequence']}\n")
print(f"Exported {min(top_n, len(hits))} sequences to {output_file}")
results_to_fasta("exp_abc123", top_n=10, kd_cutoff_nM=50)import pandas as pd
import matplotlib.pyplot as plt
# Load all rounds
rounds = {
1: pd.read_csv("exp_round1_results.csv"),
2: pd.read_csv("exp_round2_results.csv"),
3: pd.read_csv("exp_round3_results.csv"),
}
fig, ax = plt.subplots(figsize=(8, 5))
for round_num, df in rounds.items():
kd_vals = df.dropna(subset=["kd_nM"])["kd_nM"]
ax.hist(kd_vals, bins=20, alpha=0.6, label=f"Round {round_num} (n={len(kd_vals)})")
ax.set_xlabel("KD (nM)")
ax.set_ylabel("Count")
ax.set_title("KD Distribution Across Directed Evolution Rounds")
ax.legend()
plt.tight_layout()
plt.savefig("kd_distribution_by_round.pdf", bbox_inches="tight")| Problem | Cause | Solution |
|---|---|---|
AuthenticationError | Invalid or missing API key | Set ADAPTYV_API_KEY env var; regenerate key in Adaptyv dashboard |
| Experiment status stuck at "pending" | Queue backlog or missing target configuration | Contact Adaptyv support; verify target protein is registered in account |
All sequences show expression_pass=False | Sequences may be too long, contain invalid characters, or have folding issues | Check sequence length (typical limit: <300 aa); verify no non-standard amino acids; run expression screen before binding assay |
| KD values show high variability (>3×) | Low expression yield causes noisy BLI signal | Filter to yield_ug > 5; redesign sequences for better expression |
results field empty after "complete" status | API timing issue; results not yet persisted | Wait 10 minutes and retry; check Adaptyv status page |
| Batch limited to <96 sequences | Account tier restriction | Upgrade account; split into multiple experiments of 48 |
| CSV missing KD values for some sequences | BLI fit failed (poor binding kinetics or non-binding) | Sequences with kd_nM=None are non-binders; treat as negative result |
esm-protein-language-model — generate candidate sequences for submission to Adaptyv Biobenchling-integration — LIMS management of protein engineering sequences alongside Adaptyv Bio experimentspymoo — multi-objective optimization using Adaptyv Bio KD + yield data as fitness function© jaechang-hits, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/proteomics-protein-engineering/adaptyv-bio of jaechang-hits/SciAgent-Skills.
Open the folder on GitHubat commit 82c862c
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 jaechang-hits/SciAgent-Skills, which our catalogue first saw on October 7, 2026.
Adaptyv Bio 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Adaptyv Bio this skilljaechang-hits/SciAgent-Skills | 374 | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Ggetdavila7/claude-code-templates | 33k | 10 repos | ~6.3k | Automated safety check: Pass | MIT | |
| Ggetaipoch/medical-research-skills | 1.9k | — | ~816 | Automated safety check: Pass | MIT | |
| Bio Structural Biology Geometric AnalysisGPTomics/bioSkills | 1.2k | 1 repos | ~4.9k | Automated safety check: Pass | MIT | |
| Alphagenome Single Variant Analysisgoogle-deepmind/science-skills | 3.2k | 2 repos | ~3k | Automated safety check: Notes | Apache-2.0 | |
| 13C Metabolic Flux AnalysisK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.2k | Automated safety check: Pass | MIT |
davila7/claude-code-templates
CLI/Python toolkit for rapid bioinformatics queries. An agent skill from davila7/claude-code-templates.
aipoch/medical-research-skills
Unified CLI/Python interface for querying genomic, proteomic, structure, and expression data across 20+ bioinformatics databases; use when you need fast, scriptable retrieval by gene/protein IDs or…
GPTomics/bioSkills
Measures geometric properties of protein structures with Biopython Bio.PDB - interatomic distances, distance matrices, bond and dihedral angles (phi/psi/chi, Ramachandran), superposition and RMSD…
google-deepmind/science-skills
Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.
K-Dense-AI/scientific-agent-skills
Estimates reaction fluxes inside cells from steady-state carbon-13 labeling data with a bundled mfapy-based solver, and reports which fluxes the data pin down.
xuzhougeng/wisp-science
A skill your agent uses when designing, reviewing, or implementing single-cell RNA-seq QC in Python or R with a human-in-the-loop, data-driven approach.
jaechang-hits/SciAgent-Skills
NEB-IRC activation energy pipeline for reaction barriers using GFN2-xTB and pysisyphus.
jaechang-hits/SciAgent-Skills
3Dmol.js WebGL molecular visualization emitted as self-contained HTML.
jaechang-hits/SciAgent-Skills
Constraint-based (COBRA) analysis of genome-scale metabolic models: FBA, FVA, knockouts, flux sampling, production envelopes, gapfilling, media optimization.
jaechang-hits/SciAgent-Skills
Read, write, and edit ChemDraw CDX/CDXML files with RDKit's rdkit.Chem.rdChemDraw plus direct XML editing, always paired with a rendered PNG.
jaechang-hits/SciAgent-Skills
Programmatic PubMed access via NCBI E-utilities REST API. An agent skill from jaechang-hits/SciAgent-Skills.
jaechang-hits/SciAgent-Skills
Scaffold a new SciAgent-Skills entry. An agent skill from jaechang-hits/SciAgent-Skills.
Works with
Categories
API + Python SDK for ordering cell-free protein expression and binding assays. Adaptyv Bio is an agent skill from jaechang-hits/SciAgent-Skills. API + Python SDK for ordering cell-free protein expression and binding assays.
Adaptyv Bio fits situations like: tasks that involve Bioinformatics; tasks that involve Protein structure and design; tasks that involve Project management.
Run `npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a claude-code`. Or copy the skill folder (skills/proteomics-protein-engineering/adaptyv-bio in jaechang-hits/SciAgent-Skills) into .claude/skills/adaptyv-bio in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a codex`. Or copy the skill folder (skills/proteomics-protein-engineering/adaptyv-bio in jaechang-hits/SciAgent-Skills) into .agents/skills/adaptyv-bio in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jaechang-hits/SciAgent-Skills --skill adaptyv-bio -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/adaptyv-bio, .gemini/skills/adaptyv-bio, .github/skills/adaptyv-bio and .opencode/skills/adaptyv-bio in your project.
Going by SKILL.md and its folder, Adaptyv Bio needs the command-line tools its instructions call (pip) and credentials named ADAPTYV_API_KEY. Our summary lists: Python 3; A credential in ADAPTYV_API_KEY.
SKILL.md names 3 domains. As links in the text: doi.org, adaptyvbio.com and docs.adaptyvbio.com. This is read from the text; nothing was executed.
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.
Adaptyv Bio is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Adaptyv Bio: Gget (davila7/claude-code-templates, 33k stars), Gget (aipoch/medical-research-skills, 1.9k stars), Bio Structural Biology Geometric Analysis (GPTomics/bioSkills, 1.2k stars) and Alphagenome Single Variant Analysis (google-deepmind/science-skills, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jaechang-hits (a GitHub user) maintains it in jaechang-hits/SciAgent-Skills, which has 374 GitHub stars. The repository holds 169 skills in this directory. The repository was last updated on September 29, 2026.
Source: jaechang-hits/SciAgent-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.