OpenHarness End-to-End Evals
HKUDS/OpenHarness
Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.
A skill your agent uses when evaluating, adding, or upgrading ScholarAIO support for a scientific computing tool, especially integration-gate review, official docs ingestion, toolref integration…
$ npx skills add ZimoLiao/scholaraio --skill scientific-tool-onboarding -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZimoLiao/scholaraio scientific-tool-onboarding --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/ZimoLiao/scholaraio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/scientific-tool-onboarding .claude/skills/scientific-tool-onboarding && 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 "scientific-tool-onboarding" agent skill from https://github.com/ZimoLiao/scholaraio/tree/main/.claude/skills/scientific-tool-onboarding into .claude/skills/scientific-tool-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-tool-onboarding", 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/ZimoLiao/scholaraio/tree/main/.claude/skills/scientific-tool-onboardingType 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 ZimoLiao/scholaraio --skill scientific-tool-onboarding -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZimoLiao/scholaraio scientific-tool-onboarding --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZimoLiao/scholaraio.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/scientific-tool-onboarding .agents/skills/scientific-tool-onboarding && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scientific-tool-onboarding" agent skill from https://github.com/ZimoLiao/scholaraio/tree/main/.claude/skills/scientific-tool-onboarding into .agents/skills/scientific-tool-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-tool-onboarding", 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 ZimoLiao/scholaraio --skill scientific-tool-onboarding -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZimoLiao/scholaraio scientific-tool-onboarding --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZimoLiao/scholaraio.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/scientific-tool-onboarding .cursor/skills/scientific-tool-onboarding && 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 "scientific-tool-onboarding" agent skill from https://github.com/ZimoLiao/scholaraio/tree/main/.claude/skills/scientific-tool-onboarding into .cursor/skills/scientific-tool-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-tool-onboarding", 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/ZimoLiao/scholaraio.git --path .claude/skills/scientific-tool-onboarding--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 ZimoLiao/scholaraio --skill scientific-tool-onboarding -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZimoLiao/scholaraio scientific-tool-onboarding --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZimoLiao/scholaraio.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/scientific-tool-onboarding .gemini/skills/scientific-tool-onboarding && 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 "scientific-tool-onboarding" agent skill from https://github.com/ZimoLiao/scholaraio/tree/main/.claude/skills/scientific-tool-onboarding into .gemini/skills/scientific-tool-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-tool-onboarding", 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 ZimoLiao/scholaraio scientific-tool-onboardingInstalls 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 ZimoLiao/scholaraio --skill scientific-tool-onboarding -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZimoLiao/scholaraio.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/scientific-tool-onboarding .github/skills/scientific-tool-onboarding && 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 "scientific-tool-onboarding" agent skill from https://github.com/ZimoLiao/scholaraio/tree/main/.claude/skills/scientific-tool-onboarding into .github/skills/scientific-tool-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-tool-onboarding", 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 ZimoLiao/scholaraio --skill scientific-tool-onboarding -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZimoLiao/scholaraio scientific-tool-onboarding --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZimoLiao/scholaraio.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/scientific-tool-onboarding .opencode/skills/scientific-tool-onboarding && 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 "scientific-tool-onboarding" agent skill from https://github.com/ZimoLiao/scholaraio/tree/main/.claude/skills/scientific-tool-onboarding into .opencode/skills/scientific-tool-onboarding/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scientific-tool-onboarding", 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.
scientific-tool-onboardingA skill your agent uses when evaluating, adding, or upgrading ScholarAIO support for a scientific computing tool, especially integration-gate review, official docs ingestion, toolref integration…
Scientific Tool Onboarding is an agent skill from ZimoLiao/scholaraio. Use when evaluating, adding, or upgrading ScholarAIO support for a scientific computing tool, especially integration-gate review, official docs ingestion, toolref integration, lightweight skill design, and end-to-end CLI verification.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA. It works with Git. The repository describes itself as: Scholar All-In-One: A research infrastructure for AI agents. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 777628b. 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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scientific Tool Onboarding loads about 2k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 647 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); files beside SKILL.md are not scanned.
The full file from ZimoLiao/scholaraio at commit 777628b, republished under its MIT licence (© ZimoLiao). 647 words, ~2,013 tokens.
.claude/skills/scientific-tool-onboarding/SKILL.md (or your agent's skills folder).先判断一个科学工具是否值得进入 ScholarAIO;只有通过 2.x integration gate 后,接入目标才是形成这三个层次的闭环,而不是“写一份长教程”:
toolref 能查官方接口和参数skill 能指导 agent 何时使用、如何验证规范参考:
scientific-runtime skill适用于:
scholaraio toolreftoolref-first不适用于:
不要因为用户提到一个项目、它很热门,或官方文档可抓取,就默认把它接入 ScholarAIO。先逐项确认:
任何一项不满足时,优先采用外部 recipe、用户自管工具或 sidecar;不要继续下面的内置接入流程。升级既有工具时也要重新过门,不因历史存在而自动保留。
优先级:
不要优先用:
要求:
git 抓取还是 manifest 抓取经验判断:
gitmanifestgit;用户在乎的是 agent 能不能顺手查到当前项目里的经验:
QE / LAMMPS / GROMACS 更适合 git + parserOpenFOAM / Bioinformatics 更适合 manifest + curated entry pages问自己三个问题:
page_name 应该怎么命名,未来最稳?program / section / title 该怎样存,show/search 才顺手?经验规则:
page_name 要服务 CLI 使用体验,不要只服务抓取方便programprogram 要优先贴近用户会说出的名字,而不是内部类名或目录名section 要反映用户排查问题时的思路,例如 solver / dictionary / variant-calling从现有工具得到的粒度经验:
QE:程序名 + namelist + 参数名,这样 show qe pw ecutwfc 才顺LAMMPS:命令家族一定要做 alias 聚合,不然 fix npt 这种自然输入会漂走GROMACS:mdp 参数页必须尽量保留 options,不然会变成只有变量名的空页OpenFOAM:不要一上来想抓完整站点,先抓 solver / dictionary / post-processing 关键页Bioinformatics:要承认它是 toolchain,不是单软件;先解决“路由到哪个子工具”当目标从“最小可用”升级到“主体尽量全量”时:
先做高价值页面:
先让 list/show/search 真正可用,再扩充覆盖率。
停止条件也要明确:
如果用户明确要求“主体尽量全量”:
最低应有测试:
scholaraio.stores.toolref 入口在内部重构后仍保持兼容meta.json、manifest 快照、SQLite 索引和 toolref list 展示口径一致如果没有先看到失败场景,就不知道这个工具接入点真正脆不脆。
如果这次工作包含 toolref 内部重构或拆包,必须额外补这类兼容测试:
import scholaraio.stores.toolref 后旧调用路径仍可用最低要求:
fetch 能拉取并落盘list 能看到版本和页数show 能按用户自然输入命中search 能搜到高价值页面重点防御:
fetch、index、list 的计数口径漂移manifest 工具的额外要求:
fallback_urlsforce refresh 不能把旧缓存中仍然可用的页面冲掉meta.json 要能说清楚:预期页数、失败页数、恢复自缓存的页数#anchor 页面复用其基础 URL 的种子 HTMLpage_nametoolref list 不能盲信过期 meta.json;必要时要与快照和实际索引自校准fetch 返回的索引数量要和最终库里的真实可查询条目数一致,而不是解析中间态数量不能只跑测试。必须像用户一样手动执行:
scholaraio toolref fetch <tool>
scholaraio toolref list <tool>
scholaraio toolref show <tool> <natural query>
scholaraio toolref search <tool> "<real query>"检查:
show 命中的是不是用户想看的页面synopsis 有没有信息量fetch 是否会卡在脏目录programfetch 报的页数/条目数,和 list 看到的最终数值是否一致list 会不会出现自相矛盾的显示scholaraio toolref ...,而不是内部模块命令如果手感不好,就继续打磨 CLI;不要因为测试是绿的就停。
至少要抽查这三类真实查询:
ecutwfcdrag coefficient、v-rescale thermostatread mapping nanopore、variant calling vcf如果做了“主体尽量全量”的扩展,还要加两类检查:
show/search 的核心路径是否仍然稳定,没有被噪音页挤掉toolref-first对应 scientific SKILL.md 应只保留:
toolref 查询入口不要把 skill 写成第二份 API 手册。
分工应始终是:
skill = 路由 + 方法论 + 验证规范toolref = 官方接口与参数scientific-runtime = 运行时退化与用户体验协议不要把内部包结构泄漏到 skill:
scholaraio toolref ...scholaraio.stores.toolreffetch.py / manifest.py / storage.py 之类内部模块写成公开入口一个新工具只有同时满足下面几条,才算真正接入完成:
toolreffetch/list/show/search 都能真实使用toolref-first如果你要判断“是否已经够生产,不要再打磨了”,就看这几条:
show 查询能直接命中search 查询 rank 1 基本正确fetch/list 的统计口径不会把用户带沟里满足这些,就应该把精力转回 demo 和真实科研任务,而不是继续无止境磨 toolref
page_name 为抓取方便而设计,导致 show 很难用scholaraio.stores.toolref 顶层兼容面fetch、数据库真实条目数、和 list 展示数字彼此不一致program + section + variable 粒度一旦对了,show 体验会非常稳fix npt,show 必须能稳稳落到 fix_nh,search 至少要把 fix_nh 放进最前排结果samtools / bcftools / iqtree 这类工具,应该利用官方总目录页、命令索引、章节 anchor 自动扩页ultrafast-bootstrap,但上游文档的实际锚点可能是 ultrafast-bootstrap-parameters面向 ScholarAIO 用户时,要始终记住:
toolref 的fetch/list/show/search 已手动体验fetch/list 计数口径已核对show/search 已验证scientific-runtime 协议兼容© ZimoLiao, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/scientific-tool-onboarding of ZimoLiao/scholaraio.
Open the folder on GitHubat commit 777628b
Scientific Tool Onboarding 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 |
|---|---|---|---|---|---|---|
| Scientific Tool Onboarding this skillZimoLiao/scholaraio | 577 | — | ~2k | Automated safety check: Pass | MIT | |
| OpenHarness End-to-End EvalsHKUDS/OpenHarness | 16k | 1 repos | ~2.1k | Automated safety check: Notes | MIT | |
| Evaluate PR Testsdotnet/maui | 23k | — | ~2.9k | Automated safety check: Pass | MIT | |
| TiDB Test Diff Triagepingcap/tidb | 41k | — | ~498 | Automated safety check: Pass | Apache-2.0 | |
| SimpleITK Binary Data UploadSimpleITK/SimpleITK | 1.1k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Nemoclaw Maintainer Fix E2E FailuresNVIDIA/NemoClaw | 23k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 |
HKUDS/OpenHarness
Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.
dotnet/maui
Reviews the tests added in a pull request for fix coverage, quality, edge cases and test type, and recommends lighter test types where they would do.
pingcap/tidb
Investigates TiDB plan or test-result diffs that the change does not explain, ruling out failpoint setup and merge effects before expected outputs are updated.
SimpleITK/SimpleITK
Uploads a binary test file to the SimpleITK ExternalData repository by hashing it with SHA-512, staging it in the object store, writing a content-link file and opening a draft PR.
NVIDIA/NemoClaw
Continuously maintain automatic NemoClaw main E2E results through coordinated repairs.
mellowagain/gitarena
Set up component testing with Playwright using a story gallery — scaffold stories and a gallery dev page driven by the built-in mount fixture, no dedicated component-testing runtime.
ZimoLiao/scholaraio
A skill your agent uses when the user wants to create or inspect DOCX, PPTX, or XLSX files, generate a downloadable Office deliverable, or verify its structure and layout warnings with scholaraio…
ZimoLiao/scholaraio
A skill your agent uses when the user needs help choosing or organizing an academic-writing workflow by deliverable, stage, or format, including review articles, guided reading, paper sections, PPT…
ZimoLiao/scholaraio
A skill your agent uses when the user wants to browse arXiv preprints, search arXiv directly, fetch a PDF by arXiv ID or URL, or send a preprint into the ScholarAIO ingest pipeline.
ZimoLiao/scholaraio
A skill your agent uses when working on bioinformatics workflows such as alignment, variant calling, phylogenetics, or protein-structure analysis, especially across BLAST, minimap2, samtools…
ZimoLiao/scholaraio
A skill your agent uses when the user wants to verify citations in AI-generated or human-written text against the local knowledge base and catch hallucinated, wrong, or missing references.
ZimoLiao/scholaraio
A skill your agent uses when the user wants diagrams, flowcharts, architecture visuals, data relationships, timelines, concept maps, Mermaid, Graphviz, drawio, or polished paper figures generated…
Works with
Categories
A skill your agent uses when evaluating, adding, or upgrading ScholarAIO support for a scientific computing tool, especially integration-gate review, official docs ingestion, toolref integration…. Scientific Tool Onboarding is an agent skill from ZimoLiao/scholaraio. Use when evaluating, adding, or upgrading ScholarAIO support for a scientific computing tool, especially integration-gate review, official docs ingestion, toolref integration, lightweight skill design, and end-to-end CLI verification.
Scientific Tool Onboarding fits situations like: upgrading ScholarAIO support for a scientific computing tool; especially integration-gate review; official docs ingestion; toolref integration.
Run `npx skills add ZimoLiao/scholaraio --skill scientific-tool-onboarding -a claude-code`. Or copy the skill folder (.claude/skills/scientific-tool-onboarding in ZimoLiao/scholaraio) into .claude/skills/scientific-tool-onboarding in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZimoLiao/scholaraio --skill scientific-tool-onboarding -a codex`. Or copy the skill folder (.claude/skills/scientific-tool-onboarding in ZimoLiao/scholaraio) into .agents/skills/scientific-tool-onboarding 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 ZimoLiao/scholaraio --skill scientific-tool-onboarding -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scientific-tool-onboarding, .gemini/skills/scientific-tool-onboarding, .github/skills/scientific-tool-onboarding and .opencode/skills/scientific-tool-onboarding in your project.
Going by SKILL.md and its folder, Scientific Tool Onboarding needs the command-line tools its instructions call (git). Our summary lists: Python 3.
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.
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. Review the folder before installing.
Scientific Tool Onboarding is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k 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 Scientific Tool Onboarding: OpenHarness End-to-End Evals (HKUDS/OpenHarness, 16k stars), Evaluate PR Tests (dotnet/maui, 23k stars), TiDB Test Diff Triage (pingcap/tidb, 41k stars) and SimpleITK Binary Data Upload (SimpleITK/SimpleITK, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ZimoLiao (a GitHub user) maintains it in ZimoLiao/scholaraio, which has 577 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on September 25, 2026.
Source: ZimoLiao/scholaraio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.