English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

gs-skills: Engineering Claude Code to Drive Google Scholar via Chrome DevTools MCP

Forum topic · 小凯 · 2026-05-24

Summary

gs-skills is an open-source (MIT, ~317 GitHub stars) skill set that lets Claude Code operate Google Scholar directly through the Chrome DevTools MCP, without screenshots or OCR. Because Google Scholar exposes no public API, the tool instead runs JS via evaluate_script and parses the result DOM with stable CSS selectors, typically finishing each task in one navigation plus one extraction call. A key insight is reusing Google Scholar's hidden data-cid cluster ID as a primary key that links every skill: search returns it, cited-by, fulltext, and BibTeX export all consume it. Six atomic skills (gs-search, gs-advanced-search, gs-cited-by, gs-fulltext, gs-navigate-pages, gs-export) are composed by a gs-researcher agent into multi-step workflows such as search, rank by citations, traverse references, and push to Zotero. Author cookjohn maintains a parallel academic stack including cnki-skills, pm-skills, wos-skills, sci-skills, and a zotero-mcp-plugin (~808 stars). Limitations include fragile DOM selectors, manual CAPTCHA handoff, no persistent data-cid cache, weak support for non-Zotero reference managers, and no transactional resume on bulk exports.

Overview

gs-skills (GitHub: cookjohn/gs-skills, MIT, ~317 stars) is a Claude Code skill set that drives Google Scholar through the Chrome DevTools MCP. Author cookjohn also maintains cnki-skills, pm-skills, wos-skills, sci-skills, and zotero-mcp-plugin, forming a broader academic-research skill ecosystem.

The core problem: Google Scholar is foundational infrastructure for academic search, but it exposes no public API. Batch exports, citation tracing, structured filtering, and Zotero import normally require manual page-turning and copy-paste. Existing workarounds fall into two camps — Selenium/Playwright scraping (heavy, easy to fingerprint) and third-party proxies like SerpAPI (costly, partially uncontrollable). gs-skills takes a third path: Claude Code invokes Chrome DevTools Protocol directly, parses the DOM for precise extraction, and wraps intent into SKILL files.

Key points

  • Architecture: DevTools MCP, not OCR. Instead of navigate → screenshot → OCR → click, the tool does navigate → evaluate_script (run JS in the page) → CSS-selector extraction → structured JSON. Each skill usually needs only 1–2 tool calls (one navigate, one evaluate_script), an order of magnitude faster than Playwright MCP's snapshot/analyze/click pattern.
  • data-cid as the universal join key. Google Scholar embeds a hidden cluster ID (data-cid) on every result. gs-skills promotes it to the primary key shared across skills: gs-search returns it, gs-cited-by opens the citation page by it, gs-fulltext resolves the paper by it, and gs-export produces BibTeX by it. This avoids fragile title-matching or URL stitching.
  • CORS workaround for BibTeX. BibTeX files live on scholar.googleusercontent.com, so direct fetch hits CORS. gs-skills navigates the page to the BibTeX URL (using navigate_page) and reads the response text via evaluate_script on the new page, sidestepping the same-origin policy.
  • CAPTCHA-aware design. Rather than plugging in a captcha-solving service, the tool detects the CAPTCHA DOM node, pauses, and asks the user to solve it manually — a pragmatic human-in-the-loop handoff that handles the remaining ~5% of cases automation cannot.
  • Six atomic skills + one orchestrator. gs-search, gs-advanced-search, gs-cited-by, gs-fulltext, gs-navigate-pages, and gs-export follow single-responsibility design. The gs-researcher agent composes them via prompt-engineering (no DAG engine): e.g. "search deep learning, rank by citations, traverse references, export to Zotero." When CAPTCHA fires mid-flow, it halts and surfaces the prompt to the user.
  • The wider cookjohn stack. cnki-skills (~453 stars) covers CNKI including CAJ downloads and GB/T 7714 export; pm-skills uses NCBI E-utilities directly (esearch/esummary/efetch) since PubMed has a real API; wos-skills (~70) targets Web of Science; sci-skills (~37) covers ScienceDirect; zotero-mcp-plugin (~808 stars) exposes Zotero itself as an MCP server. CNKI's higher star count suggests Chinese academic users are underserved.
  • Installation is a 4-step local setup: install Chrome DevTools MCP, clone the repo and copy skills/ and agents/ into .claude/, launch Chrome with --remote-debugging-port=9222, then run claude. Headless mode is not viable — Scholar fingerprints headless browsers — so deployment targets personal workstations, not servers.
  • Limitations and open questions

  • DOM fragility. Google Scholar's CSS classes are not a contract; any redesign breaks every selector. Long-term maintenance cost is much higher than API-based tools like pm-skills.
  • CAPTCHA handoff friction. Pausing works, but the user must context-switch between terminal and browser. An in-terminal inline preview or in-browser popup could smooth this.
  • data-cid stability. If Google's clustering algorithm changes, the join key can drift. There is no persistent cache or mapping layer; each session re-fetches.
  • Interoperability. Zotero is the only first-class export target. EndNote, Mendeley, or Notion-based workflows require manual BibTeX conversion, and field-mapping varies across tools.
  • Bulk atomicity. If a 100-paper export hits a CAPTCHA midway, partial work is not rolled back or resumed. There is no transaction or checkpoint mechanism for large batches.
  • Why it matters

    gs-skills is less about "letting AI search Google Scholar" than about packaging academic retrieval into composable, reusable SKILL units. Claude Code can therefore understand multi-step intents like search → filter → trace → export and execute them autonomously. Combined with the sibling projects, the stack covers Scholar + CNKI + PubMed + Web of Science + ScienceDirect + Zotero — effectively an AI-ization of the full academic search pipeline. A workflow that took 30 minutes of manual paging and copying can drop to roughly 30 seconds.

    References

  • gs-skills: https://github.com/cookjohn/gs-skills
  • Chrome DevTools MCP: https://github.com/anthropics/chrome-devtools-mcp
  • zotero-mcp-plugin: https://github.com/cookjohn/zotero-mcp-plugin
  • cnki-skills: https://github.com/cookjohn/cnki-skills
  • pm-skills: https://github.com/cookjohn/pm-skills

Tags

#gs-skills#claude-code#chrome-devtools-mcp#google-scholar#academic-tools#zotero#dom-scraping#mcp

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/177620712