O que phone-reel-pipeline faz?
Pipeline completo de Android para reel do Instagram. O celular fornece os vídeos (e opcionalmente inspiração de tendências); o PC faz toda a edição; o celular recebe o reel finalizado para o usuário postar manualmente. Este skill orquestra seus skills irmãos — não contém scripts próprios e não duplica nenhuma lógica deles. Uma única chamada executa toda a cadeia: o agente desbloqueia o celular sozinho (PIN do cofre, sem o usuário tocar no aparelho) e navega pelo app Edits também sozinho quando inspiração é desejada.
Skills irmãos neste repositório — phone-reel-pipeline redireciona para eles, não os reimplemente: phone-media-bridge gerencia a conexão do dispositivo, desbloqueio da tela de bloqueio e transferência de mídia, ig-edits-inspiration gerencia a inspiração do app Edits (captura somente leitura mais navegação autônoma em um celular desbloqueado), reel-maker gerencia a montagem do reel no PC (e por sua vez delega para clip-picker e video-tool-router — nunca chame esses dois diretamente daqui). Leia o SKILL.md do skill irmão em seu caminho relativo antes de cada fase; seus documentos são autoritativos para flags, caminhos e pegadinhas.
Quando usar
Gatilhos: "reel completo a partir do celular", "fazer um reel com meus vídeos do celular", "do celular para o reel", "puxar do celular e fazer um reel", ou qualquer tarefa que abranja dispositivo → PC → dispositivo em uma única execução.
NÃO usar para:
- Edição puramente no PC com vídeos já no disco e sem envolvimento do celular → invoque reel-maker diretamente.
- Apenas inspiração ("o que está em alta", "roteiro para esta edição", sem montagem ainda) → invoque ig-edits-inspiration diretamente.
- Postagem → sempre o usuário, no celular, manualmente. Nenhum skill neste repositório posta, agenda ou envia nada — a postagem automática foi explicitamente descartada.
Fluxo de trabalho
Fase 0 — Verificação do dispositivo + desbloqueio
Execute adb devices -l. Localize o adb através da cadeia de scripts da ponte (flag --adb, variável ADB, PATH e depois fallback do platform-tools do WinGet). Se a lista de dispositivos estiver vazia, PARE e mostre esta lista de verificação ao usuário:
- Sem fio: celular na mesma rede Wi-Fi do PC, depuração sem fio ATIVADA (reparcelhar com código +
adb connect <ip>:<port>se a conexão tiver caído). - USB: cabo com capacidade de dados (não apenas de carga), modo Transferência de Arquivos (MTP), depuração USB ativada, prompt de impressão digital RSA aceito no celular.
Se o dispositivo aparecer como unauthorized, não prossiga — peça ao usuário para aceitar o prompt RSA no celular e execute novamente adb devices -l. Só continue quando o dispositivo aparecer como device. Em seguida, desbloqueie para a execução autônoma (sem necessidade de toque do usuário):
C:\Python314\python.exe %USERPROFILE%\GitHub\editor-pack\skills\phone-media-bridge\scripts\unlock.py
ALREADY_UNLOCKED → prossiga. VAULT_ENTRY_MISSING → colete phone-1:password através do pop-up do cofre (python "%USERPROFILE%\.agents\skills\secure-vault\vault.py" gui --request "phone-1:password"), depois execute novamente. Regras completas em phone-media-bridge Fase 0b.
Fase 1 — Inspiração (OPCIONAL, apenas se o usuário quiser edições guiadas por tendências)
Faça uma pergunta: edição guiada por tendências (inspiração do Edits) ou montagem direta (link de referência ou livre)? Se o usuário quiser orientação por tendências, passe para ig-edits-inspiration: ele captura do app Edits (captura somente leitura preferencial; navegação autônoma pela interface permitida no celular desbloqueado conforme sua doutrina) e retorna uma receita no formato do reel-maker. Essa receita se torna a especificação de montagem para a Fase 3. Pedir ao usuário para navegar pelo Edits por conta própria é o fallback de caminho rápido, não um requisito — o agente dirige quando o usuário não o fez. Se o usuário pular a inspiração, vá direto para a Fase 2 — a Fase 1 do reel-maker já aceita um link de referência, portanto qualquer link que o usuário forneceu segue com a transferência inalterado.
Fase 2 — Captura de mídia
Passe para phone-media-bridge: execute sua etapa de inventário, depois mostre ao usuário um resumo compacto por pasta (nome da pasta, quantidade de clipes, tamanho total — não um despejo completo de arquivos) e faça UMA pergunta (seleção múltipla) sobre quais pastas/clipes capturar. Em seguida, execute sua etapa de captura. A mídia capturada vai para a junção skills\phone-media-bridge\scripts\phone_pull (fisicamente em D:\EditorPackArchive). A mídia permanece em D: — os editores leem de lá, nunca a copiam para C:. Retomável com segurança: se o celular for desconectado durante a captura, execute a captura novamente; veja as Pegadinhas.
Fase 3 — Montagem no PC
Invoque o fluxo do reel-maker com a receita da Fase 1 (ou link de referência) mais a pasta de mídia da Fase 2. O reel-maker delega para clip-picker + video-tool-router por conta própria — não duplique esse roteamento aqui. Duas coisas para transportar explicitamente: (a) a mídia do celular geralmente é HEVC/HDR, portanto a proteção HLG 10 bits do video-tool-router se aplica (mapeamento de tom antes da correção de cor/queima de legendas, caso contrário as cores desbotam); (b) a decodificação HEVC é lenta, portanto espere que a Fase 3 domine o tempo de execução (veja as pegadinhas do clip-picker).
Fase 4 — Envio de volta (PORTÃO DE APROVAÇÃO)
REGRRA RÍGIDA: NUNCA envie nada para o celular sem a aprovação explícita do usuário para aquele arquivo exato nesta execução. Terminar a Fase 3 NÃO implica permissão para enviar. Pare ao final da Fase 3 e informe o(s) caminho(s) local(is) no PC, duração e tamanho; pergunte "enviar para o celular?" e prossiga apenas com um "sim". Uma instrução genérica "fazer reels" nunca conta como aprovação para envio.
Uma vez aprovado, passe para a etapa de envio do phone-media-bridge (push_reel.py): envie o reel_<nome>_vN.mp4 finalizado para /sdcard/Movies/Reels no celular. Verifique se o arquivo existe no dispositivo (adb shell ls) e relate seu tamanho em bytes em comparação com a cópia no PC.
Fase 5 — Entrega (o usuário posta)
Execute a etapa do phone-media-bridge que abre o Instagram no celular (push_reel.py --open-app). Depois PARE: o USUÁRIO posta, manualmente, no aplicativo Instagram. NUNCA postagem automática — explicitamente descartada. Relate: o caminho do reel (caminho no celular + caminho no PC), o número da versão e uma pequena lista do que verificar antes de postar (legendas legíveis, áudio presente, proporção correta).
Saída
reel_<nome>_vN.mp4no celular (/sdcard/Movies/Reels/) + a cópia no PC mantida na pasta do projeto (versionada; nunca sobrescreva v1).- Um relatório de status completo: cada fase aprovada / pulada / falhou, tempos de relógio por fase, qual skill irmão cuidou de cada fase e ressalvas honestas (veja abaixo). Exemplo de formato: Fase 0 aprovada (dispositivo
<serial>, desbloqueado via cofre, 5s) → Fase 1 pulada (usuário escolheu montagem direta) → Fase 2 aprovada (3 clipes, 1,2 GB, 4 min) → Fase 3 aprovada (reel_<nome>_v1.mp4, 22 min) → Fase 4 aprovada (envio verificado, tamanhos iguais) → Fase 5 entregue (Instagram aberto, usuário posta).
Pegadinhas
- Junção ausente após um clone novo:
skills\phone-media-bridge\scripts\phone_pullé uma junção paraD:\EditorPackArchivee não sobrevive a um clone novo — recrie-a conforme a documentação do phone-media-bridge antes da Fase 2. - Celular desconectado durante a execução: capturas são retomáveis com segurança (execute a etapa de captura novamente); envios não são — execute
push_reel.pynovamente e reverifique comadb shell ls. - Celular bloqueando novamente durante a execução:
unlock.pydefine manter ativo + tempo limite de 30 minutos, mas uma reinicialização ou bloqueio manual reativa a tela de bloqueio — executeunlock.pynovamente (o PIN permanece no cofre, nenhuma ação do usuário necessária) e continue. - Decodificação HEVC é lenta (pegadinha do clip-picker): as folhas de contato e a pontuação de movimento em mídia do celular demoram mais do que em H.264 — diga isso de antemão, não reduza a amostragem para compensar.
- Nunca postagem automática: nenhuma automação de interface do fluxo de postagem do Instagram, nenhum agendamento, nenhum upload. Abrir o aplicativo para o usuário é a última etapa automatizada.
Regras de relatórios honestos
- Relate o que foi realmente verificado versus assumido, por fase: serial do dispositivo visto em
adb devices -l(não "celular conectado"), desbloqueio verificado via dumpsys (não "celular aberto"), contagens de bytes da captura correspondentes (não "arquivos copiados"), envio verificado comadb shell ls+ correspondência de tamanho, Instagram aberto (não "reel postado"). - Se uma fase foi pulada (por exemplo, sem inspiração), diga explicitamente — nunca implique que sua saída existe.
- Honestidade de tempo: relate o tempo de relógio medido por fase; o tempo de transcodificação/pontuação HEVC é trabalho real, não uma sobrecarga a ser ocultada.
- Sinalize ressalvas de qualidade em vez de enviá-las silenciosamente: seleções tremidas, HDR desbotado, limites de repostagem de áudio emprestado (as regras da Fase 5 do reel-maker se aplicam).