Already Told You: automatizar uma tarefa
Trabalhe uma tarefa de cada vez, em linguagem simples, e confirme cada etapa com o usuário. Nada fora
de ~/already-told-you/ é criado ou alterado sem um "sim".
- Escolha a tarefa. Leia o arquivo
~/already-told-you/<YYYY-MM-DD>/findings.jsonmais recente (Glob). Se não existir → "Execute /already-told-you:run primeiro" e pare. Mostre a seção D como uma lista numerada: título, horas/semana atuais → minutos depois,howsugerido. Use$ARGUMENTSse nomear uma; caso contrário, pergunte qual. - Acorde a forma. Reexpresse a tarefa como: gatilho (quando / quem inicia) → o que o Claude faz → o que sai → onde o humano aprova. Confirme o tipo de automação usando as opções abaixo; altere se o usuário preferir. Pergunte apenas o que está faltando (qual pasta, qual aplicativo, que horário, para onde a saída deve ir).
- Crie a skill. Toda automação passa por uma skill. Se a seção C esboçou uma para esta tarefa, comece a partir de
<report>/skills/<name>/SKILL.md; caso contrário, escreva um novo rascunho lá com as mesmas regras (frontmattername+descriptioncitando as palavras do usuário; passos numerados; último passo = aprovação). Mostre-o, refine com o usuário, depois instale-o com o instalador empacotado, nunca escrevendo você mesmo em uma pasta de skills: pergunte onde (~/.claude/skills= todos os projetos,${CLAUDE_PROJECT_DIR}/.claude/skills= este projeto), executepython3 ${CLAUDE_PLUGIN_ROOT}/scripts/install_skill.py --check --src <report>/skills/<name> --dest <dest>, e após um simpython3 ${CLAUDE_PLUGIN_ROOT}/scripts/install_skill.py --install --src <report>/skills/<name> --dest <dest>(ele pede permissão e nunca substitui uma skill existente a menos que o usuário concorde com--force). A etapa de aprovação: se a tarefa envia, publica, posta, paga ou exclui, a skill prepara o resultado e para. Execuções agendadas não têm ninguém para perguntar, então em uma execução agendada a skill apenas escreve um rascunho em uma pasta (ou um rascunho no aplicativo, por exemplo, um rascunho de e-mail) e o usuário aprova depois. Nunca deixe uma execução agendada enviar. - Conecte / agende - apenas o que o tipo escolhido precisa:
skill + MCP: nomeie a conexão de aplicativo que a tarefa precisa. Se não estiver conectada, diga ao usuário como (claude mcp add ...pela documentação do aplicativo,/mcppara verificar, ou um conector do claude.ai). Nunca cole segredos em arquivos ou chat; chaves de API pertencem ao armazenamento secreto do próprio usuário ou ao ambiente.agendamento (desktop): forneça cliques passo a passo para o aplicativo Claude Code Desktop → Rotinas → nova tarefa local, com o prompt exato para colar (/<skill-name>mais qualquer detalhe), o agendamento, a pasta do projeto e a escolha de permissão. Lembre: funciona apenas enquanto o aplicativo está aberto e o computador acordado.agendamento (rotina): forneça a linha exata para digitar, por exemplo,/schedule toda segunda às 9h, execute /<skill-name> ..., e diga que é executado na nuvem em uma cópia nova de um repositório GitHub com conectores - sem arquivos locais.agendamento (cron)no macOS: preencha o modelo launchd abaixo. Encontre o caminho do claude comcommand -v claude(pergunte antes de executar). Escreva o plist preenchido em~/already-told-you/automation/<label>.plistprimeiro e mostre-o. Após um sim, copie para~/Library/LaunchAgents/e carregue comlaunchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/<label>.plist(cada comando pede permissão).--allowedToolsnele deve listar apenas o que a tarefa precisa - nunca--dangerously-skip-permissions. No Linux, mostre a linha crontab equivalente para o usuário adicionar comcrontab -e.
- Teste uma vez se o usuário concordar: execute a skill agora manualmente e mostre o rascunho que ela produziu.
- Finalize. Resuma o que foi configurado, onde a aprovação ocorre, o tempo que deve economizar (horas/semana atuais → minutos depois, do relatório) e exatamente como desligar.
Opções de automação (verificado em code.claude.com/docs, outubro de 2026 - use apenas estas)
Escolha a opção mais leve que realiza totalmente a tarefa. O campo how assume um de: skill, skill + MCP, schedule (desktop), schedule (routine), schedule (cron).
skill- a tarefa é a mesma receita toda vez, iniciada pelo usuário. Uma skill em~/.claude/skills/<name>/(todos os projetos) ou<project>/.claude/skills/<name>/(um projeto) transforma uma explicação e direção de 15 minutos em um comando/<name>. Normalmente também esboçada na seção C.skill + MCP- a receita precisa de outro aplicativo (e-mail, calendário, Notion, Slack, um banco de dados...). A skill chama esse aplicativo através de um servidor MCP. O usuário o conecta comclaude mcp add ...ou/mcp, ou usa um conector do claude.ai. Nomeie apenas um aplicativo específico se o histórico mostrar que ele o usa.agendamento (desktop)- deve acontecer em um ritmo e precisa de arquivos locais. Tarefas agendadas no desktop no aplicativo Claude Code Desktop (página Rotinas → nova tarefa local) iniciam uma nova sessão no horário e frequência escolhidos. Executa na máquina do usuário, apenas enquanto o aplicativo estiver aberto e o computador acordado; as permissões são definidas por tarefa.agendamento (rotina)- deve acontecer em um ritmo e não precisa de arquivos locais (funciona em um repositório GitHub ou através de conectores). Rotinas são executadas na nuvem da Anthropic mesmo quando o laptop está fechado; crie uma com/scheduleno Claude Code (por exemplo,/schedule toda segunda às 9h, ...) ou em claude.ai/code/routines. Visualização de pesquisa, planos Pro/Max/Team/Enterprise, intervalo mínimo de uma hora.agendamento (cron)- fallback sem o aplicativo Desktop: macOSlaunchd(oucron) executaclaude -p "/<skill-name>"headless em um horário definido, com--allowedToolslistando apenas o que a tarefa precisa.
Não é uma opção para uma tarefa recorrente: /loop e tarefas cron de sessão só são executadas enquanto uma sessão do Claude Code estiver aberta e expiram após sete dias.
Regra de aprovação para toda automação: qualquer coisa que envie, publique, pague ou exclua para para uma etapa de aprovação humana (a execução prepara um rascunho ou uma pré-visualização; o usuário diz sim antes de sair).
Modelo launchd (agendamento (cron) no macOS)
Preencha cada {{...}} e salve como <label>.plist:
{{label}}- ex.:com.already-told-you.weekly-client-update{{claude}}- caminho absoluto impresso porcommand -v claude{{skill}}- o nome da skill instalada{{tools}}- apenas o que a tarefa precisa, ex.:Read,Write(~/drafts/**),Bash(git log *){{project}}- pasta absoluta do projeto onde a tarefa funciona{{weekday}}/{{hour}}/{{minute}}- 0 = domingo; hora 0-23{{home}}- a pasta pessoal do usuário escrita por extenso (launchd não expande~)
A primeira linha do arquivo deve ser a declaração XML, seguida da linha DOCTYPE do Apple plist
(PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"), depois:
<plist version="1.0">
<dict>
<key>Label</key><string>{{label}}</string>
<key>WorkingDirectory</key><string>{{project}}</string>
<key>ProgramArguments</key>
<array>
<string>{{claude}}</string>
<string>-p</string>
<string>/{{skill}} (execução agendada: prepare apenas rascunhos, nunca envie, publique, pague ou exclua)</string>
<string>--allowedTools</string>
<string>{{tools}}</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Weekday</key><integer>{{weekday}}</integer>
<key>Hour</key><integer>{{hour}}</integer>
<key>Minute</key><integer>{{minute}}</integer>
</dict>
<key>StandardOutPath</key><string>{{home}}/already-told-you/automation/{{label}}.log</string>
<key>StandardErrorPath</key><string>{{home}}/already-told-you/automation/{{label}}.log</string>
</dict>
</plist>
Verifique o arquivo final com plutil -lint <file> antes de mostrá-lo ao usuário.