Agent skill

Update Catalog

by bactopia in bactopia/bactopia

Regenerate catalog.json and llms.txt by running bactopia-catalog.

MITAuto-check passedMarketing & SEO

Install Update Catalog

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

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

GitHub CLI
$ gh skill install bactopia/bactopia update-catalog --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-catalog .claude/skills/update-catalog && 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-catalog
GitHub stars
522
Token cost
~1.4k tokens
SKILL.md length
645 words
Files
2 (incl. scripts)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Regenerate catalog.json and llms.txt by running bactopia-catalog.

  • Works in 4 steps: Tell the user you are checking for… → Run the wrapper to regenerate both files… → Summarize the result. Use the CLI's own… → …
  • Asked to update the catalog
  • SKILL.md covers Steps and Notes
  • Runs Shell scripts from its folder; calls git

What it does

Update Catalog is an agent skill from bactopia/bactopia. Regenerate catalog.json and llms.txt by running bactopia-catalog. Use when asked to update the catalog, rebuild the component index, refresh catalog.json, or sync llms.txt after component changes (new/removed modules, subworkflows, or workflows; tool version bumps; GroovyDoc edits that affect descriptions or contracts).

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

It sits in Marketing & SEO, covering AI search optimization. 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 the catalog
  • Rebuild the component index
  • Refresh catalog.json
  • Sync llms.txt after component changes (new/removed modules

Example prompts

  • “/update-catalog”

Requirements

  • A Bash shell

Workflow steps

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

  1. Tell the user you are checking for uncommitted local edits to catalog.json and llms.txt, then run
  2. Run the wrapper to regenerate both files in one invocation
  3. Summarize the result. Use the CLI's own summary line for counts (Found N modules, M subworkflows, K workflows) — don't parse the JSON…
  4. Do not stage or commit the updated files. Let the user review the diff first. Committing auto-generated files without human review is how…

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:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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 Catalog loads about 1.4k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 645 words of instructions outside code blocks.

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

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). 645 words, ~1,411 tokens.

Download SKILL.mdSave it as .claude/skills/update-catalog/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
update-catalog
description
Regenerate catalog.json and llms.txt by running bactopia-catalog. Use when asked to update the catalog, rebuild the component index, refresh catalog.json, or sync llms.txt after component changes (new/removed modules, subworkflows, or workflows; tool version bumps; GroovyDoc edits that affect descriptions or contracts).

Update Catalog

Regenerate the machine-readable Bactopia component index (catalog.json) and the AI-discovery surface (llms.txt) by invoking bactopia-catalog. Both files live at the repo root. The skill is a thin wrapper — all scanning, parsing, and rendering logic lives in bactopia-catalog in bactopia-py.

Steps

  1. Tell the user you are checking for uncommitted local edits to catalog.json and llms.txt, then run:

    git -C /home/rpetit3/repos/bactopia/bactopia status --porcelain catalog.json llms.txt

    If either file is dirty, show the user the diff and confirm before overwriting. bactopia-catalog has no --force flag and silently clobbers existing output files, so this check is the user's only safety net against losing in-flight edits. If neither file is dirty, proceed directly to Step 2.

  2. Run the wrapper to regenerate both files in one invocation:

    bash .agents/skills/update-catalog/scripts/run-bactopia-catalog.sh \
        --bactopia-path /home/rpetit3/repos/bactopia/bactopia \
        --output /home/rpetit3/repos/bactopia/bactopia/catalog.json \
        --pretty \
        --llms-output /home/rpetit3/repos/bactopia/bactopia/llms.txt
    • Always pass --pretty so the committed catalog.json stays diff-friendly.
    • --llms-output is what triggers llms.txt regeneration. Without it, only catalog.json is written. The user asked to update both — always pass it unless they explicitly say "catalog only".
    • The default llms.txt template is bundled inside bactopia-py at bactopia/templates/bactopia/llms.txt.j2. Do not pass --llms-template unless the user asks you to render from a non-default template path.
  3. Summarize the result. Use the CLI's own summary line for counts (Found N modules, M subworkflows, K workflows) — don't parse the JSON yourself. Then show the user:

    • catalog.json path and the shape of the change (git diff --shortstat catalog.json)
    • llms.txt path and whether anything actually changed (git diff --shortstat llms.txt)
    • If a count changed (new or removed module/subworkflow/workflow), suggest /project-status for a full coverage read.
  4. Do not stage or commit the updated files. Let the user review the diff first. Committing auto-generated files without human review is how stale or malformed content sneaks into main.

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

Notes

  • Wrapper discovery order: PATH → bactopia-dev conda env → bactopia-py conda env → any bactopia-* env. Matches the shared pattern used by merge-schemas, project-status, update-module, and run-tests.
  • --bactopia-path is always /home/rpetit3/repos/bactopia/bactopia — do not guess or prompt. This is a single-repo project.
  • File locations: catalog.json and llms.txt both live at the repo root as of the catalog-location migration. Older references to data/catalog.json are stale.
  • llms.txt is auto-generated — prose lives in the Jinja2 template at bactopia-py/bactopia/templates/bactopia/llms.txt.j2 (inside the bactopia-py package, not in this repo). If the user wants to change prose (headings, category highlights, key-patterns bullets), they should edit the template in bactopia-py, not llms.txt here. Running this skill without first editing the template will regenerate a byte-identical llms.txt.
  • What's dynamic in the template: the module count line, the "Workflows (Tier 1)" list (looped over named workflows from the catalog), and the tool count. Everything else is hand-curated prose in the template.
  • No --force guard in the CLI: bactopia-catalog silently overwrites whatever path --output / --llms-output point at. Step 1's dirty-check is the pragmatic substitute — don't skip it.
  • Right follow-up after: /add-module, /add-subworkflow, /update-module (when schema or tool version changes affect catalog contents), or any manual edit to a module/subworkflow/workflow main.nf that changes GroovyDoc descriptions, contracts, or tags.
CLI Reference (bactopia-catalog)

Required:

  • --bactopia-path PATH — directory where the Bactopia repository is stored

Catalog output:

  • -o, --output PATH — where to write catalog.json (default: stdout, which is almost never what you want from a skill)
  • --pretty — pretty-print JSON with 2-space indentation (always pass this so the committed file diffs cleanly)

llms.txt output:

  • --llms-output PATH — where to write the rendered llms.txt. Omit to skip llms.txt rendering.
  • --llms-template PATH — Jinja2 template path. Defaults to the bundled template inside bactopia-py (bactopia/templates/bactopia/llms.txt.j2). Rarely needed.

Other:

  • --verbose, --version, --help
Sibling Skills
  • /project-status — reads catalog.json via bactopia-status. A freshly regenerated catalog is immediately reflected in its output, so this is the natural read-after-write check.
  • /merge-schemas — also reads catalog.json (for workflow path resolution). Run this after /update-catalog when a workflow's module set or schema has changed.
  • /add-module, /add-subworkflow, /update-module — all three mutate the component graph. /update-catalog is the standard follow-up to keep catalog.json and llms.txt in sync.

© 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-catalog of bactopia/bactopia.

  • SKILL.md
  • scripts/run-bactopia-catalog.sh

Open the folder on GitHubat commit 29fb741

Compare with similar skills

Update Catalog 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 Catalog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Update Catalog this skillbactopia/bactopia522—~1.4kAutomated safety check: PassMIT
Geo Fundamentalswasp-lang/wasp19k9 repos~861Automated safety check: PassMIT
SEO GeoReScienceLab/opc-skills1.8k4 repos~2.1kAutomated safety check: PassApache-2.0
GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude11k—~2.8kAutomated safety check: NotesMIT
GEO Monthly Delta Reportzubair-trabzada/geo-seo-claude11k—~2.4kAutomated safety check: NotesMIT
SEO DataforseoAgriciDaniel/codex-seo7912 repos~4.6kAutomated safety check: PassMIT

Similar skills

  • Geo Fundamentals

    wasp-lang/wasp

    Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).

    19k GitHub starsUsed in 9 repos~861 tokens
    Marketing & SEOAuto-check passed
  • SEO Geo

    ReScienceLab/opc-skills

    SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.

    1.8k GitHub starsUsed in 4 repos~2.1k tokens
    Marketing & SEOAuto-check passed
  • GEO-First SEO Audit Tool

    zubair-trabzada/geo-seo-claude

    Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.

    11k GitHub stars~2.8k tokensUpdated today
    Marketing & SEOAuto-check: notes
  • GEO Monthly Delta Report

    zubair-trabzada/geo-seo-claude

    Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.

    11k GitHub stars~2.4k tokensUpdated today
    Marketing & SEOAuto-check: notes
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    791 GitHub starsUsed in 2 repos~4.6k tokens
    Marketing & SEOAuto-check passed
  • Fire Your SEO Agency

    leopard627/fire-your-seo-agency

    SEO·AEO·GEO·LLMO·NEO(네이버) 다섯 레인을 진단하고 직접 구현하며, 인용되는 콘텐츠를 계속 생산하는 서브 블로그·콘텐츠 운영 파이프라인까지 세팅하는 스킬.

    707 GitHub stars~1.1k tokensUpdated 12 days ago
    Marketing & SEOAuto-check passed

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

Categories

Questions about Update Catalog

What does Update Catalog do?

Regenerate catalog.json and llms.txt by running bactopia-catalog. Update Catalog is an agent skill from bactopia/bactopia.txt by running bactopia-catalog.

When should I use Update Catalog?

Update Catalog fits situations like: asked to update the catalog; rebuild the component index; refresh catalog.json; sync llms.txt after component changes (new/removed modules.

How do I install Update Catalog in Claude Code?

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

How do I install Update Catalog in Codex?

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

Can I use Update Catalog 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-catalog -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-catalog, .gemini/skills/update-catalog, .github/skills/update-catalog and .opencode/skills/update-catalog in your project.

What does Update Catalog need to run?

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

Does Update Catalog access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Update Catalog 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 Catalog use?

Update Catalog 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 Catalog use?

About 1.4k tokens (SKILL.md is roughly 5.6k 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 Catalog?

Skills that share tags, products or a category with Update Catalog: Geo Fundamentals (wasp-lang/wasp, 19k stars), SEO Geo (ReScienceLab/opc-skills, 1.8k stars), GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars) and GEO Monthly Delta Report (zubair-trabzada/geo-seo-claude, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Update Catalog?

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.