Communitygithub.com

cut-as-code

Skill de roteamento e orquestração para fluxos de trabalho de edição de vídeo, que gerencia o estado do projeto e direciona tarefas para skills especializadas.

O que é cut-as-code?

O skill 'cut-as-code' atua como o ponto de entrada obrigatório para todo trabalho de edição de vídeo baseado em código, fornecendo roteamento inteligente e recuperação de estado do projeto. Ele não realiza edições diretas, mas sim gerencia o fluxo de trabalho, garantindo que cada operação (como corte, correção de cor, adição de B-roll, legendas, cartões de conteúdo e gráficos animados) seja direcionada para o skill de folha apropriado. O sistema lê o arquivo `work/project.json` como o manifesto compartilhado e determina o progresso a partir do status da operação, revisões e estado de renderização, evitando retrabalho desnecessário. Suporta múltiplas plataformas de agente, como Claude Code e Cursor, e usa uma tabela de roteamento baseada no resultado solicitado para decidir qual skill de folha carregar. Ao lidar com várias operações, o 'cut-as-code' orquestra sua execução em ordem canônica (corte, depois correção de cor, B-roll, legendas, cartões de conteúdo, gráficos animados) e garante que a compilação e renderização final ocorram apenas após todas as operações ativas serem validadas.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/WhiteTowerAI/cut-as-code/tree/main/skills/cut-as-code

Perguntar na sua IA favorita

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

Documentação

Ponto de Entrada Cut as Code

Use este como o ponto de entrada obrigatório para trabalho de vídeo cut-as-code. Apenas roteamento próprio e recuperação de estado do projeto. O skill de folha selecionado é responsável pelas decisões editoriais, portas de revisão, scripts, detalhes de renderização e autoverificações.

1. Iniciar a Partir do Estado do Projeto

Aplique a primeira linha correspondente. Não avalie linhas inferiores.

EstadoAção
O usuário nomeia uma operação específica em um projeto existenteInspecione apenas o estado necessário para essa operação, depois carregue seu skill proprietário. Pule a triagem geral.
Uma raiz de projeto explícita contém work/project.jsonLeia work/project.json, work/timeline.json e apenas o plano/evidência da operação selecionada. Retome do estado registrado. Se o proprietário não for único, faça uma pergunta de roteamento.
O usuário fornece um arquivo de origem ou URL, sem projeto, e uma entrega claraCarregue /video-understand para inicializar o projeto e as evidências compartilhadas, depois continue para a operação solicitada.
Nenhum projeto/origem ou nenhuma entrega pretendida é identificávelFaça uma pergunta concisa solicitando o projeto/origem e o resultado desejado que estão faltando. Não inicie um skill ainda.

A raiz do projeto deve ser explícita; nunca trate a raiz do repositório como um projeto de vídeo. Trate work/project.json como o único manifesto compartilhado. Determine o progresso a partir do status da operação, revision, based_on, check e estado de renderização, não pela presença de diretório. Não execute novamente trabalho verificado. Se uma dependência estiver faltando ou desatualizada, complete essa dependência primeiro e depois retome a operação solicitada.

O roteamento é somente leitura. Nunca repare, redefina, aprove, remova ou ative uma operação enquanto decide para onde enviar a tarefa.

2. Roteamento por Entrega

Corresponda ao resultado solicitado, não a uma palavra-chave mencionada de passagem.

Resultado solicitadoSkill proprietário ou fluxo de trabalho
Sondagem, transcrição, análise objetiva, compreensão semântica ou inicialização de novo projeto/video-understand
Apertar, encurtar, remover seções fracas ou criar um primeiro/corte bruto/video-cut depois de /video-understand
Corrigir cor, criar/selecionar um visual ou entregar/aplicar um LUT/video-color-grade; use seu caminho independente somente quando o usuário explicitamente não quiser entrega pelo Protocolo de Projeto
Adicionar cutaways visuais com tempo de transcrição/video-add-b-roll depois de /video-understand
Adicionar gráficos em movimento com origem ou sobreposições semânticas animadas/video-add-graphic-motion depois de /video-understand
Adicionar títulos, barras inferiores, estatísticas, citações, capítulos ou chamadas para ação/video-add-content-cards depois de /video-understand
Adicionar legendas, legendas ocultas ou legendas karaokê/video-add-captions depois de /video-understand
Comparar o original com os pixels finais reais no tempo da fonte/video-edit-compare depois que a entrega principal verificada existir
Selecionar, revisar e planejar intervalos de formato curto/video-to-shorts depois de /video-understand; faça isso antes dos cartões de conteúdo e legendas solicitados
Finalizar e extrair derivados horizontais ou verticais de formato curto aprovadosRetomar /video-to-shorts depois que a entrega principal verificada existir
Compilar ou renderizar uma entrega existente do Protocolo de ProjetoUse build_render_plan.py e render_project.py de /video-understand depois que cada operação ativa selecionada passar por sua própria porta

Uma solicitação genérica como "editar este vídeo" não seleciona exclusivamente /video-cut. Faça uma pergunta de roteamento, a menos que a saída desejada esteja clara a partir do estado existente do projeto ou da solicitação circundante.

3. Orquestrar Solicitações de Múltiplas Operações

Congele apenas as operações que o usuário solicitou; nunca transforme a tabela de roteamento em um pacote padrão. Execute o pré-requisito de compreensão compartilhada uma vez. Execute as operações selecionadas da sequência principal na ordem canônica:

corte -> correção de cor -> B-roll -> legendas -> cartões de conteúdo -> gráficos animados

Para uma solicitação que inclua Shorts, cartões de conteúdo ou legendas, use este fluxo em etapas:

/video-understand
-> /video-to-shorts apenas planejamento e revisão de candidatos
-> /video-add-captions
-> /video-add-content-cards
-> /video-add-graphic-motion
-> compilar e renderizar a entrega principal compartilhada uma vez
-> /video-to-shorts finalizar e extrair derivados aprovados

Complete qualquer operação de alteração de linha do tempo solicitada, como /video-cut, antes do planejamento de Shorts; um work/timeline.json alterado invalida a aprovação de candidatos. O planejamento de Shorts escreve estado de plano/revisão compartilhado e não deve criar final.mp4 ou nada em final/shorts/. Legendas, cartões de conteúdo e gráficos animados adicionam então seus próprios planos compartilhados e contribuições de sobreposição nessa ordem relativa. A mesma ordem se aplica quando apenas um par é selecionado: legendas primeiro, cartões de conteúdo segundo, gráficos animados por último. Releia work/project.json antes de cada transferência. Não execute skills de folha concorrentemente quando eles podem escrever work/project.json, work/timeline.json, um plano de operação ou artefatos de renderização compartilhados. Construa e renderize a entrega principal uma vez, depois que todas as operações ativas selecionadas forem validadas. Execute /video-edit-compare e apenas a fase de finalização/extração de /video-to-shorts contra essa entrega verificada; shorts permanecem fora de sequences.main.operations.

Para /video-add-content-cards e /video-add-graphic-motion, reserve o rosto visível e a silhueta da cabeça de cada pessoa primária ou em primeiro plano, orador, apresentador, entrevistado ou pessoa semanticamente importante para a dica completa. Pessoas incidentais apenas em segundo plano que não são um foco narrativo ou visual estão isentas; proteja casos incertos. Se uma sobreposição tocar um rosto ou cabeça protegido, reposicione-a primeiro, depois redimensione ou redesenhe-a; pule a dica quando nenhum posicionamento compatível existir.

Um resultado com todas as dicas puladas ou zero dicas é válido quando o skill proprietário o permite. Não invente trabalho de preenchimento para manter uma operação ativa.

4. Transferir, Depois Sair

Leia o SKILL.md completo do skill selecionado e cada sub-skill necessário antes de agir. Para uma operação, transfira uma vez e saia deste ponto de entrada. Para uma execução de múltiplas operações solicitada, entre em um proprietário de cada vez; após sua autoverificação, recupere o estado do projeto e continue para a próxima operação congelada sem reabrir a triagem.

Não peça ao usuário para aprovar uma rota que já é inequívoca. A interação do usuário pertence apenas a entradas ausentes, ambigüidade genuína de roteamento, credenciais ou decisões editoriais/de revisão exigidas pelo skill proprietário. Nunca substitua uma decisão de Agente por uma decisão humana necessária, a menos que o usuário a delegue explicitamente.

Exemplo

Para "continuar este projeto compreendido e cortado adicionando legendas", leia as revisões atuais do projeto e da linha do tempo, depois entre em /video-add-captions. Não retranscreva, recorte ou pergunte se legendas são a rota pretendida. Uma operação pendente não relacionada não muda a rota, embora uma operação ativa não verificada possa bloquear a renderização compartilhada final e deve ser relatada pelo compilador.

Regras de Falha

  • Estado de projeto inválido: relate o problema exato de validação; nunca reinicialize sobre ele.
  • Skill de folha ou pré-requisito ausente: pare e nomeie-o; não o reconstrua da memória.
  • Caminho de origem/projeto ausente: peça-o na única pergunta de roteamento.
  • Resultados solicitados conflitantes: pergunte qual entrega é proprietária da execução atual.
  • Alterações ou artefatos existentes do usuário: preserve-os e trabalhe com o estado registrado.

Individual skills in this repo

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

Habilidades Relacionadas