CommunityImagengithub.com

photo-kit

Prepara lotes de fotos reales de proyectos para anuncios y publicaciones en redes sociales. Corrige balance de blancos, niveles, verticales convergentes y viveza, exporta todos los tamaños de plataforma (Google Ads, Business Profile, LinkedIn) desde un master sin metadatos, genera hojas de revisión antes/después y crea tarjetas con marca. Script determinista; el modelo solo revisa informes y escribe pequeñas anulaciones en JSON.

¿Qué es photo-kit?

photo-kit es una herramienta determinista para la preparación en lote de fotos de proyectos reales, orientada a marketing y redes sociales. Su script principal (`scripts/photo_kit.py`) toma decisiones de píxel de forma autónoma, corrigiendo balance de blancos, niveles, verticales convergentes y viveza. El modelo (agente) no debe editar imágenes directamente, sino ejecutar el script, leer el informe y las hojas de revisión, escribir anulaciones JSON para las pocas fotos que lo requieran y volver a ejecutar solo esas. La herramienta exporta versiones para Google Ads, Business Profile y LinkedIn desde un master sin metadatos, genera hojas de revisión antes/después y tarjetas con marca. Su flujo de trabajo es: ejecutar `process`, revisar informes, aplicar anulaciones, regenerar y verificar. Está diseñado para entornos donde se usan agentes de IA como Claude Code, Cursor o Codex, proporcionando un proceso reproducible y controlado que minimiza la intervención manual y garantiza la coherencia visual.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/R3app3r/photo-kit/tree/main

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

¿Qué hace photo-kit?

Todas las decisiones de píxel las toma scripts/photo_kit.py. Tu trabajo es ejecutarlo, leer el informe y las hojas de revisión, escribir anulaciones para las pocas fotos que lo necesiten, volver a ejecutar solo esas y luego entregar la carpeta al humano.
No edites imágenes de ninguna otra forma. No reescribas el script a menos que una comprobación falle dos veces.

Configuración (una vez por proyecto)

  • Python 3.10+ y pip install -r requirements.txt (Pillow 10.1+, numpy, opencv-python-headless, fontTools, brotli).
  • Un JSON de configuración del proyecto que enumere solo lo que difiere de config.default.json (logo de la marca, archivo(s) de fuente, colores, URL, muestra de material opcional).
    Las fuentes web a menudo están divididas en subconjuntos: enumera cada archivo en brand.font.

Ejecución

python <skill-folder>/scripts/photo_kit.py process IN_DIR OUT_DIR --config <project-config.json> [--overrides OUT_DIR/overrides.json] [--only stem1,stem2]
python <skill-folder>/scripts/photo_kit.py cards OUT_DIR cards.json --config <project-config.json>
python <skill-folder>/scripts/photo_kit.py verify OUT_DIR

Salida por foto: OUT_DIR/<stem>/00_master.png (sin pérdida), JPEGs por plataforma, tarjetas con marca opcionales; además manifest.csv, report.json y _review/before_after_NN.jpg.
Nunca escribas el directorio de salida dentro de la carpeta de entrada o un árbol fuente del sitio web.

Ciclo de revisión (texto primero, imágenes al final)

  1. Lee el resumen de la consola y report.json. Actúa solo con señales claras (inclinación grande que se omitió, banderas TOO SMALL, tono de color evidente, personas que se ven estiradas, etc.).
  2. Abre las hojas de revisión una vez. Para un recorte malo, establece {"focus": [x, y]} (0–1 del master).
  3. Escribe OUT_DIR/overrides.json y vuelve a ejecutar con --only los stems afectados.
  4. Tarjetas: escribe cards.json solo con titulares aprobados (máximo ~45 caracteres). Usa "fit": "whole" para fotos verticales en tarjetas verticales.
  5. Ejecuta verify (debe imprimir clean), luego reporta la ruta de la carpeta, los propósitos de la plataforma, las banderas restantes y cualquier foto que no se haya podido corregir. El humano audita todo antes de subirlo.

Clasificación de una biblioteca de fotos

Ejecuta process en una carpeta con una subcarpeta por tema. Clasifica por las puntuaciones de quality en report.json (sharpness × factor de resolución), penaliza las banderas TOO SMALL, luego revisa una hoja de contactos de los mejores candidatos.

Reglas que nunca cambian

  • Imágenes de Google Ads: solo exportaciones simples (sin logotipo, texto, marco ni borde).
  • Perfil de empresa: solo corrección de luz; exportación simple por defecto.
  • Nunca cambies el producto: sin recolorear, sin textura añadida, sin eliminación de defectos, sin relleno de IA. Recortar desorden está bien.
  • Solo fotos propias de la organización. Sin rostros de clientes, números de casas ni créditos de fotógrafos externos.
  • Conserva los originales; las salidas siempre son archivos nuevos.
  • Los titulares de las tarjetas provienen solo de texto aprobado.

Ajuste

Ajusta las intensidades de correction y card_formats en la configuración del proyecto (no en el script). Las anulaciones por foto manejan excepciones.

Skills relacionados