AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Gs Navigate Pages

skill-cookjohn-gs-skills-gs-navigate-pages · by cookjohn

Navigate Google Scholar search result pages. Use when user wants to see more results or go to a specific page.

No reviews yet
0 installs
3 views
0.0% view→install

Install

$ agentstack add skill-cookjohn-gs-skills-gs-navigate-pages

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-cookjohn-gs-skills-gs-navigate-pages)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Gs Navigate Pages? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Google Scholar Navigate Pages

Navigate search result pages. Requires context from a previous gs-search or gs-advanced-search call.

Arguments

$ARGUMENTS can be:

  • next — go to next page
  • previous — go to previous page
  • page N — go to page N

Prerequisites

This skill requires context from a previous search:

  • currentUrl: the current Google Scholar search URL
  • page: current page number (1-based)

Steps

1. Calculate new URL

Google Scholar uses start parameter for pagination (0-indexed, increments of 10):

  • Page 1: start=0 (or omitted)
  • Page 2: start=10
  • Page 3: start=20

Based on $ARGUMENTS:

  • next: newStart = currentStart + 10
  • previous: newStart = max(0, currentStart - 10)
  • page N: newStart = (N - 1) * 10

Modify the start parameter in the current search URL. If start doesn't exist in the URL, append &start={newStart}.

2. Navigate

Use mcp__chrome-devtools__navigate_page with the updated URL.

3. Extract results (evaluate_script)

Same extraction script as gs-search step 2:

async () => {
  for (let i = 0; i  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: NEW_START + 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 hasNext = !!document.querySelector('#gs_n a.gs_ico_nav_next, #gs_nm a:last-child');
  const currentUrl = window.location.href;
  return { total: totalText, page: NEW_PAGE, resultCount: results.length, hasNext, currentUrl, results };
}

Replace NEW_START and NEW_PAGE with the computed values.

4. Report

Page {page} for "{query}" ({total}):

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

2. ...

{hasNext ? "More results available — ask me for the next page." : "No more results."}

Notes

  • This skill uses 2 tool calls: navigate_page + evaluate_script
  • Google Scholar shows 10 results per page by default
  • start parameter controls pagination offset

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.