plugin/skills/tooluniverse-primer-design/SKILL.md
PCR / qPCR primer and oligo design — design forward/reverse primers for a target region (SantaLucia nearest-neighbor thermodynamics), compute melting temperature (Tm) and annealing temperature (Ta), check GC content, and screen an oligo for hairpins and primer-dimers. Use when you need primers for a sequence, want to QC an existing primer pair, or need the Tm of an oligo. Covers the primer-design rules (Tm matching, GC clamp, 3'-end, length) and the tools' constraint quirks.
npx skillsauth add mims-harvard/tooluniverse tooluniverse-primer-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Design primers for a target DNA region, get their Tm/Ta, and QC them for the secondary-structure problems that make a PCR fail.
tu run DNA_primer_design '{"operation":"primer_design",
"sequence":"ATGGCG...AACGTG", # full template; must be >= target_end + flanking primer room
"target_start":40, "target_end":125,
"tm_target":60, "product_size_min":80, "product_size_max":140}'
Returns forward_primer / reverse_primer (sequence, tm, gc_content, length, position) and product_size. (target_end is clamped to the sequence length, so a too-short template silently shrinks the target — see the constraint quirk below.)
Constraint quirk — read this or it will error.
target_start..target_endis the region the amplicon must cover, and the design only succeeds when that span fits inside the product-size window AND good-Tm primers can be placed flanking it. So you need roughly:product_size_min ≤ (target span) ≤ product ≤ product_size_max, with enough flanking sequence on both sides. Common errors and the fix:
- "Target region (N bp) is smaller than product_size_min" → your target is narrower than
product_size_min; lowerproduct_size_minor widen the target.- "product does not cover the target / does not span" → the target is too wide for
product_size_max, or runs too close to a sequence end; widenproduct_size_maxor give more flanking sequence.
tu run NEB_Tm_calculate '{"primer_sequence":"CTACCTGAAGAACCTGAG",
"primer_sequence_2":"CTTGATGTCCTCCAGCAT",
"polymerase":"Q5", "primer_concentration":500, "monovalent_salt_mm":50}'
NEB returns Tm for each primer and a recommended annealing temperature (Ta) for the chosen polymerase. IDT_analyze_oligo (sequence, salt/Mg/dNTP/oligo concentrations) adds GC%, molecular weight, and hairpin / self-dimer screening. DNA_calculate_gc_content is a quick GC check.
Tm depends on method + conditions. SantaLucia NN (the design tool), NEB, and IDT use different parameter sets, and Tm shifts with monovalent salt, Mg²⁺, and primer/dNTP concentration. Pick one calculator + condition set and use it for the whole experiment; don't compare a SantaLucia Tm to an IDT Tm. Always state the conditions.
| Property | Target | Why | |---|---|---| | Length | 18–24 nt | long enough for specificity, short enough for efficient annealing | | Tm | 58–62 °C | works with standard cycling; keep the pair within ~2–3 °C of each other | | ΔTm (forward vs reverse) | < 3 °C (≤5 absolute max) | mismatched Tm → one primer anneals poorly | | GC content | 40–60 % | balanced stability | | GC clamp | 1–2 G/C in the last 3 nt of the 3′ end | stabilizes 3′ priming; >3 G/C risks mispriming | | 3′ end | avoid 3′ complementarity within a pair and within a primer | prevents primer-dimers | | Runs / repeats | avoid ≥4 identical bases in a row and di-nucleotide repeats | reduce slippage / mispriming | | Annealing temp (Ta) | ~ Tm − 3 to −5 °C (use the polymerase's calculator) | specificity vs yield | | Amplicon (qPCR) | 70–150 bp | efficient amplification |
scripts/primer_qc.py checks a primer pair against these rules (GC clamp, 3′ self/cross-complementarity, runs, GC%, length, Wallace/NN Tm, Tm match) and flags problems — use it to QC primers from any source.
Tm and structure are necessary but not sufficient. A primer can be thermodynamically perfect and still amplify the wrong locus. These tools do not check genome specificity — always BLAST each primer (or use Primer-BLAST) against the target genome and confirm a single intended product before ordering. State this in any recommendation.
IDT_analyze_oligo / the QC script flag it.tooluniverse-sequence-analysis — upstream sequence handling (FASTQ, alignment, coverage).tooluniverse-enzyme-kinetics / tooluniverse-dose-response — other quantitative assay analyses.tools
Generate the success criteria for a task or question, then review work against them. Given a task, goal, or open-ended question, decompose it into scenarios, evaluation perspectives, and fine-grained weighted YES/NO criteria using the Recursive Expansion Tree (RET) method; if work is supplied, score it criterion-by-criterion and surface what is missing or could be better. Use when asked to self-review or check your own work, judge whether a task is done well or completely, build a definition-of-done or completeness checklist, create an evaluation rubric or grading criteria, score or grade answers to a question, set up an LLM-as-judge rubric, or when the user mentions self-review, completeness check, success criteria, evaluation criteria, scoring rubric, Qworld, or the RET algorithm.
tools
Find the real protein target(s) of a peptide from its sequence — peptide target deorphanization / off-target identification, for ANY target class (GPCR, ion channel, protease, cytokine/growth-factor receptor, enzyme, integrin), not only GPCRs. Use when a peptide has a phenotype but does not bind its hypothesized target, when a peptide binds a target in one species or assay but not another, or to screen candidate targets for an orphan peptide. A target-class router steers a multi-route keyless pipeline (PROSITE/ELM motif, BLAST homology, HGNC/InterPro/GPCRdb/GtoPdb target-family enumeration, OpenTargets phenotype anchor, EnsemblCompara/Alliance cross-species reconciliation) plus optional NVIDIA-NIM co-folding (Boltz2, AlphaFold2-Multimer, OpenFold3) for structural confirmation.
tools
Install or update ToolUniverse in Claude Science — create the conda env, install the tooluniverse pip package, and (re)build the tooluniverse-research skill by fetching the current workflow library from GitHub. Use for first-time setup, upgrading the ToolUniverse version, refreshing the bundled workflows after an upstream release, or reinstalling on a new machine.
tools
Install, set up, verify, update, pin, uninstall, or troubleshoot the ToolUniverse plugin on OpenAI Codex. ALWAYS consult this skill for any of those — don't answer from memory, because the exact marketplace name (mims-harvard/ToolUniverse), the "codex plugin marketplace add" then "codex plugin add -m tooluniverse" flow, Codex's startup auto-upgrade behavior, the uvx tooluniverse MCP server, and the API-key env vars are easy to get wrong. Use it whenever someone wants to get ToolUniverse (or "the 1000+ scientific tools" / "the harvard tools") working on Codex, says the Codex plugin or its tools/skills won't load, hits a uvx or MCP-server startup error, asks how Codex updates it, wants to pin or remove it, or finds it running an old tool version — even if they never say the word "plugin". Not for the Claude Code plugin (use tooluniverse-claude-code-plugin), for running research with the tools, or for authoring new tools or skills.