Claude
Skills
Sign in
Back

gs-fulltext

Included with Lifetime
$97 forever

Get full-text access links for a Google Scholar paper - PDF, DOI, Sci-Hub, and publisher links. Use when user wants to read or download a paper's full text.

Writing & Docs

What this skill does


# Google Scholar Full Text Access

Resolve and present all full-text access options for a paper found in Google Scholar search results.

## Arguments

$ARGUMENTS can be:
- A `data-cid` from a previous search result
- A result number (e.g., `3`) referring to a previous search result

## Prerequisites

This skill works best after a previous `gs-search` or `gs-advanced-search` call, which already extracts `fullTextUrl` and `href` for each result. If those are available, use them directly.

## Steps

### Step 1: Collect links from search results

From the previous search result, extract these fields for the target paper:
- `fullTextUrl`: direct PDF/HTML link (from `.gs_ggs a`)
- `href`: link to the paper's publisher page (from `.gs_rt a`)
- `dataCid`: cluster ID

If no previous search context is available, search for the paper first using `gs-search`.

### Step 2: Resolve additional links (evaluate_script)

Navigate to the Google Scholar results page (if not already there), then extract full-text links for the specific paper:

```javascript
async () => {
  const cid = "DATA_CID_HERE";

  // Find the result item by data-cid
  const item = document.querySelector(`.gs_r.gs_or.gs_scl[data-cid="${cid}"]`);
  if (!item) return { error: 'not_found', message: 'Paper not found on current page. Try searching again.' };

  const titleEl = item.querySelector('.gs_rt a');
  const title = titleEl?.textContent?.trim() || item.querySelector('.gs_rt')?.textContent?.trim() || '';
  const paperUrl = titleEl?.href || '';

  // Full-text PDF/HTML link (shown on the right side of results)
  const fullTextEl = item.querySelector('.gs_ggs a') || item.querySelector('.gs_or_ggsm a');
  const fullTextUrl = fullTextEl?.href || '';
  const fullTextType = fullTextEl?.querySelector('span.gs_ctg2')?.textContent?.trim() || '';

  // Meta info for context
  const meta = item.querySelector('.gs_a')?.textContent || '';
  const parts = meta.split(' - ');
  const authors = parts[0]?.trim() || '';
  const journalYear = parts[1]?.trim() || '';

  // Try to extract DOI from paper URL
  let doi = '';
  if (paperUrl.includes('doi.org/')) {
    doi = paperUrl.replace(/^https?:\/\/(dx\.)?doi\.org\//, '');
  }

  // Build access links
  const links = {};

  if (fullTextUrl) {
    links.fullText = fullTextUrl;
    links.fullTextType = fullTextType || (fullTextUrl.endsWith('.pdf') ? '[PDF]' : '[HTML]');
  }

  if (paperUrl) {
    links.publisher = paperUrl;
  }

  if (doi) {
    links.doi = `https://doi.org/${doi}`;
    links.scihub = `https://sci-hub.ru/${doi}`;
  } else if (paperUrl) {
    // Sci-Hub also works with direct URLs
    links.scihub = `https://sci-hub.ru/${paperUrl}`;
  }

  return {
    dataCid: cid,
    title,
    authors,
    journalYear,
    doi,
    fullTextUrl,
    fullTextType,
    paperUrl,
    links
  };
}
```

### Step 3: Report

```
## Full Text Links — {title}

**Authors:** {authors} | {journalYear}

**Direct Full Text:**
{links.fullText ? "- " + links.fullTextType + " " + links.fullText : "No direct full text link available"}

**Publisher Page:**
{links.publisher ? "- " + links.publisher : "N/A"}

**DOI:**
{links.doi ? "- " + links.doi : "No DOI detected"}

**Sci-Hub:**
{links.scihub ? "- " + links.scihub : "N/A"}
```

### Step 4: Open full text (optional)

If the user wants to read the paper immediately, use `mcp__chrome-devtools__new_page` to open the preferred link in this priority:
1. `fullTextUrl` (direct PDF/HTML, usually free)
2. DOI link (may require subscription)
3. Sci-Hub link (fallback)
4. Publisher page

## Notes

- This skill uses 1-2 tool calls: `evaluate_script` (if already on results page) or `navigate_page` + `evaluate_script`
- Google Scholar's full-text links (`.gs_ggs`) are usually free/open-access PDFs
- DOI may not always be extractable from the paper URL
- Sci-Hub works with both DOI and direct URL
- Opening full text in a new tab adds 1 more tool call (`new_page`)
Files: 1
Size: 4.1 KB
Complexity: 12/100
Category: Writing & Docs

Related in Writing & Docs