Google Scholar Skills

Google Scholar Skills for Claude Code

Шесть скиллов и агент gs-researcher: Claude Code ищет в Google Scholar, отслеживает цитирования, берет ссылки на полный текст и выгружает в Zotero

  • 538 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Отладочный порт 9222 дает агенту управление вкладками Chrome, в том числе открытыми с вашими входами
  • Скилл выполняет JavaScript на странице и скачивает данные, а `gs-export` передает записи в Zotero
  • Среди ссылок на полный текст есть Sci-Hub, законность зависит от страны
Все причины и проверки

cookjohn/gs-skills

Установка

Работает в

Ручная установка

claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest

Шаг 1: сервер Chrome DevTools MCP, через который скиллы управляют браузером.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Отладочный порт 9222 дает агенту управление вкладками Chrome, в том числе открытыми с вашими входами
  • Скилл выполняет JavaScript на странице и скачивает данные, а `gs-export` передает записи в Zotero
  • Среди ссылок на полный текст есть Sci-Hub, законность зависит от страны

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Набор управляет Google Scholar через Chrome DevTools MCP: у сервиса нет публичного API, поэтому скиллы разбирают страницу по CSS-селекторам. Каждая операция занимает один-два вызова инструмента, без распознавания скриншотов. Скилл gs-search ищет по ключевым словам и возвращает название, авторов, журнал, год, число цитирований и ссылки. Gs-advanced-search добавляет фильтры по автору, журналу, диапазону дат, точной фразе и только заголовку, например `author`:Einstein `after`:2020. Gs-cited-by находит работы, которые цитируют выбранную статью, по идентификатору `data-cid`, он служит ключом во всех скиллах. Gs-fulltext собирает ссылки на PDF, DOI и страницу издателя, `gs-navigate-pages` листает выдачу. Gs-export берет BibTeX и отправляет запись в Zotero через скрипт push_to_zotero.py. Агент `gs-researcher` объединяет все шесть скиллов в цепочки вроде «поиск, цитирования, экспорт в Zotero». Если Google показывает капчу, он останавливается и просит вас пройти ее вручную в браузере.

Для кого. Для исследователей, аспирантов и студентов, которые собирают литературу в Google Scholar и ведут библиотеку в Zotero.

Подходит, если

  • Нужен список работ по теме с цитированиями, журналами и годами в структурном виде
  • Надо найти статьи Эйнштейна после 2020 года или искать точную фразу только в заголовках
  • Хочется узнать, кто цитирует ключевую статью, и перейти по цепочке цитирований
  • Нужны ссылки на полный текст статьи: PDF, DOI, страница издателя
  • Найденные работы требуется сразу отправить в Zotero в виде BibTeX

Не подходит, если

  • Нужен официальный API с гарантированной структурой: разбор страницы может сломаться при смене верстки Google Scholar
  • Нужен поиск по китайским базам: для CNKI в каталоге есть отдельный набор от того же автора
  • Хотите запускать поиск без браузера: Chrome должен быть открыт с отладочным портом
  • Нужен массовый сбор данных: частые запросы приводят к капче, а скилл просит решить ее вручную

Пример запроса к агенту

/gs-advanced-search `author`:Hinton `after`:2022 `neural` `networks`, затем покажи, кто цитирует первую статью

Ограничения

Нужны Chrome с удаленной отладкой на порту 9222 и сервер chrome-devtools-mcp. Для экспорта требуется настольное приложение Zotero и Python 3. Данные берутся разбором страницы, поэтому сбой возможен при изменении верстки. Скилл `gs-fulltext` среди прочего возвращает ссылки на Sci-Hub: законность их использования зависит от вашей страны и правил вашей организации. При капче работа останавливается до ручного ввода.

Как отключить. Удалите папки `gs-`* из .claude/skills и файл gs-researcher.md из .claude/agents. Сервер удалите командой claude mcp `remove` chrome-devtools и закройте Chrome с отладочным портом.

Частые вопросы

Как подключить Google Scholar к Claude Code?

Поставьте сервер командой claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest, скопируйте папки skills и agents из репозитория в .claude и запустите Chrome с флагом --remote-debugging-port=9222. После запуска claude проверьте установку командой /gs-search deep learning.

Почему скиллы не используют API Google Scholar?

Публичного API у сервиса нет. Скиллы читают страницу через evaluate_script и CSS-селекторы, а BibTeX получают через navigate_page, чтобы обойти ограничения CORS на scholar.googleusercontent.com.

Что такое data-cid и зачем он нужен?

Это идентификатор кластера статьи в выдаче Google Scholar. Он служит главным ключом во всех скиллах: по нему работают отслеживание цитирований, экспорт и перекрестные ссылки, например /gs-cited-by 0qfs6zbVakoJ.

Что делает скилл при капче?

Он проверяет наличие капчи, останавливается и просит вас пройти ее в браузере, после чего вы просите продолжить. Автоматически капчу скилл не решает.

Нужен ли Zotero для работы скиллов?

Нет. Zotero и Python 3 нужны только для экспорта через `gs-export`. Поиск, цитирования и ссылки на полный текст работают без них.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

CNKI Skills

CNKI Skills for Claude Code

Набор скиллов для Claude Code, который через Chrome DevTools MCP ищет статьи в CNKI, смотрит журналы, скачивает PDF и выгружает в Zotero

СкиллРасширенный доступ1 тыс.Звезды репозитория

Скилл для Claude Code, который превращает агента в исследователя: многоэтапный сбор источников, проверка цитат и отчет с вики, растущей от сессии к сессии

СкиллРасширенный доступ4,2 тыс.Звезды репозитория

Deep Research

Deep Research Skill for Claude Code

Скилл глубокого исследования для Claude Code: многоэтапный поиск, проверка утверждений и отчет со ссылками в Markdown, HTML и PDF

СкиллРасширенный доступ1,2 тыс.Звезды репозитория

Поиск научных статей сразу в пяти базах с дедупликацией, проверкой цитат и экспортом в RIS и BibTeX для Claude Code и Codex

ПлагинРасширенный доступ360Звезды репозитория

MCP-сервер ищет в Google и Scholar, читает страницы и PDF и копит найденное в локальном графе знаний проекта

MCP-серверРасширенный доступ291Звезды репозитория

Скилл веб-исследования: SearXNG ищет, Camofox читает страницы, CloakBrowser открывает сайты, которые проверяют посетителей

СкиллШирокий доступ539Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Google Scholar Skills (эта запись)нет538
CNKI Skillsнет1 027тот же подход, но для китайской базы CNKI
Paper Search MCPнетключ необязателен2 941MCP-сервер с поиском по arXiv, PubMed и другим открытым источникам через API
Zotero MCPнетне нужна1 251подключает библиотеку Zotero к агенту, поиска по Google Scholar в нем нет

Коротко о README

Описание дано на английском и китайском. Оно перечисляет требования, таблицу из шести скиллов с примерами вызова, агента `gs-researcher` и три шага установки: сервер Chrome DevTools MCP, копирование скиллов и запуск Chrome с отладочным портом. Затем объяснены принципы работы: разбор страницы без распознавания скриншотов, `data-cid` как ключ, один асинхронный скрипт на операцию. Лицензия MIT.

Бейдж для README

Исходный SKILL.md

---
name: gs-search
description: Search Google Scholar for academic papers by keywords. Returns results with title, authors, journal, year, citation count, and full-text links. Use when the user wants to search Google Scholar.
argument-hint: "[search keywords]"
---

# Google Scholar Basic Search

Search Google Scholar for papers using keyword(s). Returns structured result list via DOM scraping.

## Arguments

$ARGUMENTS contains the search keyword(s).

## Steps

### 1. Navigate

Use `mcp__chrome-devtools__navigate_page`:
- url: `https://scholar.google.com/scholar?q={URL_ENCODED_KEYWORDS}&hl=en&num=10`

### 2. Extract results (evaluate_script)

Wait for results to load, check for CAPTCHA, then scrape the DOM:

```javascript
async () => {
  // Wait for results or CAPTCHA
  for (let i = 0; i < 20; i++) {
    if (document.querySelector('#gs_res_ccl') || document.querySelector('#gs_captcha_ccl')) break;
    await new Promise(r => setTimeout(r, 500));
  }

  // CAPTCHA check
  if (document.querySelector('#gs_captcha_ccl') || document.body.innerText.includes('unusual traffic')) {
    return { error: 'captcha', message: 'Google Scholar requires CAPTCHA verification. Please complete it in your browser, then tell me to continue.' };
  }

  const items = document.querySelectorAll('#gs_res_ccl .gs_r.gs_or.gs_scl');
  const results = Array.from(items).map((item, i) => {
    const titleEl = item.querySelector('.gs_rt a');
    const meta = item.querySelector('.gs_a')?.textContent || '';
    // Parse "Author1, Author2 - Journal, Year - publisher"
    const parts = meta.split(' - ');
    const authors = parts[0]?.trim() || '';

Сообщить о проблеме

Foxx AIGoogle Scholar Skills
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.