Skills de vídeo para o Claude Code (e agentes compatíveis) e os assets compartilhados entre elas.
skills/
├── video-toolkit/ ← compartilhado por todas as skills
│ ├── SKILL.md ← transcrição avulsa + referência das ferramentas
│ ├── scripts/transcribe.py ← CLI de transcriçÃ
73D1
£o (Groq via mediacript → Whisper local)
│ ├── videokit/ ← pacote Python comum (ffmpeg/ffprobe, transcrição, formato Scribe)
│ └── assets/ ← fontes, logos, músicas, sfx, LUTs, overlays
├── produzir-video/ ← porta de entrada: raiz de projetos, Referências gerais, tipo de vídeo, entrega em final/
│ └── scripts/projeto.py ← raiz / scan / init / entregar
├── editar-video-youtube/ ← bruto → final.mp4 (camada de preferências sobre a video-use)
├── cortes-verticais/ ← final.mp4 → shorts 9:16
│ └── scripts/ ← make_short.py, remap_transcript.py
└── referencia-de-estilo/ ← vídeo de referência → estilo.md + comparação de métricas
├── scripts/analyze_video.py
└── estilos/ ← estilos salvos para reuso
Regras para manter o repositório organizado:
- Uma skill = uma pasta em
skills/comSKILL.mde, se precisar,scripts/,references/,estilos/etc. Só o que é específico daquela skill. - Código usado por mais de uma skill vai para
skills/video-toolkit/videokit/. Scripts de skill importam assim:Funciona no repositório e instalado emsys.path.insert(0, str(Path(__file__).resolve().parents[2] / "video-toolkit")) from videokit.media import probe, run
~/.claude/skills, porque as skills ficam sempre lado a lado. - Assets compartilhados em
skills/video-toolkit/assets/(convenções emassets/README.md). O toolkit é uma skill para que os assets e o código sejam instalados junto com as outras. - Nos
SKILL.md, referencie caminhos instalados (~/.claude/skills/<skill>/...).
<raiz>/ ← perguntada pela produzir-video; a última fica em ~/.config/video-skills/config.json
├── Referencias gerais/
│ ├── Elementos graficos gerais/ ← o nome do arquivo descreve quando usar
│ ├── Videos de referencia/<Tipo>/<Nome>/ ← + estilo.md gerado
│ ├── Assets/ ← logos, imagens, prints usados em vários vídeos
│ ├── Sons/
│ └── Motions/
└── <Projeto>/
├── raw/ ← bruto (somente leitura)
├── assets/ ← imagens, prints, logos deste projeto (somente leitura)
├── refs/ ← opcional
├── edit/ ← tudo o que é gerado
└── final/ ← "AAAA-MM-DD_HHMM - Título.mp4"
As skills são ligadas (junction no Windows, symlink no macOS/Linux) em ~/.claude/skills, então o repositório é a única cópia: editar aqui já vale para o Claude.
powershell -ExecutionPolicy Bypass -File install.ps1 # Windows./install.sh # macOS/LinuxSe já houver uma pasta de skill com o mesmo nome, ela é movida para ~/.claude/skills/.trash/ antes de ligar. Rode de novo ao criar uma skill nova.
- Python ≥ 3.10:
pip install -r requirements.txt ffmpeg/ffprobeenodeno PATH- video-use clonada em
~/.claude/skills/video-use(pack_transcripts.py,timeline_view.py,render.py). É de terceiros (MIT) e não é copiada para cá. - SFX Kit (CC0), efeitos sonoros usados pela
produzir-video: clonado sob demanda em~/.cache/video-skills/sfx-kit(~67 MB), fora do repositório. - mediacript ≥ 1.2.42, usado via
npx mediacript@^1.2.42(sem instalar nada), com uma chave do Groq (console.groq.com/keys):python skills/video-toolkit/scripts/mediacript_key.py set groq <chave>ou a variávelGROQ_API_KEY. Sem chave, os scripts param comMISSING_API_KEY(código 3) e o Claude pede a chave;--engine whispertranscreve localmente sem chave.- Ordem de resolução:
MEDIACRIPT_CLI(caminho de umcli.mjs) → clone local em~/code/mediacript/packages/cli/cli.mjs(para desenvolver o mediacript) →npx. - Ao publicar uma versão do mediacript que mude o comando
transcribe, atualizeMIN_VERSIONemskills/video-toolkit/videokit/mediacript.py.
- Ordem de resolução: