К основному содержанию
скилл CX Codex

google-image-search — скилл для Claude Code: что делает

Ищет и скачивает иллюстрации через Google Custom Search API с отбором через LLM и вставкой в заметки Obsidian.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add glebis/claude-skills --skill google-image-search -a claude-code
Открыть на GitHub

Что делает google-image-search

Скилл находит изображения по текстовым запросам через Google Custom Search API. Скрипт ранжирует результаты по ключевым словам, хостам, разрешению и формату файлов, а затем передаёт лучших кандидатов модели через OpenRouter для финального отбора. При отключении нейросетевого фильтра остаётся эвристический скоринг.

Инструмент умеет обрабатывать пакетные списки из JSON и работать с хранилищами Obsidian. Он определяет папку вложений, загружает подходящие файлы и сам вставляет ссылки вида ![[...]] под нужные заголовки. Перед правкой заметки скрипт создаёт резервную копию файла.

Без настроенных ключей Google и OpenRouter поиск работать не будет. Для выбора картинок через нейросеть нужен установленный CLI-инструмент llm по пути /opt/homebrew/bin/llm. Если плагин llm-openrouter не увидит переменную OPENROUTER_KEY, выборка автоматически откатится к обычной оценке по ключевым словам.

Какие задачи решает

  • найти иллюстрации для технических статей и презентаций
  • автоматически вставить подходящие изображения под заголовки в Obsidian
  • составить JSON-конфиг для пакетного поиска картинок по списку терминов
  • отфильтровать клипарт и мусорные сайты по эвристикам и метаданным

Примеры запросов агенту

  • Найди и скачай 5 иллюстраций по запросу "neural interface wearable device" в папку ./images
  • Сделай JSON-конфиг для картинок по терминам "AlterEgo wearable", "sEMG electrodes" и "BCI headset"
  • Дополни заметку research/neural-interfaces.md подходящими изображениями из поиска

Как установить google-image-search

1Через Skills CLI (Vercel)

npx skills add glebis/claude-skills --skill google-image-search -a claude-code

2Вручную: положить файлы

~/.claude/skills/google-image-search/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/google-image-search/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о google-image-search

Как установить google-image-search в Claude Code?

Выполните в терминале команду npx skills add glebis/claude-skills --skill google-image-search -a claude-code.

Что делает скилл google-image-search?

Он ищет изображения через Google Custom Search API, оценивает их по правилам или с помощью LLM и скачивает на диск. Также инструмент умеет находить иллюстрации для заметок Obsidian и вставлять их под заголовки.

Что нужно подготовить перед запуском поиска?

Потребуются ключи Google Custom Search API, идентификатор поисковика CX и ключ OpenRouter в файле .env. Также в системе должен быть установлен CLI-пакет llm по пути /opt/homebrew/bin/llm.

Исходный текст

SKILL.md · MIT
---
name: google-image-search
description: 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.
---

# 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
```
(The `OPENROUTER_API_KEY=...` spelling works too — see the plugin note below.)

### OpenRouter / llm-openrouter caveat

The `llm-openrouter` plugin only registers its models when it can read a key named
`OPENROUTER_KEY` (env var or `llm keys set openrouter`). With only
`OPENROUTER_API_KEY` set, `llm models list` shows **zero** OpenRouter models and every
`openrouter/...` name fails with `Unknown model` — the script then silently falls back to
keyword scoring. `llm_select.py` sets both names for the subprocess, so this is handled;
if selection ever regresses, check `OPENROUTER_KEY` first:

```bash
llm models list | grep -c openrouter   # 458+ means the plugin registered its models
```

## Modes of Operation

### 1. Simple Query

Search for a single term:

```bash
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:

```bash
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:

```bash
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:

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

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:

```json
{
  "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 |

© glebis · MIT · glebis/claude-skills

Похожие скиллы

Всё по теме «Заметки, задачи и проекты» →
google-search-agent-teneo TeneoProtocolAI Скилл подключает Google Search Agent через Teneo CLI: показывает актуальные команды, аргументы и цены перед запуском. CX Codex +1 509установок scraping-google-search-results apidojo Собирает результаты поиска Google по любому запросу: URL, заголовки, сниппеты, позиции и типы SERP-блоков. Пригодится, когда нужна сырая выдача для SEO или анализа конкурентов. CX Codex +1 759установок obsidian-cli kepano Скилл для работы с хранилищем Obsidian из командной строки: читать и создавать заметки, искать, править свойства, отлаживать плагины. CX Codex +1 81 000установок obsidian openclaw Управляет заметками, задачами и свойствами в хранилищах Obsidian через официальный CLI. Пригодится для ведения базы знаний прямо из терминала агента. CX Codex +1 6 400установок wiki-ingest Ar9av Забирает документы, папки, сырой текст и ссылки в вики Obsidian: перерабатывает их в связанные страницы и пропускает то, что уже разобрано. CX Codex +1 3 600установок book-study sanyuan0704 Ведёт изучение книг по главам: собирает заметки, проверяет понимание и возвращает материал на повторение. Пригодится для чтения с планом и вопросами. CX Codex +1 3 500установок

Из того же набора8

pdf-generation Собирает PDF из markdown через Pandoc и шаблон Eisvogel: титульная страница, оглавление, темы по цветам. Для отчётов, white paper и документации. CX Codex +1 482установок health-data Запрашивает локальную базу SQLite с экспортом Apple Health, выдаёт показатели пульса, сна и тренировок в Markdown, JSON или FHIR R4. CX Codex +1 393установок firecrawl-research Скилл находит темы в markdown-заметках, выкачивает материалы через FireCrawl API и собирает структурированные отчёты. Пригодится для научной работы и подготовки библиографии. CX Codex +1 379установок deep-research Запускает глубокое исследование темы через OpenAI Deep Research API: уточняет запрос вопросами, сохраняет параметры и выдаёт отчёт со ссылками. CX Codex +1 324установок presentation-generator Собирает презентации в стиле необрутализма с фирменными цветами Agency: интерактивный HTML, PNG-слайды и PDF. CX Codex +1 320установок decision-toolkit Скилл собирает интерактивные инструменты для сложных решений: пошаговые мастера, чек-листы когнитивных искажений, сценарии и дашборды. CX Codex +1 317установок elevenlabs-tts Превращает текст в аудиофайл через ElevenLabs API: выбираете голос из пресетов, задаёте стабильность и similarity boost. CX Codex +1 305установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой