Communitygithub.com

tasteforge-video

Utilisez pour la découverte multimodale d'images, vidéos et actifs 3D pilotée par fichiers ; les interviews de goût ; les workflows de distillation ou d'application ; la validation de packs de style ; l'export EDL/FCPXML éditable ; les audits de provenance ; et la planification hors ligne qui doit échouer avant la génération par un fournisseur.

Qu'est-ce que tasteforge-video ?

TasteForge Video est une compétence d'agent IA qui transforme les demandes de style subjectif (« rends-le comme cette référence ») en un workflow reproductible, inspectable et déterministe. Elle fonctionne entièrement hors ligne, en local, sans appels à des fournisseurs de services cloud comme Fal. La compétence prend en charge les interviews de goût, la distillation d'un style en un pack structuré, la validation de ce pack, l'application de sa cadence et de son apparence à des médias locaux, et l'export d'une timeline éditable (EDL CMX3600 et FCPXML 1.9). Elle est la partie dorsale de la pipeline créative complète de l'ECC (Engine Creative Core) et est fournie dans le package `ecc-tasteforge`. Elle est idéale pour les projets qui nécessitent une planification robuste, des audits de provenance et des exports de montage, tout en s'assurant que toute génération de contenu par un fournisseur reste explicitement désactivée. La compétence gère également la découverte de plans pour des actifs multimodaux (images, vidéos, 3D) à partir de fichiers de référence locaux, en respectant un contrat de débrayage strict qui rejette toute dépendance externe.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

TasteForge Vidéo

Pour la pipeline créative autonome complète, utilisez taste-distillation puis taste-application. Ces compétences ECC embarquent leurs scripts Python directement : mesurent les références, génèrent ou transmettent les prises existantes, étalonnent, coupent, compositent, vérifient et remettent à Blender et Resolve. Aucun dépôt vidéo séparé n'est requis pour ce flux. Cette compétence documente le moteur hors ligne packagé d'ECC et son contrat de preuve strict.

TasteForge transforme "rends-le comme cette référence" en un workflow reproductible et inspectable : interviewe le goût, le distille en un pack de style structuré, valide le pack, applique sa cadence et son aspect mesurés aux médias locaux, et exporte une timeline éditable. L'implémentation canonique est le package tasteforge livré dans ECC à skills/taste-application/scripts/tasteforge/. Ito-Markets/ito-video est un exemple de projet qui consomme le moteur ECC packagé.

Quand l'utiliser

  • L'utilisateur demande à interviewer pour le goût vidéo avant qu'aucune séquence ne soit réalisée ("interroge-moi sur le look", "interroge-moi sur la direction esthétique").
  • L'utilisateur souhaite distiller une esthétique en contraintes structurées — un pack de style réutilisable plutôt que des vibes ("transforme ces références en pack").
  • L'utilisateur souhaite valider un pack de style (les métadonnées sont-elles complètes, le schéma valide, la cadence mesurée, la spécification distillée ?).
  • L'utilisateur souhaite appliquer un pack de style à des séquences locales — planifier un montage à partir de la cadence mesurée du pack sur des clips locaux, de manière déterministe.
  • L'utilisateur souhaite exporter EDL/FCPXML — une remise éditable, image par image, à DaVinci Resolve / Premiere / Final Cut.
  • L'utilisateur demande un audit de provenance des médias générés — d'où viennent ce pack, cette spécification ou ce montage ; qu'est-ce qui a été mesuré localement par rapport à ce qui a été généré par un fournisseur ; qu'est-ce qui a été exécuté à blanc.
  • L'utilisateur demande à découvrir ou planifier des sorties d'actifs multimodaux (image, vidéo ou 3D) pilotées par fichiers à partir de fichiers de référence locaux, y compris des manifests séparés, des effets CV ancrés sur un sujet, ou des recettes d'effets Resolve.
  • L'utilisateur mentionne TasteForge, les packs de style, flashethereal, la distillation de goût, la planification de cadence/rythme, la découverte multimodale, les workflows de distillation/ application, ou une interview de goût pour la vidéo.

Opérations Déterministes Locales vs Génération par Fournisseur

Cette frontière est le cœur de cette compétence de compatibilité. Ses opérations sont locales, déterministes et hors ligne :

OpérationDéterministe ?ECC peut exécuter
Interview de goût → profiloui (hors ligne)oui
Inspecter / Valider le pack par rapport aux schémasouioui
Distiller le profil (+ fondement mesuré) → spécificationoui (sémantique d'exécution à blanc)oui
Appliquer la cadence du pack aux médias locaux → rapport + timelineouioui
Exporter EDL (CMX3600) / FCPXML 1.9ouioui
Rapport de provenance / lignéeouioui
Distillation par modèle de vision d'images fixesgénération par fournisseurnon
Référence-à-vidéo, image-à-3D, composition hébergéegénération par fournisseurnon

La génération par fournisseur doit échouer dans ECC. Tout appel en direct à Fal (ou un autre fournisseur) — génération de plans, création de maillages d'accessoires, distillation VLM hébergée — nécessite une exécution explicitement et séparément autorisée sous une voie distincte avec sa propre relecture. Dans cette voie de compatibilité, ECC n'appelle jamais Fal, ne lit jamais de clé API ou d'autres identifiants (FAL_KEY inclus), ne télécharge aucun média et ne modifie aucun état de compte fournisseur. Lorsqu'une demande nécessite une génération par fournisseur, énoncez exactement cette frontière, exécutez la moitié locale (interview, validation du pack, planification, exportation) et arrêtez-vous.

Ne prétendez jamais qu'un workflow Fal est sauvegardé. Une référence locale à un point de terminaison Fal, un identifiant de modèle ou une URL d'exécution à blanc (ils apparaissent dans les métadonnées du pack) est uniquement une référence : cela ne signifie jamais qu'un workflow côté fournisseur a été sauvegardé, persisté ou est autorisé à s'exécuter. Tout ce qui est produit hors ligne a la sémantique d'exécution à blanc (dry-run/dry_run) — dites "spécification à blanc" ou "plan déterministe", jamais "généré par le modèle".

Implémentation Canonique

  • Dépôt : affaan-m/ECC ; distribution Python ecc-tasteforge, répertoire du package skills/taste-application/scripts/tasteforge/. Installez à partir du package ECC extrait avec python3 -m pip install ./skills/taste-application/scripts. Le projet d'exemple Ito-Markets/ito-video épingle un commit ECC spécifique.
  • CLI : python3 -m tasteforge <commande> — provenance, inspect, validate, interview, distill, apply, export, multimodal. Les drapeaux --live se terminent avec le code 2 et refusent.
  • Les schémas sont le contrat : profil de goût, manifeste du pack, étalonnage, cadence, spécification, événements de timeline, rapports d'application (provider est verrouillé par énumération à "none" ; dry_run à true).
  • La lignée des sources récupérées et les exclusions délibérées se trouvent dans skills/taste-application/SOURCE.md du dépôt. Exécutez python3 -m tasteforge provenance pour la version lisible par machine.

Utilisez le moteur ECC installé pour les commandes déterministes locales et interprétez son JSON. Installez le moteur packagé s'il est absent ; ne reconstruisez pas sa logique en ligne. taste.resolve est une importation de compatibilité de tasteforge.resolve, de sorte que les scripts créatifs et le projet d'exemple partagent un adaptateur Resolve vérifié.

Le CLI python3 -m tasteforge utilise la distribution ecc-tasteforge installée. Les scripts autonomes taste-distillation et taste-application sont livrés dans le module de génération médias optionnel d'ECC avec leurs propres dépendances Python. Aucun des deux chemins ne nécessite la publication du dépôt ou des médias de l'utilisateur.

Avant de reprendre un checkout sauvegardé, enregistrez son commit et inspectez les branches locales et les worktrees pour les correctifs d'implémentation ultérieurs. Exécutez les tests du package canonique et python3 -m tasteforge apply --help ; les tests textuels et de fixtures d'ECC ne prouvent pas que le checkout Python sélectionné implémente ce contrat.

Enchaînement des Compétences Créatives

ÉtapePropriétaireRésultat révisable
Direction créativetasteGenres nommés, observations de références, liste de looks choisis et d'évitement
Distillation et planificationtasteforge-videoPreuves mesurées, spécifications de genres séparés, manifests d'exécution à blanc et plan de cadence
Montage et effetsvideo-editing, avec le moteur de rendu choisi tel que Remotion, Manim ou FusionSéquences appliquées, pistes réelles, effets et timeline modifiables
Actifs ou voix générés (optionnel)fal-ai-media ou le workflow audio sélectionné, sous sa propre autorisationReçu du fournisseur et sortie inspectée
LivraisonWorkflow de montage, puis content-engine si demandéExport révisé exact et copie de distribution

N'utilisez que les étapes nécessaires au projet. La palette angelcore/cloud-trance historique et la grammaire de beat de la compétence taste sont des exemples créatifs optionnels ; elles ne doivent pas remplacer le brief actuel ni fusionner des genres numérotés distincts. Utilisez les références réelles de chaque genre pour sa direction, y compris 3D Cyber Glitch et Fluid Sketch. TasteForge ne remplace pas ces compétences et ne nécessite pas tous les moteurs de rendu. Gardez les matériaux 3D, la géométrie, le comportement du filaire, le mouvement et la composition explicites dans la signature du genre. Un manifeste de demande 3D est un plan pour un actif ; ce n'est pas un maillage. Un descripteur d'ancrage de sujet nomme une exigence de suivi ; ce n'est pas une preuve qu'un sujet a été détecté ou suivi. Inspectez les pistes réelles, le comportement de perte de piste et les trames de sujet rendues avant de prétendre que des effets CV ont été appliqués de manière fiable.

Workflow

  1. Interview (interview) : collecte des réponses pour les axes de look — palette, grain, éclairage, distance focale, mouvement de caméra, cadrage du sujet, étalonnage, adjectifs d'ambiance, liste d'évitement — et séparément le brief de contenu. Gardez le look et le contenu séparés ; les fusionner est l'échec classique.
  2. Distillation (distill) : mappe le profil sur le schéma de spécification hors ligne, en intégrant le fondement mesuré du pack (point noir/blanc, contraste, chroma par zone, palette, rythme de coupe) lorsqu'un pack est fourni. Le résultat est une spécification à blanc : déterministe, fournisseur "none".
  3. Validation (validate / inspect) : vérifie le pack par rapport à ses schémas ; signale les erreurs par rapport aux avertissements (les images fixes manquantes dans un pack uniquement métadonnées sont un avertissement, pas une erreur).
  4. Application (apply) : planifie les durées des plans à partir de la cadence mesurée du pack (ensemencée, déterministe) sur les clips locaux de l'utilisateur ; produit le rapport d'application et les événements de timeline image par image.
  5. Exportation (export) : écrit EDL CMX3600 + FCPXML 1.9 avec des temps rationnels, compatibles NTSC, pour importation dans un NLE réel.
  6. Audit (provenance) : rapporte la lignée — condensés des sources récupérées, historique de génération, provenance des fixtures, références fournisseur en tant qu'enregistrements de type pointeur uniquement.

Application de SéQuences Réelles Sans Sources Répétées

Lorsque le brief exige qu'aucun clip ne soit répété, utilisez un checkout canonique prenant en charge apply --no-repeat --fps et définissez explicitement la fréquence d'images de sortie. Si ces drapeaux sont absents, signalez l'écart d'implémentation plutôt que d'utiliser silencieusement la sélection round-robin héritée. Le mode strict utilise chaque chemin source normalisé au plus une fois dans l'ordre du manifeste et rejette les sources insuffisantes ou trop courtes. Préparez suffisamment de sélections révisées pour remplir le plan de cadence. Il s'agit d'unicité au niveau de la source, pas d'un support pour des plages d'entrée/sortie distinctes du même enregistrement.

Le rapport d'application est un plan de montage. Il n'effectue pas de classement visuel des plans, n'étalonne pas les séquences, n'applique pas de LUT, ne rend pas de superpositions et n'importe pas de projet Resolve. Gardez la cadence de référence mesurée du pack séparée du taux d'images de sortie.

Le CLI d'exportation attend {"clips": [...]}. Enveloppez les timeline_events de l'application sous clips avant l'exportation et transmettez le même --fps que celui utilisé pour l'application ; le taux d'images par défaut de l'exportation ne doit pas reconformer le plan. Vérifiez le nombre d'événements émis, le nombre total d'images, les sources uniques et le lien médiatique avant de remettre la timeline au workflow de montage. Lorsque ce workflow applique des effets qui se chevauchent dans un NLE, allouez des pistes compatibles et relisez chaque début, fin et durée demandés. Un élément retourné ou un appel d'ajout réussi ne prouve pas à lui seul que chaque effet planifié a été placé ; rejetez les placements manquants, décalés ou tronqués avant le rendu.

Contrat Multimodal Piloté par Fichiers

Utilisez ce chemin lorsque des références locales doivent piloter des plans de génération à blanc pour des actifs image, vidéo et 3D tout en préservant la séparation des genres :

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

La configuration nomme les genres numérotés et les fichiers de preuve locaux. Gardez ces candidats genres distincts plutôt que de les fusionner en une seule esthétique générique :

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

La commande mesure les références locales avec ffprobe/ffmpeg et émet une spécification de style par genre, des manifests d'image, vidéo et actifs 3D séparés, une provenance et une recette d'effets Resolve. Le calendrier des effets doit être ensemencé apériodique. Les effets CV nécessitent un ancrage de sujet réel dont la politique exacte de perte de piste est disable_effect_until_track_recovers ; continue_without_anchor et toutes les autres politiques échouent. Chaque effet porte des contraintes de placement qui préservent les visages et les caractères lisibles et empêchent les maillages de coin décoratifs de remplacer le travail 3D plein cadre.

Le reçu retourné est la limite du bundle. Il lie chaque artefact de preuve émis par chemin relatif, taille en octets, SHA-256, genre, modalité, provider_execution:false, et la provenance exacte de la référence/du temps. Le reçu nécessite provider_calls:0 comme un entier exact (le booléen JSON false est invalide), provider_execution:false, et dry_run:true. Chaque spécification de genre nécessite également explicitement dry_run:true. La recette d'effets Resolve nécessite ce même entier exact provider_calls:0, provider_execution:false, et dry_run:true. Chaque manifeste de modalité et chaque requête imbriquée doit contenir les quatre champs exacts de débrayage : entier provider_calls:0, provider_execution:false, dry_run:true, et submit:false ; chaque requête nécessite également provider_call_mode:"disabled". Un champ manquant est un rejet, pas un défaut, et dry_run:false doit être rejeté avant que la sortie ne soit écrite.

Traitez les booléens comme des nombres invalides partout dans les données de timeline, d'évidence, de sonde et de durée source. Chaque valeur numérique de ce type doit être un réel fini : rejetez true, false, NaN, les infinis, les débuts d'événements négatifs, les durées non positives, les temps d'évidence hors plage et les événements se terminant au-delà de la timeline positive finie déclarée. L'évidence de fichier entier utilise une base de temps de fichier entier explicite et n'invente jamais d'horodatage.

Les références du reçu sont l'autorité en matière de durée. Clé chaque durée de référence validée par son SHA-256 cité ; les occurrences en double d'un condensé doivent s'accorder sur la durée ou le bundle est invalide. Chaque source_duration d'évidence d'effet et chaque source_duration d'ancrage de sujet doit être égale à la durée de reçu validée de ce condensé, et pas seulement contenir son temps cité. La durée de la sonde et toutes les mesures de la sonde doivent décrire les mêmes octets stables utilisés pour le nombre d'octets et le SHA-256. Si la source mute pendant la sonde ou se ré-hache différemment pendant qu'elle est encore disponible, échouez plutôt que d'émettre ou d'accepter un reçu.

Exécutez toujours la validation du bundle après la création. Un manifeste d'image, de vidéo ou d'actif 3D manquant doit échouer. Les genres génériques ou en double, les calendriers périodiques, les effets CV non ancrés, les contraintes de placement manquantes, les indicateurs d'exécution par fournisseur, les fichiers de sortie non liés, la dérive de taille d'octet ou la falsification SHA-256 doivent échouer. Rejetez les racines de sortie, les intermédiaires ou les artefacts qui sont des liens symboliques, et rejetez les fichiers spéciaux (y compris les FIFO et les périphériques) ; les sorties doivent rester des fichiers réguliers sous une arborescence de répertoires réels. Si ffmpeg ou ffprobe local est indisponible, le CLI doit retourner son erreur de traitement multimédia local bornée non nulle sans trace Python. Ne réparez pas un reçu échoué en supprimant des preuves ou en affaiblissant la validation.

Exemple de Session

# après avoir installé le moteur ECC ; les chemins ci-dessous sont vos entrées de projet
python3 -m tasteforge validate stylepacks/flashethereal
python3 -m tasteforge interview --answers answers.json --genre flashetherea

…

[tronqué pour la traduction]

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 associés