CommunityImagengithub.com

encontrar-imágenes

Encuentra imágenes para diapositivas, informes, documentos y páginas web: fotos reales (productos, lugares, eventos, personas), fotos de archivo gratuitas, imágenes oficiales de productos e iconos. Compara múltiples candidatos en una hoja de contacto numerada, descarga los originales seleccionados, registra la fuente y licencia, y crea una página de créditos. Úsalo cuando el usuario pida imágenes, fotos o iconos para una presentación o documento, o cuando una presentación esté muy cargada de texto y tenga pocas imágenes.

¿Qué es encontrar-imágenes?

Esta habilidad está diseñada para ayudar a agentes de IA (como Claude Code, Cursor y Codex) a encontrar, evaluar, descargar y acreditar imágenes de manera eficiente. Gestiona todo el flujo de trabajo desde la planificación hasta la inserción final, minimizando el consumo de contexto del agente principal al delegar la visualización y selección a un subagente. Soporta múltiples fuentes como Google Images (a través de Serper), Wikimedia Commons, Pixabay e Iconify, cada una con diferentes licencias y requisitos de atribución. El usuario define las necesidades de imagen en un archivo JSON (plan.json), especificando consultas, orientación, resolución mínima y fuentes preferidas. Luego, el script genera hojas de contacto numeradas que permiten comparar visualmente los candidatos sin abrir cada imagen individualmente. Una vez seleccionadas, las imágenes se descargan con metadatos como licencia y fuente, y se genera automáticamente una página de créditos. La habilidad también incluye reglas claras sobre licencias (CC0, CC BY, Pixabay, imágenes oficiales) y límites de uso para garantizar el cumplimiento legal.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Kishibe999/find-images/tree/HEAD

Installed? Explore more Imagen skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

encontrar-imágenes: buscar, seleccionar, descargar y acreditar imágenes

El script es scripts/imgs.py en el directorio de esta habilidad. En los comandos siguientes, reemplace <dir-habilidad> con la ruta completa del directorio que contiene este SKILL.md (por ejemplo C:/Users/<nombre>/.claude/skills/find-images). Las claves provienen de variables de entorno o de ~/.config/image-search/keys.env (SERPER_API_KEY, PIXABAY_API_KEY, opcional EXA_API_KEY). El script las lee por sí mismo: nunca las imprima ni las busque en ningún otro lugar. Si falta una clave, el script indica qué fuente omitió; continúe con las otras fuentes e indique al usuario que configure la clave como se describe en el README.md de esta habilidad. Los mensajes del script, las etiquetas de las hojas y credits.md siguen el idioma del sistema (chino o inglés); FIND_IMAGES_LANG=zh|en lo anula. La salida va a images/ en el proyecto actual: _work/<tag>/ contiene los candidatos y las hojas de contacto, assets/ las imágenes seleccionadas, manifest.json el registro de origen de cada imagen y credits.md la página de créditos.

Primero decida si la diapositiva necesita una imagen encontrada

ContenidoQué hacer
Datos, comparaciones, tendenciasNo busque; use gráficos nativos de pptx o matplotlib
Procesos, estructuras, relacionesNo busque; dibuje con formas o SVG
Conceptos, ilustración abstractaPruebe primero con iconos (icons); en Codex también puede generar una con imagegen
Productos, lugares, personas, eventos, organizaciones específicosUse esta habilidad para encontrar fotos reales
Imágenes de ambiente, fondos de portadaUse esta habilidad con Pixabay o Commons como fuente

Selección de fuentes

Fuente (src / mode)Adecuada paraIdioma de consultaLicencia
web (Serper, es decir, Google Images)Productos específicos, eventos de noticias, personas, temas en chinoCualquiera. Para temas en chino, agregar 官方图 (imagen oficial), 高清 (HD) o 新闻图 (foto de noticias) ayudaDerechos desconocidos: solo presentaciones internas y trabajos de curso, citando la fuente
commons (Wikimedia Commons)Monumentos, ciudades, arquitectura, historia, ciencia, figuras públicas, logotipos de organizacionesSolo inglés, 2–4 palabras (las consultas en chino casi no devuelven nada)CC0 es de uso libre; CC BY / BY-SA requieren atribución
pixabayImágenes de ambiente y escenas genéricas (oficina, trabajo en equipo, ciudad, naturaleza, industria)Chino o inglésUso libre, atribución opcional; máx. 1280px
mode: site (página oficial)Imágenes oficiales de una página de producto o empresaProporcione la URL de la páginaImagen del sitio oficial; cite la fuente
mode: icons (Iconify)Iconos de conjuntos de código abierto (MIT, Apache, …)Solo inglés, 1–2 palabras (drone, battery). Con menos de 6 resultados, el script también busca cada palabra por separadoLos conjuntos predeterminados son de uso libre sin atribución; color se aplica tanto a SVG como a PNG

Para un tema específico, use src web o web,commons. Cuando las imágenes deben ser de uso libre, use commons,pixabay y omita web.

Flujo de trabajo

1. Escriba el plan de imágenes (plan.json, UTF-8)

Un elemento por diapositiva; nombre cada tag según el número de diapositiva y el propósito:

[
 {"tag": "s01_portada", "q": "barco portavehículos en puerto", "q_en": "car carrier ship",
  "src": "commons,pixabay", "orient": "apaisado", "min_side": 1600, "n": 12},
 {"tag": "s04_producto", "q": "比亚迪 海豹07 官方图", "src": "web", "orient": "apaisado", "min_side": 1200, "n": 9},
 {"tag": "s05_oficial", "mode": "site", "url": "https://www.byd.com/cn/", "n": 9},
 {"tag": "s07_icono", "mode": "icons", "q": "battery", "color": "#1F4E79", "n": 16}
]
  • q: consulta principal, utilizada por web y pixabay. Puede estar en chino para temas chinos, como en s04_producto. q_en: consulta en inglés utilizada por commons; por defecto es q.
  • orient: apaisado / retrato / cuadrado / cualquiera.
  • min_side: longitud mínima del lado largo en píxeles. Fondo de pantalla completa 1600, media diapositiva 1000, ilustración pequeña 600. La API gratuita de Pixabay sirve como máximo 1280px, por lo que el script reduce el requisito a 1280 para Pixabay. Esto es suficiente para un fondo de pantalla completa en un proyector o monitor normal, ligeramente suave en una pantalla 4K. Si una imagen a pantalla completa debe ser muy nítida, prefiera los candidatos de Commons.
  • n: número de candidatos en la hoja, 16 como máximo.

2. Buscar y construir hojas de contacto

python <dir-habilidad>/scripts/imgs.py search --plan plan.json --out images

También funcionan elementos individuales: search --tag s04_producto --q "..." --src web, o site --tag .. --url .., icons --tag .. --q ... Si los argumentos no ASCII se muestran distorsionados en el shell (por ejemplo, chino en Git Bash en Windows), colóquelos en plan.json en su lugar.

Cada elemento produce una hoja de contacto numerada images/_work/<tag>/sheet.jpg y una lista de texto con una línea por candidato (tamaño, dominio de origen, licencia). Buscar el mismo tag nuevamente sobrescribe sus candidatos y números, así que seleccione de una hoja antes de buscar ese tag de nuevo.

3. Mire la hoja y elija

  • Abra la imagen de la hoja: Read en Claude Code, view_image en Codex. Una hoja cuesta aproximadamente 1600 tokens. No abra los candidatos uno por uno.
  • Verifique que el sujeto sea correcto (modelo, lugar), la composición deje espacio para el texto, no haya marca de agua ni bloque grande de texto, el estilo coincida con el resto de la presentación y la resolución sea suficiente.
  • Si nada encaja, busque de nuevo. Después de la primera búsqueda, vuelva a buscar como máximo dos veces, cada vez desde un ángulo diferente en lugar de con sinónimos: un tema más específico o más amplio, otra fuente o el otro idioma. Si aún así falla, recurra a iconos o un diseño solo de texto, o informe al usuario.
  • Cuando el ajuste temático y la licencia entren en conflicto: si la solicitud indica que se prefieren imágenes de uso libre, busque primero commons,pixabay; si al volver a buscar aún no encuentra nada sobre el tema, use una imagen de web y etiquétela como "derechos desconocidos" en su informe. Si la solicitud indica que las imágenes deben ser de uso libre o se publicarán, nunca use web; recurra en su lugar.
  • Las etiquetas de la hoja muestran tamaño, licencia (Commons muestra la licencia exacta, por ejemplo CC BY-SA 4.0) y dominio de origen; la lista de texto muestra la misma información.

4. Descargue las imágenes seleccionadas

python <dir-habilidad>/scripts/imgs.py pick --tag s04_producto --ids 6 --out images

El script descarga la imagen original (Commons a través de su miniatura estándar de 1920px; los lados largos de más de 2560px se reducen; webp/avif se convierten a jpg/png) y la registra en manifest.json. Si pick informa una descarga degradada ("degraded": true en el manifiesto: la protección de enlace directo bloqueó el original y solo llegó una miniatura), elija otro candidato.

5. Inserte las imágenes y construya la página de créditos

  • Al insertar, guíese por file, width y height en manifest.json; recorte para ajustarse al diseño y nunca estire. Los iconos vienen tanto en PNG como en SVG (el campo svg).
  • Ejecute credits --out images para escribir credits.md y coloque su sección de créditos de diapositiva en la última diapositiva (fuentes). Si tiene una sección de notas, transmítala al usuario.
  • Cuando toda la presentación esté terminada, renderícela y verifique las capturas de pantalla como de costumbre. Esa es la única vez que el agente principal necesita mirar las imágenes.

Ahorro de contexto: entregue tres o más imágenes a un subagente

El agente principal solo escribe plan.json y lee el manifiesto. Ver las hojas, elegir y descargar pasan a un subagente, por lo que las imágenes candidatas nunca entran en el contexto principal. Plantilla de prompt para subagente:

Lea <dir-habilidad>/SKILL.md y sígalo para encontrar imágenes para la presentación en <ruta del proyecto>.
Plan de imágenes: <ruta a plan.json> (tag, propósito y contexto de la diapositiva para cada elemento a continuación).
<Para cada elemento: qué dice la diapositiva, dónde va la imagen, apaisado o retrato, estilo>
Para cada elemento, mire la hoja una vez y elija 1 imagen (como máximo 1 de respaldo); seleccione en <proyecto>/images. Si nada encaja, vuelva a buscar con diferentes palabras, como máximo dos rondas más.
Devuelva para cada tag: el id elegido, ruta de archivo, tamaño, clase de licencia y una razón de una línea; enumere los tags sin imagen adecuada y por qué. No devuelva las imágenes en sí.

Reglas de licencia

  • Uso libre (CC0, Pixabay, iconos de código abierto): cualquier uso. Acreditar imágenes CC0 y Pixabay es un cortesía, no un requisito.
  • Atribución requerida (CC BY / BY-SA): acredite al autor y la licencia en la diapositiva de fuentes. Una imagen BY-SA modificada debe compartirse bajo la misma licencia.
  • Oficial / derechos desconocidos (site, web): solo presentaciones internas, trabajos de curso y charlas académicas, citando la fuente. Antes de publicar o usar comercialmente cualquier cosa, informe al usuario y reemplácelas con imágenes de uso libre.
  • Fotos de personas: las figuras públicas en un contexto de noticias están bien; no use fotos de personas privadas como decoración.

Cuotas y límites

  • Serper: 2500 consultas gratuitas al registrarse. Una búsqueda de 20 resultados (cuando n > 6) cuesta 2 consultas, 10 resultados cuestan 1. Después de eso, recarga, desde $50 por 50,000 consultas, y las recargas caducan después de 6 meses. El saldo restante está en el panel de serper.dev.
  • Pixabay: 100 solicitudes por minuto; las imágenes no deben tener enlace directo (el script las descarga).
  • Commons: solo se pueden obtener anchos de miniatura estándar (960/1280/1920/3840); busque en inglés.
  • Iconify: gratuito, sin clave. Convertir SVG a PNG necesita Node.js con sharp. Si falta, el script lo indica; use otro enfoque, o pida al usuario que ejecute npm install -g sharp.
  • Exa: se usa solo cuando el modo site no puede encontrar imágenes en la página misma; usa créditos de Exa.

Skills relacionados