Skip to content
Research
Skill

/gs-cited-by

Find papers that cite a given Google Scholar paper. Tracks citation chains using data-cid (cluster ID). Use when user wants to see who cited a specific paper.

From plugin
gs-skills
4746 skills1 agent
Install
$ npx -y skills add cookjohn/gs-skills --skill gs-cited-by --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/gs-cited-by

Context preview

The summary Claude sees to decide when to auto-load this skill.

Find papers that cite a given Google Scholar paper. Tracks citation chains using data-cid (cluster ID). Use when user wants to see who cited a specific paper.

SKILL.md

gs-cited-by.SKILL.md
name: gs-cited-by
description: Find papers that cite a given Google Scholar paper. Tracks citation chains using data-cid (cluster ID). Use when user wants to see who cited a specific paper.
argument-hint: "[data-cid or paper title to look up]"

Google Scholar — Cited By (Citation Tracking)

Find all papers that cite a given paper. Uses Google Scholar's `cites` parameter with the paper's cluster ID (data-cid).

Arguments

$ARGUMENTS can be:

  • A `data-cid` from a previous search result (e.g., `TFS2GgoGiNUJ`)
  • A paper title (will search first to find the data-cid)

Steps

Step 1: Resolve data-cid

**If $ARGUMENTS is a data-cid** (alphanumeric string, no spaces): use it directly.

**If $ARGUMENTS is a title or description**: first search to find the data-cid: 1. Use `gs-search` with the title as keywords 2. Match the target paper in results by title similarity 3. Extract its `dataCid`

Step 2: Navigate to "Cited by" page

Use `mcp__chrome-devtools__navigate_page`:

  • url: `https://scholar.google.com/scholar?cites={DATA_CID}&hl=en&num=10`

Replace `{DATA_CID}` with the resolved cluster ID.

Step 3: Extract citing papers (evaluate_script)

Same extraction script as gs-search:

async () => {
  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));
  }

  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 || '';
    const parts = meta.split(' - ');
    const authors = parts[0]?.trim() || '';
    const journalYear = parts[1]?.trim() || '';
    const citedByEl = item.querySelector('.gs_fl a[href*="cites"]');

    return {
      n: i + 1,
      title: titleEl?.textContent?.trim() || item.querySelector('.gs_rt')?.textContent?.trim() || '',
      href: titleEl?.href || '',
      authors,
      journalYear,
      citedBy: citedByEl?.textContent?.match(/\d+/)?.[0] || '0',
      dataCid: item.getAttribute('data-cid') || '',
      fullTextUrl: (item.querySelector('.gs_ggs a') || item.querySelector('.gs_or_ggsm a'))?.href || '',
      snippet: item.querySelector('.gs_rs')?.textContent?.trim()?.substring(0, 200) || ''
    };
  });

  const totalText = document.querySelector('#gs_ab_md')?.textContent?.trim() || '';
  const currentUrl = window.location.href;
  return { total: totalText, resultCount: results.length, currentUrl, results };
}

Step 4: Report

Papers citing [{original paper title}] (data-cid: {DATA_CID}):
{total}

1. {title}
   Authors: {authors} | {journalYear}
   Cited by: {citedBy}
   Data-CID: {dataCid}

2. ...

Follow-up

  • **See more citing papers**: use `gs-navigate-pages` (pagination works on cited-by pages too)
  • **Export citing papers**: use `gs-export` with the data-cid(s)
  • **Recursive citation tracking**: use `gs-cited-by` on any of the citing papers

Notes

  • This skill uses 2-3 tool calls: optional search + `navigate_page` + `evaluate_script`
  • The `cites` parameter uses the cluster ID (data-cid), NOT a DOI or paper ID
  • Cited-by pages support the same pagination as regular search (`start` parameter)
  • Citation count on Google Scholar is typically higher than PubMed because it includes non-PubMed sources (books, theses, preprints, etc.)
Read more
Ships withgs-skills

Google Scholar skills for Claude Code — search, citation tracking, full-text access, and Zotero export via Chrome DevTools MCP

Get the whole plugin
Stats
484
Stars
28
Forks
Maintained
Maintenance
Python
Language
MIT
License
5mo ago
Last commit
5mo ago
Created

Repo: cookjohn/gs-skills