SKILL.md
Google Scholar Guide
A skill for leveraging Google Scholar's full capabilities for academic literature search. Covers advanced search operators, citation tracking, alert configuration, and strategies for systematic and comprehensive retrieval.
Advanced Search Operators
Core Operators
| Operator | Syntax | Example | Effect |
|---|---|---|---|
| Exact phrase | "..." | "machine learning" | Matches exact phrase |
| OR | OR | "deep learning" OR "neural network" | Matches either term |
| Exclude | - | transformer -electrical | Excludes term |
| Author | author: | author:"Y LeCun" | Filter by author |
| Source | source: | source:"Nature" | Filter by journal |
| Title only | intitle: | intitle:"attention mechanism" | Search in title only |
| Date range | Custom range | Via Advanced Search UI | Limit publication years |
| File type | filetype: | filetype:pdf | Specific file formats |
Constructing Effective Queries
def build_scholar_query(concepts: list[list[str]], exclude: list[str] = None,
title_only: bool = False, author: str = None,
source: str = None) -> str:
"""
Build a structured Google Scholar query from concept groups.
Args:
concepts: List of concept groups, each a list of synonyms
Groups are ANDed together, synonyms are ORed
exclude: Terms to exclude
title_only: Search in title only
author: Author name filter
source: Journal/source filter
Returns:
Formatted Google Scholar query string
"""
# Build concept groups with OR
groups = []
for concept_group in concepts:
if len(concept_group) == 1:
groups.append(f'"{concept_group[0]}"')
else:
terms = ' OR '.join(f'"{term}"' for term in concept_group)
groups.append(f'({terms})')
# AND the concept groups together
query = ' '.join(groups)
# Apply title restriction
if title_only:
query = f'intitle:{query}'
# Add exclusions
if exclude:
for term in exclude:
query += f' -{term}'
# Add author filter
if author:
query += f' author:"{author}"'
# Add source filter
if source:
query += f' source:"{source}"'
return query
# Example: find papers on transfer learning for medical imaging
query = build_scholar_query(
concepts=[
["transfer learning", "domain adaptation", "fine-tuning"],
["medical imaging", "radiology", "pathology images"],
["deep learning", "convolutional neural network"]
],
exclude=["survey", "review"],
title_only=False
)
print(query)
# Output: ("transfer learning" OR "domain adaptation" OR "fine-tuning")
# ("medical imaging" OR "radiology" OR "pathology images")
# ("deep learning" OR "convolutional neural network") -survey -review
