Skip to content
Agent Memory
Command

/health

Run diagnostics on Nemp Memory health and integrity

BOOST
From plugin
nemp
13924 skills24 commands
Install
> /plugin marketplace add SukinShetty/Nemp-memory
> /plugin install nemp@nemp-memory

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/health

Context preview

What this command does when you run it.

Run diagnostics on Nemp Memory health and integrity

Command definition

health.md
description: "Run diagnostics on Nemp Memory health and integrity"
argument-hint: ""

/nemp:health

Run a health check on your Nemp Memory system. Detect corruption, stale data, sync drift, orphaned keys, and silent degradation before they cause problems.

Usage

/nemp:health    # Run health check with score and issues list

Why This Exists

Every memory tool assumes your data is fine. They silently degrade — ghost references, corrupted indexes, stale CLAUDE.md, orphaned keys. You don't notice until the agent makes a wrong decision based on bad context.

`/nemp:health` catches problems before they break your agent.

Instructions

When the user invokes `/nemp:health`, run ALL checks below in sequence, then display a scored report.

Step 1: Check .nemp/ Directory Exists

[ -d ".nemp" ] && echo "NEMP_DIR_EXISTS" || echo "NEMP_DIR_MISSING"

If `.nemp/` doesn't exist:

❌ CRITICAL: No .nemp/ directory found.

Run /nemp:init to initialize Nemp Memory.

**Stop here** — no further checks possible.

Step 2: Check memories.json Exists and Is Valid JSON

[ -f ".nemp/memories.json" ] && python3 -c "import json; data=json.load(open('.nemp/memories.json')); print(f'VALID_JSON entries={len(data)}')" 2>&1 || echo "MISSING_OR_INVALID"

**Checks:**

  • File exists → ✅ or ❌
  • Valid JSON → ✅ or ❌ (report parse error line if invalid)
  • Entry count → Report number

Step 3: Memory Integrity Checks

For each memory entry in memories.json, verify:

**3a. Key format:**

  • Keys should be kebab-case (lowercase, hyphens)
  • Flag keys with spaces, uppercase, or special characters
  • Severity: ⚠️ WARNING

**3b. Value length:**

  • Values should be under 200 characters (compressed)
  • Flag values over 200 chars
  • Severity: ⚠️ WARNING

**3c. Empty values:**

  • Flag any memory where value is empty string, null, or undefined
  • Severity: ❌ ERROR

**3d. Duplicate keys:**

  • Check for near-duplicates like "auth-flow" and "auth_flow" or "authflow"
  • Severity: ⚠️ WARNING

**3e. Timestamp integrity:**

  • `created` should be a valid ISO-8601 date
  • `updated` should be >= `created`
  • No timestamps in the future
  • Severity: ⚠️ WARNING

**3f. Missing required fields:**

  • Every entry should have: key, value, created, updated
  • Flag entries missing any of these
  • Severity: ⚠️ WARNING

Step 4: CLAUDE.md Sync Check

[ -f "CLAUDE.md" ] && echo "CLAUDE_MD_EXISTS" || echo "CLAUDE_MD_MISSING"

**4a. CLAUDE.md exists?**

  • ✅ exists or ⚠️ missing

**4b. Nemp section present?**

  • Look for `## Project Context (via Nemp Memory)`
  • ✅ found or ⚠️ no Nemp section

**4c. Sync freshness:**

  • Extract "Last updated:" timestamp from Nemp section
  • Compare to most recent `updated` timestamp in memories.json
  • If memories are newer than CLAUDE.md → ⚠️ STALE
  • Report time difference

**4d. Content drift:**

  • Count memories in memories.json
  • Count entries in CLAUDE.md Nemp section
  • If counts differ → ⚠️ OUT OF SYNC
  • List which memories are missing from CLAUDE.md

Step 5: Access Log Health

[ -f ".nemp/access.log" ] && wc -l .nemp/access.log && head -1 .nemp/access.log && tail -1 .nemp/access.log || echo "NO_ACCESS_LOG"

**Checks:**

  • Log file exists → ✅ or ⚠️
  • Total entries count
  • Date range (first entry to last entry)
  • Any malformed entries
  • Severity: ⚠️ WARNING for missing/malformed

Step 6: Config Check

[ -f ".nemp/config.json" ] && cat .nemp/config.json || echo "NO_CONFIG"

**Checks:**

  • Config file exists → ✅ or ⚠️
  • autoSync setting → Report current value
  • Valid JSON → ✅ or ❌

Step 7: MEMORY.md Index Check

[ -f ".nemp/MEMORY.md" ] && echo "MEMORY_MD_EXISTS" || echo "MEMORY_MD_MISSING"

**Checks:**

  • File exists → ✅ or ⚠️
  • If exists, check if memory count matches memories.json
  • Severity: ⚠️ WARNING if missing or out of sync

Step 8: Global Memory Check

[ -f "$HOME/.nemp/memories.json" ] && python3 -c "import json; data=json.load(open('$HOME/.nemp/memories.json')); print(f'VALID entries={len(data)}')" 2>&1 || echo "NO_GLOBAL"

**Checks:**

  • Global memories exist → Report count or "none"
  • Valid JSON → ✅ or ❌

Step 9: Cortex Data Check

[ -f ".nemp/cortex.json" ] && echo "CORTEX_EXISTS" || echo "NO_CORTEX"
[ -f ".nemp/episodes.json" ] && echo "EPISODES_EXISTS" || echo "NO_EPISODES"
[ -f ".nemp/archive.json" ] && echo "ARCHIVE_EXISTS" || echo "NO_ARCHIVE"

**Checks:**

  • cortex.json exists → Report or note missing
  • Count extinct memories in memories.json → ℹ️ if any
  • Count memories with `vitality.state == "fading"` or `"dormant"` → ℹ️ if any

Step 10: Calculate Health Score

Score each check on a weighted scale:

| Check | Weight | Pass | Fail | |-------|--------|------|------| | .nemp/ exists | 10 | 10 | 0 | | memories.json valid | 18 | 18 | 0 | | No empty values | 7 | 7 | -4 per empty | | Values under 200 chars | 5 | 5 | -1 per oversized | | Timestamps valid | 5 | 5 | -1 per invalid | | CLAUDE.md in sync | 10 | 10 | 0 if stale | | Access log exists | 5 | 5 | 0 | | Config exists | 5 | 5 | 0 | | MEMORY.md in sync | 5 | 5 | 0 | | No duplicate keys | 5 | 5 | -2 per duplicate | | Global memories valid | 5 | 5 | 0 |

**Total possible: 80**

**Score bands:**

  • 72-80: 🟢 HEALTHY
  • 56-71: 🟡 NEEDS ATTENTION
  • 40-55: 🟠 DEGRADED
  • 0-39: 🔴 CRITICAL

Step 11: Display Report

Nemp Memory Health Check

  Score: 73/80 🟢 HEALTHY

  ✅ memories.json — 23 memories, all valid
  ✅ CLAUDE.md — in sync (last sync: 2 min ago)
  ⚠️ 2 memories exceed 200 char limit
  ❌ Key "auth-flow" has empty value
  ✅ Access log — 47 entries, no gaps
  ✅ Config — autoSync enabled
  ✅ Global — 4 global memories

  Issues found: 2
    ⚠️ auth-strategy: value is 247 chars (compress with /nemp:save)
    ❌ auth-flow: empty value (delete with /nemp:forget auth-flow)

  Quick fix:
    /nemp:save auth-strategy "<shorter version>"
    /nemp:forget auth-flow

If no issues found:

  ✅ All checks passed. Memory system is
Read more
Ships withnemp

Nemp - The memory plugin for Claude Code that remembers everything.

Get the whole plugin
Stats
139
Stars
34
Forks
Active
Maintenance
Python
Language
MIT
License
20d ago
Last commit
8mo ago
Created
2h ago
Added

Repo: SukinShetty/Nemp-memory

Other commands on nemp.