Transforms the agent into a computational molecular biologist capable of designing, verifying, and exporting DNA cloning strategies using pydna. Use this skill whenever the user mentions DNA cloning, plasmid construction, plasmid design, Gibson assembly, Golden Gate assembly, PCR primer design, restriction enzyme digestion, molecular cloning workflows, GenBank files (.gb), or wants to simulate biological assemblies. Also trigger for mentions of pydna, OpenCloning JSON, Addgene plasmids, or any request to design primers, digest vectors, or assemble DNA fragments.
Before executing any cloning tasks, read the AGENTS.md file in the current workspace to check for cloning preferences (e.g., preferred restriction enzymes, assembly syntax like start-stop, primer melting temperature ranges).
Why this matters: Biological cloning requires precise parameter matching. Using the wrong restriction enzyme (one the user doesn't have), wrong primer Tm (outside their PCR protocol range), or incompatible assembly syntax creates experiments that will fail in the lab. Checking preferences upfront prevents these mismatches.
AGENTS.md does not exist or lacks cloning preferences, explicitly ask the user for their preferences.AGENTS.md so they persist across sessions.When asked to perform an assembly, consider that sequence files may rest locally, in Addgene, eLabFTW, or NCBI.
uv run python .agents/skills/cloning-agent/scripts/search_addgene.py <query>uv run python .agents/skills/cloning-agent/scripts/search_elabftw.py <query>.gb or .gbk) as they contain necessary annotations.CRITICAL RULE: NEVER, EVER MAKE UP OR HALLUCINATE SEQUENCES.
Do not use placeholder ATGC strings for genes or plasmids. Do not guess sequence contents. If a sequence cannot be found locally or via a database fetch, you MUST halt the design process and explicitly ask the user for the file or the correct repository ID.
Before writing any code, plan the biological cloning strategy step-by-step.
Why this matters: Cloning experiments take days and are expensive to troubleshoot. Getting alignment on the biological approach upfront (correct overhang sequences, proper reading frames, compatible restriction sites, correct orientations) prevents costly failed experiments. It also lets the user catch conceptual errors before they're encoded in code.
Your proposal should include:
Example:
I'll PCR amplify lacZ with primers adding EcoRI (5') and HindIII (3') sites,
digest pUC19 with EcoRI+HindIII, then ligate. This creates a directional
blue/white screening construct. Estimated product: ~3.5kb.
Primers:
- Forward (adds EcoRI): 5'-GAATTC[lacZ start]...-3'
- Reverse (adds HindIII): 5'-AAGCTT[lacZ end reverse-comp]...-3'
Does this approach work for you?
Wait for explicit approval before proceeding to implementation.
Once approved, write and run Python scripts to simulate the assembly using pydna.
uv (e.g., uv pip install pydna, or use uv run python script.py).agents/skills/cloning-agent/references/pydna_patterns.md for the exact code syntax required to simulate the assembly and export the OpenCloning JSON historyAlways export the final pydna sequence history to an OpenCloning-compatible JSON file.
pydna_patterns.md reference filelacZ_cloning_strategy.json).json fileUser: "Clone the lacZ gene from eLabFTW ('pUC19 storage') into Addgene plasmid 39296"
Your approach:
AGENTS.md to check preferences.uv run python .agents/skills/cloning-agent/scripts/search_elabftw.py "pUC19 storage".fetch_elabftw and fetch_addgene dynamically, leveraging paths from references/pydna_patterns.md.lacZ_cloning_strategy.json.Possible causes and solutions:
uv run python .agents/skills/cloning-agent/scripts/search_addgene.py <query> or search_elabftw.py <query> to find them.opencloning.ncbi_requests pattern in pydna_patterns.md.This is common, especially in Gibson assembly. pydna returns products in order of likelihood.
uv pip install pydnauv init then uv add pydna<available_resources> <resource> <name>pydna_patterns</name> <description>Golden patterns for simulating cloning with pydna, importing eLabFTW/Addgene sequences, and exporting to OpenCloning JSON format.</description> <location>.agents/skills/cloning-agent/references/pydna_patterns.md</location> </resource> <resource> <name>fetch_elabftw</name> <description>Python module dynamically importable to fetch an item attachment from eLabFTW into a Dseqrecord.</description> <location>.agents/skills/cloning-agent/scripts/fetch_elabftw.py</location> </resource> <resource> <name>fetch_addgene</name> <description>Async Python module dynamically importable to fetch an Addgene plasmid sequence into a Dseqrecord.</description> <location>.agents/skills/cloning-agent/scripts/fetch_addgene.py</location> </resource> <resource> <name>search_elabftw</name> <description>CLI script to search for an eLabFTW item visually via terminal before generating code.</description> <location>.agents/skills/cloning-agent/scripts/search_elabftw.py</location> </resource> <resource> <name>search_addgene</name> <description>CLI script to search for Addgene plasmids visually via terminal before generating code.</description> <location>.agents/skills/cloning-agent/scripts/search_addgene.py</location> </resource> </available_resources>