google-image-search
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
By glebis · 637 installs
npx skills add glebis/claude-skills --skill google-image-search
Source repository · Upstream listing
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 :
Modes of Operation
1. Simple Query
Search for a single term:
2. Batch Processing
Process multiple queries from JSON config:
3. Generate Config from Terms
Create JSON config from a list of terms using LLM:
4. Enrich Obsidian Note
Extract visual terms from note, find images, and insert below headings:
This mode:
1. Detects Obsidian vault and attachments folder
2. Uses LLM to extract visual worthy terms from note
3. Searches for images for each term
4. Downloads best images to attachments folder
5. Inserts image embeds below relevant headings
6. 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:
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