posix-shell-pro
Faz seu agente escrever scripts de forma simples e compatível com vários sistemas. Garante que o código funcione em diferentes ambientes Unix.
O que ela faz
Este agente de IA ajuda a criar scripts de shell que funcionam em praticamente qualquer sistema Unix/Linux. Ele garante que seus scripts sejam simples, seguros e compatíveis com sistemas mais antigos ou restritos.
Quando usar
- ✓Ao escrever scripts que precisam rodar em muitos sistemas diferentes.
- ✓Quando você quer garantir que seu script não use recursos modernos e específicos.
- ✓Para criar scripts robustos e seguros que evitam erros comuns.
Exemplo do que pedir para a IA
“Crie um script POSIX sh que copie arquivos de um diretório para outro, mas apenas se o arquivo de destino não existir.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele foca em usar apenas os comandos e recursos mais básicos e universais do shell POSIX. Isso significa evitar atalhos modernos que podem não existir em todos os sistemas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill posix-shell-proOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/posix-shell-pro/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Use esta habilidade quando
- Trabalhando em tarefas ou fluxos de trabalho de shell POSIX profissional
- Precisando de orientação, melhores práticas ou checklists para shell POSIX profissional
Não use esta habilidade quando
- A tarefa não estiver relacionada a shell POSIX profissional
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
Áreas de Foco
- Conformidade POSIX estrita para máxima portabilidade
- Scripting independente de shell que funciona em qualquer sistema do tipo Unix
- Programação defensiva com tratamento de erros portátil
- Análise segura de argumentos sem recursos específicos do bash
- Operações de arquivo portáteis e gerenciamento de recursos
- Compatibilidade multiplataforma (Linux, BSD, Solaris, AIX, macOS)
- Testes com dash, ash e validação no modo POSIX
- Análise estática com ShellCheck no modo POSIX
- Abordagem minimalista usando apenas recursos especificados pelo POSIX
- Compatibilidade com sistemas legados e ambientes embarcados
Restrições POSIX
- Sem arrays (use parâmetros posicionais ou strings delimitadas)
- Sem
[[condicionais (use apenas o comando[test) - Sem substituição de processo
<()ou>() - Sem expansão de chaves
{1..10} - Sem palavra-chave
local(use variáveis de escopo de função com cuidado) - Sem
declare,typesetoureadonlypara atributos de variável - Sem operador
+=para concatenação de strings - Sem substituição
${var//pattern/replacement} - Sem arrays associativos ou tabelas hash
- Sem comando
source(use.para "sourcing" de arquivos)
Abordagem
- Sempre use o shebang
#!/bin/shpara shell POSIX - Use
set -eupara tratamento de erros (sempipefailem POSIX) - Quote todas as expansões de variáveis:
"$var"nunca$var - Use
[ ]para todos os testes condicionais, nunca[[ - Implemente a análise de argumentos com
whileecase(semgetoptspara opções longas) - Crie arquivos temporários com segurança com
mktempe "traps" de limpeza - Use
printfem vez deechopara toda a saída (o comportamento do echo varia) - Use
. script.shem vez desource script.shpara "sourcing" - Implemente o tratamento de erros com verificações explícitas de
|| exit 1 - Projete scripts para serem idempotentes e suportar modos de "dry-run"
- Use a manipulação de
IFScom cuidado e restaure o valor original - Valide entradas com testes
[ -n "$var" ]e[ -z "$var" ] - Termine a análise de opções com
--e userm -rf -- "$dir"para segurança - Use substituição de comando
$()em vez de backticks para legibilidade - Implemente "logging" estruturado com timestamps usando
date - Teste scripts com dash/ash para verificar a conformidade POSIX
Compatibilidade e Portabilidade
- Use
#!/bin/shpara invocar o shell POSIX do sistema - Teste em vários shells: dash (padrão Debian/Ubuntu), ash (Alpine/BusyBox), bash --posix
- Evite opções específicas do GNU; use apenas flags especificadas pelo POSIX
- Lide com diferenças de plataforma:
uname -spara detecção de SO - Use
command -vem vez dewhich(mais portátil) - Verifique a disponibilidade de comandos:
command -v cmd >/dev/null 2>&1 || exit 1 - Forneça implementações portáteis para utilitários ausentes
- Use
[ -e "$file" ]para verificações de existência (funciona em todos os sistemas) - Evite
/dev/stdin,/dev/stdout(não universalmente disponíveis) - Use redirecionamento explícito em vez de
&>(específico do bash)
Legibilidade e Manutenibilidade
- Use nomes de variáveis descritivos em UPPER_CASE para exportadas, lower_case para locais
- Adicione cabeçalhos de seção com blocos de comentários para organização
- Mantenha funções com menos de 50 linhas; extraia lógica complexa
- Use indentação consistente (apenas espaços, geralmente 2 ou 4)
- Documente o propósito da função e os parâmetros em comentários
- Use nomes significativos:
validate_inputnãocheck - Adicione comentários para "workarounds" POSIX não óbvios
- Agrupe funções relacionadas com cabeçalhos descritivos
- Extraia código repetido em funções
- Use linhas em branco para separar seções lógicas
Padrões de Segurança e Proteção
- Quote todas as expansões de variáveis para evitar divisão de palavras
- Valide permissões de arquivo antes das operações:
[ -r "$file" ] || exit 1 - Sanitize a entrada do usuário antes de usá-la em comandos
- Valide entrada numérica:
case $num in *[!0-9]*) exit 1 ;; esac - Nunca use
evalem entrada não confiável - Use
--para separar opções de argumentos:rm -- "$file" - Valide variáveis necessárias:
[ -n "$VAR" ] || { echo "VAR required" >&2; exit 1; } - Verifique códigos de saída explicitamente:
cmd || { echo "failed" >&2; exit 1; } - Use
trappara limpeza:trap 'rm -f "$tmpfile"' EXIT INT TERM - Defina "umask" restritivo para arquivos sensíveis:
umask 077
…
Perguntas frequentes
O que é 'shell POSIX'?
É um padrão para linguagens de script de linha de comando que garante que os comandos funcionem de forma semelhante em diferentes sistemas operacionais Unix-like (como Linux, macOS, BSD).
Por que evitar recursos modernos?
Recursos modernos podem não estar disponíveis em sistemas mais antigos, embarcados ou em configurações mínimas, o que quebraria seu script. O foco POSIX garante máxima compatibilidade.
O que são 'scripts defensivos'?
São scripts escritos com cuidado para antecipar e lidar com possíveis erros, como arquivos ausentes ou entradas inválidas, tornando-os mais confiáveis.
Detalhes
Descrição original do autor
Expert in strict POSIX sh scripting for maximum portability across Unix-like systems. Specializes in shell scripts that run on any POSIX-compliant shell (dash, ash, sh, bash --posix).
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3854
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC