Agent skill

Update Datasets

by bactopia in bactopia/bactopia

Build and publish Bactopia's version-pinned datasets to Cloudflare R2.

MITAuto-check passed

Install Update Datasets

skills CLI
$ npx skills add bactopia/bactopia --skill update-datasets -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bactopia/bactopia update-datasets --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bactopia/bactopia.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/update-datasets .claude/skills/update-datasets && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
update-datasets
GitHub stars
522
Token cost
~1.3k tokens
SKILL.md length
483 words
Files
2 (incl. scripts)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Build and publish Bactopia's version-pinned datasets to Cloudflare R2.

  • Works in 5 steps: Currency gate (hard stop). Confirm the… → Build. Rebuild the database in the… → Report the build. Show the script's… → …
  • Asked to update datasets
  • SKILL.md covers Steps and Notes
  • Runs Shell scripts from its folder; calls bash and curl; reaches datasets.bactopia.com

What it does

Update Datasets is an agent skill from bactopia/bactopia. Build and publish Bactopia's version-pinned datasets to Cloudflare R2. Currently implements the AMRFinder+ database. It verifies the amrfinderplus module is at the latest bioconda version, rebuilds amrfinderplus.tar.gz inside the module's pinned container, and (after confirmation) uploads it via rclone to datasets/v<version/amrfinderplus.tar.gz. Use when asked to update datasets, rebuild the amrfinderplus database, publish a dataset bundle, refresh the version-pinned datasets, or prepare datasets for a release.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/build-amrfinderplus-db.sh`).

It works with Cloudflare R2. The repository describes itself as: A flexible pipeline for complete analysis of bacterial genomes. The licence is MIT.

When your agent uses it

  • Asked to update datasets
  • Rebuild the amrfinderplus database
  • Publish a dataset bundle
  • Refresh the version-pinned datasets

Example prompts

  • “/update-datasets”

Requirements

  • A Bash shell
  • Docker

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Currency gate (hard stop). Confirm the module tool is the latest bioconda
  2. Build. Rebuild the database in the module's pinned container
  3. Report the build. Show the script's summary fields (tarball path, sha256,
  4. Upload (gated behind explicit confirmation). The rclone destination base
  5. Verify publication. After upload, confirm the public URL resolves

What it can do on your machine

Read from SKILL.md and the folder at commit 29fb741. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • datasets.bactopia.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Update Datasets loads about 1.3k tokens when it runs. Until then it costs about 133 tokens; SKILL.md has 483 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~133
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from bactopia/bactopia at commit 29fb741, republished under its MIT licence (© bactopia). 483 words, ~1,289 tokens.

Download SKILL.mdSave it as .claude/skills/update-datasets/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
update-datasets
description
Build and publish Bactopia's version-pinned datasets to Cloudflare R2. Currently implements the AMRFinder+ database. It verifies the amrfinderplus module is at the latest bioconda version, rebuilds amrfinderplus.tar.gz inside the module's pinned container, and (after confirmation) uploads it via rclone to datasets/v<version>/amrfinderplus.tar.gz. Use when asked to update datasets, rebuild the amrfinderplus database, publish a dataset bundle, refresh the version-pinned datasets, or prepare datasets for a release.

Update Datasets

Build and publish Bactopia's version-pinned datasets to Cloudflare R2.

bactopia datasets downloads bundles from https://datasets.bactopia.com/datasets/. Most bundles are shared across releases, but a few are pinned to the pipeline version. The only version-pinned dataset today is AMRFinder+ (conf/params.config: amrfinderplus_url = ".../datasets/v${params.bactopia_version}/amrfinderplus.tar.gz"), so this skill implements that path concretely; the name stays generic for future version-pinned datasets.

The publish version is versions.yml's bactopia value, and the R2 layout is datasets/v<version>/amrfinderplus.tar.gz. The tool version that builds the database must equal the version the pipeline pins (an outdated binary can produce a database the pinned binary cannot load), so the skill hard-gates on the amrfinderplus module being current before building. This skill is the sole owner of the build recipe — the old modules/amrfinderplus/update/ module that carried it was removed.

Steps

  1. Currency gate (hard stop). Confirm the module tool is the latest bioconda release before building:

    bash .agents/skills/update-module/scripts/run-bactopia-update.sh \
        --bactopia-path /home/rpetit3/repos/bactopia/bactopia --module amrfinderplus --json --silent

    Parse the entry whose tool == "ncbi-amrfinderplus".

    • needs_update == true -> STOP. Tell the user to run /update-module (bumps modules/amrfinderplus/run/module.config), then re-run this skill. Do not build against a stale version.
    • latest_version == null (API failure) -> STOP and report the failure.
    • needs_update == false -> proceed.
  2. Build. Rebuild the database in the module's pinned container:

    bash .agents/skills/update-datasets/scripts/build-amrfinderplus-db.sh \
        --bactopia-path /home/rpetit3/repos/bactopia/bactopia

    Add --runtime singularity if the user asks or docker is unavailable. This downloads the latest NCBI database and produces the tarball; expect it to take several minutes and hundreds of MB. The script reads the container image from modules/amrfinderplus/run/module.config, so version bumps flow automatically.

  3. Report the build. Show the script's summary fields (tarball path, sha256, tool version, database version). Read the publish version:

    awk '/^bactopia:/{print $2}' /home/rpetit3/repos/bactopia/bactopia/versions.yml

    The R2 key is datasets/v<version>/amrfinderplus.tar.gz.

  4. Upload (gated behind explicit confirmation). The rclone destination base is bactopia-r2:bactopia (remote bactopia-r2, bucket bactopia); $BACTOPIA_R2_DEST overrides it if set. The public URL https://datasets.bactopia.com/datasets/... maps to bactopia-r2:bactopia/datasets/..., so the full key is <base>/datasets/v<version>/amrfinderplus.tar.gz.

    • Verify reachability: rclone lsd bactopia-r2:bactopia. On failure, report it and fall back to printing the manual command below — do not upload.
    • Show the exact command and ask for confirmation before running it:
      rclone copyto "<tarball>" "bactopia-r2:bactopia/datasets/v<version>/amrfinderplus.tar.gz" --s3-no-check-bucket --progress
    • --s3-no-check-bucket is required: R2 API tokens cannot CreateBucket, which rclone otherwise attempts before the first upload and fails with a 403 AccessDenied. The bucket already exists, so skip the check.
    • Only on an explicit yes, run it. copyto overwrites an existing key, so re-publishing a version is idempotent.
  5. Verify publication. After upload, confirm the public URL resolves:

    curl -s -o /dev/null -w '%{http_code}' -I "https://datasets.bactopia.com/datasets/v<version>/amrfinderplus.tar.gz"

    200 -> published (this is exactly /release-checklist check 15's sentinel). Report the HTTP code.

Show full SKILL.md (77 more words)Show less

Notes

  • The currency gate reuses /update-module's run-bactopia-update.sh; the build image is read from modules/amrfinderplus/run/module.config, so a version bump there is picked up without editing this skill.
  • Generic by design: to add a future version-pinned dataset, add a sibling build script and a step block — the R2 layout, publish-version logic, and upload gating are shared.
Sibling skills
  • /update-module — the currency gate's remediation (step 1).
  • /release-checklist — check 15 probes this exact bundle and recommends this skill when it 404s.

© bactopia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in .agents/skills/update-datasets of bactopia/bactopia.

  • SKILL.md
  • scripts/build-amrfinderplus-db.sh

Open the folder on GitHubat commit 29fb741

Compare with similar skills

Update Datasets next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Update Datasets compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Update Datasets this skillbactopia/bactopia522—~1.3kAutomated safety check: PassMIT
Arcgis To Portaljsdatopian/portaljs2.4k—~2kAutomated safety check: PassMIT
S3 Exploreduckdb/duckdb-skills5991 repos~848Automated safety check: NotesMIT
Portaljs Add Geodatopian/portaljs2.4k—~1.7kAutomated safety check: PassMIT
Basincloudflare/skills3k1 repos~684Automated safety check: PassApache-2.0
Audio To SubtitlesbozhouDev/video-skills-toolkit149—~1.9kAutomated safety check: NotesMIT

Similar skills

  • Arcgis To Portaljs

    datopian/portaljs

    Migrate a whole ArcGIS Hub site into a PortalJS Arc portal end-to-end.

    2.4k GitHub stars~2k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • S3 Explore

    duckdb/duckdb-skills

    Official

    Explore and query data on S3, Cloudflare R2, GCS, MinIO, or any S3-compatible storage.

    599 GitHub starsUsed in 1 repo~848 tokens
    Backend & APIsAuto-check: notes
  • Portaljs Add Geo

    datopian/portaljs

    Auto-ingest a geospatial file (GeoJSON, Shapefile, GeoPackage, KML/KMZ, FlatGeobuf, CSV-with-geometry) into a PortalJS portal on the user's own machine, with no server.

    2.4k GitHub stars~1.7k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Basin

    cloudflare/skills

    Official

    Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL.

    3k GitHub starsUsed in 1 repo~684 tokens
    DatabasesAuto-check passed
  • Audio To Subtitles

    bozhouDev/video-skills-toolkit

    Convert local audio/video files or public media URLs into subtitle files by uploading local files to Cloudflare R2 and calling Volcengine AI MediaKit ASR subtitles API.

    149 GitHub stars~1.9k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Tutorial Videos

    matthiasn/lotti

    Build, debug, extend, localize, or publish the automated tutorial videos — the workbench that drives the real Linux app under Xvfb (virtual mic, live Voxtral transcription, task-agent proposals)…

    1.2k GitHub stars~2.2k tokensUpdated today
    Media & CreativeAuto-check: notes

More from bactopia/bactopia

All 15 skills in this repo
  • Add Bactopia Tool

    bactopia/bactopia

    Scaffold a complete Bactopia Tool across all three tiers -- module, subworkflow, and workflow entry point under workflows/bactopia-tools/.

    522 GitHub stars~4.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Bump Versions

    bactopia/bactopia

    Propagate the Bactopia and nf-bactopia versions declared in versions.yml into the hand-maintained files that carry a literal version (conf/testbase.config, CITATION.cff, bin/bactopia…

    522 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Merge Schemas

    bactopia/bactopia

    Regenerate nextflow.config and nextflowschema.json for Bactopia workflows by running bactopia-merge-schemas.

    522 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Project Status

    bactopia/bactopia

    Show a live snapshot of the Bactopia project state — component counts, GroovyDoc coverage, nf-test coverage, and structural issues.

    522 GitHub stars~787 tokensUpdated 2 mo ago
    Auto-check passed
  • Release Checklist

    bactopia/bactopia

    Audit whether Bactopia is ready for a version release and produce a GO / NO-GO recommendation report.

    522 GitHub stars~4.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Review Citations

    bactopia/bactopia

    Review citation integrity across data/citations.yml and @citation tags using bactopia-citations --validate.

    522 GitHub stars~2.5k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Update Datasets

What does Update Datasets do?

Build and publish Bactopia's version-pinned datasets to Cloudflare R2. Update Datasets is an agent skill from bactopia/bactopia. Build and publish Bactopia's version-pinned datasets to Cloudflare R2.

When should I use Update Datasets?

Update Datasets fits situations like: asked to update datasets; rebuild the amrfinderplus database; publish a dataset bundle; refresh the version-pinned datasets.

How do I install Update Datasets in Claude Code?

Run `npx skills add bactopia/bactopia --skill update-datasets -a claude-code`. Or copy the skill folder (.agents/skills/update-datasets in bactopia/bactopia) into .claude/skills/update-datasets in your project. Claude Code loads it when a task matches its description.

How do I install Update Datasets in Codex?

Run `npx skills add bactopia/bactopia --skill update-datasets -a codex`. Or copy the skill folder (.agents/skills/update-datasets in bactopia/bactopia) into .agents/skills/update-datasets in your project. Codex loads it when a task matches its description.

Can I use Update Datasets in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bactopia/bactopia --skill update-datasets -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-datasets, .gemini/skills/update-datasets, .github/skills/update-datasets and .opencode/skills/update-datasets in your project.

What does Update Datasets need to run?

Going by SKILL.md and its folder, Update Datasets needs a shell for the scripts in its folder and the command-line tools its instructions call (bash and curl). Our summary lists: A Bash shell; Docker.

Does Update Datasets access the network?

SKILL.md names 1 domain. In commands or code: datasets.bactopia.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Update Datasets safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Update Datasets use?

Update Datasets is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Update Datasets use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Update Datasets?

Skills that share tags, products or a category with Update Datasets: Arcgis To Portaljs (datopian/portaljs, 2.4k stars), S3 Explore (duckdb/duckdb-skills, 599 stars), Portaljs Add Geo (datopian/portaljs, 2.4k stars) and Basin (cloudflare/skills, 3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Update Datasets?

bactopia (a GitHub organization) maintains it in bactopia/bactopia, which has 522 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on August 5, 2026.

Source: bactopia/bactopia on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.