Agent skill package for using the VirusPrimerPro website API to design conserved primers, prepare phylogeny-guided inputs, and assemble tNGS amplicon panel deliverables.
This repository intentionally contains only the reusable agent skill package. It does not include the VirusPrimerPro web application source code.
Use this package when an AI coding agent needs to call the VirusPrimerPro Agent API instead of using the GUI. The agent can:
- request or use an API key;
- upload aligned FASTA, tree, annotation, or GenBank files;
- submit
conserved_region,primer_site, andphylo_guidejobs; - poll long-running jobs without holding a long HTTP connection;
- download result artifacts;
- prepare NCBI + MAFFT alignments;
- curate genotype/reference datasets;
- screen primer specificity;
- QC primers and tNGS panels;
- export wet-lab order sheets and validation reports.
agentskill/
SKILL.md # Main Codex-style skill entry
references/ # API and preparation references
scripts/ # Standard-library helper scripts
skills/ # Smaller task-specific skills
testdata/ # Small smoke-test fixtures
AGENTS.md # Generic agent instructions
CLAUDE.md # Claude Code instructions
.github/copilot-instructions.md # GitHub Copilot / VS Code instruction entry
docs/client-compatibility.md # Client setup notes
Set API credentials in the agent runtime:
export VPP_AGENT_BASE_URL="https://your-virusprimerpro-host.example"
export VPP_AGENT_API_KEY="vpp_live_<prefix>_<secret>"Submit an aligned FASTA to the Agent API:
python agentskill/scripts/vpp_agent_api.py \
--base-url "$VPP_AGENT_BASE_URL" \
--api-key-env VPP_AGENT_API_KEY \
submit \
--mode primer_site \
--msa aligned.fasta \
--profile standard \
--config-json '{"mode":"primer_site","target_coverage":0.95,"amplicon_min":100,"amplicon_max":400}' \
--wait \
--poll-interval 30 \
--output-dir resultsThe API is asynchronous. For heavy jobs, submit first, then poll:
python agentskill/scripts/vpp_agent_api.py status --run-id run_...
python agentskill/scripts/vpp_agent_api.py artifacts --run-id run_... --output-dir resultsUse agentskill/SKILL.md as the main skill entry. A Codex agent should load this skill when it needs to call VirusPrimerPro through /api/v1/agent/*.
Recommended usage:
git clone https://github.com/KevinSpringer1/conserved-primer-design.git
cd conserved-primer-design
python agentskill/scripts/vpp_agent_api.py --helpOpen this repository in Claude Code. Claude Code should read CLAUDE.md and use the helper scripts instead of manually reconstructing upload, polling, or artifact-download logic.
The repository includes .github/copilot-instructions.md. Open the cloned repository in VS Code and ask Copilot or another coding agent to follow those instructions when calling the VirusPrimerPro API.
Agents that support repository instructions should read AGENTS.md. Agents that support skill-style folders should use agentskill/SKILL.md plus the task-specific entries under agentskill/skills/.
- Curate genotype/subtype/clade definitions with citations.
- Curate and deduplicate reference accessions.
- Download genomes and build an MSA with MAFFT.
- For
phylo_guide, prepare a tree and annotation from curated groups. - Submit to the VirusPrimerPro Agent API.
- Poll status until
succeededorfailed. - Download artifacts.
- Run primer wet-lab QC and specificity screening.
- Design or balance tNGS panel pools.
- Export wet-lab sheets and validation reports.
Run local tests without a live VirusPrimerPro server:
python -m py_compile agentskill/scripts/*.py
python agentskill/scripts/curate_references.py validate-taxonomy \
--taxonomy-json agentskill/testdata/sample_taxonomy.json \
--output /tmp/vpp_taxonomy_report.json
python agentskill/scripts/primer_panel_qc.py qc-primers \
--primers agentskill/testdata/sample_primers.csv \
--output /tmp/vpp_primer_qc.json \
--fail-on-warn
python agentskill/scripts/advanced_phylogeny.py validate-tree \
--msa agentskill/testdata/sample_alignment.fasta \
--tree agentskill/testdata/sample_tree.newick \
--output /tmp/vpp_tree_validation.json- Do not commit API keys.
- Prefer
VPP_AGENT_API_KEYandVPP_AGENT_ADMIN_TOKENenvironment variables. - Use short polling requests for long computations.
- Review all accession, specificity, primer QC, and panel reports before ordering primers.
MIT License. See LICENSE.