tasteforge-video
Use for file-driven multimodal image, video, and 3D-asset discovery; taste interviews; distill or apply workflows; style-pack validation; editable EDL/FCPXML export; provenance audits; and offline planning that must fail closed before provider generation.
By affaan-m · 800 installs
npx skills add affaan-m/ecc --skill tasteforge-video
Source repository · Upstream listing
TasteForge Video
For the complete standalone creative pipeline, use taste distillation then
taste application . Those ECC skills ship their Python scripts directly:
measure references, generate or pass through existing takes, grade, cut,
composite, verify, and hand off to Blender and Resolve. No separate video
repository is required for that flow. This skill documents ECC's packaged offline engine and its strict evidence contract.
TasteForge turns "make it feel like this reference" into a repeatable,
inspectable workflow: interview taste, distill it into a structured style
pack, validate the pack, apply its measured cadence and look to local media,
and export an editable timeline. The canonical implementation is the
tasteforge package shipped inside ECC at
skills/taste application/scripts/tasteforge/ . Ito Markets/ito video is an
example project that consumes the packaged ECC engine.
When to Use
The user asks to interview for video taste before any footage is made
("ask me about the look", "interview me about aesthetic direction").
The user wants to distill an aesthetic into structured constraints — a
reusable style pack rather than vibes ("turn these references into a pack").
The user wants to validate a style pack (is the metadata complete,
schema valid, cadence measured, spec distilled?).
The user wants to apply a style pack to local footage — plan a cut from
the pack's measured cadence over local clips, deterministically.
The user wants to export EDL/FCPXML — an editable, frame exact handoff
to DaVinci Resolve / Premiere / Final Cut.
The user asks for a generated media provenance audit — where did this
pack, spec, or cut come from; what was measured locally versus generated by
a provider; what was dry run.
The user asks to discover or plan file driven multimodal image, video, or
3D asset outputs from local reference files, including separate manifests,
subject anchored CV effects, or Resolve effect recipes.
The user mentions TasteForge, style packs, flashethereal, taste distillation,
cadence/rhythm planning, multimodal discovery, distill/apply workflows, or a
taste interview for video.
Local Deterministic Operations vs Provider Generation
This boundary is the core of this compatibility skill. Its operations are
local, deterministic, and offline :
Operation Deterministic? ECC may run
Taste interview → profile yes (offline) yes
Pack inspect / validate against schemas yes yes
Distill profile (+ measured grounding) → spec yes (dry run semantics) yes
Apply pack cadence to local media → report + timeline yes yes
Export EDL (CMX3600) / FCPXML 1.9 yes yes
Provenance / lineage report yes yes
Vision model distillation of stills provider generation no
Reference to video, image to 3D, hosted compose provider generation no
Provider generation must fail closed in ECC. Any live Fal (or other
provider) call — generating shots, minting prop meshes, hosted VLM
distillation — requires explicit separately authorized execution under a
separate lane with its own review. In this compatibility lane, ECC never calls Fal, never reads any API
key or other credentials ( FAL KEY included), uploads no media, and mutates
no provider account state. When a request needs provider generation, state
exactly that boundary, run the local half (interview, pack validation,
planning, export), and stop.
Never claim a Fal workflow is saved. A local reference to a Fal endpoint,
model id, or dry run URL (they appear inside pack metadata) is
reference only : it never means a provider side workflow was saved,
persisted, or is authorized to run. Anything produced offline carries
dry run/dry run semantics — say "dry run spec" or "deterministic plan", never
"generated by the model".
Canonical Implementation
Repository: affaan m/ECC ; Python distribution ecc tasteforge , package
directory skills/taste application/scripts/tasteforge/ . Install from the
extracted ECC package with python3 m pip install ./skills/taste application/scripts .
The example project Ito Markets/ito video pins a specific ECC commit.
CLI: python3 m tasteforge <command — provenance , inspect , validate ,
interview , distill , apply , export , multimodal . live flags exit
with code 2 and refuse.
Schemas are the contract: taste profile, pack manifest, grade, cadence,
spec, timeline events, application reports ( provider is enum locked to
"none" ; dry run to true ).
Recovered source lineage and deliberate exclusions live in the repo's
skills/taste application/SOURCE.md . Run python3 m tasteforge provenance for the machine
readable version.
Use the installed ECC engine for local deterministic commands and interpret
its JSON. Install the packaged engine if absent; do not reconstruct its logic
inline. taste.resolve is a compatibility import of tasteforge.resolve , so
the creative scripts and example project share one verified Resolve adapter.
The python3 m tasteforge CLI uses the installed ecc tasteforge distribution. The standalone taste distillation and taste application
scripts ship in ECC's opt in media generation module with their own Python
requirements. Neither path requires publishing the user's repository or media.
Before resuming a saved checkout, record its commit and inspect local branches
and worktrees for later implementation fixes. Run the canonical package's tests
and python3 m tasteforge apply help ; ECC's text and fixture tests do not
prove that the selected Python checkout implements this contract.
Chaining the Creative Skills
Stage Owner Reviewable result
Creative direction taste Named genres, reference observations, chosen look and avoid list
Distillation and planning tasteforge video Measured evidence, separate genre specs, dry run manifests and cadence plan
Editing and effects video editing , with the chosen renderer such as Remotion, Manim, or Fusion Applied footage, actual tracks, editable effects and timeline
Optional generated assets or voice fal ai media or the selected audio workflow, under its own authorization Provider receipt and inspected output
Delivery Editing workflow, then content engine when requested Reviewed exact export and distribution copy
Use only the stages the project needs. The taste skill's historical
angelcore/cloud trance palette and beat grammar are optional creative examples;
they must not override the current brief or merge distinct numbered genres.
Use each genre's actual references for its direction, including 3D Cyber Glitch
and Fluid Sketch. TasteForge does not replace these skills or require every
renderer. Keep 3D materials, geometry, wireframe behavior,
motion, and composition explicit in the genre signature. A 3D request manifest
is a plan for an asset; it is not a mesh. A subject anchor descriptor names a
tracking requirement; it is not evidence that a subject was detected or tracked.
Inspect actual tracks, track loss behavior, and rendered subject frames before
claiming that CV effects have been applied reliably.
Workflow
1. Interview ( interview ): collect answers for the look axes — palette,
grain, lighting, focal length, camera motion, subject framing, grade,
mood adjectives, avoid list — and separately the content brief. Keep look
and content separate; merging them is the classic failure.
2. Distill ( distill ): map the profile onto the spec schema offline,
embedding the pack's measured grounding (black/white point, contrast,
per zone chroma, palette, cut rhythm) when a pack is supplied. The result
is a dry run spec: deterministic, provider "none" .
3. Validate ( validate / inspect ): check the pack against its schemas;
report errors vs warnings (missing stills in a metadata only pack are a
warning, not an error).
4. Apply ( apply ): plan shot durations from the pack's measured cadence
(seeded, deterministic) over the user's local clips; produce the
application report and frame exact timeline events.
5. Export ( export ): write CMX3600 EDL + FCPXML 1.9 with rational,
NTSC safe times for import into a real NLE.
6. Audit ( provenance ): report lineage — recovered source digests,
generation history, fixture provenance, provider references as
pointer only records.
Applying Real Footage Without Repeated Sources
When the brief requires no repeated clips, use a canonical checkout supporting
apply no repeat fps , and set the output frame rate explicitly. If those
flags are absent, report the implementation gap rather than silently using
legacy round robin selection. Strict mode uses each normalized source path at
most once in manifest order and rejects insufficient or too short sources.
Prepare enough reviewed selects to fill the cadence plan. This is source level
uniqueness, not support for distinct in/out ranges from the same recording.
The application report is a cut plan. It does not perform visual shot ranking,
grade footage, apply a LUT, render overlays, or import a Resolve project.
Keep the pack's measured reference cadence separate from the output frame rate.
The export CLI expects {"clips": [...]} . Wrap the application's
timeline events under clips before exporting, and pass the same fps
used for application; export's default frame rate must not reconform the plan.
Check the emitted event count, total frames, unique sources, and media linkage
before handing the timeline to the editing workflow.
When that workflow applies overlapping effects in an NLE, allocate compatible
tracks and read back every requested start, end, and duration. A returned item
or a successful append call alone does not prove that every scheduled effect
was placed; reject missing, shifted, or truncated placements before rendering.
File Driven Multimodal Contract
Use this path when local references must drive dry run generation plans for
image, video, and 3D asset outputs while preserving genre separation:
The config names numbered genres and local evidence files. Keep these candidate
genres distinct rather than blending them into one generic aesthetic:
1. Flash Ethereal
2. 3D Cyber Glitch
3. Fluid Sketch
The command measures local references with ffprobe/ffmpeg and emits one style
spec per genre, separate image, video, and 3D asset manifests, provenance, and
a Resolve effect recipe. The effect schedule must be seeded aperiodic. CV
effects require a real subject anchor whose exact lost track policy is
disable effect until track recovers ; continue without anchor and every
other policy fail closed. Every effect carries placement constraints that
preserve faces and readable type and prevent decorative corner meshes from
replacing full frame 3D work.
The returned receipt is the bundle boundary. It binds every emitted evidence
artifact by relative path, byte size, SHA 256, genre, modality,
provider execution:false , and exact reference/time provenance. The receipt
requires provider calls:0 as an exact integer (the JSON boolean false is
invalid), provider execution:false , and dry run:true . Every genre spec also
requires explicit dry run:true . The Resolve effect recipe requires that same
exact integer provider calls:0 , provider execution:false , and dry run:true .
Every modality manifest and every nested request must contain all four exact
fail closed fields: integer provider calls:0 , provider execution:false ,
dry run:true , and submit:false ; each request also requires
provider call mode:"disabled" . A missing field is a rejection, not a default,
and dry run:false must be rejected before output is written.
Treat booleans as invalid numbers everywhere in timeline, evidence, probe, and
source duration data. Every such numeric value must be a finite real: reject
true , false , NaN, infinities, negative even