Communitygithub.com

tasteforge-video

Use para descubrimiento multimodal de imágenes, video y activos 3D basados en archivos; entrevistas de gusto; destilar o aplicar flujos de trabajo; validación de paquetes de estilo; exportación de EDL/FCPXML editable; auditorías de procedencia; y planificación offline que debe fallar cerrada antes de la generación del proveedor.

¿Qué es tasteforge-video?

TasteForge Video es una habilidad especializada para flujos de trabajo creativos de video que transforman referencias estéticas en especificaciones repetibles y auditables. Su núcleo es un motor offline determinista que permite entrevistar el gusto del usuario, destilarlo en un paquete de estilo estructurado, validar el paquete contra esquemas, aplicar su cadencia medida a metraje local y exportar líneas de tiempo editables en formatos EDL (CMX3600) y FCPXML 1.9. Esta habilidad es fundamental para el ecosistema ECC (Creative Coding Engine), donde se integra con otras habilidades como `taste` (para dirección creativa) y `video-editing` (para edición y efectos). Una característica crítica es su estricta separación entre operaciones locales deterministas (como validación, planificación y exportación) y la generación por parte de proveedores externos (como llamadas a Fal para generación de videos o activos 3D). En el modo de compatibilidad de ECC, las operaciones de proveedor deben fallar cerradas, lo que significa que la habilidad nunca ejecuta generación externa; solo crea planes y especificaciones de prueba. También gestiona auditorías de procedencia que rastrean el linaje de cada paquete, especificación o corte, indicando qué se midió localmente versus lo que se generó externamente. Soporta descubrimiento multimodal de imágenes, videos y activos 3D a partir de archivos de referencia locales, manteniendo géneros separados como Flash Ethereal, 3D Cyber Glitch y Fluid Sketch, cada uno con su propia especificación de estilo y manifiesto. La interfaz de línea de comandos (`python3 -m tasteforge`) proporciona subcomandos como `provenance`, `inspect`, `validate`, `interview`, `distill`, `apply`, `export` y `multimodal`. Es importante destacar que los resultados de la exportación requieren verificación manual: las líneas de tiempo se basan en la cadencia de referencia medida, no en la clasificación visual de tomas ni en la graduación de color real. La habilidad se implementa en el repositorio `affaan-m/ECC` como el paquete Python `ecc-tasteforge` y se instala con `pip` desde `skills/taste-application/scripts/`. Un proyecto de ejemplo es `Ito-Markets/ito-video` que consume este motor empaquetado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/tasteforge-video

Preguntar en tu IA favorita

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

Documentación

TasteForge Video

Para el pipeline creativo independiente completo, usa taste-distillation y luego taste-application. Esas habilidades de ECC incluyen sus propios scripts de Python directamente: medir referencias, generar o pasar tomas existentes, etalonar, cortar, componer, verificar y entregar a Blender y Resolve. No se requiere un repositorio de video separado para ese flujo. Esta habilidad documenta el motor offline empaquetado de ECC y su estricto contrato de evidencia.

TasteForge convierte "haz que se sienta como esta referencia" en un flujo de trabajo repetible e inspeccionable: entrevistar el gusto, destilarlo en un paquete de estilo estructurado, validar el paquete, aplicar su cadencia y aspecto medidos al material local y exportar una línea de tiempo editable. La implementación canónica es el paquete tasteforge enviado dentro de ECC en skills/taste-application/scripts/tasteforge/. Ito-Markets/ito-video es un proyecto de ejemplo que consume el motor ECC empaquetado.

Cuándo Usar

  • El usuario pide entrevistar para gusto de video antes de que se haga cualquier material ("pregúntame sobre el aspecto", "entrevístame sobre la dirección estética").
  • El usuario quiere destilar una estética en restricciones estructuradas — un paquete de estilo reutilizable en lugar de sensaciones ("convierte estas referencias en un paquete").
  • El usuario quiere validar un paquete de estilo (¿están los metadatos completos, esquema válido, cadencia medida, especificación destilada?).
  • El usuario quiere aplicar un paquete de estilo a material local — planificar un corte a partir de la cadencia medida del paquete sobre los clips locales, de manera determinista.
  • El usuario quiere exportar EDL/FCPXML — una entrega editable y exacta en fotogramas a DaVinci Resolve / Premiere / Final Cut.
  • El usuario pide una auditoría de procedencia de medios generados — de dónde vino este paquete, especificación o corte; qué se midió localmente versus qué fue generado por un proveedor; qué fue una prueba en seco.
  • El usuario pide descubrir o planificar salidas de activos multimodales de imágenes, video o 3D a partir de archivos de referencia locales, incluidos manifiestos separados, efectos de CV anclados al sujeto o recetas de efectos de Resolve.
  • El usuario menciona TasteForge, paquetes de estilo, flashethereal, destilación de gusto, planificación de cadencia/ritmo, descubrimiento multimodal, flujos de trabajo de destilación/aplicación o una entrevista de gusto para video.

Operaciones Deterministas Locales vs Generación del Proveedor

Este límite es el núcleo de esta habilidad de compatibilidad. Sus operaciones son locales, deterministas y offline:

Operación¿Determinista?ECC puede ejecutar
Entrevista de gusto → perfilsí (offline)sí
Inspeccionar/validar paquete contra esquemassísí
Destilar perfil (+ base medida) → especificaciónsí (semántica de prueba en seco)sí
Aplicar cadencia del paquete a material local → informe + línea de tiemposísí
Exportar EDL (CMX3600) / FCPXML 1.9sísí
Procedencia / informe de linajesísí
Destilación de imágenes por modelo de visióngeneración del proveedorno
De referencia a video, imagen a 3D, composición alojadageneración del proveedorno

La generación del proveedor debe fallar cerrada en ECC. Cualquier llamada en vivo a Fal (u otro proveedor) — generación de tomas, creación de mallas de accesorios, destilación VLM alojada — requiere una ejecución explícita y separada autorizada bajo un carril separado con su propia revisión. En este carril de compatibilidad, ECC nunca llama a Fal, nunca lee ninguna clave API u otras credenciales (incluyendo FAL_KEY), no sube ningún medio y no muta ningún estado de cuenta del proveedor. Cuando una solicitud necesita generación del proveedor, indica exactamente ese límite, ejecuta la mitad local (entrevista, validación de paquete, planificación, exportación) y detente.

Nunca afirmes que un flujo de trabajo de Fal está guardado. Una referencia local a un endpoint de Fal, ID de modelo o URL de prueba en seco (aparecen dentro de los metadatos del paquete) es solo de referencia: nunca significa que se haya guardado, persistido o autorizado un flujo de trabajo del lado del proveedor. Cualquier cosa producida offline tiene semántica de prueba_en_seco/dry_run — di "especificación de prueba en seco" o "plan determinista", nunca "generado por el modelo".

Implementación Canónica

  • Repositorio: affaan-m/ECC; distribución de Python ecc-tasteforge, directorio del paquete skills/taste-application/scripts/tasteforge/. Instala desde el paquete ECC extraído con python3 -m pip install ./skills/taste-application/scripts. El proyecto de ejemplo Ito-Markets/ito-video fija un commit específico de ECC.
  • CLI: python3 -m tasteforge <comando> — provenance, inspect, validate, interview, distill, apply, export, multimodal. Las banderas --live salen con código 2 y se niegan.
  • Los esquemas son el contrato: perfil de gusto, manifiesto del paquete, etalonaje, cadencia, especificación, eventos de línea de tiempo, informes de aplicación (provider está bloqueado por enum a "none"; dry_run a true).
  • El linaje de fuente recuperada y las exclusiones deliberadas viven en skills/taste-application/SOURCE.md del repositorio. Ejecuta python3 -m tasteforge provenance para la versión legible por máquina.

Usa el motor ECC instalado para comandos deterministas locales e interpreta su JSON. Instala el motor empaquetado si está ausente; no reconstruyas su lógica en línea. taste.resolve es una importación de compatibilidad de tasteforge.resolve, por lo que los scripts creativos y el proyecto de ejemplo comparten un adaptador de Resolve verificado.

La CLI python3 -m tasteforge usa la distribución ecc-tasteforge instalada. Los scripts independientes taste-distillation y taste-application se envían en el módulo opcional de generación de medios de ECC con sus propios requisitos de Python. Ninguna de las rutas requiere publicar el repositorio o los medios del usuario.

Antes de reanudar un checkout guardado, registra su commit e inspecciona las ramas locales y los árboles de trabajo para futuras correcciones de implementación. Ejecuta las pruebas del paquete canónico y python3 -m tasteforge apply --help; las pruebas de texto y fixture de ECC no prueban que el checkout de Python seleccionado implemente este contrato.

Encadenando las Habilidades Creativas

EtapaPropietarioResultado revisable
Dirección creativatasteGéneros nombrados, observaciones de referencia, lista de aspecto elegido y evitar
Destilación y planificacióntasteforge-videoEvidencia medida, especificaciones de género separadas, manifiestos de prueba en seco y plan de cadencia
Edición y efectosvideo-editing, con el renderizador elegido como Remotion, Manim o FusionMaterial aplicado, pistas reales, efectos editables y línea de tiempo
Activos o voz generados opcionalmentefal-ai-media o el flujo de trabajo de audio seleccionado, bajo su propia autorizaciónRecibo del proveedor y salida inspeccionada
EntregaFlujo de trabajo de edición, luego content-engine cuando se soliciteCopia de exportación exacta revisada y distribuida

Usa solo las etapas que el proyecto necesite. La paleta angelcore/cloud-trance histórica de la habilidad taste y su gramática de ritmo son ejemplos creativos opcionales; no deben anular el briefing actual ni fusionar géneros numerados distintos. Usa las referencias reales de cada género para su dirección, incluyendo 3D Cyber Glitch y Fluid Sketch. TasteForge no reemplaza estas habilidades ni requiere cada renderizador. Mantén los materiales 3D, la geometría, el comportamiento de la malla, el movimiento y la composición explícitos en la firma del género. Un manifiesto de solicitud 3D es un plan para un activo; no es una malla. Un descriptor de anclaje del sujeto nombra un requisito de seguimiento; no es evidencia de que se haya detectado o rastreado a un sujeto. Inspecciona las pistas reales, el comportamiento de pérdida de pista y los fotogramas renderizados del sujeto antes de afirmar que los efectos CV se han aplicado de manera confiable.

Flujo de Trabajo

  1. Entrevista (interview): recopila respuestas para los ejes de aspecto — paleta, grano, iluminación, distancia focal, movimiento de cámara, encuadre del sujeto, etalonaje, adjetivos de estado de ánimo, lista de evitar — y por separado el briefing de contenido. Mantén el aspecto y el contenido separados; fusionarlos es el fallo clásico.
  2. Destilar (distill): mapea el perfil en el esquema de especificación offline, incrustando la base medida del paquete (punto negro/blanco, contraste, croma por zona, paleta, ritmo de corte) cuando se suministra un paquete. El resultado es una especificación de prueba en seco: determinista, proveedor "none".
  3. Validar (validate / inspect): verifica el paquete contra sus esquemas; informa errores vs advertencias (faltan imágenes fijas en un paquete solo de metadatos son una advertencia, no un error).
  4. Aplicar (apply): planifica las duraciones de las tomas a partir de la cadencia medida del paquete (sembrada, determinista) sobre los clips locales del usuario; produce el informe de aplicación y los eventos de línea de tiempo exactos en fotogramas.
  5. Exportar (export): escribe EDL CMX3600 + FCPXML 1.9 con tiempos racionales, seguros para NTSC para su importación en un NLE real.
  6. Auditar (provenance): informa el linaje — resúmenes de fuente recuperada, historial de generación, procedencia de fixtures, referencias de proveedores como registros solo de puntero.

Aplicando Material Real Sin Fuentes Repetidas

Cuando el briefing requiere que no haya clips repetidos, usa un checkout canónico que admita apply --no-repeat --fps y establece la velocidad de fotogramas de salida explícitamente. Si esas banderas están ausentes, informa la brecha de implementación en lugar de usar silenciosamente la selección round-robin heredada. El modo estricto usa cada ruta de origen normalizada como máximo una vez en el orden del manifiesto y rechaza fuentes insuficientes o demasiado cortas. Prepara suficientes selecciones revisadas para llenar el plan de cadencia. Esto es unicidad a nivel de fuente, no soporte para rangos de entrada/salida distintos de la misma grabación.

El informe de aplicación es un plan de corte. No realiza clasificación visual de tomas, etalonaje de material, aplicación de LUT, renderizado de superposiciones ni importación de un proyecto de Resolve. Mantén la cadencia de referencia medida del paquete separada de la velocidad de fotogramas de salida.

La CLI de exportación espera {"clips": [...]}. Envuelve los eventos de línea de tiempo de la aplicación bajo clips antes de exportar y pasa el mismo --fps utilizado para la aplicación; la velocidad de fotogramas predeterminada de exportación no debe reconformar el plan. Verifica el recuento de eventos emitidos, los fotogramas totales, las fuentes únicas y el enlace de medios antes de entregar la línea de tiempo al flujo de trabajo de edición. Cuando ese flujo de trabajo aplica efectos superpuestos en un NLE, asigna pistas compatibles y lee cada inicio, fin y duración solicitados. Un elemento devuelto o una llamada de append exitosa por sí sola no prueba que cada efecto programado se haya colocado; rechaza colocaciones faltantes, desplazadas o truncadas antes de renderizar.

Contrato Multimodal Basado en Archivos

Usa esta ruta cuando las referencias locales deben impulsar planes de generación de prueba en seco para salidas de imágenes, videos y activos 3D mientras se preserva la separación de géneros:

python3 -m tasteforge multimodal --config workflow.json --out-dir out/multimodal

El config nombra géneros numerados y archivos de evidencia locales. Mantén estos géneros candidatos distintos en lugar de fusionarlos en una estética genérica:

  1. Flash Ethereal
  2. 3D Cyber Glitch
  3. Fluid Sketch

El comando mide las referencias locales con ffprobe/ffmpeg y emite una especificación de estilo por género, manifiestos separados de imágenes, videos y activos 3D, procedencia y una receta de efectos de Resolve. La programación de efectos debe ser sembrada aperiódica. Los efectos CV requieren un anclaje de sujeto real cuya política exacta de pérdida de pista sea disable_effect_until_track_recovers; continue_without_anchor y todas las demás políticas fallan cerradas. Cada efecto lleva restricciones de colocación que preservan los rostros y el texto legible y evitan que las mallas de esquina decorativas reemplacen el trabajo 3D a fotograma completo.

El recibo devuelto es el límite del paquete. Vincula cada artefacto de evidencia emitido por ruta relativa, tamaño en bytes, SHA-256, género, modalidad, provider_execution:false y procedencia exacta de referencia/tiempo. El recibo requiere provider_calls:0 como un entero exacto (el booleano JSON false no es válido), provider_execution:false y dry_run:true. Cada especificación de género también requiere dry_run:true explícito. La receta de efectos de Resolve requiere ese mismo entero exacto provider_calls:0, provider_execution:false y dry_run:true. Cada manifiesto de modalidad y cada solicitud anidada debe contener los cuatro campos exactos de fallo cerrado: entero provider_calls:0, provider_execution:false, dry_run:true y submit:false; cada solicitud también requiere provider_call_mode:"disabled". Un campo faltante es un rechazo, no un valor predeterminado, y dry_run:false debe ser rechazado antes de que se escriba la salida.

Trata los booleanos como números inválidos en todos los datos de línea de tiempo, evidencia, sonda y duración de fuente. Cada valor numérico de ese tipo debe ser un real finito: rechaza true, false, NaN, infinitos, inicios de evento negativos, duraciones no positivas, tiempos de evidencia fuera de rango y eventos que terminan más allá de la línea de tiempo positiva finita declarada. La evidencia de archivo completo usa una base de tiempo de archivo completo explícita y nunca inventa marcas de tiempo.

Las referencias del recibo son la autoridad de duración. Clave cada duración de referencia validada por su SHA-256 citado; las ocurrencias duplicadas de un resumen deben coincidir en la duración o el paquete no es válido. Cada source_duration de evidencia de efecto cada source_duration de anclaje de sujeto debe ser igual a la duración del recibo validado de ese resumen, no solo contener su tiempo citado. La duración de la sonda y todas las mediciones de la sonda deben describir los mismos bytes estables utilizados para el recuento de bytes y el SHA-256. Si la fuente muta durante la sonda o se rehace de manera diferente mientras aún está disponible, falla cerrado en lugar de emitir o aceptar un recibo.

Siempre ejecuta la validación del paquete después de la creación. Un manifiesto faltante de imagen, video o activo 3D debe fallar cerrado. Géneros genéricos o duplicados, programaciones periódicas, efectos CV sin anclaje, restricciones de colocación faltantes, banderas de ejecución del proveedor, archivos de salida no vinculados, desviación de tamaño de bytes o manipulación de SHA-256 deben fallar cerrado. Rechaza raíces de salida, intermediarios o artefactos que sean enlaces simbólicos, y rechaza archivos especiales (incluyendo FIFOs y dispositivos); las salidas deben permanecer como archivos regulares bajo un árbol de directorios real. Si ffmpeg o ffprobe local no está disponible, la CLI debe devolver su error acotado no nulo de procesamiento de medios local sin un traceback de Python. No repares un recibo fallido eliminando evidencia o debilitando la validación.

Sesión de Ejemplo

# después de instalar el motor ECC; las rutas a continuación son tus entradas del proyecto
python3 -m tasteforge validate stylepacks/flashethereal
python3 -m tasteforge interview --answers answers.json --genre flashetherea

…

[truncado para la traducción]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills relacionados