Communitygithub.com

lyncis/actup

Atualize versões de ações do GitHub interativamente a partir do seu terminal

O que é actup?

Essa skill (lyncis/actup) ajuda desenvolvedores e usuários de agentes de IA a manterem seus workflows do GitHub Actions atualizados. Ela escaneia arquivos `.github/workflows/*.yml` e `.github/workflows/*.yaml`, extrai referências `uses:`, e resolve as versões mais recentes usando a API do GitHub, ferramentas de linha de comando, ou MCPs de busca. A skill detecta mudanças de versão major (breaking changes) usando um registro interno de avisos, e gera um relatório em Markdown com sugestões de upgrade em formato diff — sem modificar arquivos a menos que o usuário peça explicitamente. É compatível com qualquer plataforma que suporte skills em Markdown (como Claude Code, Cursor, Codex).

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add lynicis/actup

Perguntar na sua IA favorita

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

Documentação

Atualizador de GitHub Actions

Mantenha arquivos .github/workflows/*.yml e .github/workflows/*.yaml atualizados, escaneando ações, resolvendo as versões mais recentes e sugerindo upgrades.

Início rápido

Quando o usuário perguntar algo como:

"Atualizar minhas GitHub Actions" "Quais ações estão desatualizadas?" "Atualizar ações nos meus workflows"

Siga o workflow abaixo e retorne um relatório em Markdown com sugestões em estilo diff.

Workflow

  1. Escanear workflows

    • Encontre todos os arquivos .github/workflows/*.yml e .github/workflows/*.yaml.
    • Se nenhum existir, informe o usuário e pare.
  2. Extrair referências uses:

    • Analise cada workflow em busca de linhas uses:.
    • Pule:
      • Caminhos locais: ./...
      • Referências Docker: docker://...
      • Commits SHA completos: qualquer coisa que pareça um SHA hex de 40 caracteres
    • Registre: action, current_version, workflow_file, line_number.
  3. Resolver versão mais recente

    • Separe cada ação em owner/repo.
    • Tente ferramentas nesta ordem:
      1. gh api repos/{owner}/{repo}/tags --jq '.[].name' se gh estiver disponível.
      2. fetch em https://api.github.com/repos/{owner}/{repo}/tags.
      3. Brave Search / Google Search MCP para "{owner}/{repo} latest release tag".
    • Filtre tags para semver válido.
    • Prefira tags major (v5) sobre semver completo (v5.3.1) por padrão.
    • Se nenhuma tag major existir, use a tag semver mais alta.
  4. Detectar mudanças de quebra (breaking changes)

    • Se a versão mais recente for uma major maior que a versão atual, marque como mudança de quebra.
    • Verifique no registro embutido abaixo por avisos conhecidos.
  5. Gerar relatório de sugestões

    • Produza um relatório em Markdown com:
      • Tabela de resumo: action | current | latest | breaking? | file
      • Blocos de diff por ação
      • Avisos de mudanças de quebra com ⚠
    • Não edite arquivos de workflow a menos que o usuário peça explicitamente.

Registro de mudanças de quebra

- action: actions/checkout
  from_major: 3
  to_major: 4
  warning: "Runtime Node atualizado de 16 para 20. Verifique runners personalizados e configuração self-hosted."
- action: actions/setup-node
  from_major: 3
  to_major: 4
  warning: "Runtime Node 16 obsoleto; Node 20 agora é usado."
- action: actions/setup-go
  from_major: 4
  to_major: 5
  warning: "Runtime Node 20. Verifique chaves de cache personalizadas ou efeitos colaterais."

Modelo de saída

## Relatório de atualização do GitHub Actions

| Action | Atual | Mais recente | Quebra? | Arquivo |
|--------|-------|-------------|---------|---------|
| actions/checkout | v3 | v4 | ⚠ sim | .github/workflows/ci.yml |

### Mudanças sugeridas

`.github/workflows/ci.yml`:
```diff
- uses: actions/checkout@v3
+ uses: actions/checkout@v4

Avisos de mudanças de quebra

  • actions/checkout@v3 → v4: Runtime Node atualizado de 16 para 20. Verifique runners personalizados e configuração self-hosted.

## Regras

- Nunca grave arquivos de workflow silenciosamente.
- Sempre mostre uma visualização em estilo diff antes de qualquer edição.
- Se os limites de taxa da API do GitHub forem atingidos, recorra a MCPs de busca ou orientação manual.
- Se uma ação não tiver tags semver, indique como "não foi possível determinar a versão mais recente".

Habilidades Relacionadas