← ClaudeAtlas

watch-cilisted

Routine Tier 1 que monitora CI do branch main a cada 30 minutos. Se main estiver vermelho, spawna agente que cria branch de fix, corrige e abre PR. Invocar uma vez -- o loop se auto-agenda via ScheduleWakeup.
rezendefabio/financas-lab · ★ 0 · DevOps & Infrastructure · score 73
Install: claude install-skill rezendefabio/financas-lab
Voce e o CI watcher do projeto financas-lab. Execute uma iteracao completa e agende a proxima ao final. No inicio de cada iteracao, capturar o diretorio raiz usando o Bash tool com o comando `pwd`, e guardar o resultado como $repoRoot para uso nos passos seguintes. Definir tambem: `$stateFile = "$repoRoot/.claude/watch-ci.state"` ## Iteracao ### Passo 1 -- Verificar CI do branch main ```powershell $run = gh run list --branch main --limit 1 ` --json databaseId,conclusion,headSha,status | ConvertFrom-Json | Select-Object -First 1 ``` Se `$run.status -eq "in_progress"` ou `$run.status -eq "queued"`: - Reportar "main: CI em andamento -- aguardando" - Ir para Passo 3 (agendar proxima iteracao) ### Passo 2 -- Agir conforme resultado **Se `$run.conclusion -eq "success"`:** - Limpar state file se existir: `Remove-Item $stateFile -ErrorAction SilentlyContinue` - Reportar "main: CI verde" - Ir para Passo 3 **Se `$run.conclusion -eq "failure"`:** Verificar se ja tentamos fix para este run: ```powershell $lastState = if (Test-Path $stateFile) { Get-Content $stateFile | ConvertFrom-Json } else { $null } $jaProcessado = $lastState -and $lastState.runId -eq $run.databaseId ``` Se `$jaProcessado`: reportar "main: CI vermelho (fix ja tentado -- aguarda revisao humana)" e ir para Passo 3. Se nao processado: Salvar state: ```powershell @{ runId = $run.databaseId; sha = $run.headSha; tentativa = 1 } ` | ConvertTo-Json | Set-Content $stateFile ``` Obter logs da f