Communitygithub.com

roebi/agent-skills

Biblioteca de habilidades para agentes de IA que utilizam habilidades.

O que é agent-skills?

Este skill, 'Terminal & CLI Skill', é uma referência abrangente para trabalhar em um terminal Linux, cobrindo desde comandos bash básicos até orquestração de contêineres e execução de agentes de IA. Ele foi projetado para agentes de IA (como Claude Code, Cursor, Codex) e desenvolvedores que precisam executar tarefas de terminal de forma eficiente. O skill está estruturado em seções numeradas que abordam tópicos como execução de comandos bash, verificação de ferramentas, combinação de comandos com `&&`, pipes `|`, leitura de conteúdo com `cat`, classificação e resultados únicos, scripts com heredoc, referência rápida do sistema de arquivos, instalação e atualização, obtenção de ajuda e variáveis de ambiente. Ele suporta o carregamento de arquivos de referência detalhados (`references/bash.md`, `references/containers.md`, `references/curl.md`, `references/agents.md`) para tópicos aprofundados sob demanda, tornando-o modular e eficiente.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add roebi/agent-skills

Perguntar na sua IA favorita

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

Documentação

Habilidade de Terminal e CLI

Referência para trabalhar em um terminal Linux — cobrindo desde o básico de bash até orquestração de contêineres e execução de agentes de IA.

Como usar esta habilidade

Este arquivo cobre os padrões mais comuns. Para referências detalhadas de comandos, carregue o arquivo relevante de references/ sob demanda:

TópicoArquivo de referência
Bash básico: pipes, scripts, sistema de arquivos, instalação, variáveis de ambientereferences/bash.md
Contêineres: Podman, Kubernetes (kubectl), Helmreferences/containers.md
Requisições HTTP: curlreferences/curl.md
Agentes de IA: aider-chat, claude CLIreferences/agents.md

1. Executar um comando bash

comando [opções] [argumentos]

# Executar sequencialmente — parar no primeiro erro
cmd1 && cmd2 && cmd3

# Executar independentemente de erro
cmd1; cmd2; cmd3

# Capturar saída em uma variável
SAIDA=$(comando)

# Redirecionar stdout / stderr / ambos
comando > saida.txt
comando 2> erro.txt
comando &> tudo.txt

# Descartar toda a saída
comando > /dev/null 2>&1

2. Verificar se uma ferramenta existe

type -a nome_ferramenta      # Todos os locais onde a ferramenta é encontrada
apropos palavra_chave        # Encontrar comandos correspondentes a uma palavra-chave
which nome_ferramenta        # Primeiro binário no PATH
whereis nome_ferramenta      # Localizações do binário, fonte e página man

3. Combinar com &&

# Prosseguir apenas se o comando anterior tiver sucesso
sudo apt update && sudo apt upgrade -y

# Encadear várias etapas com segurança
mkdir -p build && cd build && cmake ..

4. Pipe com |

# Passar stdout de um comando como stdin para o próximo
cmd1 | cmd2 | cmd3

# Padrões comuns
ls -la | grep ".conf"
ps aux | grep nginx
journalctl -u meuserviço | grep ERROR | tail -20
cat arquivo.txt | wc -l

5. Ler conteúdo com cat

cat arquivo.txt                   # Arquivo completo para stdout
cat arquivo1.txt arquivo2.txt     # Concatenar vários arquivos
head -n 20 arquivo.txt            # Primeiras 20 linhas
tail -n 20 arquivo.txt            # Últimas 20 linhas
tail -f /var/log/app.log        # Seguir saída de log ao vivo
less arquivo.txt                  # Visualização paginada (q para sair)
grep "padrão" arquivo.txt        # Linhas correspondentes ao padrão
grep -r "padrão" ./dir/          # Busca recursiva em diretório
grep -n "padrão" arquivo.txt     # Com números de linha
grep -i "padrão" arquivo.txt     # Ignorar maiúsculas/minúsculas

6. Ordenar resultados

sort arquivo.txt                  # Alfabético (crescente)
sort -r arquivo.txt               # Ordem reversa
sort -n arquivo.txt               # Ordenação numérica
sort -k2 arquivo.txt              # Ordenar pela coluna 2
sort -t: -k3 -n /etc/passwd       # Delimitador personalizado (:), coluna 3, numérico
ls -la | sort -k5 -n              # Ordenar saída ls pelo tamanho do arquivo (col 5)

7. Resultados únicos

# uniq remove apenas duplicatas *consecutivas* — sempre classifique primeiro
sort arquivo.txt | uniq            # Deduplicar
sort arquivo.txt | uniq -c        # Contar ocorrências
sort arquivo.txt | uniq -d        # Mostrar apenas duplicatas
sort arquivo.txt | uniq -u        # Mostrar apenas linhas que aparecem uma vez

# Pipeline típico: contar tipos de erro em um log
cat app.log | grep ERROR | sort | uniq -c | sort -rn

8. Escrever e executar scripts com heredoc

# Criar um arquivo de script inline
cat << 'EOF' > meuscript.sh
#!/bin/bash
set -euo pipefail   # Sair em caso de erro, variável não definida ou falha de pipe

echo "Hoje: $(date +%Y-%m-%d)"

for i in 1 2 3; do
  echo "Passo $i"
done
EOF

chmod +x meuscript.sh
./meuscript.sh

# Ou executar diretamente sem criar um arquivo
bash << 'EOF'
echo "Execução inline"
ls -la /tmp
EOF

Melhores práticas para scripts:

  • Sempre comece com #!/bin/bash
  • Use set -euo pipefail para valores padrão seguros
  • Sempre cite variáveis: "$VAR" e não $VAR
  • Use $(...) em vez de crases

9. Sistema de arquivos — referência rápida

# Navegar e inspecionar
pwd && ls -lah              # Onde estou + o que há aqui
tree -L 2                   # Árvore de diretórios (2 níveis de profundidade)
find /caminho -name "*.log"    # Encontrar por nome
du -sh /caminho                # Tamanho de um diretório
df -h                       # Uso de disco de todas as montagens

# Criar / copiar / mover / deletar
mkdir -p /caminho/para/dir       # Criar com pais
cp -r src/ dst/             # Copiar diretório
mv src dst                  # Mover ou renomear
rm -rf dir/                 # Deletar recursivamente (irreversível)

# Permissões e propriedade
chmod +x arquivo               # Tornar executável
chmod 644 arquivo              # rw-r--r--
chown usuario:grupo arquivo       # Alterar proprietário

# Links
ln -s /destino /link         # Link simbólico
readlink -f /link           # Resolver link simbólico para caminho real

# Montagens
mount                       # Listar todas as montagens ativas
lsblk                       # Árvore de dispositivos de bloco
findmnt                     # Árvore de pontos de montagem

→ Referência completa do sistema de arquivos: references/bash.md

10. Instalar e atualizar — referência rápida

# APT
sudo apt update && sudo apt upgrade -y
sudo apt install -y nome-do-pacote

# pip (Python)
pip install pacote --break-system-packages

# npm (Node.js)
npm install -g nome-do-pacote

→ Referência completa de instalação (snap, a partir da fonte, opções pip): references/bash.md

11. Obter ajuda sobre um comando

comando --help              # Ajuda inline (mais rápido)
man comando                 # Página de manual completa
apropos palavra_chave             # Pesquisar resumos de páginas man
whatis comando              # Descrição em uma linha
info comando                # Páginas de informação GNU (para ferramentas GNU)
help cd                     # Ajuda para builtins do shell

12. Variáveis de ambiente — referência rápida

export VAR="valor"           # Definir para o shell atual e subprocessos
echo $VAR                   # Ler uma variável
unset VAR                   # Remover uma variável
env                         # Listar todas as variáveis de ambiente
VAR=valor comando           # Definir apenas para um único comando

→ Persistindo variáveis, carregando arquivos .env: references/bash.md


Referências detalhadas

Carregue estes arquivos quando precisar de cobertura completa de comandos:

  • references/bash.md — sistema de arquivos completo, instalação/atualização, variáveis de ambiente, padrões de script
  • references/containers.md — Podman, kubectl, Helm
  • references/curl.md — curl para requisições HTTP
  • references/agents.md — aider-chat e claude CLI

Habilidades Relacionadas