Skip to content
alyn
cookjohn

Gs Cited By 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.

$npx skills add cookjohn/gs-skills --skill gs-cited-by
View this skill on GitHubcookjohn/gs-skills/skills/gs-cited-by/SKILL.md
Pack stars
545
Pack installs
1.5k
Alyn Score
39/99
Updated
8 months ago
License
MIT
– views – installs via Alyn

Install Gs Cited By

Pick your agent. Every command is ready to paste.

$npx skills add cookjohn/gs-skills --skill gs-cited-by

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads gs-cited-by when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the gs-cited-by skill”. In Codex, type $gs-cited-by.

The skill itself

SKILL.md

FolderGitHub

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.)

Tips for Gs Cited By

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It is part of a pack with 6 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Gs Cited By

What does the Gs Cited By skill do?

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.

How do I install Gs Cited By?

Run "npx skills add cookjohn/gs-skills --skill gs-cited-by" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Gs Cited By work in Cursor and Codex?

Yes. Gs Cited By uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Gs Cited By free?

Gs Cited By is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made Gs Cited By?

Gs Cited By is published by cookjohn in the cookjohn/gs-skills repository, together with 5 other skills.

Similar skills. From other creators.