Como Instalar e Configurar o Claude Code: API, LLM Local, Skills e Exemplos Práticos

Claude Code · Anthropic · Ollama · LLM Local · CLI · Skills · Hooks · MCP · Sysadmin  |  ✎ Duarte Spínola  |  7 de Maio de 2026

O Claude Code é a ferramenta de coding agêntico da Anthropic que vive no terminal — lê o codebase completo, edita ficheiros em múltiplos locais, corre comandos shell, gere workflows Git e liga-se a ferramentas externas via MCP. Não é um chat com blocos de código: é um agente autónomo que opera directamente no teu ambiente de desenvolvimento. Em Abril de 2026, cerca de 4% dos commits públicos no GitHub — mais de 135.000 por dia — são da autoria do Claude Code.

Este guia cobre tudo: instalação, as duas formas de autenticação (API key e subscrição), como ligar o Claude Code a um LLM local via Ollama ou LM Studio (código nunca sai da máquina), as configurações iniciais que fazem diferença desde o primeiro dia, skills essenciais para sysadmins e developers, e exemplos concretos de utilização.

1. O que é o Claude Code — e o que o Diferencia

O Claude Code opera como agente autónomo no terminal — não como assistente de chat. A diferença prática é significativa:

Ferramenta Como opera Ideal para
GitHub Copilot Autocompletar inline dentro do editor Completar código enquanto escreves
Cursor IDE com IA integrada — edições dentro do editor Edições de ficheiros individuais ou pequenos grupos
Claude Code Agente no terminal — lê codebase, executa comandos, edita múltiplos ficheiros, gere Git Tarefas que cruzam muitos ficheiros, requerem shell commands, ou orquestram subagentes em paralelo

ℹ Claude Code não é só para developers

Para sysadmins, o Claude Code é uma ferramenta de automação de infra — analisa logs, gera scripts PowerShell/Bash, cria configurações, lê e edita ficheiros YAML/JSON de configuração, e executa comandos directamente. Qualquer coisa que faças num terminal pode ser delegada ao Claude Code.

2. Instalação — Pré-requisitos e Instalação do CLI

Pré-requisitos

Requisito Versão mínima Nota
Node.js 18+ Recomendado Node 20 LTS. Verificar: node -v
Sistema Operativo macOS 10.15+, Linux Ubuntu 20.04+ Windows requer WSL2 — Node deve ser instalado dentro do WSL2
VS Code (opcional) 1.85+ Para a extensão oficial Claude Code no marketplace do VS Code

Instalar o Claude Code CLI

# Instalar o Claude Code globalmente via npm
npm install -g @anthropic-ai/claude-code

# Verificar a instalação
claude –version

# Se tiveres erro EACCES (permissões npm), usar:
sudo npm install -g @anthropic-ai/claude-code
# OU configurar npm para instalar sem sudo:
# https://docs.npmjs.com/resolving-eacces-permissions-errors

# Instalar Node 20 se necessário (via nvm — recomendado)
# macOS / Linux:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
nvm use 20

# Windows (WSL2) — instalar dentro do terminal WSL Ubuntu:
sudo apt update && sudo apt install -y curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20

3. Autenticar com API Anthropic (Pay-as-you-go)

A API key dá acesso a todos os modelos Claude no modelo pay-as-you-go — sem subscrição. Novas contas recebem 5 USD de crédito gratuito. Uso diário típico (refactoring, debugging, análise de logs): 10–15 USD/mês com Sonnet.

1
Criar conta em console.anthropic.comAPI Keys → Create Key
2
Copiar a chave — é mostrada apenas uma vez. Guardar em local seguro.
3
Definir a API key e lançar o Claude Code. Escolher uma das três opções abaixo:

Opção A — só funciona enquanto o terminal estiver aberto
Escrever os dois comandos seguintes no terminal, um de cada vez, e premir Enter após cada um. Substituir sk-ant-api03-... pela chave copiada no passo anterior:

export ANTHROPIC_API_KEY=sk-ant-api03-…
claude

Quando o terminal for fechado, a chave desaparece e é necessário repetir o processo.

Opção B — configuração permanente (recomendado)
Escrever os três comandos seguintes no terminal, um de cada vez. Substituir sk-ant-api03-... pela chave real. A chave fica guardada e não é necessário repetir em sessões futuras:

# macOS (Zsh) — usar este bloco:
echo ‘export ANTHROPIC_API_KEY=sk-ant-api03-…‘ >> ~/.zshrc
source ~/.zshrc
claude

# Linux / WSL Ubuntu (Bash) — usar este bloco:
echo ‘export ANTHROPIC_API_KEY=sk-ant-api03-…‘ >> ~/.bashrc
source ~/.bashrc
claude

O comando echo ... >> ~/.bashrc guarda a chave no ficheiro de configuração do terminal. O comando source aplica as alterações sem ter de fechar e abrir o terminal. O claude lança o Claude Code já autenticado.

Opção C — via interface gráfica do Claude Code
Escrever claude no terminal e premir Enter. Dentro do Claude Code, escrever /config e seleccionar “Use custom API key”. A chave é pedida e guardada automaticamente no perfil do Claude Code.

# Opção A — variável de sessão (só para este terminal)
export ANTHROPIC_API_KEY=sk-ant-api03-…
claude

# Opção B — variável persistente (adicionar ao ~/.zshrc ou ~/.bashrc)
echo ‘export ANTHROPIC_API_KEY=”sk-ant-api03-…”‘ >> ~/.zshrc
source ~/.zshrc

# Opção C — definir no /config do Claude Code (interactivo)
claude
# Dentro do Claude Code: /config → “Use custom API key”

Modelo Custo por sessão típica Quando usar
claude-haiku-4-5 ~0.05–0.10 USD Refactoring, documentação, tarefas simples, subagentes de exploração
claude-sonnet-4-6 ~0.30–0.80 USD Driver do dia-a-dia — implementação de features, debugging, code review
claude-opus-4-6 ~1.50–4.00 USD Decisões de arquitectura, debugging complexo, análise de segurança, trabalho de longa duração

4. Autenticar com Subscrição Claude Pro / Max

Se já tens uma subscrição Claude Pro (20 USD/mês) ou Max (100–200 USD/mês), o Claude Code está incluído — sem custos adicionais por token. A autenticação é feita via OAuth no browser.

# Lançar o Claude Code — na primeira vez abre o browser para OAuth
claude

# Para ambientes sem browser (CI/CD, servidores remotos):
claude setup-token
# Gera um CLAUDE_CODE_OAUTH_TOKEN para usar em pipelines
export CLAUDE_CODE_OAUTH_TOKEN=o_token_gerado

ℹ Pro vs Max — o que muda para Claude Code

O Pro (20 USD/mês) inclui Claude Code mas com rate limits mais apertados — adequado para uso ocasional. O Max (100 USD/mês) tem limites 5× mais altos e é o padrão recomendado para uso intensivo diário. O Max 20× (200 USD/mês) destina-se a utilização muito pesada ou equipas. Para uso por API key (pay-as-you-go), o custo está tipicamente entre 10–30 USD/mês para uso diário moderado.

5. Ligar a um LLM Local com Ollama

O Claude Code é, no fundo, um cliente que fala com a API Anthropic. Não verifica que há um Claude real do outro lado. Qualquer servidor local que exponha um endpoint compatível com a API Anthropic pode ser usado como backend — incluindo o Ollama. O código nunca sai da máquina.

1
Instalar o Ollama em ollama.com e descarregar um modelo de coding
2
Confirmar que o Ollama está a correr e a responder
3
Definir as variáveis de ambiente e lançar o Claude Code
# Passo 1 — Descarregar modelo de coding via Ollama
ollama pull qwen2.5-coder:14b # recomendado (9 GB, 16 GB RAM)
# Alternativa mais leve (8 GB RAM):
ollama pull qwen2.5-coder:7b

# Passo 2 — Confirmar que o Ollama está a responder
curl http://localhost:11434/api/tags

# Passo 3 — Configurar variáveis e lançar Claude Code
# O Ollama expõe a API Anthropic no endpoint /api/
export ANTHROPIC_BASE_URL=http://localhost:11434
export ANTHROPIC_AUTH_TOKEN=ollama # valor arbitrário — Ollama não verifica
export ANTHROPIC_API_KEY=“”

# Lançar o Claude Code apontando para o modelo local
claude –model qwen2.5-coder:14b

# Para persistir, adicionar ao ~/.zshrc ou ~/.bashrc:
echo ‘export ANTHROPIC_BASE_URL=”http://localhost:11434″‘ >> ~/.zshrc
echo ‘export ANTHROPIC_AUTH_TOKEN=”ollama”‘ >> ~/.zshrc
echo ‘export ANTHROPIC_API_KEY=””‘ >> ~/.zshrc

⚠ Contexto mínimo de 32K tokens — essencial para Claude Code

O Claude Code é muito exigente em contexto — lê ficheiros inteiros e mantém histórico de operações. Configurar o Ollama com pelo menos 32.768 tokens de contexto, idealmente 65.536. Adicionar ao ~/.ollama/models/ um ficheiro Modelfile, ou definir OLLAMA_NUM_CTX=65536 como variável de ambiente antes de lançar o Ollama.

6. Ligar a um LLM Local com LM Studio

O LM Studio serve os modelos num endpoint OpenAI-compatível por defeito em http://localhost:1234. O processo é similar ao Ollama, mas via interface gráfica.

# LM Studio — após instalar o modelo e arrancar o servidor local:
# 1. Abrir o LM Studio, carregar o modelo (ex: Gemma 4 26B A4B)
# 2. Ir a “Local Server” e clicar “Start Server”
# 3. Configurar context window para 65536 no LM Studio

# 4. Configurar as variáveis no terminal
export ANTHROPIC_BASE_URL=http://localhost:1234
export ANTHROPIC_AUTH_TOKEN=lmstudio
export ANTHROPIC_API_KEY=“”

# Lançar com o modelo exacto carregado no LM Studio
claude –model gemma-4-26b-a4b-it

7. Melhores Modelos Locais para Coding em 2026

Modelo Tamanho RAM mínima Nota
qwen2.5-coder:7b 4.7 GB 8 GB Melhor modelo de coding no tier 7B. HumanEval ~76%. Boa entrada.
qwen2.5-coder:14b 9 GB 16 GB Recomendado como driver principal. HumanEval ~85%. Sweet spot.
devstral-small-2 ~15 GB 24–32 GB Mistral coding model. SWE-bench ~68%. Para hardware mais forte.
gemma-4-26b-a4b ~16 GB 24 GB Google MoE — 4B activos por token. Rápido e capaz. Boa opção Mac M4.
qwen2.5-coder:32b 20 GB 32 GB Para hardware topo de gama. Qualidade próxima de Sonnet em tarefas de código.

8. Configurações Iniciais Recomendadas

As configurações do Claude Code vivem em dois locais: ~/.claude/settings.json (global) e .claude/settings.json na raiz do projecto (partilhado com a equipa).

settings.json — configuração de projecto recomendada

// .claude/settings.json — guardar na raiz do projecto e fazer commit
{
“model”: “claude-sonnet-4-6”, // modelo por defeito do projecto
“permissions”: {
“allow”: [
“Bash(git status)”,
“Bash(git diff *)”,
“Bash(git log *)”,
“Bash(npm run *)”,
“Bash(npm test)”,
“Bash(python -m pytest *)”
],
“deny”: [
“Bash(git push –force *)”, // bloquear force push
“Bash(rm -rf *)”, // bloquear remoções recursivas
“Bash(* production *)” // bloquear comandos com “production”
]
},
“hooks”: {
“PostToolUse”: [
{
“matcher”: “Edit|Write”,
“hooks”: [
{
“type”: “command”,
“command”: “npx prettier –write \”$CLAUDE_TOOL_INPUT_FILE_PATH\” 2>/dev/null || true”
}
]
}
]
}
}

Comandos de configuração interactiva

# Dentro do Claude Code (/config abre o menu de configuração)
/config # menu principal — modelo, API key, output style
/config model # mudar o modelo activo

# Seleccionar estilo de output
# Explanatory — detalhado e passo a passo
# Concise — breve, focado em acções
# Technical — preciso, jargão técnico

# Modo plano — Claude planeia antes de executar (recomendado para tarefas grandes)
claude –plan
# Ou dentro da sessão:
/plan

# Ver permissões configuradas
/permissions

# Ver hooks configurados
/hooks

# Activar esforço alto para tarefas complexas (raciocínio adaptativo)
/effort high

9. CLAUDE.md — a Memória do Projecto

O CLAUDE.md na raiz do projecto é lido automaticamente pelo Claude Code em cada sessão — é a forma de dar contexto persistente sem repetir as mesmas instruções. Deve ser conciso: regras de ouro e comandos do projecto, não um manual.

# CLAUDE.md — exemplo para projecto Python + FastAPI

## Projecto
API REST em FastAPI + PostgreSQL. Stack: Python 3.12, FastAPI, SQLAlchemy 2.0, Alembic, pytest.

## Comandos
– `make dev` — servidor de desenvolvimento (localhost:8000)
– `make test` — pytest com cobertura
– `make lint` — ruff + mypy
– `make migrate` — aplicar migrações Alembic

## Padrões NON-NEGOTIABLE
– Controller → Service → Repository — nunca lógica de negócio em routers
– Todas as funções async — sem código síncrono no FastAPI
– Type hints obrigatórios em todas as funções
– Testes para todas as novas funcionalidades antes de implementar

## Verificação
Após cada alteração: `make lint` e `make test`. Só fazer commit se ambos passarem.

## Regras de segurança
– Nunca fazer commit de credenciais ou .env
– Nunca alterar ficheiros de migração já aplicados
– Nunca fazer push directo para main

⚠ CLAUDE.md demasiado longo = Claude ignora metade

Um CLAUDE.md muito extenso dilui as regras importantes no ruído. Manter abaixo de 60 linhas. Se já fazes algo correctamente sem a instrução, apagá-la. Para regras específicas de contexto (ex: padrões só para o módulo de autenticação), usar .claude/rules/auth.md com paths: glob — só carrega quando trabalhas nessa área. Regras de cumprimento obrigatório a 100% devem ser Hooks, não CLAUDE.md.

10. Skills — Workflows Reutilizáveis que Valem a Pena Ter

As skills são ficheiros Markdown em .claude/skills/<nome>/SKILL.md com frontmatter YAML. O Claude Code descobre-as automaticamente e carrega apenas as relevantes para a tarefa actual — sem ocupar contexto quando não são necessárias. Cada skill é um slash-command: /nome-da-skill.

Regra prática: se escreveste as mesmas instruções ao Claude Code mais do que uma vez, deveria ter sido uma skill na primeira vez.

Skill 1 — Code Review

# .claude/skills/code-review/SKILL.md

name: code-review
description: Faz code review das alterações. Usar após implementar uma feature ou antes de criar um PR.

Ao fazer code review, verificar sempre:

1. **Correctude** — a lógica está correcta? Há edge cases não tratados?
2. **Segurança** — há exposição de dados sensíveis, SQL injection, ou inputs não validados?
3. **Performance** — há N+1 queries, loops desnecessários, ou operações custosas?
4. **Legibilidade** — o código é claro? Os nomes são descritivos?
5. **Testes** — existe cobertura para os caminhos feliz e de erro?

Apresentar o resultado em formato:
– ✅ **Aprovado:** [o que está bem]
– ⚠️ **Sugestões:** [melhorias não críticas]
– ❌ **Problemas:** [issues que devem ser corrigidos]

Usar `git diff HEAD~1` para ver as alterações recentes se não for especificado.

Skill 2 — Criar PR / Commit

# .claude/skills/criar-pr/SKILL.md

name: criar-pr
description: Cria um commit com mensagem Conventional Commits e prepara a descrição do PR. Usar quando estás pronto para submeter.

Para criar um PR:

1. Verificar que todos os testes passam: `make test`
2. Verificar que o linting passa: `make lint`
3. Criar a mensagem de commit seguindo Conventional Commits:
– `feat:` nova funcionalidade
– `fix:` correção de bug
– `refactor:` refactoring sem mudança de comportamento
– `docs:` documentação
– `test:` testes
– `chore:` manutenção
4. Gerar a descrição do PR em português com:
– O que foi feito e porquê
– Alterações de comportamento (se existirem)
– Como testar
5. Executar `git add -A && git commit -m “[mensagem]”`
6. Mostrar o comando para criar o PR com `gh pr create`

Skill 3 — Debug de Problema

# .claude/skills/debug/SKILL.md

name: debug
description: Analisa e resolve um bug ou erro. Usar quando há um erro, comportamento inesperado, ou teste a falhar.

Processo de debug:

1. **Reproduzir**: verificar se o erro é reprodutível. Se não, perceber as condições.
2. **Isolar**: identificar o ficheiro e a função onde ocorre o problema.
3. **Hipótese**: formular 2-3 hipóteses para a causa raiz.
4. **Verificar**: testar cada hipótese com o mínimo de código possível.
5. **Corrigir**: aplicar a correcção mais simples que resolve o problema.
6. **Testar**: confirmar que o bug está resolvido e que não há regressões.

Nunca mudar mais do que o necessário para corrigir o bug.
Adicionar um teste de regressão que falha sem a correcção.

Skill 4 — Análise de Logs (para Sysadmins)

# .claude/skills/analise-logs/SKILL.md

name: analise-logs
description: Analisa ficheiros de log para encontrar erros, padrões e causa raiz. Usar quando há um incidente ou anomalia nos logs.

Ao analisar logs:

1. Identificar o tipo de log (aplicação, sistema, segurança, acesso)
2. Encontrar os erros mais recentes e mais frequentes
3. Identificar padrões temporais (quando começou, frequência)
4. Correlacionar eventos — o que aconteceu imediatamente antes do erro
5. Apresentar:
– **Resumo executivo**: o que está a falhar, em que contexto
– **Evidências**: linhas de log relevantes (não mais de 10)
– **Causa raiz provável**: hipótese mais plausível com justificação
– **Próximos passos**: 3 acções concretas para investigar ou resolver

Usar `grep`, `awk`, `tail`, `journalctl` conforme o tipo de log.
Para logs Windows, usar `Get-WinEvent` via PowerShell.

Skill 5 — Gerador de Scripts PowerShell/Bash

# .claude/skills/script-infra/SKILL.md

name: script-infra
description: Gera scripts de infraestrutura (PowerShell ou Bash) para automação IT. Usar quando precisas de automatizar tarefas de sysadmin.

Ao gerar scripts de infraestrutura:

**PowerShell:**
– Usar `[CmdletBinding(SupportsShouldProcess)]` para suporte a -WhatIf
– try/catch em cada operação com erro descritivo
– Logging em ficheiro com timestamp: `Add-Content -Path “C:\Logs\script.log”`
– Nunca hardcoded credentials — usar `Get-Credential` ou variáveis de ambiente
– Comentários em PT-PT, uma linha por bloco lógico

**Bash:**
– Sempre começar com `set -euo pipefail`
– Verificar dependências no início do script
– Mensagens de erro para stderr: `echo “Erro: …” >&2`
– Função de cleanup com `trap cleanup EXIT`
– `–dry-run` flag para testar sem executar

Apresentar o script completo com comentários, e uma secção de como testar antes de usar em produção.

11. Hooks — Automação Determinística

Os Hooks são scripts que correm automaticamente em eventos do ciclo de vida do Claude Code — não dependem da interpretação do modelo. O CLAUDE.md é seguido cerca de 80% das vezes; os hooks são 100% determinísticos. Para guardiões de segurança, formatação obrigatória e auditing, usar sempre hooks.

Eventos de hook disponíveis

Evento Quando dispara Pode bloquear?
PreToolUse Antes de o Claude executar qualquer tool (Bash, Edit, Write…) Sim — exit 2 bloqueia a acção
PostToolUse Após o Claude executar qualquer tool Não bloqueia
UserPromptSubmit Quando o utilizador submete uma mensagem Sim — pode injectar contexto ou bloquear
SessionStart Quando uma nova sessão começa Não bloqueia
Stop / SubagentStop Quando Claude ou subagente termina Não bloqueia (Stop) / Sim (SubagentStop)

Hook útil — bloquear comandos destrutivos

#!/bin/bash
# .claude/hooks/block-destructive.sh
# Bloqueia comandos destrutivos antes de executar

COMMAND=$(jq -r ‘.tool_input.command’ 2>/dev/null || echo “”)

if echo “$COMMAND” | grep -qE ‘(rm -rf|DROP TABLE|truncate|format [A-Z]:)’; then
jq -n ‘{
hookSpecificOutput: {
hookEventName: “PreToolUse”,
permissionDecision: “deny”,
permissionDecisionReason: “Comando destrutivo bloqueado pelo hook de segurança”
}
}’
exit 2
fi

exit 0

Hook útil — formatar ficheiro após edição

// No .claude/settings.json — formatar com Prettier após cada edição
{
“hooks”: {
“PostToolUse”: [
{
“matcher”: “Edit|Write”,
“hooks”: [
{
“type”: “command”,
“command”: “npx prettier –write \”$CLAUDE_TOOL_INPUT_FILE_PATH\” 2>/dev/null || true”
}
]
}
]
}
}

12. MCP — Ligar o Claude Code a Ferramentas Externas

O Model Context Protocol (MCP) conecta o Claude Code a ferramentas externas e serviços via JSON-RPC — bases de dados, APIs, sistemas de monitorização, gestores de issues. É o “tudo o resto” que não é built-in.

# Adicionar um servidor MCP
claude mcp add

# Exemplos de MCPs úteis para sysadmins/developers:

# GitHub — ler issues, PRs, criar comentários
claude mcp add github

# PostgreSQL — consultar a base de dados directamente
claude mcp add postgres

# Playwright — browser automation para testes E2E
claude mcp add playwright

# Brave Search ou Tavily — pesquisa web
claude mcp add tavily

# Ver MCPs instalados
claude mcp list

# Ver o marketplace de plugins (inclui MCPs pré-configurados)
/plugin

ℹ Começar com um MCP — não com dez

Cada MCP carrega os seus schemas de tools no contexto. Com muitos MCPs instalados, o contexto disponível para o código diminui. Começar com o MCP mais útil para o teu workflow (tipicamente GitHub ou a base de dados do projecto) e adicionar mais à medida que perceberes a necessidade.

13. Exemplos Práticos de Utilização

Para Developers

# Iniciar o Claude Code num projecto
cd ~/projecto
claude

# Explorar um codebase novo
“Explica a arquitectura deste projecto — como os módulos estão organizados e qual o fluxo de um request HTTP de entrada até à resposta”

# Implementar uma nova feature
“Implementa endpoint POST /api/users/{id}/notifications que:
– Aceita lista de IDs de notificação no body
– Marca-as como lidas no PostgreSQL
– Segue o padrão Controller-Service-Repository do projecto
– Inclui testes pytest”

# Debugging com o contexto completo
“O endpoint GET /api/reports está a devolver 500 em produção. Aqui está o traceback: [colar traceback]. Investiga a causa raiz e corrige.”

# Refactoring de um módulo
“Refactora o módulo auth.py para usar a nova classe UserRepository em vez de acesso directo à sessão SQLAlchemy. Manter todos os testes a passar.”

# Análise de dependências antes de actualizar
“Verifica o package.json e identifica dependências desactualizadas com vulnerabilidades conhecidas. Propõe um plano de actualização seguro.”

Para Sysadmins

# Analisar logs de sistema
cd /var/log
claude
“Analisa o nginx/error.log das últimas 2 horas e resume os erros mais frequentes, a sua causa provável, e sugere correcções”

# Gerar script de automação
“Cria um script Bash que:
– Verifica espaço em disco em /var e /home
– Se acima de 80%, envia alerta por email
– Remove logs com mais de 30 dias em /var/log/app/
– Corre como cron job diário às 2h
– Inclui logging e modo –dry-run”

# Auditar configurações de segurança
“Lê o /etc/ssh/sshd_config e o /etc/nginx/nginx.conf e identifica configurações inseguras ou não alinhadas com as melhores práticas de 2026”

# Criar documentação de infra
“Lê os ficheiros docker-compose.yml e .env.example e gera documentação Markdown explicando a arquitectura do serviço, os serviços dependentes e como fazer o deploy”

# Script PowerShell para M365
“Cria um script PowerShell que usa o módulo Microsoft.Graph para listar os utilizadores sem MFA activo no tenant. Output em CSV com UPN, DisplayName e data de criação.”

14. Erros Comuns e Como Evitá-los

Erro Causa Correcção
CLAUDE.md demasiado longo, regras ignoradas Too much context → regras perdem-se no ruído Manter <60 linhas. Mover contexto específico para skills e .claude/rules/ com globs
Exploração infinita — Claude lê centenas de ficheiros Pedido de “investigar” sem escopo Delimitar sempre o scope: “apenas em src/auth/, não sair deste directório”
Contexto auto-compactado → qualidade cai Sessão demasiado longa sem reset Usar /compact manualmente antes de auto-compactar. Para investigações longas, usar subagentes
Sem verificação — código aceite sem testar Confiar na plausibilidade visual do output Sempre pedir ao Claude para correr os testes após implementar. Se não há testes, pedir para criar
LLM local com contexto insuficiente Ollama com contexto padrão (4K) para Claude Code Definir OLLAMA_NUM_CTX=65536 — contexto mínimo de 32K para uso com Claude Code
Microgerir a implementação Especificar linha a linha como fazer Descrever o objectivo e os critérios de aceitação — deixar o Claude decidir o “como”

✓ O padrão que maximiza resultados: Research → Plan → Execute → Review → Ship

Para tarefas complexas: primeiro pedir ao Claude para investigar e reportar (subagente separado para não poluir o contexto principal), depois planejar com /plan, executar em modo focado, fazer review com a skill de code review, e só então commitar. Este ciclo evita a maioria dos problemas de qualidade.

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário