Generated banner for Primer Design
Generated logo for Primer Design

Primer Design

K-DenseCommunityCreated by K-Dense Inc.

  • Skill
  • Tool integration
  • Science and research
  • MIT
  • Low risk
  • Has scripts

From the author

Designs and audits PCR and RT-qPCR primers with Primer3, explicit thermodynamic conditions, reference-based off-target amplification searches, and traceable sequence coordinates. Use for designing primer pairs, checking existing primers, exon-junction or isoform-specific assays, variant masking, cloning tails, multiplex compatibility, and interpreting Primer-BLAST results. Includes bounded local in-silico PCR and BLAST screening; distinguishes computational candidates from experimentally validated assays.
— the description by K-Dense Inc.

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured, reproducible workflow for the design and specificity assessment of PCR and RT-qPCR primers. It integrates Primer3 for thermodynamic design and local BLAST or exhaustive search tools for off-target amplification screening. The workflow emphasizes rigorous input contracts, explicit thermodynamic assumptions, and the generation of traceable evidence reports, ensuring that all design decisions are documented and verifiable without relying on external web-based services.

What it does

  • Designs PCR and RT-qPCR primer pairs based on user-defined templates and thermodynamic constraints.
  • Audits existing primer pairs for thermodynamic stability and potential off-target amplification.
  • Performs exhaustive local in-silico PCR and BLAST-based specificity screening.
  • Supports advanced assay requirements including exon-junction targeting, multiplexing, and cloning tails.
  • Generates standardized JSON reports and assay documentation for experimental validation.
  • Enforces strict input validation to prevent silent failures or incorrect assumptions.

When to use it

  • When you need to design new primers for genomic PCR, RT-qPCR, or cloning applications.
  • When you must verify the specificity and thermodynamic properties of existing primer sequences.
  • When working in environments requiring local-only processing of sensitive or proprietary sequence data.
  • When you need to document the full rationale, assumptions, and evidence for a primer design project.

Advantages

  • Ensures reproducibility by requiring explicit configuration, reference versions, and chemistry settings.
  • Provides local, offline screening capabilities to maintain data privacy and control.
  • Includes robust checks for off-target products and multiplex interactions.
  • Facilitates systematic validation by separating computational candidates from experimental requirements.

Usage examples

“Design a new qPCR primer pair for the target sequence in demo-template.fasta using the qpcr preset.”
The agent executes the design script with the specified template and configuration, producing a JSON report of candidate pairs and their associated thermodynamic properties.
“Check the specificity of an existing primer pair against my local reference genome.”
The agent runs the specificity screening tool against the provided reference, identifying potential off-target binding sites and reporting product lengths and mismatch counts.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/k-dense-ai/primer-design/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip primer-design.zip -d .agents/skills

Documentation by K-Dense Inc.

Primer design and specificity

Produce candidate oligos in 5-prime-to-3-prime orientation, with the exact template, chemistry, intended products, and search scope behind each conclusion. Calculate sequence-dependent quantities with the supplied tools. A familiar gene name, good Primer3 penalty, or a single BLAST alignment cannot establish primer specificity.

Choose the workflow

RequestStart here
New genomic PCR or RT-qPCR pairDefine the assay and reference; design; assess thermodynamics; screen products.
Check an existing pairPrepare pair TSV; assess both full oligos and annealing cores; screen with explicit intended coordinates.
Exon junction, transcript isoform, allele discriminationRead design-workflows.md; supply sequence annotation before imposing constraints.
Cloning/adaptor-tailed primersDesign annealing cores, append declared 5-prime tails, reassess full oligos, reconstruct the final product.
Multiplex panelEnable --multiplex in both thermodynamics and specificity tools to assess oligo interactions and cross-pair products.
Degenerate, bisulfite, probe, or modified-base assayUse the specialized workflow in design-workflows.md; the bundled ordinary-DNA model is insufficient.

The local tooling supports paired primers with unambiguous ACGT cores. Advanced assay types have substantive design and validation guidance, but are not silently reduced to ordinary PCR. This skill designs assays; expression normalization, experimental diagnostic validation, and guide-RNA design are separate tasks.

Establish the assay contract

Obtain what changes the result; use explicit provisional assumptions for an exploratory design, and identify them in the report:

  • Purpose and template: genomic DNA, cDNA, plasmid, or another defined substrate; target organism, accession with version, assembly/transcript release, strand, desired isoforms, and product-size range. Name wanted and unwanted templates.

  • Sequence evidence: local FASTA plus source/retrieval date and its SHA-256 hash. A locus excerpt uses local coordinates; record its mapping to the full reference. Include relevant paralogs, pseudogenes, alternate contigs, transcript isoforms, vector backbone, and host sequence in the appropriate screen.

  • Reaction conditions: polymerase/buffer, monovalent salt, total divalent salt, total dNTP, and oligo concentrations. Primer3 uses mM for salts/dNTP and nM for DNA. Record the initial reaction concentration separately from Primer3's effective annealing-oligo concentration parameter. Engine defaults are assumptions.

  • Constraints: target interval, allowed/excluded binding regions, junctions, variant exclusions and their source, fixed primers, tails, or multiplex membership. Do not guess exon boundaries or silently substitute another assembly.

  • Definition of an acceptable result: relevant off-target references, amplicon lengths, mismatch search limits, controls, and experimental validation appropriate to the assay. There is no universal thermodynamic cutoff that validates all PCRs.

Use input-contract.md for file schemas and coordinate examples. Copy assay-report-template.md into the analysis directory to collect evidence. Reference retrieval may be manual or through an established sequence API; preserve accession/version and verify the returned sequence. The supplied scripts use local files and do not submit sequences online.

Install and verify

Set SKILL_DIR to this skill's actual installed directory. Work in a separate analysis directory so environments, reference databases, and results do not enter the skill.

uv venv --python 3.13 .venv-primer
uv pip install --python .venv-primer/bin/python -r "$SKILL_DIR/assets/requirements.txt"
.venv-primer/bin/python "$SKILL_DIR/scripts/design_primers.py" --help

Use the environment's Scripts/python.exe on Windows. The design/thermodynamic examples target primer3-py 2.3.1, tested with Python 3.13. For the optional BLAST engine, install NCBI BLAST+ from its official distribution and check:

blastn -version
makeblastdb -version

Local integration checks also exercise BLAST+ 2.17.0; other releases require checking their output and search behavior before claiming equivalent coverage.

Read sources.md when updating dependencies or API assumptions. The scripts record engine versions and effective settings in their JSON reports.

1. Design candidates

For an initial functional demonstration, use the bundled synthetic sequence. It is nonbiological example input, not an experimentally validated assay:

.venv-primer/bin/python "$SKILL_DIR/scripts/design_primers.py" \
  --template "$SKILL_DIR/assets/demo-template.fasta" \
  --preset qpcr --config "$SKILL_DIR/assets/qpcr-config.json" \
  --output design.json --pairs-out pairs.tsv --expected-out expected.tsv

For actual work, substitute the reviewed target FASTA and constraints. A multi-record FASTA requires --record with its exact ID. The pcr preset requests 100–1000 bp; qpcr requests 70–200 bp. Override these starting ranges in the configuration. The example overrides its range to 90–180 bp and includes a specific target interval. Multiple SEQUENCE_TARGET intervals are alternatives: Primer3 flanks at least one. To require coverage of every interval, supply one enclosing target and verify the returned product; separate assays require separate design runs.

The tool:

  • Passes validated sequence_args and global_args to Primer3. Unsupported or misspelled tags fail rather than silently changing the task.

  • Converts ambiguous template positions to N and forbids ambiguous primer bases. It does not interpret lowercase sequence as a repeat mask; use explicit exclusions.

  • Optionally imports --mask-bed exclusions in the supplied template's coordinates. Use BED intervals for variant/repeat masking only after validating the reference mapping; it does not infer allele frequencies or convert arbitrary VCFs.

  • Verifies returned forward and reverse sequences against the template and checks product lengths. Primer3's right-primer position is converted into a half-open binding interval; the reverse primer is already in ordering orientation.

  • Optionally appends --forward-tail and --reverse-tail to cores. The design score and core Tm do not include those tails; step 2 checks complete oligos.

Inspect engine_explanations when no candidates are found. Change a biologically justified constraint and rerun; do not silently relax all constraints or return an invented sequence. Preserve previous reports when comparing parameter choices.

expected.tsv describes intended products on the design template. If screening another reference, map these coordinates to its exact record IDs and orientation. A cDNA product cannot be relabeled as a genomic interval across introns.

2. Assess thermodynamics

Use the same chemistry as the design. The following explicit values match the bundled design defaults; replace them together when the actual conditions differ:

.venv-primer/bin/python "$SKILL_DIR/scripts/check_thermodynamics.py" \
  --pairs pairs.tsv --mv-conc 50 --dv-conc 1.5 --dntp-conc 0.6 \
  --dna-conc 50 --temp-c 37 --output thermodynamics.json

The report contains core Tm, core and full-oligo hairpins/homodimers, full-oligo heterodimers, self 3-prime end stability, and both directional inter-oligo 3-prime end-stability calculations. Delta-G and delta-H are reported in kcal/mol; delta-S in cal/(mol K). --temp-c controls the temperature for delta-G, not a recommended PCR annealing temperature.

If design used different Tm/salt models, also set --tm-method and --salt-corrections-method to match; see the mapping in the input contract.

For a panel, add --multiplex to examine all unordered oligo combinations, including forward/forward and reverse/reverse between different pairs. Distinguish a panel to be combined from alternative candidates that will be tested separately.

Read thermodynamics.md before interpreting these values. Full oligos longer than 60 bases are reported as unresolved; they are never silently truncated. Modified bases and degenerate mixtures require a suitable model. Thermodynamic predictions support ranking and experimental planning, not a blanket claim of primer quality. Nonfinite Tm or a Tm at/below absolute zero is rejected as a calculation/input failure; such a result must not be ranked as an ordinary low-Tm primer.

3. Screen amplification products

Read specificity.md before making a specificity claim. Search each primer on both strands and pair inward-facing binding sites. A binding hit alone is not an amplicon; absence of a reported hit is not proof of absence.

.venv-primer/bin/python "$SKILL_DIR/scripts/screen_specificity.py" \
  --pairs pairs.tsv --reference "$SKILL_DIR/assets/demo-template.fasta" \
  --expected expected.tsv --engine exhaustive \
  --min-product 40 --max-product 1000 --max-mismatches 2 \
  --three-prime-bases 5 --max-three-prime-mismatches 0 \
  --output specificity.json

This enumerates full-length, ungapped binding sites in a bounded local reference and checks F/R, R/F, F/F, and R/R products for each pair. Reference ambiguity is treated conservatively as unresolved sequence; it cannot establish a clean result. The mismatch limits are a search model, not a validated polymerase discrimination rule. Tight 3-prime thresholds can exclude amplifiable mismatched sites; broaden the search when evaluating that uncertainty.

Use --circular RECORD_ID for a circular molecule. Wrapped products use canonical start coordinates and unwrapped ends greater than the reference length; only products spanning at most one molecule are considered. Caps on comparisons, hits, and products prevent unbounded work; hitting a cap makes the result incomplete.

.venv-primer/bin/python "$SKILL_DIR/scripts/screen_specificity.py" \
  --pairs pairs.tsv --reference "$SKILL_DIR/assets/demo-template.fasta" \
  --expected expected.tsv --engine blast \
  --min-product 40 --max-product 1000 --max-mismatches 2 \
  --three-prime-bases 5 --max-three-prime-mismatches 0 \
  --output specificity-blast.json

The script builds a temporary local BLAST database, runs short-query alignment, rechecks complete primer-length candidate sites, and records commands and versions. It checks configured hit limits and tool failures. BLAST discovery is heuristic: successful execution and unsaturated limits do not establish exhaustive coverage. The reference is loaded in memory; plan memory and search bounds for large genomes. The small example verifies execution, not human-genome sensitivity or scalability.

For broader public-reference screening, follow the official NCBI Primer-BLAST workflow in specificity.md, choosing the organism, database, intended templates, maximum product length, and mismatch policy deliberately. Submitting a sequence sends it to NCBI; keep local-only work local. Primer-BLAST is not a documented REST API implemented by these scripts.

Interpret the result
  • potential_off_target: inspect every unexpected product, including its orientation, length, mismatch positions, and reference identity; redesign or justify its relevance.

  • intended_target_not_found: resolve mapping, reference, sequence, and search problems before drawing specificity conclusions.

  • no_expected_target: results are a product inventory, without a target-specific conclusion. Supply all intended product intervals for the assay.

  • incomplete: reference uncertainty, resource limits, or failed computation leaves the conclusion unresolved. Inspect the reported reason and repeat appropriately.

  • no_off_target_found_within_search_scope: state the exact reference and search model. Check the report's exhaustive/heuristic flags; this is not empirical validation.

For a multiplex reaction, add --multiplex to the specificity command as well as the thermodynamics command. The specificity tool then searches every cross-pair oligo combination, retaining the original oligo identities and tails. It treats cross-pair products as unintended; intentionally shared-primer designs require explicit standalone combinations with reviewed expected products. The --max-panel-combinations cap defaults to 10,000 and is checked before expansion. Thermodynamic --multiplex checks structures; specificity --multiplex checks reference products. Both are necessary for this panel assessment.

4. Validate the assay and deliver evidence

Select candidates using assay purpose, coverage, specificity evidence, and chemistry, not just the lowest Primer3 penalty. Preserve multiple candidates when uncertainty remains. Follow design-workflows.md for the relevant experimental checks: expected product identity/size, negative and no-template controls, genomic contamination controls for RT-qPCR, and efficiency/dynamic-range assessment when quantification is intended. A single melt peak alone does not prove identity.

Deliver the completed report template, pair TSV, design/thermodynamic/specificity JSON, and source manifest. Include:

  1. Exact ordering sequences, separated annealing cores and tails, primer lengths, intended product coordinates/size, and any relevant transcript/junction mapping.

  2. Chemistry and model settings; engine versions; reference accession/release, source, retrieval date, and file hashes; explicit exclusions and rationale.

  3. Intended and potential unintended products; uncertainty from unknown bases, incomplete references, heuristic searches, caps, and unsupported assay chemistry.

  4. Experimental evidence actually obtained, outstanding validation, and the reason for each recommended candidate. Label untested candidates accurately.

Validation and limits of this implementation

The repository suite at tests/primer-design/ exercises actual Primer3 calculations, orientation and coordinate reconstruction, masking, tails, concentration handling, off-target product geometry, mismatch/ambiguity behavior, failure states, and local BLAST integration when its executables are installed. Synthetic fixtures establish software behavior; they do not validate a biological assay or prove genome-wide recall.

Tools return 0 when their computation completes, 1 for a completed design with no candidates or incomplete long-oligo thermodynamics, and 2 for invalid input or tool failure. Read the JSON scientific status even after exit 0: finding an off-target is a successfully completed calculation. See the input contract for screen-specific exits.

Citing Scientific Agent Skills

If used in published work, cite the upstream methods in sources.md and Scientific Agent Skills. Report the software versions and assay-specific settings required to reproduce the actual analysis.

Files

references/input-contract.md

Files, coordinates, settings, and result contracts

Use local UTF-8 files. All scripts accept --help without contacting a service. Generated JSON is evidence, not a command file. Keep results outside the skill.

Template and screening FASTA

  • The first whitespace-delimited token after > is the record ID. IDs must be unique.

  • Sequence is case-normalized. Internal whitespace, digits, gaps, RNA U, and non-IUPAC symbols are rejected. Empty records and sequence before a header are rejected.

  • Design uses one selected record; --record is required with multiple records.

  • Design replaces ambiguity with N and excludes it from primers. Screen reference ambiguity uses possible-base sets and reports unresolved matching sites.

  • Preserve full reference ID/version/source in a separate manifest. A user-written FASTA label is not verified evidence of an accession or assembly.

  • Local files are hashed. Checksums identify the bytes used; they do not independently establish database currency, biological correctness, or adequate coverage.

The example FASTA in ../assets/demo-template.fasta contains 500 deterministic synthetic bases generated with Python random.Random(717), choosing A/C/G/T uniformly. It is reproducible demonstration input with no claimed biological function.

Primer pair TSV

Required columns: pair_id, forward, reverse. Optional columns: forward_tail, reverse_tail (empty means no tail). Columns are tab-separated; unknown/duplicate columns and malformed rows are errors.

pair_id	forward	reverse	forward_tail	reverse_tail
assay_1	ACGTCAGTACGATCGTACGA	TCGATGCACTGATCGTACGT	GGATCC	GAATTC

These illustrative oligos explain the schema; they are not recommended experimental primers. Pair IDs use letters, digits, underscores, periods, and hyphens and must be unique. Cores and tails are unambiguous ACGT DNA, written in ordering orientation 5′→3′. Modified bases and degenerate symbols are rejected, not stripped.

The full ordering sequence is tail + core. A reverse primer is already reverse- complemented relative to its target; do not reverse-complement it again for ordering. For an exact-match product oriented from the forward primer toward the reverse:

final top strand = forward_tail + template_product + reverse_complement(reverse_tail)

For mismatched primers, late-cycle products incorporate primer bases; a reference product hash does not identify that final synthesized molecule. The screen explicitly names its hash reference_product_sha256 and does not reconstruct such products.

Design configuration JSON

Top-level keys are only sequence_args and global_args, both objects. Template, record ID, paired-primer task, 0-based indexing, and unambiguous output are controlled by the adapter. It rejects unsupported tags, including tags for another Primer3 task.

Example (JSON, not skill frontmatter):

{
  "sequence_args": {
    "SEQUENCE_TARGET": [[235, 30]],
    "SEQUENCE_EXCLUDED_REGION": [[80, 5]]
  },
  "global_args": {
    "PRIMER_PRODUCT_SIZE_RANGE": [[90, 180]],
    "PRIMER_NUM_RETURN": 3,
    "PRIMER_SALT_MONOVALENT": 50.0,
    "PRIMER_SALT_DIVALENT": 1.5,
    "PRIMER_DNTP_CONC": 0.6,
    "PRIMER_DNA_CONC": 50.0
  }
}
Sequence constraints supported by the adapter
TagValue and meaning
SEQUENCE_TARGETList of alternative [start,length] regions; a pair must flank at least one, not necessarily all
SEQUENCE_INCLUDED_REGIONOne [start,length] design region within the selected template
SEQUENCE_EXCLUDED_REGIONList of [start,length] regions where primer binding is disallowed
SEQUENCE_PRIMER_PAIR_OK_REGION_LISTList of [left_start,left_length,right_start,right_length]; [-1,-1] makes that side unconstrained
SEQUENCE_OVERLAP_JUNCTION_LISTIndices of bases immediately left of internal junctions; verify returned overlap against transcript annotation
SEQUENCE_PRIMERFixed forward core in ordering orientation
SEQUENCE_PRIMER_REVCOMPFixed reverse core in ordering orientation
SEQUENCE_QUALITYOne nonnegative integer score per template base; pair with explicit quality thresholds or weights

SEQUENCE_OVERLAP_JUNCTION_LIST uses the index of the base immediately before the junction with this adapter's PRIMER_FIRST_BASE_INDEX=0. A junction between bases at indices 99 and 100 is supplied as 99. Use the minimum 5′/3′ overlap controls and verify the returned binding interval, not just the command's exit status.

Global controls supported by the adapter
  • Candidate count (PRIMER_NUM_RETURN, 1–100).

  • Primer size: PRIMER_MIN_SIZE, PRIMER_OPT_SIZE, PRIMER_MAX_SIZE; adapter range 15–36 nt, ordered minimum ≤ optimum ≤ maximum.

  • Tm: PRIMER_MIN_TM, PRIMER_OPT_TM, PRIMER_MAX_TM, PRIMER_PAIR_MAX_DIFF_TM.

  • GC: PRIMER_MIN_GC, PRIMER_OPT_GC_PERCENT, PRIMER_MAX_GC, PRIMER_GC_CLAMP, PRIMER_MAX_END_GC; PRIMER_MAX_POLY_X, PRIMER_MAX_END_STABILITY.

  • Thermodynamic structure limits: PRIMER_MAX_SELF_ANY_TH, PRIMER_MAX_SELF_END_TH, PRIMER_MAX_HAIRPIN_TH, PRIMER_PAIR_MAX_COMPL_ANY_TH, PRIMER_PAIR_MAX_COMPL_END_TH.

  • Chemistry: PRIMER_SALT_MONOVALENT, PRIMER_SALT_DIVALENT, PRIMER_DNTP_CONC, PRIMER_DNA_CONC. Salt/dNTP units are mM; DNA concentration is nM.

  • Core Tm model: PRIMER_TM_FORMULA is 0 Breslauer or 1 SantaLucia; salt correction PRIMER_SALT_CORRECTIONS is 0 Schildkraut, 1 SantaLucia, or 2 Owczarzy. Match these to check_thermodynamics.py --tm-method and --salt-corrections-method respectively. Defaults are SantaLucia for both. Structure calculations use libprimer3 defaults.

  • PRIMER_PRODUCT_SIZE_RANGE: nonempty list of [minimum,maximum] inclusive ranges. Multiple ranges retain Primer3's preference ordering; no global optimum is implied.

  • Junction overlap: PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION and PRIMER_MIN_3_PRIME_OVERLAP_OF_JUNCTION.

  • Optional ranking weights: PRIMER_WT_TM_GT, PRIMER_WT_TM_LT, PRIMER_WT_SIZE_GT, PRIMER_WT_SIZE_LT, PRIMER_PAIR_WT_DIFF_TM, PRIMER_PAIR_WT_PR_PENALTY.

  • Quality controls: PRIMER_MIN_QUALITY, PRIMER_MIN_END_QUALITY, PRIMER_QUALITY_RANGE_MIN, PRIMER_QUALITY_RANGE_MAX, PRIMER_WT_SEQ_QUAL, PRIMER_WT_END_QUAL; supply SEQUENCE_QUALITY and meaningful assay-specific values.

  • PRIMER_MAX_NS_ACCEPTED must remain zero.

To cover multiple intervals with one product, provide their enclosing interval as one SEQUENCE_TARGET, then verify both binding sites lie outside that interval. Several separate targets do not request one primer pair per target.

All numeric inputs must be finite. For an unimplemented native tag or another task, use the official Primer3 interface explicitly and retain the same coordinate, provenance, and validation discipline. Do not disguise it as tested adapter behavior.

BED masking

--mask-bed reads tab-separated record_id start end (extra BED columns are allowed). Intervals are 0-based, half-open. Every record must occur in the input template FASTA; every interval must fit its record. Exclusions for the selected record are combined with configuration exclusions. A BED interval [start,end) becomes Primer3's [start,end-start].

For example, VCF POS 101 on a whole-chromosome template describes a single base at BED [100,101), after confirming assembly, contig, and REF. For an extracted locus, subtract its genomic offset and transform strand where needed. Indels and multiallelic loci need deliberate affected-interval definitions, not a universal POS-only conversion. See design-workflows.md.

Expected product TSV

Exactly four columns: pair_id, record_id, start, end. Multiple rows may specify multiple acceptable products for one pair. Match actual reference IDs; no record-name allowlist or fuzzy coordinate matching is performed.

  • Linear interval: 0 <= start < end <= record_length.

  • Circular interval: 0 <= start < record_length, start < end <= start+record_length. Example: on a 500-base circular record, [450,550) describes a 100-base product.

  • An expected product matches its exact outer interval and mixed primer roles (F/R or R/F). Same-primer products are flagged separately even at the same coordinates.

  • Empty/missing expected targets produce an inventory, not a specificity clearance.

  • Design export coordinates belong to the design FASTA. Translate them explicitly when switching reference; genomic and transcript coordinates are not interchangeable.

Reports, flags, and exit codes

design_primers.py emits pairs, product/core/order sequences, binding/product intervals, lengths, core Tm, penalties, engine explanations, effective input settings, and SHA-256/version provenance. Empty results return no_candidates, not fake primers.

check_thermodynamics.py emits per-oligo core/full structures and per-interaction directional results. --multiplex enumerates all unordered oligo pairs, not just F/R. A requested panel exceeding --max-interactions errors before partial output. Long full oligos return unsupported_length; no full-oligo assessment is implied. Core Tm at/below absolute zero or nonfinite Tm is an error, even if Primer3 returned a numeric value. Check chemistry units and model suitability before rerunning.

screen_specificity.py emits hits and products for each pair, expected/missing products, status, limitations, settings, reference/pair/expected hashes, and executable provenance. Binding hit indices are relative to the primer in 5′→3′ orientation; explicit *_from_three_prime_1based fields count back from its 3′ end. Ambiguous bases carry mismatch lower/upper bounds. A possible base match is not a confirmed match.

All product lengths include binding cores. length_with_tails adds the applicable tails for that product's two primer roles. Product-size search bounds refer to the reference product before tails. Only nonoverlapping inward-facing sites are modeled.

BLAST is never exhaustive. complete_within_model=false and exhaustive=false remain false even when discovery_completed=true. Inspect issues and per-pair statuses as well as top-level status. Aggregate status selects the most limiting state and does not erase other pairs' findings.

For specificity --multiplex, the report includes original pairs and generated cross-pair combinations, with cross_pair flags and source oligo identities. The engine searches unique annealing cores once. With N input pairs, there are 2*N*(N-1) cross-pair oligo combinations, checked against --max-panel-combinations before expansion. Same-primer products remain in the original pair inventory. Every generated cross product is unintended in this mode; no-product cross combinations receive the scoped no-off-target status. Expected TSV rows may name only original pairs. Intentional shared-primer panels require explicit standalone pair definitions and a reviewed set of acceptable products.

ToolExit 0Exit 1Exit 2
DesignCandidates producedNo candidatesInvalid input/engine failure
ThermodynamicsSupported calculations completedLong full oligos remain unassessedInvalid input/engine failure/cap
SpecificityComputation completed; read biological statusNot usedIncomplete search, uncertain matching sites, invalid input, or engine failure

An observed off-target can accompany a successful exit 0. Missing intended products also require action even when computation succeeds. Specificity failures write an incomplete report where possible. Invalid design/thermodynamic inputs return an error without creating a new report; do not reuse a stale output from an earlier run. Output paths cannot overwrite input files; use distinct filenames for each analysis.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

The author says: Requires Python 3.11+ and primer3-py 2.3.1 for design and thermodynamics. Local exhaustive screening uses the standard library; BLAST screening additionally needs blastn and makeblastdb on PATH. Network access is needed only for installation, reference retrieval, or external Primer-BLAST.

Security

What our scanner noticed· Low risk

  • Instructions that use the network
  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
K-Dense Inc.
Publisher
K-Dense (Community)
Source
K-Dense-AI/scientific-agent-skills · skills/primer-design · commit a25cf9e
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE.md)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by K-Dense Inc. or K-Dense.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download primer-design.zip