Communitygithub.com

balantrapu87/amds

Executa o SDLC agentico de 4 Fases (Especificação -> Teste Vermelho -> Implementação Verde -> Portão de Qualidade) para o AI Motion Design Studio.

O que é amds?

Esta skill define um fluxo de trabalho SDLC (Ciclo de Vida de Desenvolvimento de Software) rigoroso e automatizado para o AI Motion Design Studio, garantindo que cada recurso ou correção seja implementado com segurança, testabilidade e qualidade. Ela impõe quatro fases sequenciais: 1) Sincronização de Contratos, onde os schemas Python (Pydantic) e TypeScript (Remotion) são alinhados; 2) Fase Vermelha, que exige a criação e falha de testes antes de qualquer implementação; 3) Fase Verde, para codificação mínima que satisfaça os testes, respeitando regras como a Lei do Frame Determinístico; e 4) Portão de Qualidade com um loop de autocorreção de até 3 tentativas, executando análise estática, testes automatizados e renderização headless Chromium. Em caso de falha após 3 tentativas, os arquivos são revertidos seletivamente, preservando o baseline limpo. A skill suporta plataformas como Claude Code, Cursor e Codex, e utiliza ferramentas como Pytest, Vitest/Jest, mypy e Remotion CLI.

Funciona com~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/balantrapu87/amds/tree/HEAD/.agents/skills/motion-sdlc

Perguntar na sua IA favorita

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

Documentação

Manual de Execução SDLC do Motion Studio

Quando encarregado de implementar um recurso ou correção de bug neste repositório, execute exatamente estes passos em ordem:

Passo 1: Sincronização de Contratos (Portão de Especificação)

  1. Inspecione engine/schemas.py e remotion/src/types.ts.
  2. Adicione ou modifique campos para atender aos requisitos do recurso.
  3. Valide que os modelos Pydantic compilam:
    python3 -c "import engine.schemas as s; print('Schemas OK')"
    
    (Nota: Se existir um virtualenv do projeto, invoque via .venv/bin/python3).
  4. Nunca prossiga para o código de implementação até que os contratos em ambas as linguagens estejam alinhados.

Passo 2: Fase Vermelha (Autor Testes com Falha)

  1. Escreva um novo arquivo de teste ou caso de teste em tests/ (Pytest) ou remotion/src/__tests__/ (Vitest/Jest).
  2. Teste validação de schema, casos extremos e saída serializada esperada.
  3. Execute o teste e confirme a falha:
    pytest tests/
    # Se o executor de testes frontend estiver configurado em remotion/package.json:
    npm --prefix remotion test -- --run
    
  4. Registre o trace de falha. Se o teste for aprovado imediatamente, reescreva-o para testar a nova capacidade real. A fase Vermelha é satisfeita apenas quando os testes falham com as asserções esperadas.

Passo 3: Fase Verde (Implementação Mínima)

  1. Escreva o código mínimo em engine/ ou remotion/src/ para satisfazer o teste com falha.
  2. No Remotion, siga rigorosamente a Lei do Frame Determinístico:
    • A derivação deve vir estritamente de useCurrentFrame() e useVideoConfig().
    • Nunca use Date.now(), Math.random() ou requestAnimationFrame() sem limite.
  3. Preserve os padrões arquiteturais existentes (<Series>, <Sequence>, <ThreeScene>, <KineticScene>).
  4. Garanta que os assets vetoriais preservem IDs e classes conforme remotion/svgo.config.mjs para direcionamento GSAP.

Passo 4: Portão de Qualidade e Loop de Autocorreção Automatizada

Acompanhe o contador de iterações do loop (ATTEMPT ∈ {1, 2, 3}). Execute cada portão sequencialmente sem mascarar códigos de saída (não anexe || true):

# Nível 1: Análise Estática de Tipos
python3 -m mypy engine/schemas.py engine/api.py
npm --prefix remotion run build -- --bundle-cache=false

# Nível 2: Conjuntos de Testes Automatizados
pytest tests/
# Se o executor de testes frontend estiver configurado em remotion/package.json:
npm --prefix remotion test -- --run

# Nível 3: Rasterização de Frame com Chromium Headless
(cd remotion && npx remotion still src/index.ts MainComposition /tmp/smoke.png \
  --props='{"scenes":[],"theme":{}}' \
  --gl=angle \
  --overwrite)

Política de Autocorreção e Reversão

  • Em caso de Falha (Tentativa 1 ou 2):

    1. Capture o caminho exato do arquivo, número da linha com falha e stderr/traceback.
    2. Implemente um patch mínimo e direcionado, tratando estritamente o erro relatado.
    3. Incremente ATTEMPT e reinicie o Nível 1.
  • Em caso de Falha (Tentativa 3 - Orçamento Esgotado): Interrompa modificações especulativas imediatamente e reverta apenas os arquivos de recurso alterados e criados (nunca realize uma limpeza global geral):

    # Plano B de Exaustão do Nível 4: Direcionar apenas escopos de código do recurso
    git restore --staged --worktree engine/ remotion/ tests/
    git clean -fd engine/ remotion/ tests/
    rm -f /tmp/smoke.png
    echo "Portão de qualidade falhou após 3 tentativas. Caminhos de código alvo restaurados ao baseline limpo."
    exit 1
    

    (Alternativa para preservar trabalho para análise post-mortem: git stash push -u -m "sdlc-failed-attempt-$(date +%s)" -- engine/ remotion/ tests/)

  • Em caso de Sucesso (Todos os Níveis Saem com 0): Remova artefatos transitórios e crie o commit verificado:

    rm -f /tmp/smoke.png
    git add engine/ remotion/ tests/
    git commit -m "feat(motion-sdlc): implement verified feature with green test gate"
    

Habilidades Relacionadas