Communitygithub.com

zhaimengrica-bit/ai-design-skills-ink-wash-restyle

水墨游记 Ink-Wash Restyle —— Convierte cualquier foto en una ilustración de viaje con estilo de tinta china y lavado de tinta.

¿Qué es ai-design-skills-ink-wash-restyle?

Este skill transforma cualquier fotografía en una imagen de viaje con estilo de tinta china (水墨) y lavado de tinta (Ink-Wash), imitando un diario de viaje pintado a mano. La paleta es principalmente blanco y negro con cinco capas de tinta (焦/浓/重/淡/清) y un mínimo del 50% de espacio en blanco, añadiendo un toque de color tradicional chino (20%) solo en el centro visual. Incluye etiquetas de viaje con caligrafía y un sello de cinabrio generado por IA, y garantiza que la figura principal mantenga su tamaño y apariencia originales. Funciona en plataformas como Claude Code, Cursor, Codex y WorkBuddy, utilizando un flujo de trabajo que analiza la imagen, construye un prompt detallado y aplica el estilo mediante modelos de imagen-a-imagen, con scripts dedicados para superponer etiquetas y generar imágenes comparativas.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add zhaimengrica-bit/ai-design-skills-ink-wash-restyle

Preguntar en tu IA favorita

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

Documentación

ink-wash-restyle — Ilustración de viaje estilo tinta china (v16 fija)

Convierte cualquier fotografía en una ilustración de viaje pintada a mano con estilo de tinta china (水墨) y lavado de tinta:

  • Base de tinta negra y blanca: cinco capas de tinta + amplio espacio en blanco (prioridad al efecto de tinta china)
  • Pinceladas de color moderadas (aproximadamente 20%): solo se aplican en el centro visual con colores tradicionales de la pintura china, sin dominar la tinta
  • Etiquetas de viaje: se superponen texto descriptivo + ubicación + un sello fijo de cinabrio, como un diario de viaje

Se conserva: tipo de sujeto, relaciones espaciales, identidad de la persona (género/edad/apariencia clave). Se reemplaza: texturas realistas → pinceladas de tinta, luces y sombras fotográficas → efecto de tinta y espacio en blanco, colores realistas → colores locales de la pintura china tradicional.

Cuándo se activa

El usuario sube o hace referencia a una foto y expresa intención como "tinta china / pintura china / estilo libre / tinta y lavado / diario de viaje / cuaderno de viaje / ink wash / shuimo / sumi-e". Este skill solo realiza el estilo de tinta china, no otros estilos.

Contrato de entrada

  • Obligatorio: 1 foto (ruta local, URL o imagen subida)
  • Opcional: ubicación (ej. "calles de Chengdu") — para la etiqueta de viaje; si no se proporciona, solo se escribe la descripción de la imagen o "Notas de viajero"

Reglas de estilo centrales (6 reglas de hierro)

🎨 1. Regla de prioridad del efecto de tinta china

La tinta negra y blanca es la protagonista; el color es un adorno. Un porcentaje de color demasiado alto / colores demasiado llamativos arruinarán el efecto de tinta (lección demo-016). Por lo tanto:

  1. Color al 20%: solo se aplica en el centro visual, aproximadamente el 20% del encuadre
  2. Tono blanco y negro + color directo: tono blanco y negro + un punto de color directo (sin mezclar varios colores, sin degradados, sin grandes áreas difuminadas)
  3. Moderación: mejor menos color que demasiado; el color se usa con moderación, como en la pintura de literatos tradicional "valorar el color como oro"
  4. Prioridad del efecto de tinta: las cinco capas de tinta, el espacio en blanco y las pinceladas deben tener más presencia que el color

🎨 2. Regla de cinco capas de tinta + espacio en blanco

  1. Las cinco capas de tinta deben ser distintas: quemado / espeso / pesado / claro / transparente, prohibido gris uniforme
  2. Espacio en blanco ≥ 50%: el área total de espacio vacío en la imagen debe ser ≥ 50%
  3. 🚨 Regla del tamaño del sujeto (la más importante): La persona / sujeto debe mantener su proporción de tamaño normal (cercana a la proporción de la foto original), prohibido reducir el sujeto para aumentar el espacio en blanco. El espacio en blanco es "vacío en el fondo y los bordes", no "sujeto pequeño". La persona debe ser grande, completa y ocupar con confianza la posición principal de la imagen
  4. Valorar la tinta como oro: en toda la imagen, solo una zona concentrada de tinta espesa (sobre el sujeto), el área densa debe ser pequeña
  5. Contraste entre densidad y vacío: el sujeto completo, el fondo etéreo; el vacío realza lo lleno — el vacío está en el fondo, no en el sujeto

🚨 3. Fijación de la identidad de la persona (lección de deriva de género)

  • Prohibido absolutamente términos genéricos: a person / a figure / someone / a lone traveler / a small figure
  • Debe escribirse explícitamente: género + rango de edad + color y estilo de cabello + ropa + accesorios + postura y orientación
  • Estilo libre: líneas fluidas en la ropa, rostro con espacio en blanco o unos pocos trazos indicativos
  • Prohibidos verbos como drip/melt/flow (convertirían a la persona en líquido goteante)

✍️ 4. Tres elementos del estilo libre (Xieyi)

  1. Intención sin trazo completo: los objetos se dibujan solo al 70%, la forma se desvanece antes de completarse
  2. Pincelada caligráfica: presión, pausa, vuelo, pincel seco
  3. Aleatoriedad de la tinta: difuminado húmedo, ruptura de tinta, salpicadura de tinta
  4. Simplificar eliminando: se eliminan objetos de fondo (estanterías, vehículos, letreros, cestas, personas adicionales), el sujeto en sí debe ser completo, suficiente y mantener su tamaño normal — solo se elimina el entorno, no el sujeto

🎨 5. Proporción automática de color (20%)

  1. ¿Quién es el centro visual?: el sujeto más grande / más brillante / más adelantado / más único en la composición
  2. ¿Qué color usar?: matiz natural del sujeto → colores tradicionales de pintura china (cinabrio / carmín / azul índigo / verde piedra / amarillo goma / ocre)
  3. Proporción 20%: solo se aplica al centro visual, aproximadamente el 20% del encuadre
  4. El resto 100% tinta negra y blanca

📝 6. Regla de la etiqueta de viaje (versión final v16)

Cada imagen final debe tener superpuesta una etiqueta de viaje. Forma = ruta de "inscripción" de la pintura china tradicional: texto en tinta + sello de cinabrio directamente sobre la imagen, sin ninguna "tarjeta / base / borde" (la tarjeta fue juzgada por los usuarios como pérdida de la estética de la tinta china).

  1. Contenido de la etiqueta: descripción de la imagen + ubicación (ej. "Puesto de melones en verano · Calles de Chengdu"; si no hay ubicación, solo la descripción)
  2. Método de superposición: prohibido que el modelo de imagen a imagen genere directamente el texto (saldrá distorsionado); debe superponerse después de la generación con scripts/tag.py (versión v6 con material)
  3. Estilo de plantilla (apariencia unificada, no cambia según la imagen):
    • Posición: vertical en la esquina superior derecha (revisión v17) — posición clásica de inscripción en pintura china
    • Texto de la inscripción: tipo de letra Songti (Songti, horizontal fina y vertical gruesa), color tinta profunda (#1E1E1E) opaco, cada carácter en una columna de arriba a abajo
    • Halo beige: cada carácter de texto tiene un borde de 4px beige (#F5F0E6) semitransparente (alfa 175), para que sea legible incluso sobre fondo de tinta oscura
    • Sello de cinabrio = material de sello real generado por IA: sello rojo cinabrio estilo sello antiguo, texto blanco vertical, marcas de cuchillo, bordes irregulares. Generado una vez por un modelo de imagen a imagen + recortado a fondo transparente con scripts/seal-bake.py, material fijo almacenado en assets/seal-la.png, esta misma imagen de sello se coloca en cada imagen (la fuente PIL no puede simular la textura real de un sello; debe ser material generado por IA). Todas las imágenes usan el mismo material de sello, no se permite cambiarlo. El sello se coloca justo debajo del final de la columna de texto (centrado horizontalmente)
    • Forma general: texto en tinta + sello rojo integrado en la imagen, sin romper la estética de la tinta
  4. Orden de la etiqueta: el modelo de imagen a imagen genera la imagen → se añade la etiqueta (tag.py v7) → se crea la imagen comparativa arriba/abajo (con la imagen etiquetada final abajo)

Flujo de trabajo

Paso 1 — Analizar entrada

Confirmar que se puede acceder a la imagen; preguntar/registrar la ubicación (si el usuario no la dice, no se escribe).

Paso 2 — Comprensión de la imagen (incluye esquema de color + decisión de etiqueta)

Leer la imagen, extraer (obligatorio):

  • Identidad de la persona: género + rango de edad + color y estilo de cabello + ropa + accesorios + postura y orientación (escribir en el prompt, prohibidos términos genéricos)
  • Sujeto: objeto / escena principal
  • 🎨 Determinación del centro visual {focus}: ¿quién atrae más la atención?
  • 🎨 Esquema de color {color_scheme}: matiz natural del centro visual → color tradicional de pintura china
  • 📝 Texto de la etiqueta {tag_text}: descripción de la imagen (3–8 caracteres) + ubicación (opcional), ej. "Sonrisa bajo el emparrado · Mercado viejo"
  • Composición / fuente de luz / atmósfera

Paso 3 — Construir el prompt

Leer la plantilla styles/ink-wash.md, rellenar las variables.

Paso 4 — Llamar a la capacidad de imagen a imagen de la plataforma anfitriona

mode        : image-to-image (imagen a imagen de la plataforma anfitriona, sigue la imagen original)
input_image : imagen original
prompt      : prompt completo (incluye LOCKED APPEARANCE + COLOR ACCENT 20% moderado + cinco capas de tinta + espacio en blanco ≥50% + regla del tamaño del sujeto + XIEYI)
fidelity    : media
aspect      : sigue la imagen original

⚠️ Debe pasarse explícitamente output_dir a <workspace>/outputs/photo-restyle/<YYYYMMDD-HHMM>/, prohibido depender del directorio por defecto.

Paso 5 — Entrega (primero añadir etiqueta, luego hacer collage)

  1. scripts/tag.py superpone la etiqueta de viaje sobre la imagen de tinta → <nombre-imagen-original>-inkwash-tagged.png
  2. scripts/compare.py crea un collage arriba/abajo: arriba imagen original / abajo imagen final con etiqueta (ancho por defecto 1600, garantiza que la etiqueta sea legible) → compare-<nombre-imagen-original>-inkwash.png
  3. Salida principal = collage arriba/abajo (imagen con etiqueta abajo); la imagen etiquetada individual y la imagen de tinta pura son solo archivos adjuntos
  4. Anotar el nombre del estilo "Ilustración de viaje estilo tinta china"

Restricciones estrictas (no se pueden omitir)

  1. ❌ Prohibida la salida solo en blanco y negro — el color debe aparecer (aproximadamente 20%)
  2. ❌ Prohibido color > 20% (color dominante = salida incorrecta)
  3. ❌ Prohibido color en el fondo / bordes (solo en el centro visual)
  4. ❌ Prohibidos colores modernos de alta saturación / púrpura / fluorescentes / degradados arcoíris (solo colores tradicionales de pintura china, aplicados directamente)
  5. ❌ Prohibido que el modelo de imagen a imagen genere texto de etiqueta (saldrá distorsionado) — debe superponerse con scripts/tag.py
  6. ❌ Si contiene personas, prohibidos términos genéricos, debe fijarse género / edad / apariencia clave
  7. ❌ Prohibido reducir el sujeto para aumentar el espacio en blanco — el sujeto mantiene su tamaño normal
  8. ✅ Anotar el nombre del estilo "Ilustración de viaje estilo tinta china"
  9. ✅ La salida principal debe ser un collage arriba/abajo (arriba imagen original / abajo imagen final con etiqueta); la imagen etiquetada individual y la imagen de tinta pura son solo archivos adjuntos
  10. ✅ La salida debe ir a un directorio visible (ej. <workspace>/outputs/photo-restyle/), no oculto de la plataforma

Manejo de errores

SituaciónRespuesta
No se obtiene la imagenIndicar al usuario que primero suba una foto
Salida solo blanco y negro / color demasiado tenueRevisar el bloque COLOR ACCENT, enfatizar "color REQUERIDO en {focus}, aproximadamente 20%"
Color desbordado / proporción demasiado altaEnfatizar "color solo en {focus}, aproximadamente 20% del encuadre, mantener moderación", o reducir la descripción de {color_scheme}
Color demasiado vibrante / modernoEscribir solo nombres de colores tradicionales de pintura china, enfatizar aplicación directa semitransparente
Género / edad de la persona cambiaCompletar LOCKED APPEARANCE y volver a ejecutar
Sujeto reducido / espacio en blanco devora al sujetoEnfatizar REGLA DEL TAMAÑO DEL SUJETO: figura grande, vacío solo en el fondo
Etiqueta distorsionada / faltanteVolver a superponer con scripts/tag.py, prohibido volver a ejecutar imagen a imagen
Fallo al crear collage / etiqueta ilegible en el collageRevisar scripts/compare.py (ancho por defecto 1600), o entregar dos imágenes por separado

Ubicación de la salida

<workspace>/outputs/photo-restyle/<YYYYMMDD-HHMM>/
├── <nombre-imagen-original>-inkwash.png           # Adjunto: imagen de tinta (sin etiqueta)
├── <nombre-imagen-original>-inkwash-tagged.png    # Adjunto: imagen final con etiqueta de viaje
└── compare-<nombre-imagen-original>-inkwash.png   # Salida principal: collage arriba/abajo (arriba original / abajo final con etiqueta)

Estructura del directorio del Skill

<directorio de skills de la plataforma>/ink-wash-restyle/ (ejemplo con WorkBuddy: ~/.workbuddy/skills/ink-wash-restyle/)
├── SKILL.md                  # Este archivo (reglas de entrada)
├── styles/ink-wash.md        # Plantilla del prompt de tinta (incluye LOCKED APPEARANCE / COLOR ACCENT / SUBJECT SCALE / XIEYI / palabras negativas)
├── scripts/
│   ├── tag.py                # Superposición de etiqueta (v6: texto Songti + halo + pegar material del sello)
│   ├── compare.py            # Collage arriba/abajo (ancho por defecto 1600)
│   ├── seal-bake.py          # Herramienta de recorte del sello (material generado por IA → fondo transparente)
│   └── prototype_seal.py     # Herramienta de depuración de comparación de estilos de sello (histórico)
├── assets/
│   └── seal-la.png           # Material fijo del sello de cinabrio (fondo transparente, generado por IA)
└── examples/README.md        # Explicación de ejemplos

Registro de versiones

  • v1–v5: Ruta de tinta pura en blanco y negro
  • v6 (revertido): Carmín facial fijo
  • v7: Collage arriba/abajo por defecto
  • v8: Base blanco y negro + pinceladas de color (centro visual, proporción automática 15–35%)
  • v9: Color comprimido a ≤15% + regla de etiqueta de viaje
  • v9.1: Salida principal debe ser collage arriba/abajo
  • v10: Etiqueta con "fondo de tarjeta beige" (luego rechazado)
  • v11: Color 20%; sello fijo; etiqueta con "fondo de papel de arroz" (luego rechazado)
  • v12: Etiqueta sin fondo de tarjeta (ruta pura de inscripción) + espacio en blanco 55%
  • v13: Nueva regla del tamaño del sujeto (espacio en blanco ≠ reducir sujeto), espacio en blanco vuelve a 50%
  • v14: Sello vertical + Songti (solución de fuente, luego rechazado)
  • v15: compare ancho por defecto 1600 (la etiqueta sigue siendo legible después de escalar)
  • v16 (versión fija actual): Sello cambiado a material real de sello antiguo generado por IA (assets/seal-la.png), tag.py v6 modo de pegar material; todas las reglas convergen en el estado descrito en este archivo
  • v17: El usuario solicita "mantener todo igual, cambiar etiqueta e inscripción a vertical en la esquina superior derecha" → tag.py v7: posición de abajo a la izquierda a arriba a la derecha, texto de inscripción vertical (arriba→abajo), sello pegado justo debajo de la columna de texto (centrado horizontalmente)
  • v17 Reparación de pinceladas (actualización de styles/ink-wash.md): Recuperar el estilo de pincelada libre de tinta de "Pueblo de tejas rojas / Banquete de cangrejos de otoño" — ① Volver a añadir el bloque CLEANLINESS (limpio, pinceladas distintas, no sucio) ② Escenificación de los tres elementos XIEYI: fondo (montañas lejanas/cielo/grandes áreas de color) usar difuminado húmedo (wet-on-wet ink wash, tinta que se extiende en el papel de arroz), primer plano (hojas de plantas/tejas/detalles) usar pincel seco volador (飞白枯笔). Verificación: demo-058 Lanzarote, demo-059 Pueblo blanco torre ocre ambos estables para el estilo Pueblo de tejas rojas

Skills relacionados