← Voltar ao curso
Nível 3 — Automação e escala · Módulo 3.5 — Automação: routines, headless e CI

3.5.1 · Routines: prompt agendado sem infra sua

5 min de vídeo TODOS

Objetivo: ao final, o consultor cria uma routine para uma tarefa recorrente do Meridiano e sabe enunciar os três limites que decidem se ela cabe ou não no caso dele.

O que você precisa levar desta aula

  1. Uma routine é um pacote salvo — prompt, repositórios, ambiente de nuvem e conectores — que roda na infraestrutura da Anthropic, com o seu notebook fechado. Cria-se com /schedule no CLI ou em claude.ai/code/routines.
  2. Os três limites que decidem se cabe: é research preview; agendamento recorrente tem intervalo mínimo de uma hora; cada execução parte de um clone novo do branch default, empurrando para branches claude/ (outros branches são possíveis, com três condições de recusa).
  3. Routines rodam sem modo de permissão e sem aprovação no meio do caminho — o controle é o que você configura antes: repositórios, rede do ambiente e conectores marcados.

O que é uma routine, em quatro partes

Parte O que você define Por que importa
Prompt A tarefa, com seletor de modelo próprio Roda sozinho: precisa ser autocontido e explícito sobre o que é sucesso
Repositórios Um ou mais repositórios do GitHub Clonados a cada execução, a partir do branch default
Ambiente Acesso de rede, variáveis, script de setup Define o que a sessão alcança na internet; o padrão só libera uma lista de domínios comuns
Conectores Quais conectores MCP da sua conta entram O Claude pode usar qualquer ferramenta do conector incluído, inclusive escrita, sem pedir permissão

Onde criar

Superfície O que dá para fazer
/schedule no CLI (alias /routines) Criar routine com gatilho de agendamento; /schedule list, /schedule update, /schedule run
claude.ai/code/routines Tudo: criar, editar, adicionar gatilho de API ou de GitHub, gerar e revogar token, ver execuções
App de desktop → Routines → New routine Escolha Cloud para routine; escolher Local cria uma tarefa agendada que roda na sua máquina, não na nuvem

As três superfícies escrevem na mesma conta: uma routine criada em qualquer uma aparece imediatamente nas outras. Mas gatilho de API e de GitHub só se configuram pela web — o CLI cria apenas agendamento.

Os três gatilhos

Gatilho Como dispara Detalhe que importa
Schedule Presets: hourly, daily, weekdays, weekly. Ou uma única vez, num horário futuro Horário em fuso local, convertido automaticamente. A execução pode começar alguns minutos depois do horário (stagger), com desvio constante para cada routine. Cron customizado: escolha o preset mais próximo na web e ajuste com /schedule update
API POST no endpoint /fire próprio da routine, com Authorization: Bearer Aceita um campo opcional text para contexto da execução (corpo de um alerta, um log). O token é mostrado uma única vez — guarde na hora
GitHub Evento no repositório Apenas duas categorias: pull request e release. Exige a instalação do Claude GitHub App — /web-setup dá acesso de clone, mas não instala o app nem habilita webhook

Uma mesma routine pode combinar os três: a auditoria matinal do Meridiano pode rodar todo dia às 9h, ser disparada à mão pelo pipeline de transporte, e ainda reagir a cada PR novo.

Os três limites, em detalhe

Limite 1 — research preview. Selo "preview — pode mudar". Comportamento, limites e superfície da API podem mudar sem aviso. O endpoint /fire roda sob um header beta datado; quebras de compatibilidade entram em headers novos, e os dois anteriores continuam funcionando por um tempo. Owner de organização Team ou Enterprise pode desligar routines para todos — se estiver desligado, as existentes param de rodar e ninguém cria novas.

Limite 2 — intervalo mínimo de uma hora. O mínimo para agendamento recorrente é uma hora; expressões de cron mais frequentes são rejeitadas. Execução única (one-off) é exceção quanto à contagem: ela não consome a cota diária de execuções de routine, mas consome o uso normal da sua assinatura, como qualquer sessão.

Limite 3 — clone novo e prefixo de branch. Cada execução clona cada repositório de novo, começando do branch default, a menos que o seu prompt diga outra coisa. Nada de estado persiste entre execuções. Sobre o push:

Destino do push O que acontece
Branch com prefixo claude/ Sempre aceito
Outro branch, pedido pelo seu prompt Aceito, exceto se: o branch está protegido no GitHub · alguém tem PR aberto a partir dele · ele tem commits de autoria de outra pessoa

Duas coisas que não são limite, mas dão problema

Exemplo Meridiano: auditoria matinal de pendências

/schedule todos os dias úteis às 9h, leia a pasta de controle do Meridiano
no repositório, cruze a lista dos 34 RICEFW com o status de transporte
registrado, e abra um resumo com: RICEFW sem especificação aprovada,
RICEFW com transporte pendente em QAS há mais de 5 dias, e objetos sem
responsável atribuído. Se não houver pendência em alguma categoria, diga
isso explicitamente.

Repare em três escolhas do prompt: ele é autocontido (não depende de nada que você diria numa conversa), diz o que é sucesso, e manda declarar explicitamente quando não há pendência — sem isso, silêncio fica ambíguo entre "está tudo em ordem" e "não consegui verificar".

Regra Wayon Routine que toca material de cliente só com o ambiente de nuvem revisado antes: acesso de rede no nível mínimo necessário, e apenas os conectores que a tarefa usa de fato — desmarque todo o resto no formulário. Como a routine é da conta individual e as ações aparecem com o seu usuário, a routine também é sua responsabilidade: se você sair da squad, avise para que ela seja desativada. E nenhuma credencial de cliente nas variáveis do ambiente, que são visíveis a quem usa aquele ambiente.

📖 Automate work with routines · Cloud environments

Quiz — 5 questões

1.Você quer que uma routine monitore o job noturno de carga do MRD de 15 em 15 minutos, avisando assim que ele falhar.
  • a)Configure o cron com */15 * * * * pela web

    O formulário não aceita: expressões mais frequentes que o mínimo são rejeitadas.

  • b)Configure de hora em hora e peça no prompt para checar quatro vezes dentro da mesma execução

    A execução não fica viva esperando; ela roda uma vez e encerra. Você teria quatro leituras do mesmo instante.

  • c)Routine não serve para esse intervalo: o mínimo para agendamento recorrente é uma hora

    Correto. É o limite 2 — mais frequente que isso é rejeitado, e o caso pede outra ferramenta.

Ver resposta e por quê
a) O formulário não aceita: expressões mais frequentes que o mínimo são rejeitadas.
b) A execução não fica viva esperando; ela roda uma vez e encerra. Você teria quatro leituras do mesmo instante.
c) Correto. É o limite 2 — mais frequente que isso é rejeitado, e o caso pede outra ferramenta.
2.Uma routine da auditoria Meridiano rodou ontem e criou um arquivo de controle intermediário no repositório clonado, sem abrir PR. Hoje, na execução seguinte, o prompt conta com aquele arquivo.
  • a)Não vai encontrar: cada execução parte de um clone novo do branch default, e nada persiste entre execuções

    Correto. É o limite 3, e é a causa mais comum de routine que "funcionou no teste e falhou depois".

  • b)Vai encontrar, porque a routine mantém o mesmo workspace entre execuções

    Não mantém. O clone é refeito a cada execução.

  • c)Vai encontrar se o arquivo tiver sido salvo num branch claude/

    Mesmo assim o clone parte do branch default, não do claude/ da execução anterior — o prompt teria que buscar aquele branch explicitamente.

Ver resposta e por quê
a) Correto. É o limite 3, e é a causa mais comum de routine que "funcionou no teste e falhou depois".
b) Não mantém. O clone é refeito a cada execução.
c) Mesmo assim o clone parte do branch default, não do claude/ da execução anterior — o prompt teria que buscar aquele branch explicitamente.
3.Seu prompt de routine manda empurrar o resultado para o branch integracao-fase2, que não tem proteção configurada, não tem PR aberto e só tem commits seus. O que acontece?
  • a)É recusado: routines só empurram para branches com prefixo claude/

    claude/ é sempre aceito, mas não é o único destino possível.

  • b)O push acontece, porque nenhuma das três condições de recusa se aplica

    Correto. Branch protegido, PR aberto de terceiro ou commit de terceiro são as três recusas; fora delas, o push passa.

  • c)É recusado até que um admin afrouxe a regra de prefixo naquele repositório

    Não existe esse afrouxamento por repositório: a checagem é sobre o estado do branch, não sobre uma configuração de permissão.

Ver resposta e por quê
a) claude/ é sempre aceito, mas não é o único destino possível.
b) Correto. Branch protegido, PR aberto de terceiro ou commit de terceiro são as três recusas; fora delas, o push passa.
c) Não existe esse afrouxamento por repositório: a checagem é sobre o estado do branch, não sobre uma configuração de permissão.
4.Um consultor quer disparar uma routine a partir do pipeline de transporte da Wayon, logo depois de uma liberação para QAS. Ele criou a routine com /schedule no CLI e agora procura como adicionar o gatilho.
  • a)Rodar /schedule update e pedir o gatilho de API

    /schedule update altera a routine, mas o CLI não cria nem revoga tokens de API.

  • b)Não é possível: routines só rodam por agendamento

    São três gatilhos — agendamento, API e evento do GitHub — e podem ser combinados.

  • c)Editar a routine em claude.ai/code/routines e adicionar o gatilho de API por lá

    Correto. O CLI cria apenas gatilhos de agendamento; API e GitHub são configurados pela web.

Ver resposta e por quê
a) /schedule update altera a routine, mas o CLI não cria nem revoga tokens de API.
b) São três gatilhos — agendamento, API e evento do GitHub — e podem ser combinados.
c) Correto. O CLI cria apenas gatilhos de agendamento; API e GitHub são configurados pela web.
5.A lista de execuções da routine de auditoria mostra sete dias seguidos com status verde. O gerente de projeto pergunta se a auditoria está funcionando. ---
  • a)Verde só indica que a sessão iniciou e encerrou sem erro de infraestrutura — é preciso abrir as execuções e ler o que o Claude fez

    Correto. Rede bloqueada, conector faltando e falha de tarefa aparecem no transcript, não no indicador.

  • b)Verde confirma que a tarefa do prompt foi cumprida nos sete dias

    Não confirma. É exatamente a leitura errada que o indicador convida a fazer.

  • c)Verde confirma que houve push de resultado em todas as execuções

    O status não diz nada sobre push; uma execução pode terminar verde sem produzir nada.

Ver resposta e por quê
a) Correto. Rede bloqueada, conector faltando e falha de tarefa aparecem no transcript, não no indicador.
b) Não confirma. É exatamente a leitura errada que o indicador convida a fazer.
c) O status não diz nada sobre push; uma execução pode terminar verde sem produzir nada.