ncbi-blast-skill

Submit, poll, and summarize NCBI BLAST Common URL API jobs (Blast.cgi) for nucleotide or protein sequences. Use when a user wants RID status, BLAST results, or…

npx skills add https://github.com/openai/plugins --skill ncbi-blast-skill

Operating rules

  • Use scripts/ncbi_blast.py for all concrete BLAST work.
  • Honor NCBI limits: >=10s between requests and >=60s between polls for the same RID.
  • Always surface the RID in the response so the job can be resumed or refetched later.
  • If the conversation is long or multiple tool calls have occurred, refetch from the RID instead of trusting older context.
  • If a prior turn saved raw output to disk, do not read it back into context unless the user asks for a specific follow-up.

Execution behavior

  • Return compact BLAST summaries first.
  • Do not paste full JSON2 or long Text alignments into chat by default.
  • Default to max_hits=5 and max_queries=5.
  • If the user asks for raw output, write it to a file and report the path.
  • Only provide Python code when the user explicitly asks for code or execution is unavailable.
  • For normal user-facing answers, summarize the script JSON in markdown; if the user explicitly asks for machine-readable output, return the JSON verbatim.

Input

  • The script reads one JSON object from stdin.
  • action must be one of submit, status, fetch, or run.
  • submit and run require program, database, query_fasta, and email (or NCBI_EMAIL).
  • status and fetch require rid.
  • program must be one of blastn, blastp, blastx, tblastn, or tblastx.
  • result_format defaults to json2 for run and fetch.
  • tool defaults to NCBI_TOOL, then ncbi-blast-skill.
  • max_hits defaults to 5; max_queries defaults to 5.
  • hitlist_size defaults to 50; descriptions and alignments default to 5.
  • wait_timeout_sec defaults to 900.
  • save_raw defaults to false.
  • If save_raw=true and raw_output_path is omitted, the script writes to /tmp/ncbi-blast-<rid>.<json|txt>.
  • query_fasta may contain multi-FASTA input; compact summaries still cap per-query output with max_hits and max_queries.

Output

  • Common success fields: ok, source, action, warnings.
  • submit returns rid, rtoe_seconds, and status="SUBMITTED".
  • status returns rid, normalized status, and has_hits.
  • run and fetch with result_format=json2 return rid, status, has_hits, result_format, query_count_returned, query_count_available, query_summaries_truncated, query_summaries, and raw_output_path.
  • Each query_summary contains query_title, hit_count_returned, hit_count_available, truncated, and top_hits.
  • Each top_hit contains rank, accession, title, evalue, and bit_score.
  • fetch with result_format=text returns text_head capped at 800 characters unless save_raw=true; when save_raw=true, it returns only the artifact path.
  • Failures return ok=false, error.code, error.message, and warnings.

Execution

  • Run python scripts/ncbi_blast.py.
  • If requests is missing, install it once before first use with python -m pip install requests.
echo '{"action":"run","program":"blastp","database":"swissprot","query_fasta":">q1\nMTEYK...","email":"you@example.com"}' | python scripts/ncbi_blast.py

References

  • Load references/blast-common-url-api.txt only for parameter details or uncommon BLAST options.
  • Do not load references/intent-notes.txt during normal skill execution; it is not runtime guidance.

More skills from openai

user-context
openai
Load or manage the Data Analytics plugin's durable source-routing preferences, onboarding logic, setup progress, and semantic-layer registry.
official
notion-research-documentation
openai
Research Notion content and synthesize into structured briefs, reports, or comparisons with citations. Search and fetch Notion pages using targeted queries, then organize findings by theme with inline source citations and a references section Choose from four output formats (quick brief, research summary, comparison, comprehensive report) based on scope and user goal Create and update Notion pages using built-in templates; link sources directly and track changes as new information arrives...
official
rcsb-pdb-skill
openai
Submit compact RCSB PDB requests for core metadata, Search API queries, and FASTA downloads. Use when a user wants concise RCSB summaries; save raw JSON or…
official
pdf
openai
PDF reading, creation, and validation with visual rendering and programmatic generation. Render PDF pages to PNG for visual inspection of layout, spacing, and typography before delivery using Poppler ( pdftoppm ) Generate PDFs programmatically with reportlab for reliable formatting; extract text and metadata with pdfplumber or pypdf Enforce quality standards: no clipped text, overlapping elements, broken tables, or rendering artifacts; ASCII hyphens only, human-readable citations Use...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
Terminal-driven browser automation with element snapshots and interactive UI workflows. Operates via playwright-cli wrapper script (requires npx ); supports headless and headed modes for visual debugging Core workflow: open page, snapshot for stable element references, interact using refs, re-snapshot after navigation or DOM changes Includes form filling, clicking, typing, multi-tab management, screenshot/PDF capture, and trace recording for flow debugging Element refs (e.g., e3 , e15 )...
official
ukb-topmed-phewas-skill
openai
Fetch compact UKB-TOPMed PheWAS summaries for single variants by accepting rsID, GRCh37, or GRCh38 input and resolving to the required GRCh38 query. Use when a…
official
code-review-context
openai
Model visible context
official