infinity
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
O que ela faz
Esta ferramenta garante que dados vindos de fora do seu programa sejam verificados antes de serem usados. Ela cria uma camada de segurança para evitar erros e problemas.
Quando usar
- ✓Ao receber informações de um usuário.
- ✓Ao usar dados de outras fontes externas (APIs, arquivos).
- ✓Ao configurar seu programa com variáveis.
Exemplo do que pedir para a IA
“Verifique todas as entradas de dados externas antes de usá-las.”
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
Primeiro, ela identifica onde os dados externos entram no programa. Depois, classifica esses dados como confiáveis ou não. Por fim, aplica verificações para garantir que os dados não confiáveis estejam corretos antes de serem utilizados.
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 infinityOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/infinity/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.
infinity — Protocolo de Limite e Validação de Entrada
Filosofia Central
Nada não confiável chega ao núcleo — é parado antes do contato. Nenhum dado externo toca o código-fonte bruto. Cada limite onde os dados entram no sistema deve ter um filtro.
A principal fonte de bugs silenciosos, travamentos e vulnerabilidades são dados externos que chegam em um formato inesperado e são usados diretamente sem verificação. Essa habilidade impõe uma camada de filtro em cada ponto de entrada, todas as vezes.
Quando Usar Esta Habilidade
- Use quando precisar lidar com uma resposta de API
- Use ao ler a entrada do usuário ou adicionar um manipulador de formulário
- Use ao trabalhar com variáveis de ambiente ou argumentos de linha de comando
- Use ao analisar webhooks ou ler do sistema de arquivos
- Use quando qualquer código chamar
.body,.params,.query,.env,fs.read, ou uma resposta de SDK de terceiros
As Quatro Fases
FASE 1 — Detecção de Limite
Antes de escrever ou modificar qualquer código que envolva dados externos, a IA deve identificar e listar todos os pontos de entrada em escopo:
- Corpos de requisição HTTP, cabeçalhos, parâmetros de consulta
- Entradas de formulário do usuário e dados enviados pela interface do usuário
- Variáveis de ambiente e arquivos de configuração
- Respostas de API de terceiros
- Cargas úteis de webhook
- Leituras de arquivos do disco
- Argumentos de linha de comando
- Resultados de consulta de banco de dados de fontes externas
- Mensagens WebSocket
A IA não deve escrever nenhuma lógica de manipulação de dados até que todos os pontos de entrada em escopo sejam listados.
FASE 2 — Classificar Cada Entrada
Para cada ponto de entrada identificado, a IA o classifica em um de três níveis de confiança:
| Nível | Definição | Exemplos |
|---|---|---|
TRUSTED |
Constantes internas, valores codificados, sua própria configuração em tempo de compilação | Valores de enum, padrões codificados, constantes internas |
SEMI-TRUSTED |
Seus próprios serviços internos, APIs internas, infraestrutura controlada | Respostas de microsserviços internos, suas próprias leituras de banco de dados |
UNTRUSTED |
Qualquer coisa de usuários, da internet, de terceiros ou do sistema de arquivos | Entrada do usuário, respostas de API externas, arquivos carregados, variáveis de ambiente, argumentos de linha de comando |
Regra: Entradas
TRUSTEDpodem ser usadas diretamente. EntradasSEMI-TRUSTEDeUNTRUSTEDdevem passar por uma camada de filtro antes de qualquer uso.
A IA gera essa classificação antes de escrever qualquer código de manipulação:
INFINITY — BOUNDARY MAP
─────────────────────────────────────────
Entry Point | Trust Level | Filter Required
─────────────────────────────────────────
req.body.email | UNTRUSTED | ✓ format + sanitize
process.env.API_KEY | UNTRUSTED | ✓ presence + non-empty
internalService.getData()| SEMI-TRUSTED | ✓ schema validate
PAGINATION_LIMIT = 20 | TRUSTED | ✗ none needed
─────────────────────────────────────────
FASE 3 — Camada de Filtro Obrigatória
Cada entrada UNTRUSTED e SEMI-TRUSTED deve passar por validação antes de atingir qualquer lógica de negócios, armazenamento ou renderização. A IA deve aplicar o tipo de filtro correto para o contexto correto:
Verificação de Tipo
- Verifique se a entrada é do tipo esperado antes de usá-la
- Nunca assuma que uma string é uma string, um número é um número, ou um array é um array
Validação de Esquema
- Para objetos e respostas de API, valide a estrutura antes de acessar campos aninhados
- Se um campo obrigatório estiver faltando, rejeite — não use um fallback que oculte o problema
Sanitização
- Remova ou escape o conteúdo antes de renderizar para a interface do usuário (prevenir XSS)
- Normalize strings antes do armazenamento (remover espaços em branco, capitalização consistente onde apropriado)
Verificações de Presença e Formato
- Variáveis de ambiente: devem existir e não estar vazias antes do uso
- IDs e tokens: devem corresponder ao formato esperado antes do uso
Regra de Rejeição
- Em caso de entrada inválida: rejeite explicitamente e retorne um erro claro
- Nunca use silenciosamente dados ruins com um fallback
- Nunca deixe dados ruins passarem para se corrigirem "a jusante"
// WRONG — using raw input directly
const user = await db.find(req.params.id);
// RIGHT — validate before use
const id = req.params.id;
if (!id || typeof id !== 'string' || !isValidUUID(id)) {
return res.status(400).json({ error: 'Invalid ID format' });
}
const user = await db.find(id);
FASE 4 — Autoverificação Antes de Concluir
Antes que a IA declare qualquer código de manipulação de dados como concluído, ela rastreia cada ponto de entrada e confirma:
INFINITY — VERIFICAÇÃO
─────────────────────────────────────────
Ponto de Entrada | Filtro Existe | Tipo de Filtro
─────────────────────────────────────────
req.body.email | ✓ SIM | formato + sanitizar
…
Perguntas frequentes
Por que é importante verificar os dados?
Dados inesperados podem causar erros, travar o programa ou até mesmo criar falhas de segurança.
O que são 'dados não confiáveis'?
São dados que vêm de fora do seu controle direto, como informações digitadas por usuários, respostas de outras APIs ou configurações do sistema.
O que acontece se os dados não passarem na verificação?
O programa deve avisar sobre o erro claramente, em vez de tentar usar os dados incorretos e causar problemas.
Detalhes
Descrição original do autor
Enforces a strict input boundary protocol (detect, classify, filter, verify) to ensure untrusted data never reaches business logic raw.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3335
- 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
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC