Skills: Ligação e Invocação de Ferramentas

Última atualização: 2026-08-31

As ferramentas são as mãos do Skill — quais ferramentas você liga determina o que o Skill pode e não pode fazer.


1. Visão geral do sistema de ferramentas

(1) Categorias de ferramentas integradas

Categoria Ferramenta Capacidade Nível de risco
Leitura Read Ler conteúdo de arquivos 🟢 Baixo
Busca Grep, Glob Buscar padrões de código 🟢 Baixo
Escrita Write Criar/sobrescrever arquivos 🟡 Médio
Edição Edit Modificação precisa de arquivos 🟡 Médio
Execução Bash Executar comandos Shell 🔴 Alto
Web WebFetch Obter conteúdo de páginas 🟡 Médio

(2) Ferramentas MCP

Ferramentas do Model Context Protocol (MCP) expandem os limites de capacidade da IA:

JSON
// Exemplo de configuração de servidor MCP
{
  "mcpServers": {
    "database": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://..."
      }
    },
    "browser": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-browser"]
    }
  }
}

2. Estratégia de seleção de ferramentas

(1) Princípio do menor privilégio

TEXT 📖 Somente leitura
Análise de requisitos da tarefa → Determinar ferramentas necessárias → Ligar apenas as ferramentas necessárias

Exemplo:
┌──────────────────────┬──────────────────────────────┐
│ Tarefa               │ Ferramentas ligadas           │
├──────────────────────┼──────────────────────────────┤
│ Revisão somente leitura│ Read, Grep, Glob            │
│ Correção de código    │ Read, Edit, Bash              │
│ Refatoração de projeto│ Read, Write, Edit, Bash, Grep│
│ Deploy automático total│ Todas as ferramentas + MCP   │
└──────────────────────┴──────────────────────────────┘

(2) Edit vs Write

Dimensão Edit Write
Granularidade Preciso por linha Arquivo inteiro
Segurança Altera apenas partes especificadas Pode sobrescrever outros conteúdos
Caso de uso Correção de bug, ajustes pequenos Criar novos arquivos, reescrita completa
Recomendação ✅ Preferir ⚠️ Usar com cautela

(3) Uso seguro do Bash

MARKDOWN
## Regras de uso do Bash

Comandos permitidos:
- git status, git diff, git log
- npm test, pytest, go test
- ruff check, eslint, prettier
- docker ps, kubectl get

Comandos proibidos:
- rm -rf / (exclusão perigosa)
- curl | bash (execução de script remoto)
- Exportação de variáveis de ambiente contendo segredos
- Comandos que modificam configuração do sistema

3. Otimização de chamadas de ferramentas

(1) Leitura em lote

MARKDOWN
# Ineficiente: ler um por um
1. Read src/main.py
2. Read src/utils.py
3. Read src/config.py

# Eficiente: usar Glob para determinar o escopo primeiro, depois leitura direcionada
1. Glob "src/**/*.py" → Obter lista de arquivos
2. Read arquivos-chave (entrada principal, configuração, funções utilitárias)

(2) Buscar primeiro

MARKDOWN
# Ineficiente: ler todos os arquivos às cegas
1. Read todos os arquivos .py (50+ arquivos)

# Eficiente: buscar para localizar primeiro
1. Grep "class.*View" → Encontrar todas as classes view
2. Grep "TODO|FIXME|HACK" → Encontrar dívida técnica
3. Read apenas arquivos que precisam de inspeção mais profunda a partir dos resultados da busca

(3) Cadeia de chamadas de ferramentas

100%
graph TD
    A[Glob: Determinar escopo de arquivos] --> B[Grep: Buscar padrões-chave]
    B --> C[Read: Leitura profunda dos arquivos alvo]
    C --> D{Precisa modificar?}
    D -->|Sim| E[Edit: Modificação precisa]
    D -->|Não| F[Exibir relatório de análise]
    E --> G[Bash: Verificar resultado da modificação]

4. Prática de tool binding

▶ Exemplo 1: Skill de análise somente leitura

YAML
---
name: tech-debt-scanner
description: "Scanner de dívida técnica, detectando TODO/FIXME/HACK e code smells"
triggers:
  - keyword: "tech-debt"
tools:
  - Grep
  - Glob
  - Read
---

# Skill de Scanner de Dívida Técnica

## Fluxo de execução
1. Use Grep para buscar comentários TODO, FIXME, HACK
2. Use Grep para buscar padrões de code smell (funções longas demais, aninhamento profundo)
3. Use Read para inspecionar detalhadamente problemas de alta prioridade
4. Exiba a lista de dívida técnica ordenada por prioridade

▶ Exemplo 2: Skill de correção automática

YAML
---
name: lint-fix
description: "Corrigir automaticamente problemas de estilo de código"
triggers:
  - keyword: "lint-fix|corrigir estilo"
tools:
  - Read
  - Bash
  - Edit
---

# Skill de Correção de Estilo de Código

## Fluxo de execução
1. Use Bash para executar o linter (seleção automática com base no tipo de projeto)
2. Analise a saída do linter
3. Para problemas com correção automática, execute linter --fix
4. Para problemas que exigem correção manual, use Edit para corrigir um a um
5. Use Bash para executar o linter novamente para verificação

5. Gerenciamento de permissões de ferramentas

(1) Permissões por projeto

JSON
// .claude/settings.json
{
  "permissions": {
    "allow": [
      "Read(*)",
      "Grep(*)",
      "Glob(*)",
      "Edit(src/**)",
      "Bash(npm test,pytest,git *)"
    ],
    "deny": [
      "Write(.env*)",
      "Bash(rm *)",
      "Bash(curl *)"
    ]
  }
}

(2) Permissões por Skill

YAML
# Limitar o escopo de uso de ferramentas no frontmatter do Skill
tools:
  - Read
  - Edit:
      paths: ["src/**", "tests/**"]
  - Bash:
      commands: ["pytest", "ruff check"]

Depois que Alice configurou permissões de ferramentas para a equipe, nunca mais houve problemas com Skills excluindo arquivos acidentalmente. Bob disse: "Gerenciamento de permissões não é sobre limitar capacidades — é sobre definir limites seguros para que os Skills operem livremente dentro da zona de segurança."


❓ Perguntas Frequentes

P: O que fazer se a IA não chamar uma ferramenta que foi ligada? R: Solicite explicitamente o uso da ferramenta no prompt e forneça os passos de chamada. Se a IA ainda não chamar, o prompt pode não ser específico o suficiente ou a descrição da ferramenta pode não estar clara. P: Como evitar que Skills executem operações perigosas? R: Três camadas de proteção — menor privilégio (ligar apenas ferramentas necessárias), restrição de caminhos (Edit limitado a diretórios), lista de comandos permitidos (Bash só permite comandos seguros). P: Qual a diferença entre ferramentas MCP e ferramentas integradas? R: Ferramentas integradas vêm com a plataforma de IA; ferramentas MCP são fornecidas por serviços externos. Ferramentas MCP são mais capazes mas mais complexas de configurar, adequadas para cenários que exigem capacidades externas como bancos de dados/navegadores.


📖 Resumo


📝 Exercícios

  1. Básico (dificuldade⭐): Analise os tool bindings do seu Skill existente, verificando se há permissões excessivas ou insuficientes.
  2. Intermediário (dificuldade⭐⭐): Crie um Skill de correção automática de lint com seleção adequada de ferramentas e configuração de permissões.
  3. Avançado (dificuldade⭐⭐⭐): Projete um plano de otimização de cadeia de chamadas de ferramentas e compare o número e o tempo de chamadas antes e depois da otimização.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%