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/openscientist-hypothesis/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/openscientist-hypothesis)<a href="https://agentmods.dev/skills/ai4curation/ai-gene-review/openscientist-hypothesis"><img src="https://agentmods.dev/badge/skills/ai4curation/ai-gene-review/openscientist-hypothesis/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/openscientist-hypothesis"><img src="https://agentmods.dev/badge/skills/ai4curation/ai-gene-review/openscientist-hypothesis.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00032 | $0.01757 |
| Opus 5 | $0.00016 | $0.00879 |
| Sonnet 5 | $0.00006 | $0.00351 |
| Haiku 4.5 | $0.00003 | $0.00176 |
Grade C, and why
openscientist-hypothesis scanned grade C with 1 finding 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 11d 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.
Harvests environment variableshighData exfiltration
Enumerating or grepping the environment for keys collects credentials unrelated to what the mod says it does.
`printenv OPENSCIENTIST_API_KEY` (it is exported in some environments, so the How it starts
The opening of the file, as written. The whole thing — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenScientist Hypothesis Workflow
Use this skill for AIGR work that runs, stages, or maintains OpenScientist hypothesis jobs for gene function review.
Core Rules
- Treat OpenScientist as an independent bioinformatics scientist exploring a
hypothesis: gene
Ghas functionF. - For existing annotations, prefer the neutral function-assignment mode:
--as-function-hypothesis. - Do not feed existing local
*-bioinformatics/RESULTS.mdanalyses into OpenScientist prompts. Those are holdout evidence for post-run comparison. - It is acceptable to pass bounded non-holdout review context, especially the selected term, original evidence reference, and a small number of relevant literature/deep-research references.
- Avoid sending every function for genes with large reviews; select the specific hypothesis being tested.
Running Jobs
- Use the
justrecipes, not rawdeep-research-client, for AIGR hypothesis jobs. The justfile carries project defaults such as OpenScientist iteration count. - Be patient with OpenScientist. Jobs may run quietly for a long time before the local report is written.
- Do not interrupt a real OpenScientist run merely because the local wrapper is silent or the child process is sleeping.
- Check completed and running jobs at https://www.openscientist.io/jobs before deciding a job is stuck.
- One-iteration OpenScientist runs are smoke tests only. Real hypothesis jobs should use the project default of at least 3 iterations unless the user explicitly asks otherwise.
Timeouts
- Give analyses ample time. Real 3-iteration runs commonly take ~50-70 minutes, and structural / fold-discovery jobs can run longer; they are cancelled mid-analysis if the timeout is too short (observed: a job cancelled at the upstream 3600s default after producing nothing).
- The
justrecipes now inject the maximum OpenScientist job timeout (--param timeout=7200, i.e. 2h) alongside--param max_iterations=3, and the wrapper's subprocess wall (--timeout-seconds, default 8100s) is kept above the job timeout so the child process is not killed first. If you ever bypassjustand call the script directly, pass both: e.g.-- --param max_iterations=3 --param timeout=7200plus--timeout-seconds 8100. The two timeouts are independent — raising one without the other still cancels the run. - 7200s is the API ceiling:
OpenScientistParams.timeoutis validatedle=7200, so a larger value fails fast with a pydanticless_than_equalerror and writes nothing. Do not exceed it. - Do not lower these to "save time"; a too-short timeout wastes the whole run.
- When a job still hits the 7200s ceiling (common for human proteins asked a
multi-faceted question), the fix is scope, not time: re-run with a single
decisive analysis in the hypothesis (e.g. "Foldseek fold assignment" alone,
not fold + disorder + motif + targeting) and/or
--param max_iterations=2. Observed: C18orf21 7200s timeout -> 2708s when narrowed to Foldseek-only; HSPA12A/DNAJC28 likewise completed once narrowed. The paralog of a job that did finish (e.g. HSPA12B at 5208s) will usually finish on a plain retry — variance, not a hard limit. - Scoping each hypothesis to one computable question up front (rather than a broad "characterize this gene") both avoids timeouts and gives cleaner, more decisive provenance.
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.
- 11d ago First seen · 133 lines · 32 tokens per session scan C f8aecf7b06d4
openscientist-hypothesis is a skill published in the GitHub repository ai4curation/ai-gene-review (24 stars, last pushed today), licensed BSD-3-Clause. It adds 32 tokens to every session and 1,757 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 1 finding (harvests environment variables). 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.
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.
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.
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.