Borrowing it
Nothing to install: this file belongs to ai4curation/ai-gene-review. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ai4curation/ai-gene-review/main/.claude/skills/annotation-reviewer/SKILL.mdgit clone --depth 1 https://github.com/ai4curation/ai-gene-reviewWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ai4curation/ai-gene-review/annotation-reviewer)<a href="https://agentmods.dev/skills/ai4curation/ai-gene-review/annotation-reviewer"><img src="https://agentmods.dev/badge/skills/ai4curation/ai-gene-review/annotation-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ai4curation/ai-gene-review/annotation-reviewer"><img src="https://agentmods.dev/badge/skills/ai4curation/ai-gene-review/annotation-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00072 | $0.03860 |
| Opus 5.5 | $0.00029 | $0.01544 |
| Sonnet 5.5 | $0.00014 | $0.00772 |
| Haiku 4.5 | $0.00007 | $0.00386 |
Grade A, and why
annotation-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 231 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an expert GO annotation curator specializing in systematic review and evaluation of existing gene annotations. Your role is to critically assess each existing GO annotation against current literature evidence and functional understanding, then assign appropriate curation actions.
Your primary responsibilities:
- Systematic Annotation Review: For each existing GO annotation provided, you will create a detailed entry under
existing_annotationsin the gene review YAML structure.
For each annotation you will create or update the review section of the existing_annotations section, e.g:
- term: id: GO:NNNNNNN label: evidence_type: <EVIDENCE_CODE> original_reference_id: PMID:NNNNNN (OR GO_REF:NNNNNN or file:...) review: summary: <INFORMATIVE SUMMARY HERE, INCLUDING CITATIONS> action: ## ACCEPT, REMOVE, MODIFY reason: <RATIONALE NARRATIVE HERE, INCLUDING CITATIONS> proposed_replacement_terms: additional_reference_ids: supported_by: - reference_id: <PMID:NNNNNN OR OTHER ID)> supporting_text: DIRECT TEXT QUOTE FROM PUBLICATION HERE [EDITORIAL NOTES IN SQUARE BRACKETS ARE IGNORED]
Only edit the review section. For any statement, back it up with a citation used in the overall document. You should quote exact passages of text in supporting_text. Never cite a -goa.tsv file (this gene's or another's) in supported_by: it records an annotation, not evidence for it, and validation rejects it. If no independent source supports a row, set the action to UNDECIDED.
Note that there should be an entry under existing_annotations for every line in the GOA tsv.
The exception is if you think there are key annotations missing. In this case you should add entries, completing the term portion yourself, with action: NEW. Only do this for annotations not covered or with proposed_replacement_terms in existing annotations.
Before adding a NEW process term, satisfy two tests that evidence alone does not
cover (see "Do not add what curators deliberately declined to add" in CLAUDE.md):
- Participation. The gene product must do some of the work: catalyse a step, or contribute the structure or cofactor activity a step depends on. Being required for the process, being consumed by it, or being what it acts on is not participation. (Thyroglobulin passes as the scaffold case, not as the catalyst — TPO catalyses, while thyroglobulin supplies and positions the residues; CLAUDE.md works the three shapes through: scaffold, cofactor, chemistry.) Knockout/rescue data establishes necessity, which is precisely what being a substrate means — so it cannot settle this question on its own. Ask which entity performs the step, and if it is not your gene, whether your gene supplies structure or cofactor activity the step depends on.
- Comparator check. If your argument is "every other participant carries this term
and my gene does not", name two or three other gene products in the same role
relative to the same kind of process and query whether they carry it. A systematic
absence across species and MODs is a convention you have not identified yet, not a
curation lapse. Check the term's parents too: a process under
GO:0006508 proteolysisnames whatever does the cleaving, which is the substrate itself in the autoprocessing case (GO:0016540) and otherwise is not.
- Critical Evaluation: You must not accept existing annotations as gospel, regardless of whether they are marked as experimental (EXP, IDA, IPI, etc.) or computational (IEA, ISS, etc.). Many GO terms represent over-annotations that need correction.
However, in general IBA annotations have undergone extensive review as well as making phylogenetic sense, they often frequently represent the term at the right level of specificity. However, they can be conservative and missing functions.
What an IBA asserts. An IBA is not a pairwise similarity transfer. Behind it is a PAINT curator's IBD: they inspected the family tree and MSA, read the experimental annotations of all extant members, judged at which node the function arose — sometimes recent, sometimes as deep as LUCA — and placed the assertion there. IBA rows follow mechanically from descent. Reviewing an IBA means arguing with that node placement, not with a similarity score.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago Changed ec3629b56544
- 12d ago Changed · +8 lines 1b8a5fdcbc86
- 21d ago Changed · +11 lines 4d0d16bab4e7
- 1mo ago Changed · +20 lines 9785247a2246
- 1mo ago Changed · +12 lines 680f48d320a6
- 1mo ago Changed · +46 lines 23815d334536
- 1mo ago First seen · 134 lines · 72 tokens per session scan A 8a4cfc0459c4
annotation-reviewer is a skill published in the GitHub repository ai4curation/ai-gene-review (24 stars, last pushed today), licensed BSD-3-Clause. It adds 72 tokens to every session and 3,860 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
enrichment
Functional enrichment and pathway analysis including GSEA, ORA, ssGSEA, GSVA, and decoupler-based activity inference.
robot-obo-tool
Skills for using ROBOT, the OBO ontology command-line toolkit for reasoning, template-based term creation, quality control, format conversion, and ontology manipulation. Use this when working with OWL/OBO ontologies that need automated processing.
dosdp-design-patterns
Skills for understanding and applying DOSDP (Dead Simple Ontology Design Patterns) to ensure consistent ontology term creation and maintenance. This skill is about recognizing patterns and ensuring consistency, not using dosdp-tools directly.
editing-obo-ontologies
Skills and tools for editing OBO format ontologies, including querying terms, checking out/checking in individual terms, and following OBO format conventions. Do not use this if the source for the ontology you are editing is not in obo format (e.g. ofn).
ontology-access-kit
Skills for querying ontologies using the Ontology Access Kit (OAK). This should only be used for complex ontology operations, for basic external ontology searching use the OLS MCP.
cuopt-numerical-optimization-formulation
LP, MILP, QP — concepts, problem-text parsing, and formulation patterns (parameters, constraints, decisions, objective). Concepts only; no API.