analyze-video
Internal sub-procedure (not a standalone entry point) — the shared footage-analysis pipeline that produces audio transcripts,…
Report a ButterCut bug to the people who build it. Use automatically when a ButterCut command fails in a way that looks like ButterCut's own fault, and when the user says "report this", "send a bug report", "tell the ButterCut team", or "this is broken".
$ npx -y skills add barefootford/buttercut --skill report-bug --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/report-bugContext preview
The summary Claude sees to decide when to auto-load this skill.
Report a ButterCut bug to the people who build it. Use automatically when a ButterCut command fails in a way that looks like ButterCut's own fault, and when the user says "report this", "send a bug report", "tell the ButterCut team", or "this is broken".
name: report-bug description: Report a ButterCut bug to the people who build it. Use automatically when a ButterCut command fails in a way that looks like ButterCut's own fault, and when the user says "report this", "send a bug report", "tell the ButterCut team", or "this is broken".
Something in ButterCut broke. Decide whether it's worth reporting, strip the user's work out of it, and send it to the ButterCut team.
The user's footage is theirs. **A report contains no footage, no transcripts, no contact sheets, and no library or clip names** — just what broke and where. Say it that way when you talk about it. Their email goes only if they've said it can.
Report when **ButterCut itself broke on work that should have gone through**: a crash, a stack trace, malformed XML, an export that produced nothing, a step that failed on footage the library says is ready.
Don't report: a command you called wrong, a file or library that isn't there, a missing dependency (that's the `setup` skill), or a message that's working as designed (like the daily update check). Try the obvious fix first — if your second attempt works, there's no bug. **Don't report the same failure twice in a session.**
ruby lib/buttercut/report.rb consent
Prints `error_reporting=<always|ask|never|unset> email=<address or blank>`.
Everything you pass to `report.rb` is sent exactly as written. Before passing: `/Users/anna/…` becomes `~/…`; library, clip, and roughcut names become `<library>`, `<clip>.mov`, `<roughcut>.yaml`; anything quoted from a transcript, summary, or script — and any names of people, companies, or clients — gets dropped entirely. Keep the error class, the shape of the message, which step failed, the ButterCut `file.rb:line` frames, and version numbers: those are the whole value of the report.
ruby lib/buttercut/report.rb send \ --kind bug \ --action export \ --class RuntimeError \ --message "no such file: ~/…/<library>/footage/<clip>.mov" \ --frame "lib/buttercut/export_core.rb:88" \ --narrative "Export of a 40-clip sequence failed partway through; the library reported every clip as ready."
The report fills in ButterCut's version and edition and the machine's OS version, processor type, and Ruby version on its own — nothing to pass for those, and nothing else about the machine goes.
The command prints `sent bug report <uuid>` or a one-line reason it didn't. **Either way, that's the end of it.** Never retry, never send twice, never let a failed report become its own topic.
> "I've sent the error to the ButterCut team — no footage or transcripts, just the error itself. Let's see if we can get around it in the meantime."
Then go help them with the actual problem. Never show them JSON, a UUID, a status code, or a file path from this skill. If it didn't send, don't mention it unless they asked you to report it — then one sentence ("couldn't reach the team just now").
---
**Developer mode.** With `.buttercut_mode` present, `report.rb send` refuses — dev checkouts don't file reports against production. Use `--dry-run` to see what a real install would send.
This is the source code for the core ButterCut XML generator and video editing agent. If you love or hate Docker, have opinions on types, and have a favorite text editor, this is the spot for you.
Internal sub-procedure (not a standalone entry point) — the shared footage-analysis pipeline that produces audio transcripts,…
Backs up user libraries and all their contents (external video excluded). This skill can also be useful when you need to restore…
The ButterCut home menu — welcome the user back, then ask what they'd like to do (start a new cut, add footage to a library, a…
The ButterCut home menu — welcome the user back, then ask what they'd like to do (start a new cut, add footage to a library, a…
Builds a contact sheet from a video clip — evenly spaced frames laid out in a single grid image, each with its hh:mm:ss timestamp…
Create a new ButterCut library. Gather library info (name, footage location, language, transcript proofreading) and scaffold the…