Agent Skillskbanc85/claudia › diagnose

diagnose

GitHub

诊断 Claudia 记忆基础设施健康,排查连接故障。检查配置、MCP服务器状态、预检结果及数据库可用性,确保会话上下文持久化正常。

plugins/claudia/skills/diagnose/SKILL.md kbanc85/claudia

Trigger Scenarios

记忆命令不可用 会话上下文加载失败 用户询问记忆状态

Install

npx skills add kbanc85/claudia --skill diagnose -g -y
More Options

Non-standard path

npx skills add https://github.com/kbanc85/claudia/tree/main/plugins/claudia/skills/diagnose -g -y

Use without installing

npx skills use kbanc85/claudia@diagnose

指定 Agent (Claude Code)

npx skills add kbanc85/claudia --skill diagnose -a claude-code -g -y

安装 repo 全部 skill

npx skills add kbanc85/claudia --all -g -y

预览 repo 内 skill

npx skills add kbanc85/claudia --list

SKILL.md

Frontmatter
{
    "name": "diagnose",
    "description": "Check memory system health and troubleshoot connectivity issues. Use when memory commands aren't working, at session start if something seems wrong, or when user asks about memory status. See also: `memory-health` for the data-quality dashboard once connectivity is confirmed.",
    "effort-level": "low"
}

Diagnose

System health check for Claudia's memory infrastructure. Run this when:

  • Memory commands seem unavailable
  • Session context isn't loading
  • User asks "is my memory working?"
  • Something feels off with persistence

Process

Step 1: Check .mcp.json Configuration

Read the project's .mcp.json file and verify:

  • A claudia-memory entry exists under mcpServers
  • The command field points to a real Python binary
  • The args include --project-dir matching the current directory
cat .mcp.json 2>/dev/null || echo "No .mcp.json found"

If .mcp.json is missing or has no claudia-memory entry, the daemon was never configured. Fix:

npx get-claudia .

If the Python binary in the command field doesn't exist:

# Check if venv exists
ls -la ~/.claudia/daemon/venv/bin/python 2>/dev/null || echo "Daemon venv not found"

Step 1b: Check Active MCP Servers

List all active MCP servers (entries without _disabled prefix):

python3 -c "
import json
c = json.load(open('.mcp.json'))
servers = c.get('mcpServers', {})
active = [k for k, v in servers.items() if not k.startswith('_')]
stdio = [k for k in active if servers[k].get('type', 'stdio') == 'stdio']
http = [k for k in active if servers[k].get('type') == 'http']
print(f'Active servers ({len(active)}): {chr(44).join(active)}')
print(f'  stdio: {chr(44).join(stdio) or \"none\"}')
print(f'  http: {chr(44).join(http) or \"none\"}')
"

Step 2: Run Preflight Check

The daemon has a built-in preflight validator that tests all 11 startup steps:

# Extract the Python path from .mcp.json and run preflight
VENV_PYTHON=$(python3 -c "import json; c=json.load(open('.mcp.json')); print(c.get('mcpServers',{}).get('claudia-memory',{}).get('command',''))" 2>/dev/null)

if [[ -n "$VENV_PYTHON" && -x "$VENV_PYTHON" ]]; then
  "$VENV_PYTHON" -m claudia_memory --preflight --project-dir "$PWD"
else
  echo "Cannot find daemon Python binary. Re-run: npx get-claudia ."
fi

If the preflight file exists, read it for structured results:

cat ~/.claudia/daemon-preflight.json 2>/dev/null

Step 3: Check Session Manifest

The daemon writes a manifest when it successfully enters the MCP loop:

cat ~/.claudia/daemon-session.json 2>/dev/null || echo "No session manifest (daemon never started)"

If the manifest exists, check whether the process is still alive:

PID=$(python3 -c "import json; print(json.load(open('$HOME/.claudia/daemon-session.json')).get('pid',''))" 2>/dev/null)
if [[ -n "$PID" ]]; then
  ps -p "$PID" > /dev/null 2>&1 && echo "Daemon running (PID $PID)" || echo "Daemon died (PID $PID no longer running)"
fi

Step 4: Check Standalone Daemon

curl -s http://localhost:3848/status 2>/dev/null || echo "Standalone daemon not running (this is normal if using MCP-only mode)"

Step 5: Check Database Directly

ls -la ~/.claudia/memory/*.db 2>/dev/null || echo "No database files found"

# If database exists, check record counts
for db_file in ~/.claudia/memory/*.db; do
  [[ -f "$db_file" ]] || continue
  echo "Database: $db_file"
  sqlite3 "$db_file" "SELECT 'memories: ' || COUNT(*) FROM memories; SELECT 'entities: ' || COUNT(*) FROM entities;" 2>/dev/null || echo "  Cannot query (may be locked)"
done

Step 6: Check Embedding Model

ollama list 2>/dev/null | grep -E "minilm|nomic|mxbai" || echo "No embedding model found (memory works without it, but vector search is disabled)"

Step 7: Report Results

Format the diagnosis as:

---
**Memory System Diagnosis**

| Component | Status | Details |
|-----------|--------|---------|
| .mcp.json config | ✅/❌ | [daemon entry present/missing] |
| Active MCP servers | ✅/⚠️ | [list of active servers] |
| Daemon Python binary | ✅/❌ | [path exists/missing] |
| Preflight | ✅/❌ | [all passed / N failures] |
| Session manifest | ✅/❌ | [running/died/never started] |
| Standalone daemon | ✅/❌/➖ | [healthy/not running] |
| Database | ✅/❌ | [path, record counts] |
| Embedding model | ✅/❌ | [model name or "not found"] |

**Overall:** [Healthy / Degraded / Not Connected]

[If issues found, show the specific fix from preflight results]
---

Common Issues and Fixes

Issue: "MCP server failed" in Codex

Most likely cause: The daemon crashes during startup before reaching the MCP handshake.

Fix: Run the preflight check to see exactly which step fails:

~/.claudia/daemon/venv/bin/python -m claudia_memory --preflight --project-dir "$PWD"

If preflight shows fixable issues, try auto-repair:

~/.claudia/daemon/venv/bin/python -m claudia_memory --repair --project-dir "$PWD"

Issue: Tools not in palette but no error

Cause: Daemon started but exited before Codex could handshake, or Codex closed stdin too early.

Fix: Check the session manifest:

cat ~/.claudia/daemon-session.json
  • If missing: daemon never reached the MCP loop (run preflight)
  • If present with exited_at: daemon started and exited cleanly (check stdin_type, should be "pipe")
  • If present without exited_at and PID is dead: daemon crashed after starting

Issue: Preflight shows db_connect FAIL

Cause: Database is locked by another process.

Fix:

# Find processes using the database
lsof ~/.claudia/memory/*.db 2>/dev/null
# Or try auto-repair
~/.claudia/daemon/venv/bin/python -m claudia_memory --repair --project-dir "$PWD"

Issue: Preflight shows schema_load FAIL

Cause: The claudia-memory package is corrupted or incompletely installed.

Fix:

~/.claudia/daemon/venv/bin/pip install --force-reinstall claudia-memory

Or re-run the installer:

npx get-claudia .

Issue: Preflight shows sqlite_vec WARN

Cause: sqlite-vec extension not installed. Memory works without it, but vector search is disabled.

Fix:

~/.claudia/daemon/venv/bin/pip install sqlite-vec

Issue: Daemon venv not found

Cause: Fresh install or venv was deleted.

Fix:

npx get-claudia .

This recreates the venv and installs the daemon.

Issue: Wrong project directory

Cause: .mcp.json has a different --project-dir than expected.

Fix: Check the args in .mcp.json:

python3 -c "import json; c=json.load(open('.mcp.json')); print(c['mcpServers']['claudia-memory']['args'])"

The --project-dir should match your current working directory. Re-run npx get-claudia . from the correct directory to fix it.

Issue: Python 3.10+ not found

Cause: System Python is too old for the daemon.

Fix: Install Python 3.10+ from python.org, Homebrew (brew install python@3.12), or your package manager.

Version History

  • 80253c0 Current 2026-08-20 06:21

Same Skill Collection

codex/skills/build-team/SKILL.md
codex/skills/claudia-core/SKILL.md
codex/skills/databases/SKILL.md
codex/skills/onboarding/SKILL.md
plugins/claudia/skills/auto-research/SKILL.md
plugins/claudia/skills/brain-monitor/SKILL.md
plugins/claudia/skills/brain/SKILL.md
plugins/claudia/skills/build-team/SKILL.md
plugins/claudia/skills/capture-meeting/SKILL.md
plugins/claudia/skills/claudia-core/SKILL.md
plugins/claudia/skills/client-health/SKILL.md
plugins/claudia/skills/databases/SKILL.md
plugins/claudia/skills/deep-context/SKILL.md
plugins/claudia/skills/draft-reply/SKILL.md
plugins/claudia/skills/feedback/SKILL.md
plugins/claudia/skills/file-document/SKILL.md
plugins/claudia/skills/financial-snapshot/SKILL.md
plugins/claudia/skills/fix-duplicates/SKILL.md
plugins/claudia/skills/follow-up-draft/SKILL.md
plugins/claudia/skills/growth-check/SKILL.md
plugins/claudia/skills/inbox-check/SKILL.md
plugins/claudia/skills/ingest-sources/SKILL.md
plugins/claudia/skills/map-connections/SKILL.md
plugins/claudia/skills/meditate/SKILL.md
plugins/claudia/skills/meeting-prep/SKILL.md
plugins/claudia/skills/memory-audit/SKILL.md
plugins/claudia/skills/memory-health/SKILL.md
plugins/claudia/skills/morning-brief/SKILL.md
plugins/claudia/skills/new-person/SKILL.md
plugins/claudia/skills/new-workspace/SKILL.md
plugins/claudia/skills/onboarding/SKILL.md
plugins/claudia/skills/pipeline-review/SKILL.md
plugins/claudia/skills/research/SKILL.md
plugins/claudia/skills/skill-router/SKILL.md
plugins/claudia/skills/summarize-doc/SKILL.md
plugins/claudia/skills/weekly-review/SKILL.md
plugins/claudia/skills/what-am-i-missing/SKILL.md
template-v2/.claude/skills/auto-research/SKILL.md
template-v2/.claude/skills/client-health/SKILL.md
template-v2/.claude/skills/databases/SKILL.md
template-v2/.claude/skills/deep-context/SKILL.md
template-v2/.claude/skills/feedback/SKILL.md
template-v2/.claude/skills/financial-snapshot/SKILL.md
template-v2/.claude/skills/fix-duplicates/SKILL.md
template-v2/.claude/skills/new-workspace/SKILL.md
template-v2/.claude/skills/pipeline-review/SKILL.md
template-v2/.claude/skills/research/SKILL.md
plugins/claudia/skills/wiki/SKILL.md
template-v2/.claude/skills/wiki/SKILL.md

Metadata

Files
0
Version
80253c0
Hash
ba89c93d
Indexed
2026-08-20 06:21

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 08:37
浙ICP备14020137号-1 $mapa de visitantes$