nextwork-projects/ai-video-editor-cooked

taste

Remembers how the user likes their videos edited, so they never give the same correction twice.

Ver código-fonte

Como usar

  1. Copie o comando e verifique o pacote antes de instalar no seu ambiente de agente.
  2. Consulte no original as ferramentas, credenciais e ambientes necessários.
  3. Descreva os dados de entrada e a entrega esperada; confira a saída com as fontes.
npx skills add https://github.com/nextwork-projects/ai-video-editor-cooked --skill taste

Antes de começar

  • A instalação não inclui assinatura de modelo, franquia API ou acesso aos seus arquivos.
  • Estrelas e instalações indicam atividade, não um teste independente de qualidade ou segurança.
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

Taste

Paths: ${CLAUDE_SKILL_DIR} means the folder containing this SKILL.md, and ${CLAUDE_PLUGIN_ROOT} the plugin folder two levels above it.

Every question to the user goes in the question box: call the AskUserQuestion tool (2-4 options, the recommended one first). Only in an agent without that tool, ask numbered questions in text.

The user's own rules, kept outside the plugin (plugin updates never touch them):

~/.ai-video-editor/taste.md     rules in plain words, one bullet each, by section
~/.ai-video-editor/taste.json   settings the scripts read; they win over the creator's style.json
<library>/custom/               their own rule files, caption styles and template defaults (custom.py)

Never write a correction into the plugin's own files (a SKILL.md, a reference, a script): an update replaces them. Everything the user teaches goes in the files above.

S="${CLAUDE_SKILL_DIR}/scripts". Stdlib only, any python3 (py on Windows).

When the user reacts to an edit

  1. Find the behaviour behind what they said, not the one instance. "The 'router' card is too

small" becomes "Cards fill the space they have", not "make the router card bigger".

  1. Scope. After every correction, ask in the question box: "Is this about this video, your style, or

would it help everyone?" with the options My style (Recommended), Just this video and Would help everyone. When the edit used a creator's style (edits/<name>/style.json has a source), add This style (<its name>) first, as the recommended one, by the name the home page shows ("50/50"), never its folder or @id. Skip the question only when they already said it ("always", "just this one"). Would help everyone saves it to their style too, then step 6. Notes sent from the review page never get this question: only the ones the user ticked "Keep as a rule" become rules, saved without asking (style-edit references/review.md).

  1. Save it with add, with the setting when one maps (table below) and the edit it was said on:
bash
python3 "$S/taste.py" add captions "Captions bigger" --set captions.size_pct=6 --edit edits/<name>
python3 "$S/taste.py" add sound "Whooshes quieter on this one" --video edits/<name>
python3 "$S/taste.py" add visuals "Logos stay smaller than the captions" --edit edits/<name>
python3 "$S/taste.py" add captions "Captions smaller" --set captions.size_pct=4.5 --style edits/<name> --edit edits/<name>

--style (This style): the setting goes to that creator's style.overrides.json (style.json stays as measured; a re-study keeps it), which wins over taste.json on that style, and the rule to the "Learned from your feedback" section of its edit-like-<handle> skill. My style rules also update the my-style skill.

The same rule said again (same setting, or near-identical words, same scope) edits the old one instead of adding a copy. Every-video rules also land in taste.md (words) and taste.json (the setting); this-video rules stay in rules.json and reach only that edit.

they say--set
cut is too slow / too rushed / too tightcut.max_pause= (default 0.15 s; slower 0.25, faster 0.12)
captions too small / too bigcaptions.size_pct= (cap height, % of frame height)
more / fewer words on screencaptions.words_per_caption=
captions higher / lowercaptions.y_pct=
caption colour / highlight colourcaptions.color= / captions.highlight_color= ("#RRGGBB")
fewer / more zoomszoom.per_min= (0 turns zooms off)
no sound effectssfx=false
always split / always overlaylayout.mode=split or overlay
keep my ums / don't cut fillerscut.keep_fillers=true (retakes.py proposes no filler cuts)
a whole caption look they want keptwrite custom/captions/<name>.json (a style.json captions block), then captions.preset=<name>

No setting fits (card timing, a capture cropped wrong, a look), so it is a word rule: write it so it can be followed next time ("Captures crop to the sentence that proves the point").

  1. Tell the user in one line what was saved, so they can catch a wrong one:

Saved to your taste: "Logos stay smaller than the captions" (visuals, every video). If add prints regression, the rule was already applied and did not hold: say so, and make it more concrete (a setting, a number) instead of saving the same words again.

  1. Then redo the edit with it.
  2. On Would help everyone, write it as a rule for every user of the editor, never about this video:

what was wrong, the general rule, the skill or check that should own it, and a small example without their media, names or links (the script scrubs paths, file names, emails, handles and links too):

bash
python3 "$S/taste.py" suggest "Zoom snapped in over 2 frames" "Zooms ease in over at least 0.5 s" --owner "style-edit quality.py zoom check" --example "a 1.2x punch at 0.07 s"
python3 "$S/taste.py" issue          # shows the issue it would open

If gh auth status succeeds, ask in the question box: "Send it to the editor's maintainers as a GitHub issue?" with Yes, open an issue (Recommended) / No, keep it on my computer. On yes: python3 "$S/taste.py" issue --yes, and give them the issue link. No gh, or no: it stays in ~/.ai-video-editor/suggestions.jsonl, where the maintainers' improve skill reads it.

Learn from a past edit

When the user already edits by hand (or says yes to setup's "Have a raw take and the version you posted? I can learn how you cut."), ask for both paths and read references/learn-from-edit.md. It runs learn.py <raw> <posted>, which saves their pause length, retake and filler habits as rules with counts, so the first edit already cuts like them.

Is it learning

bash
python3 "$S/taste.py" report

Each rule with times applied, in how many edits, corrections, and the last edit where it was said again after it was applied. Rules from review-page notes (review.py learn) say so. On the final approve the review page offers the session's notes as rules to tick, saved into the edit's style (the skill-improver skill: review.py learn --propose / --done). Show it on "what have you learned", "are you learning", or after a regression.

Before any edit

Every cooked. skill starts by reading the taste for the edit it is on:

bash
python3 "$S/taste.py" show --edit edits/<name>

That also counts the word rules as applied to this edit. plan.py and buildtimeline.py read the settings themselves (`loadjson() in the plugin's lib/ai_editor/taste.py`) and count them.

Follow every rule in taste.md. They beat the creator's style: the user chose them. If a rule and the creator's style disagree, say so once and follow the rule.

Show, change, forget

  • "What do you know about my taste": taste.py show, then summarise it in a few lines.
  • Forget a rule: taste.py report for its number, then taste.py forget <id> (its setting and

taste.md line go with it).

  • Reset everything: delete taste.md, taste.json and rules.json (ask first).

Files

  • scripts/learn.py: a raw take and the user's posted cut of it in, their cut settings out; demo.
  • ${CLAUDE_PLUGIN_ROOT}/lib/ai_editor/custom.py: path, rule "<rule>" (a rule file in custom/rules/, which show prints), list.
  • scripts/taste.py: add, report, show, forget, rule, set, unset, get, suggest, issue, demo. A thin

CLI over the plugin's lib/ai_editor/taste.py, whose load_json() and merge() are what plan.py and the cut use to lay the taste over the defaults and style.json.

  • ~/.ai-video-editor/rules.json: every rule with its scope, corrections, times applied and

regressions (shape in the lib's docstring).

Relacionados por tarefa

do mesmo repositório

Mais Skills

Todos os Skills
nextwork-projects
Comunidade

creator-teardown

Reverse-engineers a short-form creator's video format from their real numbers. Pulls a TikTok or YouTube Shorts profile (or pasted links, Instagram reels too) with view, like and save counts, transcribes the top videos word for word, measures pace, pauses and fillers, maps each video into timed beats, and writes a teardown.md someone can film from, a teardown.html page of their graphics, motion and sound, and the style.json the ai-editor plugin edits from (on its own it can write an edit plan as

instalações
2
GitHub Stars
58
Atualizado
16 de out.
nextwork-projects
Comunidade

cut

Cuts raw talking-head footage into a clean jump cut. Takes one take or several joined (mp4 or mov, any aspect, 4K phone footage is fine), transcribes it word by word, removes retakes, false starts, fillers and dead pauses, and renders cut.mp4 at the source resolution plus words.json timed to the cut. The user approves the cut on a page with the whole transcript and every removed word struck through. Use when the user says "cut my video", "just cut it", "remove my mistakes", "cut out the retakes"

instalações
2
GitHub Stars
58
Atualizado
16 de out.
nextwork-projects
Comunidade

logo-pack

Builds clean brand-colour logos for every company, app or tool named in a video. Lists the names from the edit's transcript, fetches each brand's own logo (SVG first, else a large PNG) with the editor's logo code, trims it, makes a transparent 512 px PNG beside the SVG, checks each one (official, transparent, sharp, brand colours) and fixes the failures, then notes the logos named together so the edit shows them side by side. Writes the files style-edit already reads (images/logo- .svg|png) plus

instalações
2
GitHub Stars
58
Atualizado
16 de out.
nextwork-projects
Comunidade

motion

Builds bespoke motion graphics for an edit, one animated clip per beat (HyperFrames + GSAP), each designed for its line and landing on the spoken word, then lays them on the footage through the style-edit render. Picks the beats that need motion (a count, a list, a flow, a before and after, a run, a mechanism), writes a brief per clip, runs one clip-builder agent per clip at once, gates every clip (lint, layout, render, a frame-to-frame motion check, contact sheets), and falls back to the templa

instalações
2
GitHub Stars
58
Atualizado
16 de out.