mcpbeat Sign in

Google Image Search Skill for Claude

Search and download images via Google Custom Search API with LLM-powered selection. This skill should be used when finding images for articles, presentations, research documents, or enriching Obsidian notes with relevant visuals. Supports simple queries, batch processing from JSON config, automatic config generation from terms, and full note enrichment with automatic image insertion below headings.

17k tokens
context cost
the whole folder, loaded on every use
11
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
337
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/glebis/claude-skills --skill google-image-search

What comes with it

63 551 bytes besides the instruction
.claude-plugin/plugin.json
references/api_config_reference.md
scripts/api.py
scripts/config.py
scripts/download.py
scripts/evaluate.py
scripts/google_image_search.py
scripts/llm_select.py
scripts/obsidian.py
scripts/output.py

The instruction itself

14 sections, as written by the author

Google Image Search Skill

Search for images using Google Custom Search API with intelligent scoring and LLM-based selection.

When to Use

  • Finding images to illustrate technical articles or research
  • Adding visuals to presentations
  • Enriching Obsidian notes with relevant images
  • Batch image search for multiple topics
  • Generating image search configs from plain text lists

Requirements

  • Google Custom Search API key and Search Engine ID
  • OpenRouter API key (for LLM selection)
  • llm CLI installed at /opt/homebrew/bin/llm

Store credentials in .env:

Google-Custom-Search-JSON-API-KEY=your_key
Google-Custom-Search-CX=your_cx
OPENROUTER_API_KEY=your_openrouter_key

Modes of Operation

1. Simple Query

Search for a single term:

python3 ~/.claude/skills/google-image-search/scripts/google_image_search.py \
  --query "neural interface wearable device" \
  --output-dir ./images \
  --num-results 5

2. Batch Processing

Process multiple queries from JSON config:

python3 ~/.claude/skills/google-image-search/scripts/google_image_search.py \
  --config image_queries.json \
  --output-dir ./images \
  --llm-select

3. Generate Config from Terms

Create JSON config from a list of terms using LLM:

python3 ~/.claude/skills/google-image-search/scripts/google_image_search.py \
  --generate-config \
  --terms "AlterEgo wearable" "sEMG electrodes" "BCI headset" \
  --output my_queries.json

4. Enrich Obsidian Note

Extract visual terms from note, find images, and insert below headings:

python3 ~/.claude/skills/google-image-search/scripts/google_image_search.py \
  --enrich-note ~/Brains/brain/Research/neural-interfaces.md

This mode:

  • Detects Obsidian vault and attachments folder
  • Uses LLM to extract visual-worthy terms from note
  • Searches for images for each term
  • Downloads best images to attachments folder
  • Inserts image embeds below relevant headings
  • Creates backup before modifying note

Key Options

| Option | Description |

|--------|-------------|

| --query TEXT | Simple single query |

| --config FILE | JSON config for batch |

| --generate-config | Generate config from --terms |

| --enrich-note FILE | Enrich Obsidian note |

| --output-dir DIR | Where to save images |

| --urls-only | Return URLs only, no download |

| --llm-select | Use LLM to pick best image (default: on) |

| --no-llm-select | Disable LLM selection |

| --num-results N | Results per query (default: 5) |

| --dry-run | Show what would be done |

JSON Config Format

Each entry supports:

{
  "id": "unique-id",
  "heading": "Display Heading",
  "description": "Context for what image to find",
  "query": "Google search query",
  "numResults": 5,
  "selectionCriteria": "What makes a good image",
  "requiredTerms": ["must", "have"],
  "optionalTerms": ["bonus", "terms"],
  "excludeTerms": ["stock", "clipart"],
  "preferredHosts": ["official-site.com"],
  "selectionCount": 2
}

See references/api_config_reference.md for full documentation.

Scoring System

Images are scored based on:

  • Required terms: -80 if missing, +30 if all present
  • Optional terms: +5 per match
  • Exclude terms: -50 per match
  • Preferred hosts: +25 if trusted, -5 if unknown
  • MIME type: +5 for PNG/JPEG, -10 for GIF
  • Resolution: +10 for high res, -10 for low res
  • File size: -5 if very small

LLM Selection

After scoring, LLM picks the best image from top candidates based on:

  • Title and URL metadata
  • Scoring reasons
  • Selection criteria

The LLM evaluates authenticity, clarity, and relevance for technical audiences.

Obsidian Integration

When in an Obsidian vault:

  • Auto-detects vault root via .obsidian folder
  • Uses configured attachments folder (default: Attachments)
  • Generates Obsidian-style embeds: ![[image.png|alt text]]
  • Creates backup before modifying notes

Script Files

| File | Purpose |

|------|---------|

| google_image_search.py | Main entry point |

| api.py | Google Custom Search API |

| config.py | Credentials and config handling |

| download.py | Image download with magic bytes |

| evaluate.py | Keyword-based scoring |

| llm_select.py | LLM selection and term extraction |

| obsidian.py | Vault detection and enrichment |

| output.py | Markdown output generation |

Other skills for the same job

different authors, same section of the catalogue
Canvas Design
by anthropics
vendor ×13

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

1388k tokens
X Article Publisher
by ZhanlinCui
×2

Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.

7k tokens scripts zh
Nanobanana Ppt Skills
by ComeOnOliver
×2

AI-powered PPT generation with document analysis and styled images

2k tokens
Open Notebook
by K-Dense-AI
×1

Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis. Use when organizing research materials into notebooks, ingesting diverse content sources (PDFs, videos, audio, web pages, Office documents), generating AI-powered notes and summaries, creating multi-speaker podcasts from research, chatting with documents using context-aware AI, searching across materials with full-text and vector search, or running custom content transformations. Supports 16+ AI providers including OpenAI, Anthropic, Google, Ollama, Groq, and Mistral with complete data privacy through self-hosting.

14k tokens scripts
Cell Figure Guide
by BioTender-max
×1

Cell (Cell Press) figure preparation: resolution (300-1000 DPI), formats (TIFF/PDF), RGB color, Avenir/Arial fonts, uppercase panel labels, strict image manipulation policies.

4k tokens
Open Notebook
by christophacham
×1

Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis. Use when organizing research materials into notebooks, ingesting diverse content sources (PDFs, videos, audio, web pages, Office documents), generating AI-powered notes and summaries, creating multi-speaker podcasts from research, chatting with documents using context-aware AI, searching across materials with full-text and vector search, or running custom content transformations. Supports 16+ AI providers including OpenAI, Anthropic, Google, Ollama, Groq, and Mistral with complete data privacy through self-hosting.

18k tokens scripts
Libreoffice Writer
by ComeOnOliver
×1

Use when creating, editing, formatting, exporting, or extracting LibreOffice Writer (.odt) documents via UNO, including session-based edits, structured text targets, tables, images, lists, patch workflows, and snapshots.

24k tokens scripts
X Article Publisher
by ComeOnOliver
×1

Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.

13k tokens scripts zh

How to use it

Copy the folder

Take glebis/google-image-search from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.