WenyuChiou/ai-research-skills
A one-author registry that treats skill metadata as software: schema-validated catalog, a 51-test release gate, and the most honest compatibility table in the research tier.
This is the most carefully engineered small catalog GearScope has reviewed: a registry repo with zero SKILL.md files that ships a schema-validated index of 17 skills living in 5 canonical repos, a release gate of 51 passing tests, and committed worked examples for every pipeline artifact. Both documented install paths were verified byte-faithful, for Claude Code and for Hermes. The caveats are scale, not craft: one graduate-student author, no corpus validation, unpinned marketplace branches, and a marketplace version pin that already lags upstream.
$claude plugin marketplace add WenyuChiou/ai-research-skills
$claude plugin install research-workspace@ai-research-skills
$npx skills add WenyuChiou/research-hub literature-triage-matrix --agent hermes-agent --yes --copy
install if
- Graduate students, PhDs, and postdocs who want an agent-assisted literature pipeline with an explicit kill switch. The 3-gate dossier (open, contribution, feasibility) in front of the pipeline is a rare structural answer to sunk-cost thesis topics, and gap-to-topic is the deepest skill in the pack at 219 lines.
- Researchers already running Zotero, Obsidian, and NotebookLM. The 12-skill workspace plus the research-hub CLI operate that exact stack, with worked examples committed for every artifact the pipeline emits.
- Skill authors building catalogs or multi-repo registries. The schema-validated catalog, the release-gate test suite, the monthly health sweep, and the calibrated compatibility audits are a reference architecture worth copying, whatever your domain.
skip if
- Anyone outside academic research. Every skill orbits literature review, research design, and manuscripts; there is nothing general-purpose here.
- Teams that need corpus-validated behavior or vendor support. The repo says it itself: assembled and tested by one graduate-student researcher, domain-biased toward water resources and agent-based modeling, behavioral correctness is the source repo's responsibility.
- Users who need pinned, auditable supply chains. Marketplace sources track default branches, the version pin already lags upstream, and the effective payload is whatever master holds at install time.
What It Does
A catalog of 17 agent skills for academic research workflows, built around one question the author says most research-AI tools dodge: is this research gap worth six months of your life? The pipeline opens with a 3-gate decision dossier (is the gap open, is closing it a real contribution, is it feasible) and downstream stages (literature review, research design, project memory, manuscript drafting, reviewer response) only run on candidates that pass. The repo is a registry, not a monorepo: it contains zero SKILL.md files. It ships catalog/skills.yml (a schema-validated index with per-skill verification dates and tiers), a Claude Code marketplace manifest wiring 5 plugins, 4 checker scripts, a 51-test release gate, and documentation with committed worked examples. The skills themselves live in 5 separate canonical repos (research-hub with 12 skills, academic-writing-skills with 2, zotero-skills, codex-delegate, antigravity-delegate). The target user is a graduate student, PhD, postdoc, or research support staff running Claude Code, Codex, Gemini, Cursor, Windsurf, Hermes, or OpenClaw.
The Good
The registry is engineered like software, with gates that run green. The release gate is mechanical and documented in docs/RELEASING.md: pytest plus two checkers on every PR via .github/workflows/test.yml. On our host the suite reports 51 passed, 1 skipped in 0.97s; check_catalog_schema.py validates the YAML catalog against schema/skills.schema.json (Draft 2020-12) and reports "4 families, 17 skills"; check_marketplace_consistency.py confirms catalog and marketplace agree. A third workflow, monthly-skill-health.yml (cron "17 8 1 * *"), sweeps live skill health report-only. claude plugin validate . --strict passes on the marketplace manifest, which is more than several far larger official packs manage.
The honesty discipline is the best in its tier. catalog/skills.yml stamps every skill with verified_on dates, verification_status, verification_tier, and verification_notes ("doctor green; search returned 3 real results from CrossRef + DBLP"). The compatibility table in the README is calibrated with dates and denominators: "11/14 zero-edit portable in the 2026-05-10 audit", with an explicit note that skills added later are not yet portability-audited. The committed .research/hermes-compatibility-audit.md describes distrusting its own subagent findings and re-verifying premise claims with the GitHub API before testing. The Limitations section volunteers the weakest points before a reviewer can: single graduate-student author, domain bias toward water resources and agent-based modeling, no corpus-scale validation, and a known zotero-skills dual-shipping quirk with a documented workaround.
Both install routes verified, byte-faithful. The README's 30-second Claude Code path ran verbatim: marketplace add, plugin install, listed enabled. The plugin payload contains exactly the advertised 12 skills plus a 78-line root router (13 SKILL.md files, excluding the duplicated copies inside the Python package). For Hermes we ran the skills CLI in an isolated HOME and cwd: npx skills add WenyuChiou/research-hub literature-triage-matrix --agent hermes-agent --yes --copy lands ./.hermes/skills/research-hub/, and both the root SKILL.md and skills/literature-triage-matrix/SKILL.md diff clean (byte-identical) against upstream master. Frontmatter parses under PyYAML with a 706-character routing description that names when to use the skill, when to defer to siblings, and a compatibility field documenting the repo's own Hermes 0.13.0 verification (install SAFE, registered enabled).
Every pipeline artifact has a committed worked example. docs/ ships real deliverables, not descriptions: a literature-review deliverable in .md, .docx, and .bib, a topic dossier with its .gaps.yml machine-readable gap roster, a design brief with provenance frontmatter, a project manifest, and paper-memory claims with the anti-leakage rule applied. test-corpus/ contains artifacts from a real dogfood run (orientation memo, multi-AI routing decision, NotebookLM brief verification). The optional Python runtime (research-hub-pipeline on PyPI, 137 releases) is packaged with care: 9 bounded runtime dependencies, playwright and MCP isolated as extras, an 803KB wheel.
The Bad
The marketplace version pin lags the live branch, and the test that would catch it skips in CI. The catalog's marketplace.json pins research-workspace at 0.4.0, but upstream master's plugin.json and the installed Claude cache both read 0.5.0. The repo's own cross-source version-sync test only runs when sibling source repos are cloned, and its RELEASING.md notes it "skips cleanly on CI where siblings are absent", which is exactly where CI runs. The catalog is candid that every plugin uses ref: default-branch and that SHA pinning is "on the roadmap", but until then a marketplace install is a moving target and the advertised version is already stale.
The README headline count is stale the day after a release. The 1.6.0 release (2026-08-30) registered the 17th skill (research-workflow-orchestrator), and two body sections correctly say 17, but the opening line still reads "a catalog of 16 Claude Code skills" and the compatibility table still says "16/16 pass strict-minimum spec". The portability audit denominator is 14 of 17, honestly dated, but the headline number drifting within 24 hours of a release shows the doc sweep lags the catalog bump.
The host payload is heavy for a "portable SKILL.md" pitch. The Claude plugin cache for research-workspace weighs 146MB, because the marketplace source is the entire research-hub repo: the Python package, its tests, fixtures, an openwiki directory, and the .git folder all come along. GitHub sizes research-hub at roughly 100MB. A user who wants three markdown files reads about portability and then downloads a Python distribution.
Demand has not caught up with the star velocity. The repo jumped from 86 to 232 stars inside two days (pipeline scans #189 and #190) after months of quiet, but skills.sh reports 153 all-time installs across the author's 25 indexed skills, with the highest catalog entry at 47 (academic-writing-skills) and most single-digit. The 17 git tags stop at v1.5.34 while the changelog is at 1.6.0 (the RELEASING doc says tags are not the gate; the stale tags remain to confuse anyone who pins by them). One contributor, 135 commits, one open issue.
Smoke Test Results
Host-based hands-on testing on macOS 26.5.2 aarch64 (Node 24.13.1, Claude Code 2.1.152, Python 3.12.13): fresh shallow clone, structure checks in a bare venv, the repo's own release gate with dependencies installed, and both documented install routes with byte-identity assertions against upstream master.
Run A - Fresh clone, bare venv, no third-party deps
$ git clone --depth 1 https://github.com/WenyuChiou/ai-research-skills.git /tmp/ai-research-skills-sbx
β
10MB clone, HEAD 04bd338 "feat: govern the research skills workflow (#55)", MIT LICENSE present
$ find . -name "SKILL.md" -not -path "./.git/*" | wc -l
β
0 (registry confirmed: skills live in 5 canonical repos, not here)
$ grep -c "^ - name:" catalog/skills.yml
β
17 skills across 4 families (12 research-workspace + 2 writing + 1 zotero + 2 delegates)
$ python3 -m json.tool .claude-plugin/marketplace.json
β
valid JSON, 5 plugins, Anthropic marketplace schema URL declared
$ python3 -m pytest tests/ -q
β No module named pytest (bare venv, nothing preinstalled)
$ python3 scripts/check_catalog_schema.py
β ModuleNotFoundError: No module named 'yaml'
$ grep -n "catalog of 16" README.md
β headline says 16 skills; catalog and body sections say 17
Pass rate: 4 of 7. The failures are the expected dependency wall for a pytest-gated repo plus one real documentation drift; every structure claim that can be checked with the standard library checks out.
Run B - Sandbox with deps preinstalled
$ python -m pytest tests/ -q
β
51 passed, 1 skipped in 0.97s
$ python scripts/check_catalog_schema.py
β
catalog schema check OK (4 families, 17 skills)
$ python scripts/check_marketplace_consistency.py
β
catalog <-> marketplace consistency check OK
$ claude plugin validate . --strict
β
Validation passed (marketplace manifest)
$ pip index / PyPI survey of research-hub-pipeline
β
1.2.0 live, 137 releases, 9 bounded runtime deps, playwright and fastmcp as extras, 803KB wheel
Pass rate: 5 of 5. The repo's own release gate, run verbatim per docs/RELEASING.md step 2, is fully green, and the marketplace manifest survives strict validation.
Run C - Functional verification (install routes, byte-identity)
$ claude plugin marketplace add WenyuChiou/ai-research-skills
β
Successfully added marketplace: ai-research-skills
$ claude plugin install research-workspace@ai-research-skills
β
installed and listed (scope: user)
$ find ~/.claude/plugins/cache/ai-research-skills/research-workspace -maxdepth 4 -name "SKILL.md" | grep -v /src/ | wc -l
β
13 (root router + the 12 advertised skills); cache 146MB
$ upstream plugin.json version vs marketplace pin
β pin says 0.4.0; upstream master and installed cache say 0.5.0
$ HOME=$ISO npx -y skills add WenyuChiou/research-hub literature-triage-matrix --agent hermes-agent --yes --copy
β
lands ./.hermes/skills/research-hub/ (cwd-level, isolated HOME honored)
$ diff landed SKILL.md vs raw.githubusercontent.com master
β
root and literature-triage-matrix both BYTE-IDENTICAL
$ frontmatter parse of literature-triage-matrix (PyYAML)
β
valid keys (name, description, compatibility); description 706 chars with sibling-routing; body 123 lines
Functional pass rate: 7 of 8. Both install paths deliver byte-faithful content and the advertised skill inventory lands exactly; the sole failure is the marketplace version pin lagging the live branch.
What the runs tell you
The catalog's own quality gates are green and both documented install routes deliver exactly what the docs promise, byte for byte. What could not be verified is the research output itself: the deliverables these skills produce come from a host LLM working over Zotero, Obsidian, and NotebookLM, which needs credentials and live sessions the review environment does not have. Treat the packaging as proven and the research behavior as promising but single-author, domain-biased, and not corpus-validated, which is also how the repo describes itself.
Setup Walkthrough
- Claude Code fastest path, verified verbatim:
claude plugin marketplace add WenyuChiou/ai-research-skills, thenclaude plugin install research-workspace@ai-research-skills, then confirm withclaude plugin list. Expect a 146MB plugin cache because the source is the full research-hub repo. - Additive installs are documented per concern: academic-writing-skills (manuscript work), zotero-skills (Zotero CRUD, needs the Zotero desktop local API enabled), codex-delegate and antigravity-delegate (multi-CLI delegation, need those CLIs installed first).
- Hermes: the skills CLI command above lands a cwd-level ./.hermes/skills/research-hub that we verified byte-identical; the repo's own audit used
hermes skills installon Hermes 0.13.0 with a SAFE security scan. For Codex, Cursor, Windsurf, and generic API clients, docs/install.md gives per-host recipes built on loading the raw SKILL.md. - The Python runtime is optional and separate:
pip install research-hub-pipelinebrings the CLI behind the research-hub skill (discovery, ingest, NotebookLM), with playwright-based browser automation behind an extra. - Gotchas worth knowing before you start: the marketplace tracks live branches, so the version Claude reports (0.5.0) may be newer than the catalog pin (0.4.0); if you invoke zotero-skills by bare name while research-workspace is installed, you get the embedded older copy, and the plugin-qualified form reaches the canonical one; git tags are stale relative to the changelog, so pin by commit if you clone.
Alternatives
- K-Dense-AI/scientific-agent-skills - the 40K-star research-vertical champion: far broader scientific skill coverage without this repo's integrated 8-stage pipeline or its verification metadata. Prefer it for breadth across domains.
- Shubhamsaboo/awesome-llm-apps - includes academic-researcher and deep-research skills in a code-first collection of runnable apps. Prefer it if you want working scripts over workflow contracts and manifests.
- github/awesome-copilot (autoresearch) - a single, widely installed literature-discovery skill (3,259 skills.sh installs at review time). Prefer it if one focused skill covers your need and 17 skills of process would be overhead.
Reviews stay honest because nobody pays us to publish them. If this one saved you time, throw a coin.
Tip the reviewer- reviewed by
- GearScope
- tested
- 2026-08-31 · macOS (Apple Silicon)
- last verified
- 2026-08-31
- depth
- HANDS-ON
- sponsorship
- none, ever
Don't install your next skill blind.
Every week: the shortlist of skills worth installing β and the ones to skip β from 100+ hands-on tests. No spam, no affiliate links.