Content Research Writer
weapp-tailwindcss/weapp-tailwindcss
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.
Review citation integrity across data/citations.yml and @citation tags using bactopia-citations --validate.
$ npx skills add bactopia/bactopia --skill review-citations -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bactopia/bactopia review-citations --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/bactopia/bactopia.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/review-citations .claude/skills/review-citations && rm -rf skills-srcUse ~/.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/
Install the "review-citations" agent skill from https://github.com/bactopia/bactopia/tree/master/.agents/skills/review-citations into .claude/skills/review-citations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-citations", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/bactopia/bactopia/tree/master/.agents/skills/review-citationsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add bactopia/bactopia --skill review-citations -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bactopia/bactopia review-citations --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bactopia/bactopia.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/review-citations .agents/skills/review-citations && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review-citations" agent skill from https://github.com/bactopia/bactopia/tree/master/.agents/skills/review-citations into .agents/skills/review-citations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-citations", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bactopia/bactopia --skill review-citations -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bactopia/bactopia review-citations --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bactopia/bactopia.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/review-citations .cursor/skills/review-citations && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "review-citations" agent skill from https://github.com/bactopia/bactopia/tree/master/.agents/skills/review-citations into .cursor/skills/review-citations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-citations", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/bactopia/bactopia.git --path .agents/skills/review-citations--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add bactopia/bactopia --skill review-citations -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bactopia/bactopia review-citations --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bactopia/bactopia.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/review-citations .gemini/skills/review-citations && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "review-citations" agent skill from https://github.com/bactopia/bactopia/tree/master/.agents/skills/review-citations into .gemini/skills/review-citations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-citations", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install bactopia/bactopia review-citationsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add bactopia/bactopia --skill review-citations -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bactopia/bactopia.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/review-citations .github/skills/review-citations && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "review-citations" agent skill from https://github.com/bactopia/bactopia/tree/master/.agents/skills/review-citations into .github/skills/review-citations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-citations", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bactopia/bactopia --skill review-citations -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bactopia/bactopia review-citations --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bactopia/bactopia.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/review-citations .opencode/skills/review-citations && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "review-citations" agent skill from https://github.com/bactopia/bactopia/tree/master/.agents/skills/review-citations into .opencode/skills/review-citations/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-citations", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
review-citationsReview citation integrity across data/citations.yml and @citation tags using bactopia-citations --validate.
Review Citations is an agent skill from bactopia/bactopia. Review citation integrity across data/citations.yml and @citation tags using bactopia-citations --validate. Detects orphan citation keys (defined in the yml but never referenced) and workflow @citation keys that don't resolve to a yml entry. Use this skill whenever the user asks to review citations, check citation integrity, audit citations.yml, find orphan citations, clean up unused citations, validate workflow @citation tags, or verify that every tool cited in a workflow has a matching entry in the citations…
Its SKILL.md is about 2.5k 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-citations.sh`).
It sits in Research & Science, covering Citation management. It works with Nextflow. The repository describes itself as: A flexible pipeline for complete analysis of bacterial genomes. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 29fb741. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Review Citations loads about 2.5k tokens when it runs. Until then it costs about 135 tokens; SKILL.md has 1,162 words of instructions outside code blocks.
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.
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.
The full file from bactopia/bactopia at commit 29fb741, republished under its MIT licence (© bactopia). 1,162 words, ~2,543 tokens.
.claude/skills/review-citations/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Run bactopia-citations --validate and present the integrity report, then apply fixes on request.
Three gaps that the per-component lint rules don't catch:
data/citations.yml that are never referenced by any @citation tag. Accumulate as tools are replaced or renamed. The CLI suggests candidate "homes" for each orphan based on repo state — use those to decide between wire-up vs. drop.provenance_only: true — foundational tools acknowledged for provenance only (e.g. nextflow, nf-core, nf-test). Surface them as informational, never flag as an issue.@citation keys in workflow main.nf files that don't resolve to an entry in citations.yml. The W-series lint rules have no M035/S019 equivalent, so these only surface here.Module and subworkflow @citation validation is handled by bactopia-lint rules M035 (modules) and S019 (subworkflows) — when the user wants to check those, point them at /review-groovydoc.
Run bactopia-citations --validate via the wrapper, asking for JSON so it's easy to parse:
bash .agents/skills/review-citations/scripts/run-bactopia-citations.sh \
--bactopia-path /home/rpetit3/repos/bactopia/bactopia \
--validate --json --silent Exit code is 0 when there are no real orphans and no missing workflow keys (expected orphans alone do not trigger a non-zero exit). Exit 1 when any real issue is found. Both cases print JSON on stdout.
Parse the JSON. Shape:
{
"orphans": {
"workflows": [],
"datasets_ariba": ["srst2"],
"tools": ["aragorn", "barrnap"]
},
"expected_orphans": {
"influences": ["nfcore"],
"tools": ["nextflow", "nftest"]
},
"potential_homes": {
"aragorn": [
{"type": "toolName", "path": "modules/prokka/module.config:30", "hint": "ext.toolName = \"bioconda::prokka=1.15.6\""},
{"type": "script_token", "path": "modules/prokka/main.nf:55", "hint": "prokka --outdir ..."}
],
"srst2": [
{"type": "sibling_key", "path": "data/citations.yml (arg_annot)", "hint": "possible duplicate/variant of referenced key 'arg_annot'"}
]
},
"missing_workflow_keys": [
{"component": "workflows/foo", "file": "workflows/foo/main.nf", "line": 42, "key": "typoed_key"}
],
"summary": {
"orphans_total": 3,
"expected_orphans_total": 3,
"missing_total": 1,
"yml_total": 157,
"referenced_total": 154
}
}Key fields:
orphans — real issues that need user judgment.expected_orphans — provenance_only: true entries; informational only, never a failure.potential_homes[orphan] — heuristic candidates for where each real orphan could be wired. Candidate types: directory, toolName, config_param, script_token, sibling_key (ranked roughly by specificity in that order).missing_workflow_keys — workflow-tier @citation references that don't resolve.Present a summary grouped by issue type:
Clean repo (orphans + missing both zero): report "All <yml_total> citations are referenced, <expected_orphans_total> provenance-only acknowledged" and list the expected-orphan keys inline as a dim note. Stop there.
Issues found: show sections in this order:
Orphans — per orphan, render the key with its top 2-3 potential_homes candidates inline. Lead with the most specific candidate (directory > toolName > config_param > script_token > sibling_key). Example:
aragorn (tools) — candidates:
• toolName: modules/prokka/module.config:30 ext.toolName = "bioconda::prokka=1.15.6"
• script_token: modules/prokka/main.nf:55 prokka --outdir ...Missing workflow keys — component, file:line, bad key.
Expected orphans — single dim line listing the keys so the user knows they exist but aren't flagged.
Lead with whichever of (1) or (2) has more items. Keep the output scannable; if there are many orphans, show counts + top 5-10 with homes, then note the rest by count.
If the user asks to fix issues, walk through them one category at a time. Orphans and missing keys need different treatment, so don't batch them together.
Orphans need per-key judgment — don't sweep them. For each real orphan, decide between three actions:
Wire up: The orphan has a plausible home in potential_homes. Edit the target main.nf to append the orphan key to its @citation line (keep existing cites first, append new keys). Verify the result with the Edit tool — if the current @citation line is * @citation prokka, the updated line becomes * @citation prokka, aragorn.
Drop: Truly retired — no home, no sibling, no future plans. Use the Edit tool to delete the key line plus its entire indented block in data/citations.yml (typically 4-6 lines; cite: | multi-line bodies run longer).
Keep with provenance marker: The orphan is deliberately unreferenced (foundational tool, planned but not yet wired, retained for historical record). Add provenance_only: true to its yml block — this moves it into expected_orphans on the next run so it stops tripping the validator. Place the field right below name:. Example:
nextflow:
name: Nextflow
provenance_only: true
link: ...
cite: |
...Every citations.yml entry shape:
aragorn:
name: Aragorn
link: ...
description: ...
cite: |
Citation text across one or more lines.Keys live under six top-level sections: workflows, datasets_ariba, datasets_generic, datasets_minmer, influences, tools. The orphans field in the JSON is already grouped by section — use that grouping so you're editing under the right parent key.
Always confirm before editing. Heuristics produce candidates, not decisions. Present the top suggestion and ask the user to pick wire-up / drop / keep-with-marker.
Two sub-cases, determined by inspecting the bad key:
clonalframeml vs clonal_frame_ml). Suggest the closest valid key from citations.yml. Edit the workflow main.nf to correct the @citation line. The file and line number are in the JSON.data/citations.yml. Don't invent citations — if the user doesn't have the details at hand, leave the @citation as-is and flag it for follow-up.After edits, re-run step 1 to confirm the issue is resolved. A clean re-run proves the fix landed correctly.
citations.yml. The CLI reports orphans objectively, but deciding between wire-up / drop / provenance-marker is a judgment call that needs the user's input.potential_homes is heuristic. A top candidate is a strong hint but not proof — always check the target main.nf before writing to it. Occasionally the "script_token" heuristic flags incidental string matches rather than real usage.bactopia-citations (checks PATH, then conda envs). No need to activate an env first.--bactopia-path must point at the repo root (e.g. /home/rpetit3/repos/bactopia/bactopia) so the walker can find modules/, subworkflows/, workflows/, and data/citations.yml.@citation tag format * @citation key1, key2, key3data/citations.yml@citation continuations are supported by the GroovyDoc parser; validation treats them the same as a single linecitations.yml sectionsworkflows — top-level pipelines (bactopia, staphopia, ...)datasets_ariba, datasets_generic, datasets_minmer — reference datasetsinfluences — foundational tools cited for inspiration (currently just nf-core)tools — most individual bioinformatics tools (150+ entries)provenance_only: true markerEntries with this flag are intentionally unreferenced and surface in expected_orphans instead of orphans. Use it for foundational infrastructure tools that belong on the docs/citations page but don't have a natural home on any individual pipeline component. Current entries: nfcore, nextflow, nftest.
@citation key typos → /review-groovydoc (rules M035, S019).agents/docs/standards/06-workflow-documentation.md© bactopia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in .agents/skills/review-citations of bactopia/bactopia.
Open the folder on GitHubat commit 29fb741
Review Citations 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Review Citations this skillbactopia/bactopia | 522 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Content Research Writerweapp-tailwindcss/weapp-tailwindcss | 1.9k | 25 repos | ~3.5k | Automated safety check: Pass | MIT | |
| NetworkxzLanqing/codex-claude-academic-skills | 4.6k | 16 repos | ~3.2k | Automated safety check: Pass | BSD-3-Clause | |
| Citation Verification GuideGalaxy-Dawn/claude-scholar | 5.7k | 3 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Systematic Review ScreenerImbad0202/academic-research-skills | 51k | — | ~8.4k | Automated safety check: Pass | Custom licence | |
| Literature Reviewneflibata-feng/MyArxiv-Agent | 126 | 21 repos | ~5.9k | Automated safety check: Notes | MIT |
weapp-tailwindcss/weapp-tailwindcss
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.
zLanqing/codex-claude-academic-skills
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python.
Galaxy-Dawn/claude-scholar
Reference guidance for checking every citation in academic writing against canonical sources such as DOI, arXiv, CrossRef and Semantic Scholar, to catch fake or wrong references.
Imbad0202/academic-research-skills
Screens records for systematic, scoping and rapid reviews against fixed eligibility rules, using two blinded AI reviewers and a third adjudicator, with traceable PRISMA counts.
neflibata-feng/MyArxiv-Agent
Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.).
K-Dense-AI/claude-scientific-writer
Finds papers in OpenAlex, PubMed and Google Scholar, turns DOIs, PMIDs and arXiv IDs into clean BibTeX, and validates citations for a manuscript or thesis.
bactopia/bactopia
Scaffold a complete Bactopia Tool across all three tiers -- module, subworkflow, and workflow entry point under workflows/bactopia-tools/.
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…
bactopia/bactopia
Regenerate nextflow.config and nextflowschema.json for Bactopia workflows by running bactopia-merge-schemas.
bactopia/bactopia
Show a live snapshot of the Bactopia project state — component counts, GroovyDoc coverage, nf-test coverage, and structural issues.
bactopia/bactopia
Audit whether Bactopia is ready for a version release and produce a GO / NO-GO recommendation report.
bactopia/bactopia
Review staleness of reference docs under .agents/docs/ using bactopia-docs --validate.
Works with
Categories
Review citation integrity across data/citations.yml and @citation tags using bactopia-citations --validate. Review Citations is an agent skill from bactopia/bactopia.yml and @citation tags using bactopia-citations --validate.
Review Citations fits situations like: the user asks to review citations; check citation integrity; audit citations.yml; find orphan citations.
Run `npx skills add bactopia/bactopia --skill review-citations -a claude-code`. Or copy the skill folder (.agents/skills/review-citations in bactopia/bactopia) into .claude/skills/review-citations in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bactopia/bactopia --skill review-citations -a codex`. Or copy the skill folder (.agents/skills/review-citations in bactopia/bactopia) into .agents/skills/review-citations in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bactopia/bactopia --skill review-citations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-citations, .gemini/skills/review-citations, .github/skills/review-citations and .opencode/skills/review-citations in your project.
Going by SKILL.md and its folder, Review Citations needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
Review Citations is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Review Citations: Content Research Writer (weapp-tailwindcss/weapp-tailwindcss, 1.9k stars), Networkx (zLanqing/codex-claude-academic-skills, 4.6k stars), Citation Verification Guide (Galaxy-Dawn/claude-scholar, 5.7k stars) and Systematic Review Screener (Imbad0202/academic-research-skills, 51k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.