Communitygithub.com

Criação de Teardown de Criador

Analisa e decompõe o formato de vídeo de um criador de conteúdo a partir de métricas reais. Extrai perfil do TikTok ou YouTube Shorts (ou links colados, incluindo Instagram Reels) com contagens de visualizações, curtidas e salvamentos, transcreve os principais vídeos palavra por palavra, mede ritmo, pausas e vícios de linguagem, mapeia cada vídeo em beats cronometrados e gera um teardown.md, teardown.html e style.json para edição no estilo do criador.

O que é Criação de Teardown de Criador?

Esta skill, `Criação de Teardown de Criador`, é uma ferramenta profissional de engenharia reversa de formato de vídeo para criadores de conteúdo curto. Ela atua em plataformas como TikTok, YouTube Shorts e Instagram Reels. O objetivo é analisar e decompor o estilo de um criador específico, identificando os elementos que fazem seus vídeos terem sucesso, como ganchos, ritmo, edição, gráficos e som. A skill baixa os vídeos de maior desempenho (e um grupo de controle de desempenho mediano), transcreve-os palavra por palavra usando Whisper (local e gratuito) ou Scribe (com chave ElevenLabs), mede métricas como palavras por minuto e pausas, e gera um mapa de beats com marcações de tempo. O resultado é um conjunto de arquivos: `teardown.md` (análise textual), `teardown.html` (página visual interativa), `look.md` (resumo para o Claude) e `style.json` (dados numéricos para a skill `style-edit`). A skill é útil para criadores que desejam estudar concorrentes, entender padrões virais ou planejar seus próprios vídeos baseados em um estilo comprovado. A análise sempre se baseia em números reais de visualizações e nunca inventa dados. A skill também suporta a combinação de estilos de múltiplos criadores e a geração de um plano de edição detalhado.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Conz-Wilts/ai-editor/tree/HEAD/.claude/skills/creator-teardown

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Criação de Teardown de Criador faz?

Caminhos: ${CLAUDE_SKILL_DIR} significa a pasta que contém este SKILL.md. No Windows, use py sempre que estes comandos disserem python3.

Toda pergunta ao usuário vai na caixa de perguntas: use a ferramenta AskUserQuestion (2-4 opções, a recomendada primeiro). Apenas em um agente sem essa ferramenta, faça perguntas numeradas em texto.

Saída

creator-teardowns/<handle>/: teardown.md (a análise), teardown.html (a página que o usuário vê), look.md (o que o Claude lê), style.json (todos os números medidos, para editar neste estilo), além dos arquivos por vídeo listados em ${CLAUDE_SKILL_DIR}/references/outputs.md. Um plano de edição vai para edit-plans/<name>/. Se uma edição neste estilo corresponde: scripts/match.py (references/outputs.md "Verificação de correspondência").

Primeiro: doctor

python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" doctor

Execute antes do primeiro teardown em uma sessão. Ready. significa que está pronto. Se aparecer Not ready, ou o usuário pedir para instalar ou configurar a skill, siga ${CLAUDE_SKILL_DIR}/references/setup.md. A chave ElevenLabs é opcional. Nunca peça ela no chat: o usuário a salva com setkey no próprio terminal.

VPY="${CLAUDE_SKILL_DIR}/scripts/run.py"; python3 "$VPY" abaixo (py no Windows) executa um script com o Python do venv da ferramenta onde AI_EDITOR_HOME o coloca.

Pipeline

Modo rápido (chamado por ai-editor's start, setup ou style-edit)

Quando outra skill precisa apenas do style.json, execute exatamente: Passo 1 list, os comandos do Passo 2 com --top 5 (5 mais 2 de controle e 2 de reserva; links colados: todos), os quatro do Passo 3b, depois os quatro do Passo 3c, e pare. As perguntas do Passo 0 só são feitas se quem chamou ainda não as fez. Pule metrics.py, as passagens escritas do Passo 3 e os Passos 4-6. Cerca de 3 minutos por criador em um Mac de 14 núcleos (2-3 min medidos; as reservas adicionam cerca de 1 min no pior caso), o dobro em um laptop de 8 núcleos. Diga isso primeiro.

Passo 0: Perguntar, uma vez

Pule o que a mensagem já responde. Uma chamada de caixa de pergunta:

  1. Quais criadores? O handle ou links que eles nomearam (Recomendado) / Vou colar mais. Vários é normal: as pessoas gostam das legendas de um criador e do ritmo de outro. O estilo de cada criador é um formato.
  2. Com mais de um: qual parte de quem? Ainda não sei (Recomendado): pergunte novamente após o Passo 3b, com o look.md de cada criador para comparar; ou legendas, ritmo (cortes, zooms, movimento), visuais (gráficos, enquadramento do rosto, cards), som.

Passo 1: Obter os vídeos

python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" list <handle> --platform tiktok --limit 40   # ou youtube
python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" list <name> --urls picks.txt   # links colados, um por linha

Imprime uma tabela ranqueada (visualizações, x mediana) e escreve videos.json; * marca 3x a mediana.

Instagram: list <handle> --platform instagram lê os reels mais recentes com visualizações através do login do usuário no instagram.com no navegador dele (enviado apenas para instagram.com). Sem login: sai com código 1 e uma frase; diga-a, ou coloque 6+ links de reels em picks.txt para --urls (ranqueados por curtidas; diga isso).

Passo 2: Baixar e transcrever os vencedores e um grupo de controle

python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/visual.py" download <handle>
python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" transcribe <handle>

--top N baixa e transcreve N mais 2 vídeos de controle (os 2 mais próximos da mediana; --control muda os 2) mais 2 reservas para a verificação de formato (--spare), todos do comprimento usual do criador quando houver o suficiente. Links colados: todos. O padrão --top 8 é 12 vídeos; --top 5, a execução rápida, é 9; passe para ambos os comandos. Ambos imprimem a contagem primeiro. --ids <id>,<id> seleciona vídeos específicos. Os vídeos na mediana são o controle: um movimento que aparece no vídeo de 500K e no de 3K é um hábito do criador, não a razão pela qual o de 500K funcionou. Mantenha pelo menos 2.

Cada script de medição funciona em vários vídeos de uma vez (CT_JOBS=1 desliga isso em um laptop pequeno).

Diga o tempo primeiro (download mais transcrição, cerca de 10 s por vídeo em um Mac de 14 núcleos). Whisper (grátis, local) é o padrão; com uma chave ElevenLabs transcribe usa Scribe, que mantém todos os vícios de linguagem ($0.22 por hora de áudio; dê a estimativa antes de 10+ vídeos). Se as contagens de vícios de linguagem dependerem das transcrições do Whisper, diga isso no teardown.

Passo 3: Medir, depois analisar

python3 "${CLAUDE_SKILL_DIR}/scripts/metrics.py" <handle>

Escreve metrics.json (WPM por terço, pausas, vícios de linguagem, tamanho da frase, eu/você/nós, frases repetidas), tudo a partir dos timestamps das palavras.

Execute o Passo 3b primeiro, para que as passagens pulem os vídeos que format.json deixou de fora. Depois carregue ${CLAUDE_SKILL_DIR}/references/analysis-framework.md e execute suas passagens. Para a passagem 1, inicie um agente video-analyst por vídeo, todos em uma mensagem (eles executam de uma vez): dê a cada um o caminho absoluto creator-teardowns/<handle>/ e um id. Cada um retorna um mapa de beats JSON; mescle-os nas tabelas. Sem uma ferramenta de Agente, leia transcripts/<id>.timed.txt você mesmo, um vídeo de cada vez. Nunca leia transcripts/<id>.json ou metrics.json inteiros:

  1. Mapa de beats + marcações. Cada vídeo dividido em beats rotulados com marcações de segundos e contagens de palavras.
  2. Perfil de voz/vocabulário. Tamanho da frase, pessoa, comandos, frases recorrentes e os movimentos que o usuário não diria.
  3. Passagem visual. Sempre: Passo 3b. É o que permite ao usuário editar seu próprio vídeo neste estilo.
  4. Eventos de card, apenas quando a solicitação cobre os cards e gráficos do criador, ou um plano de edição está por vir. Escreve events.json no formato descrito em ${CLAUDE_SKILL_DIR}/references/edit-plan.md. scripts/strip.py precisa de ffmpeg, numpy e pillow.

Não pule as marcações: "o gancho chega aos 0:03 e tem 14 palavras, os itens têm 8-11 s cada" é um formato que alguém pode filmar; "gancho, depois lista, depois fechamento" não é.

Passo 3b: A passagem visual (medida, sem imagens para você ler)

python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/visual.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/look.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/format_check.py" check <handle>

Depois a passagem da planilha (abaixo), então python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/lookpass.py" merge <handle>.

Execute-os após transcribe (look.py corresponde texto OCR às palavras faladas).

  1. visual.py: cortes e seus tipos, duração dos takes, zooms, pans e tremores.
  2. look.py: OCR 3 quadros por segundo e rostos YuNet: as legendas (lugar, tamanho, palavras, caso, cores, peso, entrada), enquadramento do rosto, participação de gráficos, paleta, personalidade de movimento. Cerca de 40 s por vídeo.
  3. format_check.py: um estilo é UM formato, não uma mistura de tudo que publicam. Agrupa os vídeos por quadro, rosto, legendas, duração do take e comprimento; um grupo majoritário de 3+ é mantido, o resto vai para video/left-out/ (format.json diz por quê; references/look-pass.md). Informe ao usuário sua primeira linha quando algum diferir ("Usando 4 de 6: 2 parecem um formato diferente."); se misturado, peça mais vídeos de um tipo.
  4. A passagem da planilha: uma chamada de Agente com model: "haiku" lê sheets/<id>.jpg para cada vídeo mantido (uma planilha 3 x 3 cada, feita por visual.py) e escreve video/<id>.look-ai.json conforme o prompt de lookpass.py: fonte, estilo de gráficos, transições, o que não é genérico. Nunca um número. Resumo exato em references/look-pass.md. lookpass.py merge os mescla no style.json.

Depois leia look.md (menos de 48 linhas). Não abra quadros ou planilhas. Cada campo está em ${CLAUDE_SKILL_DIR}/references/look-pass.md. Números em style.json vêm do código; nunca os edite manualmente. Onde look.md e as palavras do modelo discordarem (digamos motion: punchy medido, smooth nomeado), o medido vence e o teardown diz ambos.

Sem mecanismo OCR (doctor diz opcional): captions permanece não medido e o look.md diz isso. Instale-o (doctor imprime a linha) em vez de ler as planilhas você mesmo.

Passo 3c: A passagem profunda e a página

python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/graphics.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/sound.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/report.py" build <handle>

Cada medição imprime uma linha de resumo e o arquivo que escreveu (--json imprime o bloco completo; não necessário: o look.md tem os números). Execute-as após o Passo 3b (graphics.py mascara o falante com os rostos do look.py). Eles adicionam cada gráfico (cortado, seu tipo, onde fica, como entra e sai como uma ease GSAP ajustada), tipos de corte e movimentos de câmera (visual.py), efeitos sonoros e música, os primeiros 3 segundos de cada vídeo, vencedores contra o grupo de controle, e uma varredura de IA do próprio visual do criador. Campos, métodos, tetos e custo: ${CLAUDE_SKILL_DIR}/references/teardown-page.md. Após graphics.py measure, execute a passagem de tipos haiku nessa referência (ou os tipos permanecem como palpite do código), depois sound.py e report.py.

Então abra creator-teardowns/<handle>/teardown.html para o usuário (open no Mac, start no Windows, xdg-open no Linux) e ofereça-se para publicá-lo como um artefato. Não leia a página ou suas imagens você mesmo: o look.md tem os números. Informe ao usuário em duas ou três linhas o que os vencedores fazem de diferente (as linhas Winners: no look.md, com n) e qualquer indício de IA de nível BAN no visual deles.

Depois pergunte na caixa de perguntas (a página mostra apenas a evidência; não tem nada para marcar), uma pergunta de múltipla escolha: "Quais partes de @ sua edição deve copiar?" Opções: legendas, ritmo, tipos de gráfico, movimento de entrada, layout, som (no máximo 4 opções por pergunta: divida em duas perguntas se necessário), a descrição de cada opção é uma linha medida do look.md (ex.: "desliza em 0.25 s com overshoot"). Se algum indício BAN estiver em uma parte que eles escolherem, diga qual antes de confirmarem. Salve a resposta:

python3 "${CLAUDE_SKILL_DIR}/scripts/editplan.py" blend <handle>-mine --from <handle> \
    --take captions,pace,graphics,entrances,layout,sound    # apenas as partes escolhidas

style-edit lê creator-teardowns/<handle>-mine/style.json; uma parte deixada de fora usa seu padrão. report.py build e editplan.py blend imprimem a skill do estilo (skill edit-like-<handle> -> <path>, com ai-editor instalado): informe ao usuário seu nome. Feedback sobre esse estilo edita essa skill.

Passo 3d: Vários criadores (quando o usuário nomeou mais de um)

Siga ${CLAUDE_SKILL_DIR}/references/blend.md: Passos 1 a 3b por criador, look.md lado a lado, depois editplan.py blend.

Passo 4: Escrever o teardown

Preencha ${CLAUDE_SKILL_DIR}/references/teardown-template.md em creator-teardowns/<handle>/teardown.md. Cada vídeo recebe uma linha de estatísticas, transcrição literal, tabela de beats com marcações, padrões para manter e padrões para rejeitar.

Passo 5 (opcional): Transformar em skill

Pergunte se o formato vale a pena ser mantido. Se sim, siga ${CLAUDE_SKILL_DIR}/references/skill-handoff.md (a skill de formato, ao lado da própria skill do estilo).

Passo 6 (opcional): Planejar o vídeo do usuário no estilo do criador

Quando o usuário entregar seu próprio vídeo, siga ${CLAUDE_SKILL_DIR}/references/edit-plan.md. Ele precisa do events.json do criador da passagem visual; não renderiza.

Se um script parar

mensagemo que fazer
doctor Not ready: ...siga references/setup.md para cada linha que listar
yt-dlp returned nothing / parsed 0 videosleia a dica que imprime: atualize o yt-dlp (doctor mostra como), ou peça links de vídeo único e use --urls
Perfil do Instagram falhadiga sua frase: faça login no instagram.com no Chrome, ou 6+ links de reels (Passo 1 "Instagram")
... Fix the key, then rerun (transcribe)a chave ElevenLabs está errada: o usuário a salva novamente com setkey no próprio terminal, ou abandone-a e use Whisper
no videos in ... Run download firstexecute visual.py download <handle>
download failed: <ids> (exit 1)execute novamente com --ids que imprime; se falharem de novo, diga que a amostra é menor e prossiga
yt-dlp not foundexecute fetch.py doctor e corrija o que listar
alguns vídeos falham ao transcrevertente novamente com --ids, depois diga quais falharam; nunca preencha a lacuna

Regras rígidas

  • Números reais ou nada. Toda afirmação sobre o que funciona cita a contagem de visualizações ao lado dela. Nunca diga que um vídeo "viralizou" sem o número.
  • Apenas transcrições literais. Nunca resuma um vídeo que não foi transcrito.
  • Estrutura é copiada, voz não é. Todo teardown declara o que rejeitar.
  • Grupo de controle da mediana. Pelo menos dois vídeos de desempenho mediano transcritos, ou a análise não consegue separar o formato dos hábitos do criador.
  • Nunca invente uma linha de transcrição, ou uma estatística ou citação para um card. Se a transcrição falhou, tente novamente com --ids, depois diga que falhou.
  • Nunca peça a chave ElevenLabs no chat.
  • Apenas números medidos no style.json. pace e zoom vêm de visual.py; captions, face, graphics e motion de look.py; apenas palavras (look, font_match) do modelo.
  • Leia look.md, não quadros. Abra um quadro apenas para resolver uma pergunta que o look.md não pode responder, e diga qual. O usuário recebe teardown.html; Claude recebe look.md.
  • Vencedores contra controle: diga n. Nunca chame uma diferença de comprovada; "todo vencedor" significa apenas que não há sobreposição nesta amostra.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Conz-Wilts/ai-editor

Turns one long video or podcast (a local file or a YouTube link) into the best 3-5 short vertical clips, each cut and styled in the user's profile style. Transcribes once, splits the talk into candidate clips at sentence boundaries inside the chosen length, scores every candidate in code (speech rate, loudness, laughter, numbers and names said), shows the shortlist on one page with a preview of each, then trims, cuts and style-edits each pick as its own edit. Use when the user says "clip this video", "make shorts from my podcast", "find the best clips", "cut this into TikToks", "turn this YouTube video into reels", "repurpose this long video", or drops a long video (over about 3 minutes) or a YouTube link and wants short clips. Not for editing one short take (that is start or cut), and not for measuring someone else's style (that is creator-teardown).

Conz-Wilts/ai-editor

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", "remove the pauses", "clean up this take", "jump cut this", "tighten this clip", or asks only for the cut of a raw take; start calls it for a full edit. Runs before style-edit. Not for a general request to edit a video or to make it look like a creator (that is start), not for adding captions, zooms or cards (style-edit), and not for analysing someone else's videos (creator-teardown).

Conz-Wilts/ai-editor

Generates new footage with Higgsfield and puts it on the edit's timeline. Prices every generation first, asks the user with the dollar amount (and, for their own footage, whether it may be uploaded to Higgsfield), then submits, waits, downloads into the edit's generated/ folder and adds the result to the timeline's Generated track. Covers motion transfer on a clip of the user's video (their moves onto a character or styled look), b-roll from a sentence (text to video), a still brought to life (image to video) and stills for cards (text to image). Use when the user says "generate b-roll", "make a shot of", "AI b-roll", "generate a clip", "use Higgsfield", "motion transfer", "put my moves on", "restyle this part with AI", or asks for footage they did not film. Not for animated diagrams or motion graphics (motion), not for real screenshots and logos (overlays, logo-pack), and not for the cut (cut).

Conz-Wilts/ai-editor

For the editor's maintainers. Turns what users corrected into lasting fixes in this repo, for every user, enforced by code and tests rather than notes. Reads the suggestions users marked "would help everyone" (~/.ai-video-editor/suggestions.jsonl), taste rules said twice (taste.py report), preview corrections (edits/*/corrections.jsonl), review-page notes (*/review.json) and open GitHub issues labelled feedback; groups repeats; for each item the maintainer accepts, writes the general rule into PRINCIPLES.md and the skill that owns it, adds or tightens the check that enforces it, adds a test that fails before and passes after, and runs the full test set. Use when the maintainer says "improve the editor", "turn feedback into fixes", "process suggestions", "what are users complaining about", "go through the feedback issues". Not for one user's own preferences (that is taste), and not for editing a video.

Habilidades Relacionadas