gs-advanced-search
Perform advanced Google Scholar search with filters - author, journal, date range, exact…
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 -y skills add cookjohn/gs-skills --skill gs-cited-by --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gs-cited-byContext 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.
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]"
Find all papers that cite a given paper. Uses Google Scholar's `cites` parameter with the paper's cluster ID (data-cid).
$ARGUMENTS can be:
**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`
Use `mcp__chrome-devtools__navigate_page`:
Replace `{DATA_CID}` with the resolved cluster ID.
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 };
}Papers citing [{original paper title}] (data-cid: {DATA_CID}):
{total}
1. {title}
Authors: {authors} | {journalYear}
Cited by: {citedBy}
Data-CID: {dataCid}
2. ...Google Scholar skills for Claude Code — search, citation tracking, full-text access, and Zotero export via Chrome DevTools MCP
Repo: cookjohn/gs-skills
Perform advanced Google Scholar search with filters - author, journal, date range, exact…
Export Google Scholar paper(s) to Zotero via BibTeX. Gets citation data from Google Scholar's…
Get full-text access links for a Google Scholar paper - PDF, DOI, Sci-Hub, and publisher…
Navigate Google Scholar search result pages. Use when user wants to see more results or go to…