ワンクリックで
carbon-brain-error
Registra erro resolvido em global/errors-solved.md. Use quando resolver erro não óbvio para evitar repetição.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Registra erro resolvido em global/errors-solved.md. Use quando resolver erro não óbvio para evitar repetição.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when setting up or reconfiguring carbon-claude-brain after marketplace install, when config is missing, or when needing to list/change Inkdrop notebook IDs.
Use when starting a session (context loaded automatically via hooks), saving session summaries, searching past decisions, managing project knowledge, or documenting learnings. Also use when user mentions "brain", "memory", "context", "save session", "learnings", or "past decisions".
Mostra o contexto atual carregado do Obsidian para o projeto. Exibe: project-context.md, decision-log.md e últimas decisões.
Skill para interagir com o Inkdrop via API HTTP local (porta 19840). Use para criar e buscar journals de sessão, aprendizados e notas rápidas. Trigger: quando o usuário mencionar "inkdrop", "journal", "aprendizados", "diário" ou ao encerrar uma sessão de trabalho.
Salva aprendizado reutilizável em global/learnings.md. Use quando descobrir regra geral que vale para qualquer projeto.
Skill para interagir com o vault local do Obsidian via filesystem. Use para ler e escrever notas de projeto, decisões e arquitetura. Trigger: quando o usuário mencionar "obsidian", "vault", "plano do projeto", "arquitetura" ou "decisão técnica".
| name | carbon-brain-error |
| description | Registra erro resolvido em global/errors-solved.md. Use quando resolver erro não óbvio para evitar repetição. |
Registra um erro resolvido em _claude-brain/global/errors-solved.md.
Use quando resolver erro não óbvio:
❌ Não use para:
#!/usr/bin/env bash
source ~/.claude/hooks/lib-carbon-brain.sh
load_config
# Função: save_error_solved(date, title, context, error_msg, solution, prevention)
DATE="$(date '+%Y-%m-%d')"
echo "📝 Documentar Erro Resolvido"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
read -p "Título do erro: " TITLE
read -p "Contexto (o que estava fazendo): " CONTEXT
read -p "Mensagem de erro: " ERROR_MSG
read -p "Solução encontrada: " SOLUTION
read -p "Como prevenir no futuro: " PREVENTION
if save_error_solved "$DATE" "$TITLE" "$CONTEXT" "$ERROR_MSG" "$SOLUTION" "$PREVENTION"; then
echo ""
echo "✅ Erro documentado em global/errors-solved.md"
else
echo ""
echo "❌ Erro ao documentar"
exit 1
fi
/brain-error
# Entrada:
Título: NullPointerException ao acessar user.profile
Contexto: Fazendo update de perfil do usuário após login
Mensagem de erro: Cannot read property 'name' of null
Solução: Adicionar verificação: if (user.profile) antes de acessar
Prevenção: Sempre validar que objetos nested existem antes de acessar propriedades
/brain-error
# Entrada:
Título: Docker build failing com EACCES
Contexto: Tentando build imagem Node.js no CI
Mensagem de erro: EACCES: permission denied, mkdir '/app/node_modules'
Solução: Adicionar USER node antes de RUN npm install no Dockerfile
Prevenção: Nunca rodar npm install como root em containers
/brain-error
# Entrada:
Título: Race condition em testes com setTimeout
Contexto: Testes falhando aleatoriamente em CI
Mensagem de erro: Expected value to be 'complete', received 'pending'
Solução: Substituir setTimeout por waitFor() do testing-library
Prevenção: Usar helpers de espera (waitFor, waitForElement) ao invés de timers fixos
---
updated: 2026-03-22
tags: [errors, troubleshooting]
---
# Erros Resolvidos
## 2026-03-22 — NullPointerException ao acessar user.profile
**Contexto:**
Fazendo update de perfil do usuário após login
**Erro:**
Cannot read property 'name' of null
**Solução:**
Adicionar verificação: `if (user.profile)` antes de acessar
**Como prevenir:**
Sempre validar que objetos nested existem antes de acessar propriedades
---
## 2026-03-21 — Docker build failing com EACCES
**Contexto:**
Tentando build imagem Node.js no CI
**Erro:**
EACCES: permission denied, mkdir '/app/node_modules'
**Solução:**
Adicionar `USER node` antes de `RUN npm install` no Dockerfile
**Como prevenir:**
Nunca rodar npm install como root em containers
---
## 2026-03-20 — Race condition em testes
**Contexto:**
Testes falhando aleatoriamente em CI
**Erro:**
Expected value to be 'complete', received 'pending'
**Solução:**
Substituir `setTimeout` por `waitFor()` do testing-library
**Como prevenir:**
Usar helpers de espera (waitFor, waitForElement) ao invés de timers fixos
/brain-error → Erro específico resolvido (errors-solved.md)/brain-learn → Aprendizado geral e reutilizável (learnings.md)/brain-save → Resumo da sessão atual (journals/)Use /brain-search-patterns para buscar erros similares:
/brain-search-patterns "NullPointerException"
/brain-search-patterns "EACCES"
/brain-search-patterns "race condition"
Definida em lib-carbon-brain.sh:
save_error_solved() {
local date="$1"
local title="$2"
local context="$3"
local error_msg="$4"
local solution="$5"
local prevention="$6"
local file="$OBSIDIAN_VAULT/_claude-brain/global/errors-solved.md"
# Criar arquivo se não existir
if [ ! -f "$file" ]; then
cat > "$file" << 'EOF'
---
updated: {{DATE}}
tags: [errors, troubleshooting]
---
# Erros Resolvidos
EOF
sed -i.bak "s/{{DATE}}/$date/" "$file"
rm "$file.bak" 2>/dev/null
fi
# Adicionar erro
cat >> "$file" << EOF
## $date — $title
**Contexto:**
$context
**Erro:**
\`\`\`
$error_msg
\`\`\`
**Solução:**
$solution
**Como prevenir:**
$prevention
---
EOF
# Atualizar data
sed -i.bak "s/^updated: .*/updated: $date/" "$file"
rm "$file.bak" 2>/dev/null
return 0
}
Cole no terminal para documentar rapidamente:
/brain-error << 'INPUT'
Título: [descrição do erro]
Contexto: [o que estava fazendo]
Erro: [mensagem exata]
Solução: [como resolveu]
Prevenção: [como evitar]
INPUT