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:
- 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.
- Com mais de um: qual parte de quem? Ainda não sei (Recomendado): pergunte novamente após
o Passo 3b, com o
look.mdde 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:
- Mapa de beats + marcações. Cada vídeo dividido em beats rotulados com marcações de segundos e contagens de palavras.
- Perfil de voz/vocabulário. Tamanho da frase, pessoa, comandos, frases recorrentes e os movimentos que o usuário não diria.
- Passagem visual. Sempre: Passo 3b. É o que permite ao usuário editar seu próprio vídeo neste estilo.
- 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.jsonno formato descrito em${CLAUDE_SKILL_DIR}/references/edit-plan.md.scripts/strip.pyprecisa de ffmpeg,numpyepillow.
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).
visual.py: cortes e seus tipos, duração dos takes, zooms, pans e tremores.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.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 paravideo/left-out/(format.jsondiz 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.- A passagem da planilha: uma chamada de Agente com
model: "haiku"lêsheets/<id>.jpgpara cada vídeo mantido (uma planilha 3 x 3 cada, feita porvisual.py) e escrevevideo/<id>.look-ai.jsonconforme o prompt delookpass.py: fonte, estilo de gráficos, transições, o que não é genérico. Nunca um número. Resumo exato emreferences/look-pass.md.lookpass.py mergeos 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
| mensagem | o que fazer |
|---|---|
doctor Not ready: ... | siga references/setup.md para cada linha que listar |
yt-dlp returned nothing / parsed 0 videos | leia 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 falha | diga 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 first | execute 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 found | execute fetch.py doctor e corrija o que listar |
| alguns vídeos falham ao transcrever | tente 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.
paceezoomvêm devisual.py;captions,face,graphicsemotiondelook.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.