Avenox video
Production agent skills for Claude Code, Cursor, and any SKILL.md harness — Codex fleets, video pipeline, monorepo review bundles, multi-chain explorer.
npx -y skills add avenoxai/avenoxskills --skill avenox-videoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 11 days oldThe repository was created 11 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Avenox Studio — local-first YouTube video production pipeline (ROUTER, read first). Use for ANY request to edit, cut, produce, assemble, caption, score, or render a long-form video, or to make motion graphics for one. Wraps open-source tooling (auto-editor, mlx-whisper, MLT/melt, ffmpeg) plus HyperFrames for animated graphics. Triggers: "edit this video", "cut the recording", "make graphics", "extract captions", "render the final", a job name, or anything about the video pipeline. The human is director/quality gate; the agent is the operator.
SKILL.md
5.0 KB, as published. Nobody here has run it
Avenox Studio — operator router
The fast operator guide for a local-first, agent-operated video pipeline. Everything runs on your own machine: no cloud editor, no upload-to-render.
The human directs and approves quality; the agent runs the pipeline.
Setup
export STUDIO_JOBS="$HOME/video/projects" # heavy media lives here
export STUDIO_ROOT="/path/to/this/repo" # scripts, templates, brand
Requirements: macOS (hardware encode via h264_videotoolbox; Apple Silicon for
mlx-whisper), ffmpeg, python3, melt/MLT, Node (for HyperFrames). Most
of this works on Linux with libx264 and a CUDA whisper build substituted in.
Operating principles
- Media discipline. Heavy media NEVER in a cloud-synced folder — sync will
thrash on multi-GB intermediates and can corrupt in-flight writes. Jobs live
in
$STUDIO_JOBS/<job>/(raw/ cut/ graphics/ audio/ outputs/). Your notes system holds only the brain: this system, the brand spec,edit.jsonplans. - Director loop. Produce a preview (graphics stills + a fast draft render) → send for notes → only then final render. Never ship a final without sign-off. This is the single most important rule; an agent that renders finals unreviewed will burn hours on a rejected cut.
- Brand is a hard constraint, not a suggestion. Read
brand/frame.mdbefore making any graphic. Define it once and lock it. (The reference implementation is deliberately anti-"AI slop": premium editorial, warm paper- ink + a single accent, no neon/gradient/glassmorphism/3D-gloss.)
- Format: YouTube 16:9 1080p60. Preset in
brand/presets/youtube-16x9.json. - Finishing is hybrid. Auto-generate the draft; the same
.mltopens in Kdenlive or Shotcut for hand-finishing. Don't try to automate taste. - Transcription defaults to LOCAL
mlx-whisperwithwhisper-large-v3-turbo— fast, free, and strong on non-English audio. Note that most LLM-routing proxies expose no whisper endpoint; if you go remote, use a dedicated speech API.
Scripts (scripts/)
| Script | Does |
|---|---|
autocut.sh IN.mp4 [balanced|aggressive|conservative] | silence-cut → _cut.xml (Premiere) or --export variants |
transcribe.py IN.mp4 PREFIX | → transcript/PREFIX_timed.json + _narration.txt |
mltgen.py edit.json out.mlt --base <job-dir> | edit-list → MLT project (Kdenlive/Shotcut/melt) |
vrender.sh project.mlt out.mp4 [fast|quality] | render (fast = HW draft, quality = CRF18 master) |
grabshot.sh | clipboard screenshot → disk |
slides2png.sh | legacy static slides — prefer HyperFrames |
remove-silence.py | standalone silence pass |
The 7 steps
- Intake — copy raw →
$STUDIO_JOBS/<job>/raw/. Confirm the brief and which segments actually matter. - Rough cut —
autocut.sh raw.mov balanced→cut/screen_cut.mp4;transcribe.pyfor the script. Full recipe →avenox-roughcutskill. - Graphics — HyperFrames. Route via the
hyperframesskill → usuallymotion-graphics(short beats),faceless-explainer(concept stretches), orgeneral-video. Readbrand/frame.mdfirst; render animated MP4s intographics/. Full recipe →avenox-graphicsskill. - Assemble — write
edit.json(template intemplates/edit.json) mixingcut/*.mp4+graphics/*.mp4+ music →mltgen.py edit.json project.mlt --base <job-dir>. - Captions —
transcribe.py→.srt; applybrand/caption-corrections.json(copy it fromcaption-corrections.example.json— a find/replace map for terms your ASR reliably mangles). Ship as YouTube CC, not burned-in. - Music — bed under everything, sidechain-duck under voice, target
~-14 LUFS. Track attribution in
CREDITS.md. - Export —
vrender.sh project.mlt draft.mp4 fast→ director review →vrender.sh … final.mp4 quality→ prune scratch files.
Graphics quality bar
HyperFrames clips must obey brand/frame.md. Prefer type-driven, restrained,
weighty motion. If a beat doesn't need motion, a clean static frame is fine —
don't animate for the sake of animating.
Reference
- Rough cut:
avenox-roughcut· Graphics:avenox-graphics - HyperFrames skills:
hyperframes(router),hyperframes-cli,hyperframes-animation,hyperframes-creative,motion-graphics,faceless-explainer,general-video - Brand spec:
brand/frame.md(fill in frombrand/frame.template.md)