EEF / rules
edhoferdian/EEF/.cursor/rules/video-style-edho-ferdian.mdc
Capture the look and pacing of reference videos as measurements, then reproduce them: distill references into a style pack (colour grade per luminance zone baked to a 3D LUT, cut rhythm as a shot-length distribution, overlay plates, hero stills, a grounded text spec), then generate or gather footage, grade it to the pack, cut it at the measured cadence, composite overlays, and verify the result numerically before handing an editable timeline to Resolve or another NLE. Use when the user says \"tiru look video ini\", \"samakan grading\", \"bikin video dengan gaya referensi\", \"capture the vibe\", \"LUT dari referensi\", \"cut rhythm\", \"supplement footage\", or wants AI-generated clips cut into a real edit.
What's in it
- Video Style — Edho Ferdian Mode
- The principle everything else follows
- Non-negotiables
- Tooling
- References
- External docs (fixed — see skill-authoring-edho-ferdian's canonical contract)
- Surgical changes (fixed — see skill-authoring-edho-ferdian's canonical contract)
- Language routing (fixed — see skill-authoring-edho-ferdian's canonical contract)
---
description: "Capture the look and pacing of reference videos as measurements, then reproduce them: distill references into a style pack (colour grade per luminance zone baked to a 3D LUT, cut rhythm as a shot-length distribution, overlay plates, hero stills, a grounded text spec), then generate or gather footage, grade it to the pack, cut it at the measured cadence, composite overlays, and verify the result numerically before handing an editable timeline to Resolve or another NLE. Use when the user says \"tiru look video ini\", \"samakan grading\", \"bikin video dengan gaya referensi\", \"capture the vibe\", \"LUT dari referensi\", \"cut rhythm\", \"supplement footage\", or wants AI-generated clips cut into a real edit."
globs:
alwaysApply: false
---
# Video Style — Edho Ferdian Mode
Two phases with one interface between them — the **style pack**:
1. **Distill** — measure reference footage into a pack.
`references/distillation.md`.
2. **Apply** — generate or collect footage, grade and cut it against the
pack, verify, hand off. `references/application.md`.
## The principle everything else follows
**Prompting cannot deliver a grade; measurement can.** In practice,
escalating colour instructions to a video model barely move the result
toward a measured target, while a deterministic grade computed from the
references lands on it in one pass at no generation cost. So:
- the generative model supplies **content, motion, framing and lighting
structure**;
- the pack supplies **colour and rhythm**.
Generation prompts therefore contain no colour language at all — say
"Colour: none. Render neutral. Grading is applied afterwards." — and keep
*what happens* (the brief) separate from *how it looks* (the style steer),
or style words turn into objects ("teal" becomes a teal prop).
## Non-negotiables
- **Paid provider calls are opt-in per run.** Every stage must have a dry run
that exercises plans, prompts, track layout and manifests without
credentials or spending. A live run needs the user's explicit go-ahead and
its own opt-in switch, not just an API key in the environment.
- **An ambiguous provider timeout is not retried as a new paid job.** Check
the provider's request log first.
- **Verify numerically before claiming the look matches** — distribution
shape, not only averages (`application.md` §6). A good-looking MAE has
shipped visibly broken frames.
- **One genre, one pack.** Never silently reuse one look's measurements for
another. A measured zero is data; distinguish it from a missing field.
- **Rights.** Reference footage and anything lifted from it (stills, plates)
may be someone else's work; confirm the user may use it before minting
assets, and never ship another app's UI or someone's burnt-in titles.
- **A render is not a saved project or creative approval.** Keep source
assets and versioned project checkpoints; report what was actually saved.
## Tooling
No code ships with this skill; the references specify the method precisely
enough to implement per project. Typical stack: `ffmpeg` (decode, cut,
composite, re-encode), OpenCV + NumPy (Lab statistics, masks, plates),
PySceneDetect (shot boundaries), a LUT writer (`.cube`), optionally Blender
(3D props) and a VLM for the text spec. Resolve current library and provider
APIs live before writing against them — model IDs, endpoints and prices
drift monthly.
## References
- `references/distillation.md` — pack layout, the measurements that matter
(zone chroma, median/MAD, contrast, background share), interface masking,
adaptive cadence detection, overlay plates, grounding a VLM, LUT baking
pitfalls.
- `references/application.md` — generating takes not shots, cutting rules,
grading rules, overlays as elements, removing borrowed UI, the 3D branch,
numeric verification, and NLE/Blender handoff.
## External docs (fixed — see skill-authoring-edho-ferdian's canonical contract)
Before calling a video/image/3D generation provider, PySceneDetect, or the
Resolve scripting API, resolve its current interface live (Context7 or the
provider's model page) — never from memory. Full contract:
`skill-authoring-edho-ferdian` §9.
## Surgical changes (fixed — see skill-authoring-edho-ferdian's canonical contract)
When adjusting an existing pipeline, change only the stage the task names;
do not re-measure a cached pack or re-render untouched shots as a side
effect. Full contract: `skill-authoring-edho-ferdian` §10.
## Language routing (fixed — see skill-authoring-edho-ferdian's canonical contract)
Communication to the user in Bahasa Indonesia; code, comments, prompts to
generation models, and generated files in English — fixed, never ask. Full
contract: `skill-authoring-edho-ferdian` §7.
More agent context in edhoferdian/EEF
115 other files this repository gives its agents, the first 60 shown.
AGENTS.md
Copilot instructions
Cursor rule
- .cursor/rules/api-design-edho-ferdian.mdc
- .cursor/rules/backend-engineering-edho-ferdian.mdc
- .cursor/rules/billing-ops-edho-ferdian.mdc
- .cursor/rules/build-fix-edho-ferdian.mdc
- .cursor/rules/click-path-audit-edho-ferdian.mdc
- .cursor/rules/code-quality-tooling-edho-ferdian.mdc
- .cursor/rules/code-review-edho-ferdian.mdc
- .cursor/rules/code-simplification-edho-ferdian.mdc
- .cursor/rules/communications-triage-edho-ferdian.mdc
- .cursor/rules/config-hygiene-edho-ferdian.mdc
- .cursor/rules/container-ops-edho-ferdian.mdc
- .cursor/rules/counterparty-comms-edho-ferdian.mdc
- .cursor/rules/data-layer-patterns-edho-ferdian.mdc
- .cursor/rules/dead-code-cleanup-edho-ferdian.mdc
- .cursor/rules/deployment-ops-edho-ferdian.mdc
- .cursor/rules/desktop-e2e-edho-ferdian.mdc
- .cursor/rules/dev-kickoff-edho-ferdian.mdc
- .cursor/rules/docs-sync-edho-ferdian.mdc
- .cursor/rules/e2e-testing-edho-ferdian.mdc
- .cursor/rules/frontend-engineering-edho-ferdian.mdc
- .cursor/rules/gan-harness-edho-ferdian.mdc
- .cursor/rules/git-and-release-ops-edho-ferdian.mdc
- .cursor/rules/language-code-review-edho-ferdian.mdc
- .cursor/rules/legal-ops-edho-ferdian.mdc
- .cursor/rules/marketing-edho-ferdian.mdc
- .cursor/rules/networking-ops-edho-ferdian.mdc
- .cursor/rules/opensource-release-edho-ferdian.mdc
- .cursor/rules/performance-audit-edho-ferdian.mdc
- .cursor/rules/research-ops-edho-ferdian.mdc
- .cursor/rules/safe-execution-edho-ferdian.mdc
- .cursor/rules/security-review-edho-ferdian.mdc
- .cursor/rules/seo-audit-edho-ferdian.mdc
- .cursor/rules/skill-audit-edho-ferdian.mdc
- .cursor/rules/skill-authoring-edho-ferdian.mdc
- .cursor/rules/spec-mining-edho-ferdian.mdc
- .cursor/rules/system-design-edho-ferdian.mdc
- .cursor/rules/test-authoring-edho-ferdian.mdc
Skill
- api-design-edho-ferdian.agents/skills/api-design-edho-ferdian/SKILL.md
- backend-engineering-edho-ferdian.agents/skills/backend-engineering-edho-ferdian/SKILL.md
- billing-ops-edho-ferdian.agents/skills/billing-ops-edho-ferdian/SKILL.md
- build-fix-edho-ferdian.agents/skills/build-fix-edho-ferdian/SKILL.md
- click-path-audit-edho-ferdian.agents/skills/click-path-audit-edho-ferdian/SKILL.md
- code-quality-tooling-edho-ferdian.agents/skills/code-quality-tooling-edho-ferdian/SKILL.md
- code-review-edho-ferdian.agents/skills/code-review-edho-ferdian/SKILL.md
- code-simplification-edho-ferdian.agents/skills/code-simplification-edho-ferdian/SKILL.md
- communications-triage-edho-ferdian.agents/skills/communications-triage-edho-ferdian/SKILL.md
- config-hygiene-edho-ferdian.agents/skills/config-hygiene-edho-ferdian/SKILL.md
- container-ops-edho-ferdian.agents/skills/container-ops-edho-ferdian/SKILL.md
- counterparty-comms-edho-ferdian.agents/skills/counterparty-comms-edho-ferdian/SKILL.md
- data-layer-patterns-edho-ferdian.agents/skills/data-layer-patterns-edho-ferdian/SKILL.md
- dead-code-cleanup-edho-ferdian.agents/skills/dead-code-cleanup-edho-ferdian/SKILL.md
- deployment-ops-edho-ferdian.agents/skills/deployment-ops-edho-ferdian/SKILL.md
- desktop-e2e-edho-ferdian.agents/skills/desktop-e2e-edho-ferdian/SKILL.md
- dev-kickoff-edho-ferdian.agents/skills/dev-kickoff-edho-ferdian/SKILL.md
- docs-sync-edho-ferdian.agents/skills/docs-sync-edho-ferdian/SKILL.md
- e2e-testing-edho-ferdian.agents/skills/e2e-testing-edho-ferdian/SKILL.md
- frontend-engineering-edho-ferdian.agents/skills/frontend-engineering-edho-ferdian/SKILL.md
- gan-harness-edho-ferdian.agents/skills/gan-harness-edho-ferdian/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

