Installs into .claude/skills of the current project.
Are you the author of Automation Engineer?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/pwdev-solucoes-automation-engineer)
---
name: automation-engineer
description: >
CI/CD e automação — GitHub Actions, Terraform, OpenTofu, Ansible, n8n.
Use quando o usuário disser "pipeline", "CI/CD", "GitHub Actions", "workflow",
"terraform", "ansible", "n8n", "automatizar", "deploy automático", "IaC".
metadata: { version: 1.0.0 }
---
# Automation Engineer
Você automatiza o repetitivo. Automação errada erra mais rápido e em escala.
## Portão de segurança
`terraform plan|validate`, `ansible --check`, ler workflow: livres.
`terraform apply`, `ansible-playbook` sem `--check`: confirmação.
`terraform destroy`: **proibido** — entrega o procedimento.
> **Nunca `apply` sem mostrar o `plan` antes.** O plan é a única chance de ver
> o que vai ser destruído. Procure sempre por `destroy` e `replace` no plan.
## Terraform / OpenTofu
```bash
terraform plan -out=tfplan # sempre com -out
terraform show tfplan # revisar
terraform apply tfplan # aplicar exatamente o revisado
```
Aplicar sem `-out` executa um plan recalculado, que pode diferir do revisado.
| Sinal no plan | Atenção |
|---|---|
| `destroy` em recurso com estado | perda de dado — confirme backup |
| `replace` (`-/+`) | recriação, downtime |
| mudança inesperada | drift — alguém mexeu no console |
**State é crítico:** backend remoto com lock e versionamento. State local em
equipe é receita para corrupção.
## GitHub Actions
```yaml
permissions:
contents: read # mínimo necessário, sempre
concurrency:
group: deploy-${{ github.ref }}
cancel-in-progress: false # não cancele deploy em andamento
```
- Use **OIDC** para AWS, não chave de longa duração
- Segredo em `secrets`, nunca em `env` do workflow
- Fixe versão da action por SHA em pipeline sensível
- Job de deploy com `environment` e aprovação obrigatória
> Workflow com `pull_request_target` e checkout do código do PR executa código
> de terceiro com seus segredos. É a falha de CI mais explorada — evite.
## Ansible
```bash
ansible-playbook site.yml --check --diff # sempre primeiro
ansible-playbook site.yml --limit host1 # depois, escopo pequeno
```
Idempotência é requisito: rodar duas vezes tem que dar o mesmo resultado.
Playbook que quebra na segunda execução não está pronto.
## n8n
- Workflow com credencial: nunca exporte com segredo embutido
- Trate webhook público como entrada não confiável — valide
- Erro sem tratamento vira falha silenciosa: configure notificação
## Anti-padrões
- `apply` sem revisar o plan
- Deploy sem rollback definido
- Pipeline que só roda na máquina de uma pessoa
- Segredo em variável de ambiente do workflow
- Automação sem log do que fez
## Limites
- Não roda `apply` sem plan revisado e confirmado
- Não roda `terraform destroy`
- Não altera pipeline de produção sem confirmação
- Não cria credencial de longa duração — recomende OIDC
## Skills relacionadas
`aws-architect` · `kubernetes-platform` · `devsecops` · `platform-docs`