Install Gs Advanced Search
Pick your agent. Every command is ready to paste.
npx skills add cookjohn/gs-skills --skill gs-advanced-searchThe 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-advanced-search when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the gs-advanced-search skill”. In Codex, type $gs-advanced-search.
Google Scholar Advanced Search
Construct and execute a Google Scholar search using URL parameters based on the user's natural language description.
Arguments
$ARGUMENTS is a natural language description of the search criteria, e.g.:
- "Search for Einstein's papers on relativity after 2020"
- "Find reviews about CRISPR in Nature"
- "Search for exact phrase 'machine learning' in title only"
Step 1: Parse search criteria into URL parameters
Map the user's intent to Google Scholar URL parameters:
| Criteria | Parameter | Example |
|---|---|---|
| Keywords | q |
q=gastric+cancer |
| Author | as_sauthors |
as_sauthors="Albert Einstein" |
| Journal/Source | as_publication |
as_publication=Nature |
| Start year | as_ylo |
as_ylo=2020 |
| End year | as_yhi |
as_yhi=2025 |
| Exact phrase | as_epq |
as_epq=machine+learning |
| Any of these words (OR) | as_oq |
as_oq=immunotherapy+checkpoint |
| Exclude words | as_eq |
as_eq=review |
| Search scope | as_occt |
as_occt=title (title only) / as_occt=any (anywhere) |
| Results per page | num |
num=10 (default) or num=20 (max) |
| Language | hl |
hl=en or hl=zh-CN |
Construction examples:
- "Einstein 2020 年以后在 Nature 上的论文" →
scholar?as_sauthors=Einstein&as_publication=Nature&as_ylo=2020&hl=en - "标题包含 CRISPR 的论文" →
scholar?q=CRISPR&as_occt=title&hl=en - "精确搜索 'deep learning' 排除 review" →
scholar?as_epq=deep+learning&as_eq=review&hl=en - "搜索 immunotherapy 或 checkpoint 相关论文" →
scholar?as_oq=immunotherapy+checkpoint&hl=en
Notes:
- When
as_sauthors,as_publication, etc. are used,qcan be omitted or used for additional keywords - Always include
hl=enfor consistent results - Use
num=10(default) to minimize CAPTCHA risk
Step 2: Navigate
Use mcp__chrome-devtools__navigate_page:
- url:
https://scholar.google.com/scholar?{CONSTRUCTED_PARAMS}
Step 3: Extract results (evaluate_script)
Same extraction script as gs-search step 2:
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',
citedByUrl: citedByEl?.href || '',
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
Advanced search on Google Scholar:
Query parameters: {list the parameters used}
{total}
1. {title}
Authors: {authors} | {journalYear}
Cited by: {citedBy} | [Full text]({fullTextUrl})
Data-CID: {dataCid}
2. ...
Always show the constructed URL parameters so the user understands how the query was built.
Notes
- This skill uses 2 tool calls:
navigate_page+evaluate_script - Google Scholar does NOT support publication type filtering (review, clinical trial, etc.) — use keywords instead
- Impact factor is not available in Google Scholar — use citation count as a proxy
- The key difference from gs-search is URL parameter construction — this skill translates natural language to Google Scholar query parameters
Tips for Gs Advanced Search
- • 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 Advanced Search
What does the Gs Advanced Search skill do?
Perform advanced Google Scholar search with filters - author, journal, date range, exact phrase, title-only. Constructs proper URL parameters from natural language. Use for precise filtered searches.
How do I install Gs Advanced Search?
Run "npx skills add cookjohn/gs-skills --skill gs-advanced-search" 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 Advanced Search work in Cursor and Codex?
Yes. Gs Advanced Search 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 Advanced Search free?
Gs Advanced Search is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.
Who made Gs Advanced Search?
Gs Advanced Search is published by cookjohn in the cookjohn/gs-skills repository, together with 5 other skills.



