O que Spine Animation faz?
Use sua própria compreensão de imagem para planejar as partes e o movimento. O runtime local incluído faz o rigging de uma imagem inteira transparente ou recorta partes, adiciona quadros-chave, exporta os ativos e serve uma pré-visualização. O runtime local não chama uma API de modelo separada nem precisa de uma chave de API. A conclusão de arte, quando necessária, usa as ferramentas de geração/edição de imagem do host.
Pré-voo do ambiente — execute primeiro
Resolva o diretório desta skill a partir da localização do seu SKILL.md. Execute seu lançador com caminhos absolutos; ele também funciona quando seu diretório atual é outro projeto:
node --version
node /caminho/absoluto/para/spine-animation/scripts/spine.mjs doctor \
--segmentation mesh --output /caminho/absoluto/saida --preview
Antes de prepare, validate, build ou iniciar uma pré-visualização:
- Confirme Node.js 20.9+. Se o
nodeestiver faltando ou for mais antigo, prepare um Node compatível usando o gerenciador de pacotes/versão disponível no ambiente antes de iniciar a skill. A skill inclui JavaScript compilado, não o executável Node. - Execute
doctorcom o diretório de saída real do usuário. Usemeshpara a verificação inicial de dependências; isso não seleciona a estratégia de rig da animação. Adicione--previewa menos que o usuário explicitamente ignore a bancada de trabalho. Adicione--editable/--spine-cliapenas quando.spineeditável for necessário. Verifique novamente com--segmentation mobilesamousam3antes de usar explicitamente esse backend; essas verificações também confirmam suas importações Python, sem carregar pesos para inferência. Modelos opcionais ausentes não bloqueiam fluxos de trabalho mesh/polygon. - Leia
result.ready,checks[].requirederepairs. Dentro da autorização existente do usuário, repare apenas os requisitos ausentes para a tarefa atual e, em seguida, reexecute a mesma verificação.repairsfornece comandos comocommandmaisargs; preserve caminhos como argumentos. O reparo de dependências de pacotes instalados usa pnpm no diretório da skill; o checkout do código-fonte usa sua própria instalação de dependências. Inicie cada comando de geração somente após suas próprias verificações necessárias passarem; planejamento/preparação independente pode continuar enquanto os bloqueadores são resolvidos. Não substitua silenciosamente um backend ou formato final solicitado. Se um reparo for bloqueado por rede/acesso ou falhar, relate o bloqueador específico em vez de reinstalar repetidamente ou alegar prontidão. Não instale SAM 3 meramente porque está listado como uma capacidade opcional indisponível.
O doctor de inicialização usa componentes internos do Node e pode relatar Sharp/Express ausentes/quebrados antes que o aplicativo os importe. Ele verifica os arquivos de runtime, a codificação de imagem nativa, o gerenciador de pacotes, a capacidade de escrita do diretório de saída solicitado e recursos opcionais. Ele não instala pacotes ou modelos. pnpm é necessário para reparar dependências ausentes; um runtime já instalado pode executar sem pnpm no PATH.
A prontidão dos recursos de pré-visualização não prova que o agente possui ferramentas de navegador/computador. A skill instalada serve ativos web estáticos pré-construídos; React/Vite são necessários apenas ao desenvolver ou reconstruir o frontend a partir do código-fonte.
Verifique as ferramentas disponíveis do host quando abertura automática de página ou capturas de tela forem solicitadas e relate a verificação visual separadamente. Mantenha o diretório de saída escolhido pelo usuário; o padrão é ./output no diretório de trabalho atual.
A saída stdout é JSON, o progresso vai para stderr, e verificações necessárias com falha saem com código diferente de zero.
Abra a bancada de trabalho no início da tarefa
Para cada solicitação de criação de animação, inicie ou reutilize a bancada de trabalho assim que o pré-voo básico passar, antes de perguntas de seleção de destino, geração de arte, planejamento ou configuração do modelo. Use a pasta de saída do usuário (caso contrário, ./output no diretório de trabalho de chamada). Uma pasta de saída vazia é suportada:
node /caminho/absoluto/para/spine-animation/scripts/spine.mjs preview \
--output /caminho/absoluto/saida
Envie imediatamente o result.url retornado real como um link clicável. No Codex desktop, use uma ferramenta open_in_codex disponível para abri-lo no painel direito do chat atual. Consulte references/workbench-start.md para os argumentos da ferramenta, reutilização de guias e alternativas. Abrir a bancada de trabalho não precisa de uma animação concluída ou de um destino de exportação escolhido.
Mantenha o serviço e a página disponíveis durante a produção e a revisão humana. Após cada compilação concluída, navegue/atualize a bancada de trabalho existente para o previewUrl retornado, ou diga ao usuário para selecionar o novo projeto e clicar em atualizar quando o host não puder automatizar isso. Honre uma solicitação explícita para pular a página da web.
Crie uma animação
-
Com o link da bancada de trabalho já fornecido, identifique a imagem de origem, o movimento solicitado, o destino de exportação e a pasta de saída a partir da conversa. Se o usuário não escolheu um destino de exportação, ofereça Unity (
unity) como a opção padrão/recomendada, Cocos Creator 3.8 e os outros destinos suportados. Aguarde a seleção do usuário antes de qualquer compilação ou exportação; um padrão pré-selecionado ou silêncio não é uma escolha. Reutilize uma escolha explícita existente, incluindo uma instrução para usar o padrão, sem perguntar novamente. Consulte references/export-targets.md para opções e compatibilidade de versão. Verificações de ambiente independentes, preparação de imagem e planejamento podem continuar enquanto aguarda. Reutilize imagens e ativos fornecidos. Quando apenas uma descrição de personagem é fornecida, use uma ferramenta de geração de imagem disponível se o usuário solicitou a criação da arte; caso contrário, obtenha uma imagem de origem. -
Aplique references/image-size.md antes de gerar ou preparar a arte. Padrão para um lado mais longo de 512 px e um PNG de trabalho de 512 KiB. Solicite o menor tamanho de geração adequado e, em seguida, use
preparepara aplicar o orçamento real de pixels/bytes sem alterar o original:node /caminho/absoluto/para/spine-animation/scripts/spine.mjs prepare \ --image /caminho/absoluto/personagem.png --workdir /caminho/absoluto/planos/personagem \ --max-edge 512 --max-bytes 524288 \ --prompt "parado 2 segundos, pequenos balanços de cabeça e braços, piscando" -
Inspecione o
sourceImageretornado com sua capacidade de visualização de imagem. Leia references/plans.md para formatos de coordenadas e quadros-chave. Use oimageSizeretornado como base de coordenadas; registreimageBudget. Confirme que olhos, dedos e contornos finos permanecem legíveis após a redução. Defina as poses-chave da ação e as juntas que se movem independentemente, depois escolha o rig usando references/artwork-completion.md. Malha (mesh) de imagem inteira é adequada para movimento de parada pequeno e coerente suportado pelos pixels existentes. Para movimento de membros articulados, grandes rotações de juntas ou sobreposição variável, use camadas recortadas/completadas separadas com sobreposição de juntas e regiões ocultas preenchidas. Use anexos/poses alternativos quando mudanças de mão, rosto ou perspectiva precisam de arte diferente; combine esses métodos conforme necessário. Não reutilize um rig de imagem inteira para um soco, caminhada ou dança meramente para evitar emendas, ou reduza a ação solicitada para caber nesse rig. Registre a escolha e as partes móveis necessárias comorigDecisionemquality-review.json. Verifique se o caminho de compilação ativo pode consumir os ativos e realizar as poses necessárias antes de investir em quadros-chave. Complete e inspecione a arte faltante quando suportado; resolva uma capacidade faltante ou escopo revisado com o usuário antes de continuar a produção dependente. Escrevaanalysis.jsonemotion.jsonvocê mesmo. Não peça ao usuário para criar esses arquivos. Divida nas juntas que precisam de movimento relativo e nos limites necessários para camadas visuais; evite cortes desnecessários em regiões fixas. Useauto/mobilesam/sam3/polygonpara recortar uma origem existente.autoseleciona um backend de máscara instalado, não uma estratégia de rig. Para bordas sujas, solicitações SAM ou nova arte transparente, leia references/cutouts.md antes de escolher um caminho. -
Valide e construa um candidato a revisão. Leia references/human-review.md antes da primeira compilação para que o candidato inclua as evidências necessárias para a revisão de qualidade humana. O exemplo abaixo recorta partes com
polygon; use o backend escolhido para a tarefa real. Usemeshpara uma estratégia de imagem inteira ou um caminho de integração de camada/pose testado quando abuildpadrão não puder realizar as poses necessárias:node /caminho/absoluto/para/spine-animation/scripts/spine.mjs validate \ --image /caminho/absoluto/planos/personagem/source.png \ --analysis /caminho/absoluto/planos/personagem/analysis.json \ --motion /caminho/absoluto/planos/personagem/motion.json node /caminho/absoluto/para/spine-animation/scripts/spine.mjs build \ --image /caminho/absoluto/planos/personagem/source.png \ --analysis /caminho/absoluto/planos/personagem/analysis.json \ --motion /caminho/absoluto/planos/personagem/motion.json \ --project character-motion --output /caminho/absoluto/saida \ --target unity --segmentation polygon --background transparent --blink --previewSempre passe o ID selecionado pelo usuário com
--target; o exemplo acima assume que Unity foi escolhido. Adicione--blinkapenas quando piscar for solicitado e o personagem tiver olhos escuros claros e frontais. Omita--motionpara usar o padrão de parado. Use--namepara um nome de ativo estável. Ao iterar um trabalho gerado anteriormente, use--replace; outros projetos e origens permanecem separados. -
Atualize a bancada de trabalho já aberta para o
previewUrlretornado, reutilizando sua guia quando suportado. Verifique a imagem original em relação à animação parada e no maior movimento, e inspecione um quadro de olhos fechados quando piscar foi solicitado. Ajuste os planos e reconstrua quando um defeito concreto for visível. Verifique também a ação solicitada em relação às suas poses-chave: um soco precisa de um golpe e recuperação legíveis, com uma forma de mão adequada e mecânica corporal. Registre as autoverificações de imagem/ação separadamente da validação de arquivo. Complete os pontos de verificação humanos abaixo antes de considerar o resultado aceito. Preserve as páginas abertas solicitadas.
Pontos de verificação de qualidade humanos
Use três pontos de verificação durante a produção da animação:
| Ponto de verificação | Revisões humanas |
|---|---|
| Materiais e rig | Estratégia de rig, partes recortadas/completadas reais ou textura de imagem inteira, sobreposição de juntas, poses de repouso/extremas |
| Movimento | Animação reproduzível, poses extremas, emenda de loop e olhos fechados/reabertos quando solicitado |
| Entrega | O formato de destino da revisão analisada, arquivos reais e quaisquer limitações não resolvidas |
Aguarde a aprovação humana explícita antes de avançar para além de um ponto de verificação de qualidade. Compilações e exportações de rascunho são permitidas para produzir evidências de revisão. Corrija primeiro os defeitos que o agente pode identificar, depois mostre as imagens/pré-visualização reais e peça feedback direcionado. Uma compilação bem-sucedida ou a própria verificação visual do agente não constitui aprovação humana.
Siga references/human-review.md para listas de verificação, registros de revisão e mudanças que exigem outra revisão. Apresente os pontos de verificação juntos quando suas evidências estiverem prontas e reutilize a aprovação explícita de artefatos inalterados. Honre a instrução explícita de um usuário para pular ou relaxar um ponto de verificação; registre esse ponto de verificação como dispensado em vez de aprovado.
Qualidade e entregáveis
- Use identificadores de partes em inglês.
parentdescreve herança de movimento;depthdescreve ordem de desenho. Mantenha um membro com seu objeto segurado quando eles se moverem juntos. - Corresponda o rig à ação solicitada. Mantenha juntas articuladas conectadas através de pivôs adequados, arte completa sobreposta e pesos ajustados. Use deformação de malha local dentro de camadas separadas quando útil; verifique se os membros em movimento realmente articulam independentemente. Arte faltante ou os limites de movimento da compilação padrão exigem um caminho de arte/integração compatível ou uma mudança de escopo acordada, em vez de um gesto substituto menor.
- Uma imagem inteira transparente ainda precisa de regiões de osso e pivôs. Malhas de imagem inteira suportam deformações coerentes; opacidade por parte e oclusão que muda independentemente exigem camadas separadas. Não prometa arte não vista.
buildnunca baixa ambientes SAM/Python ou chama APIs de geração de imagem.doctorrelata a disponibilidade opcional de MobileSAM/SAM 3 local.autousa um backend instalado e relata fallbacks de polígono reais; modos SAM explícitos falham quando indisponíveis. Usesam-setupapenas como parte do trabalho SAM solicitado quando a instalação do modelo local se encaixar no escopo e nas restrições de recursos do usuário.- Para arte recém-solicitada, prefira a opção de fundo transparente real de um gerador e, em seguida, verifique o alfa com
inspectouprepare --background transparent. Um padrão quadriculado pintado em RGB não é transparência. Evite fundos de tela verde para novos ativos. RGBA existente ainda pode ter bordas com cor de fosco; o build inspeciona o alfa e repara conservadoramente o derramamento de cor identificável. - Mantenha imagens normais de trabalho dentro de 512 px / 512 KiB. Use um orçamento maior apenas para um requisito de tamanho explícito do usuário ou uma necessidade de detalhe concreta; registre o motivo. Verifique as dimensões/bytes do atlas final e reconstrua a partir da origem orçada quando for muito grande, em vez de redimensionar uma textura exportada por conta própria.
- Inspecione os
warningsda compilação. Não afirme que uma piscada pulada ou projeto editável indisponível foi produzido. Os entregáveis padrão são.json,.atlase.pngcom o mesmo nome; um arquivo.spineeditável adicionalmente precisa de um editor Spine instalado e--editable(ou--spine-cli /caminho/para/editor). Relate essa limitação quando aplicável. - Retorne o link de pré-visualização, pasta ou arquivos de artefato, animações e o que foi verificado, incluindo o status da revisão humana. Trabalho pendente ou rejeitado permanece um candidato a revisão. Inspecione as bordas contra fundos de pré-visualização claros e escuros. Se nenhum navegador estiver disponível, relate a verificação visual como incompleta e deixe o humano inspecionar a pré-visualização ou imagens disponíveis.
O servidor de pré-visualização...