Como Usar Habilidades de Código Claude para Requisição API e Networking (Coleta de Dados)

Ashley Goolam

Ashley Goolam

21 janeiro 2026

Como Usar Habilidades de Código Claude para Requisição API e Networking (Coleta de Dados)

Criar chamadas `fetch` manualmente, gerenciar tokens de autenticação e analisar respostas de API para cada nova integração é o equivalente moderno a escrever código assembly para aplicativos web. As Claude Code Skills para busca de dados transformam requisições HTTP em ferramentas declarativas e reutilizáveis que entendem padrões de autenticação, paginação e validação de resposta, eliminando o código repetitivo (boilerplate) e garantindo a consistência em sua base de código.

Por Que as Skills de Rede de API São Importantes para Fluxos de Trabalho de Desenvolvimento

Todo desenvolvedor gasta horas em tarefas repetitivas de API: configurando cabeçalhos para OAuth 2.0, implementando `exponential backoff` para endpoints com limite de taxa e escrevendo `type guards` para respostas JSON imprevisíveis. Essas tarefas são propensas a erros e fortemente acopladas a serviços específicos, tornando-as difíceis de testar e manter. As Claude Code Skills abstraem essa complexidade em ferramentas versionadas e testáveis que seu assistente de IA pode invocar com linguagem natural.

A mudança é de chamadas de API imperativas para busca de dados declarativa. Em vez de escrever fetch(url, { headers: {...} }), você descreve a intenção: “Busque dados do usuário da API do GitHub usando o token do ENV e retorne resultados tipados.” A skill lida com o gerenciamento de credenciais, lógica de novas tentativas e análise de resposta, retornando dados fortemente tipados que seu aplicativo pode consumir imediatamente.

💡
Quer uma ótima ferramenta de Teste de API que gera documentação de API bonita?

Quer uma plataforma integrada e completa para sua Equipe de Desenvolvedores trabalhar com máxima produtividade?

Apidog atende a todas as suas demandas e substitui o Postman por um preço muito mais acessível!

botão

Configurando a Skill de Busca de Dados no Claude Code

Passo 1: Instale o Claude Code e Configure o MCP

Se você ainda não instalou o CLI do Claude Code:

npm install -g @anthropic-ai/claude-code
claude --version  # Should show >= 2.0.70

Crie o diretório e o arquivo de configuração do MCP:

# macOS/Linux
mkdir -p ~/.config/claude-code
touch ~/.config/claude-code/config.json

# Windows
mkdir %APPDATA%\claude-code
echo {} > %APPDATA%\claude-code\config.json
código claude

Passo 2: Clone e Compile a Skill de Busca de Dados

A skill oficial de busca de dados fornece padrões para requisições REST, GraphQL e HTTP genéricas.

git clone https://github.com/anthropics/skills.git
cd skills/skills/data-fetching
npm install
npm run build

Isso compila os manipuladores TypeScript para dist/index.js.

Passo 3: Configure o MCP para Carregar a Skill

Edite ~/.config/claude-code/config.json:

{
  "mcpServers": {
    "data-fetching": {
      "command": "node",
      "args": ["/absolute/path/to/skills/data-fetching/dist/index.js"],
      "env": {
        "DEFAULT_TIMEOUT": "30000",
        "MAX_RETRIES": "3",
        "RATE_LIMIT_PER_MINUTE": "60",
        "CREDENTIALS_STORE": "~/.claude-credentials.json"
      }
    }
  }
}

Crítico:

skills do claude

Passo 4: Configure o Armazenamento de Credenciais

Crie o arquivo de credenciais para evitar tokens hardcoded:

# Crie o armazenamento de credenciais criptografadas
mkdir -p ~/.claude
echo '{}' > ~/.claude/credentials.json
chmod 600 ~/.claude/credentials.json

Adicione seus tokens de API:

{
  "github": {
    "token": "ghp_your_github_token_here",
    "baseUrl": "https://api.github.com"
  },
  "slack": {
    "token": "xoxb-your-slack-token",
    "baseUrl": "https://slack.com/api"
  },
  "custom-api": {
    "token": "Bearer your-jwt-token",
    "baseUrl": "https://api.yourcompany.com",
    "headers": {
      "X-API-Version": "v2"
    }
  }
}

A skill lê este arquivo na inicialização e injeta as credenciais nas requisições.

Passo 5: Verifique a Instalação

claude

Uma vez carregado, execute:

/list-tools

Você deverá ver:

Available tools:
- data-fetching:rest-get
- data-fetching:rest-post
- data-fetching:rest-put
- data-fetching:rest-delete
- data-fetching:graphql-query
- data-fetching:graphql-mutation
- data-fetching:raw-http

Padrões Essenciais de Requisições de API

1. Requisições GET RESTful

Ferramenta: data-fetching:rest-get
Caso de uso: Busca dados de endpoints REST com autenticação, paginação e cache

Parâmetros:

Exemplo: Buscar repositórios de usuários do GitHub

Use rest-get para buscar os repositórios do usuário "anthropics" da API do GitHub, incluindo paginação para 100 itens por página, e retorne apenas nome, descrição e stargazers_count.

Execução gerada:

// Handler executes:
const response = await fetch('https://api.github.com/users/anthropics/repos', {
  headers: {
    'Authorization': 'token ghp_your_github_token_here',
    'Accept': 'application/vnd.github.v3+json'
  },
  params: {
    per_page: 100,
    page: 1
  }
});

// Transform with JMESPath
const transformed = jmespath.search(response, '[*].{name: name, description: description, stars: stargazers_count}');
return transformed;

Uso do Claude Code:

claude --skill data-fetching \
  --tool rest-get \
  --params '{"service": "github", "endpoint": "/users/anthropics/repos", "params": {"per_page": 100}, "transform": "[*].{name: name, description: description, stars: stargazers_count}"}'

2. Requisições POST/PUT/DELETE

Ferramenta: data-fetching:rest-post / rest-put / rest-delete
Caso de uso: Criar, atualizar ou deletar recursos

Parâmetros:

Exemplo: Criar uma issue no GitHub

Use rest-post para criar uma issue no repositório anthorpics/claude com o título "Feature Request: MCP Tool Caching", corpo contendo a descrição, e labels ["enhancement", "mcp"].

Execução:

await fetch('https://api.github.com/repos/anthropics/claude/issues', {
  method: 'POST',
  headers: {
    'Authorization': 'token ghp_...',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    title: "Feature Request: MCP Tool Caching",
    body: "Description of the feature...",
    labels: ["enhancement", "mcp"]
  })
});

3. Consultas GraphQL

Ferramenta: data-fetching:graphql-query
Caso de uso: Busca complexa de dados com relacionamentos aninhados

Parâmetros:

Exemplo: Buscar issues do repositório com comentários

Use graphql-query para buscar as 10 issues abertas mais recentes do repositório anthorpics/skills, incluindo título, autor, contagem de comentários e labels.
query RecentIssues($owner: String!, $repo: String!, $limit: Int!) {
  repository(owner: $owner, name: $repo) {
    issues(first: $limit, states: [OPEN], orderBy: {field: CREATED_AT, direction: DESC}) {
      nodes {
        title
        author { login }
        comments { totalCount }
        labels(first: 5) { nodes { name } }
      }
    }
  }
}

Parâmetros:

{
  "service": "github",
  "query": "query RecentIssues($owner: String!, $repo: String!, $limit: Int!) { ... }",
  "variables": {
    "owner": "anthropics",
    "repo": "skills",
    "limit": 10
  }
}

4. Requisições HTTP Puras

Ferramenta: data-fetching:raw-http
Caso de uso: Casos de uso específicos não cobertos pelas ferramentas REST/GraphQL

Parâmetros:

Exemplo: Entrega de webhook com cabeçalhos personalizados

Use raw-http para POSTar para https://hooks.slack.com/services/YOUR/WEBHOOK/URL com um payload JSON contendo {text: "Deployment complete"}, e cabeçalho customizado X-Event: deployment-success.

Cenários Avançados de Rede

Tratamento de Paginação

A skill detecta automaticamente padrões de paginação:

// GitHub Link header parsing
const linkHeader = response.headers.get('Link');
if (linkHeader) {
  const nextUrl = parseLinkHeader(linkHeader).next;
  if (nextUrl && currentPage < maxPages) {
    return {
      data: currentData,
      nextPage: currentPage + 1,
      hasMore: true
    };
  }
}

Solicitar todas as páginas:

Use rest-get para buscar todos os repositórios do usuário "anthropics", tratando a paginação automaticamente até que não haja mais páginas.

A skill retorna um array plano de todos os resultados.

Limite de Taxa e Lógica de Nova Tentativa

Configure o comportamento de novas tentativas por requisição:

{
  "service": "github",
  "endpoint": "/rate_limit",
  "maxRetries": 5,
  "retryDelay": "exponential",
  "retryOn": [429, 500, 502, 503, 504]
}

A skill implementa `exponential backoff` com `jitter`:

const delay = Math.min(
  (2 ** attempt) * 1000 + Math.random() * 1000,
  30000
);
await new Promise(resolve => setTimeout(resolve, delay));

Gerenciamento de Requisições Concorrentes

Agrupe várias chamadas de API de forma eficiente:

Use rest-get para buscar detalhes dos repositórios: ["claude", "skills", "anthropic-sdk"], executando requisições concorrentemente com um máximo de 3 conexões paralelas.

A skill usa `p-limit` para controlar a concorrência:

import pLimit from 'p-limit';
const limit = pLimit(3); // Max 3 concurrent

const results = await Promise.all(
  repos.map(repo =>
    limit(() => fetchRepoDetails(repo))
  )
);

Interceptação e Mocking de Requisições

Para testes, intercepte requisições sem acessar APIs reais:

// Na configuração da skill
"env": {
  "MOCK_MODE": "true",
  "MOCK_FIXTURES_DIR": "./test/fixtures"
}

Agora as requisições retornam dados `mockados` de arquivos JSON:

// test/fixtures/github/repos/anthropics.json
[
  {"name": "claude", "description": "AI assistant", "stars": 5000}
]

Aplicação Prática: Construindo um Painel do GitHub

Passo 1: Buscar Dados do Repositório

Use rest-get para buscar todos os repositórios do GitHub para a organização "anthropics", incluindo descrição completa, contagem de estrelas, contagem de forks e contagem de issues abertas. Armazene em cache os resultados por 5 minutos.

Passo 2: Enriquecer com Dados do Contribuinte

Para cada repositório, busque os principais contribuidores:

Use rest-get para buscar estatísticas de contribuidores para o repositório "anthropics/claude", limitando aos 10 principais contribuidores, e extraia o login e a contagem de contribuições.

Passo 3: Gerar Estatísticas de Resumo

Combine dados no Claude Code:

const repos = await fetchAllRepos('anthropics');
const enrichedRepos = await Promise.all(
  repos.map(async (repo) => {
    const contributors = await fetchTopContributors('anthropics', repo.name);
    return { ...repo, topContributors: contributors };
  })
);

return {
  totalStars: enrichedRepos.reduce((sum, r) => sum + r.stars, 0),
  totalForks: enrichedRepos.reduce((sum, r) => sum + r.forks, 0),
  repositories: enrichedRepos
};

Passo 4: Publicar Painel

Use rest-post para criar um site GitHub Pages com os dados do painel usando a API do GitHub para commitar na branch gh-pages.

Tratamento de Erros e Resiliência

A skill categoriza erros para um tratamento adequado:

// 4xx errors: Client errors
if (response.status >= 400 && response.status < 500) {
  throw new SkillError('client_error', `Invalid request: ${response.status}`, {
    statusCode: response.status,
    details: await response.text()
  });
}

// 5xx errors: Server errors (retry eligible)
if (response.status >= 500) {
  throw new SkillError('server_error', `Server error: ${response.status}`, {
    retryable: true,
    statusCode: response.status
  });
}

// Network errors: Connection failures
if (error.code === 'ECONNREFUSED' || error.code === 'ETIMEDOUT') {
  throw new SkillError('network_error', 'Network unreachable', {
    retryable: true,
    originalError: error.message
  });
}

O Claude Code recebe erros estruturados e pode decidir tentar novamente, abortar ou solicitar intervenção do usuário.

Conclusão

As Claude Code Skills para rede de API transformam requisições HTTP ad-hoc em ferramentas de busca de dados confiáveis, com segurança de tipo e observáveis. Ao centralizar o gerenciamento de credenciais, implementar novas tentativas inteligentes e fornecer tratamento de erros estruturado, você elimina as fontes mais comuns de bugs na integração de APIs. Comece com as quatro ferramentas principais—rest-get, rest-post, graphql-query e raw-http—e então estenda-as para seus casos de uso específicos. O investimento na configuração de skills traz dividendos imediatos em consistência de código e velocidade de desenvolvimento.

Quando suas skills de busca de dados interagirem com APIs internas, valide esses endpoints com o Apidog para garantir que suas integrações baseadas em IA consumam contratos confiáveis.

botão

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs