Skip to content
Back to skills

Taxonomy Helper

ASecurity

"Use the optional gimme_taxa workflow to resolve taxon names or

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
toolspythonshellbashsqldatabase

Works with

  • cli

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill taxonomy-helper --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Taxonomy Helper?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Taxonomy Helper
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-taxonomy-helper/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-taxonomy-helper)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: taxonomy-helper
description: "Use the optional gimme_taxa workflow to resolve taxon names or
  parent TaxIDs into descendant TaxIDs or taxon metadata for
  ncbi-genome-download."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Taxonomy helper

`gimme_taxa.py` is an optional, experimental contributed workflow. It uses
ETE3's `NCBITaxa` interface and a local NCBI taxonomy database to resolve each
comma-separated positional input (a taxon name, a numeric TaxID, or both) and
then either emit descendants or describe the supplied taxa. It is a separate
preparation step; it is not part of the main download CLI.

Use the bundled helper at [`scripts/gimme_taxa.py`](scripts/gimme_taxa.py), not
an original source checkout. The helper's parser preserves the public spellings
`-v/--verbose`, `-d/--database`, `-u/--update`, `-j/--just-taxids`,
`-i/--taxon-info`, and `-o/--outfile`.

## Choose an output mode

- **Download input (`-j` / `--just-taxids`)**: write one descendant TaxID per
  line, with no header. This is the only output mode intended for direct use as
  an `ncbi-genome-download --taxids` input file. See
  [`../download-and-filter/SKILL.md`](../download-and-filter/SKILL.md) for the
  consuming download command and its filters.
- **Default descendant report**: write a header followed by tab-separated rows
  with `parent_taxid`, `descendent_taxid`, and `descendent_name`. This is for
  inspection, not direct `--taxids` consumption.
- **Taxon metadata (`-i` / `--taxon-info`)**: write a header followed by
  tab-separated `name`, `taxid`, `rank`, and `lineage` columns for the supplied
  taxa. If `-i` and `-j` are both supplied, the source's `taxon-info` branch
  takes precedence.

The source spelling `descendent` in the default header is intentional. Do not
silently deduplicate or reorder rows: the helper emits the returned ETE3
sequence once for each supplied parent. The actual names and descendants are
properties of the local taxonomy database and were not live-queried during
verification.

## Safety boundary

A lookup can have network and filesystem side effects. Constructing
`NCBITaxa` may create or download a local taxonomy SQLite database when no
usable database exists. `--update` (`-u`) explicitly asks ETE3 to refresh that
database and can take several minutes and require network access. Prefer an
explicit, writable `--database` path in a controlled workspace, record that
path, and use the same path on later runs. Do not enable `--update` merely to
produce help or to test parsing.

The helper requires a Python environment in which ETE3 and its expected
runtime dependencies `six` and `numpy` are installed. Installation and
database acquisition are deliberately outside the download skill's normal
verification: no live taxonomy database query was run. First run `--help`,
then make a deliberate decision about dependency installation, database
location, and network access before querying.

For checksums, file existence, and downstream output validation, follow
[`../output-and-integrity/SKILL.md`](../output-and-integrity/SKILL.md). Treat the
TaxID file as generated input: inspect its headerless, one-ID-per-line format
before passing it onward.

## Minimal handoff pattern

```bash
# Set this to the generated skill directory; the commands below are portable.
export SKILL_ROOT="${SKILL_ROOT:?Set SKILL_ROOT to the generated skill directory}"
WORKDIR="$(mktemp -d)"

# Parser-only check; this does not instantiate ETE3 or access the network.
python "$SKILL_ROOT/sub-skills/taxonomy-helper/scripts/gimme_taxa.py" --help

# Deliberate lookup: choose a writable database and output file first.
python "$SKILL_ROOT/sub-skills/taxonomy-helper/scripts/gimme_taxa.py" \
  --database "$WORKDIR/taxonomy.sqlite" \
  --just-taxids \
  --outfile "$WORKDIR/descendant-taxids.txt" \
  Escherichia

# Consume only after inspecting the generated file.
ncbi-genome-download --taxids "$WORKDIR/descendant-taxids.txt" bacteria
```

The lookup command may download/create the database. Add `--update` only when
refreshing it is intended, and use `-v` or `-vv` when diagnostic output is
needed. Keep helper diagnostics on stderr and the data file on `--outfile` (or
stdout when `--outfile` is omitted) so shell redirection cannot accidentally
mix status text into the TaxID file.

Files in this skill

  • SKILL.md4.3 KB
  • references/dependencies-and-troubleshooting.md5.6 KB
  • references/workflow.md5.3 KB
  • scripts/gimme_taxa.py6.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.