/memory-health
Check memory system health and data quality. Use when user asks "how's my memory?", "system health", "memory stats", "data quality", "how's my brain?", or for periodic self-diagnostics. See also: `memory-audit` for content-level provenance; `diagnose` for daemon connectivity
$ npx -y skills add kbanc85/claudia --skill memory-health --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/memory-health
Context preview
The summary Claude sees to decide when to auto-load this skill.
Check memory system health and data quality. Use when user asks "how's my memory?", "system health", "memory stats", "data quality", "how's my brain?", or for periodic self-diagnostics. See also: `memory-audit` for content-level provenance; `diagnose` for daemon connectivity
SKILL.md
memory-health.SKILL.mdname: memory-health
description: Check memory system health and data quality. Use when user asks "how's my memory?", "system health", "memory stats", "data quality", "how's my brain?", or for periodic self-diagnostics. See also: `memory-audit` for content-level provenance; `diagnose` for daemon connectivity issues.
effort-level: medium
Memory Health
Provide a dashboard view of the memory system's health, including entity counts, memory statistics, data quality indicators, and recommendations.
Triggers
- User says "memory health", "memory stats", "brain check"
- User says "data quality", "how's my memory system?"
- User says "how much do you remember?", "what's in your brain?"
- Periodic self-check (weekly review, morning brief)
Schema Reference
**Use these exact column names in all SQLite queries. Do NOT guess column names.**
**entities** table: `id`, `name`, `type`, `canonical_name`, `description`, `importance` (REAL), `created_at`, `updated_at`, `metadata`, `last_contact_at`, `contact_frequency_days`, `contact_trend`, `attention_tier`, `close_circle` (BOOLEAN), `close_circle_reason`, `deleted_at`, `deleted_reason`
**memories** table: `id`, `content`, `content_hash`, `type`, `importance` (REAL), `confidence` (REAL), `source`, `source_id`, `source_context`, `created_at`, `updated_at`, `last_accessed_at`, `access_count`, `verified_at`, `verification_status`, `metadata`, `source_channel`, `deadline_at`, `temporal_markers`, `lifecycle_tier`, `sacred_reason` (NOT `sacred`), `archived_at`, `fact_id`, `hash`, `prev_hash`, `workspace_id`, `corrected_at`, `corrected_from`, `invalidated_at`, `invalidated_reason`, `origin_type`
**relationships** table: `id`, `source_entity_id`, `target_entity_id`, `relationship_type`, `strength` (REAL), `origin_type`, `direction`, `valid_at`, `invalid_at` (NOT `invalidated_at`), `created_at`, `updated_at`, `metadata`, `lifecycle_tier`
**predictions** table: `id`, `content`, `prediction_type`, `priority` (REAL), `expires_at`, `is_shown`, `is_acted_on`, `created_at`, `shown_at`, `prediction_pattern_name`, `metadata`
**Important distinctions:**
- Embeddings are in SEPARATE tables (`entity_embeddings`, `memory_embeddings`), NOT columns on the main tables
- `memories.sacred_reason` exists, but there is no column called `sacred` or `critical`
- `relationships.invalid_at` (not `invalidated_at`) marks invalid relationships
- `memories.invalidated_at` marks invalidated memories (different column name than relationships)
- Always filter with `deleted_at IS NULL` on entities and `invalidated_at IS NULL` on memories
Workflow
Step 1: Gather Statistics
Use the `memory_system_health` MCP tool or direct SQLite queries with the schema above.
Alternatively, use the Claudia CLI to get current system state:
claudia memory session context --scope full --project-dir "$PWD"
This returns entity counts, memory counts, relationship counts, and predictions.
Step 2: Calculate Health Indicators
From the session context, derive:
**Entity Health**
- Total entities by type (people, projects, organizations, topics)
- Entities with no associated memories (orphans)
- Entities not mentioned in 90+ days (stale)
**Memory Health**
- Total memories by type (fact, preference, observation, learning)
- Average importance score
- Invalidated vs. active memories
- Corrected memories count
**Relationship Health**
- Total active relationships
- Relationships marked as invalid
- Cooling relationships (no recent activity)
**Data Quality**
- Potential duplicate entities (fuzzy name match)
- Orphan memories (no entity links)
- Memories below importance threshold (0.3)
Step 3: Present Dashboard
Format:
## Memory System Health Report
### Entities
| Type | Count | Stale (90d) |
|--------------|-------|-------------|
| People | 23 | 2 |
| Projects | 12 | 5 |
| Organizations| 8 | 0 |
| Topics | 15 | 3 |
### Memories
- **Total:** 847 active memories
- **Average importance:** 0.72
- **By type:** 412 facts, 198 preferences, 156 observations, 81 learnings
- **Corrected:** 12 memories have been corrected
- **Invalidated:** 34 memories marked as no longer true
### Relationships
- **Active:** 67 relationships
- **Cooling:** 8 relationships (no contact in 30+ days)
### Data Quality
- **Potential duplicates:** 3 entity pairs to review
- **Orphan memories:** 5 memories without entity links
- **Low importance:** 23 memories below 0.3 threshold
### Recommendations
1. Review potential duplicates: "John Smith" and "Jon Smith" may be the same person
2. Consider archiving 5 stale projects with no recent activity
3. 8 relationships are cooling - may want to reconnect
Quick Stats Mode
If user just wants numbers:
Your memory at a glance:
- 58 people, 12 projects, 8 orgs
- 847 memories (avg importance: 0.72)
- 67 relationships tracked
- Last consolidation: 2 hours ago
Troubleshooting Mode
When user reports memory issues ("you forgot X", "why don't you remember"):
1. Search for the specific topic/entity 2. Check if memories exist but are below recall threshold 3. Check if memories were invalidated 4. Report findings:
I searched for memories about "[topic]":
- Found 3 memories, but all below importance 0.4 (not surfacing in context)
- One memory was corrected on [date]
- Recommendation: I can boost the importance of these if they're still relevant
Recommendations Engine
Based on health metrics, suggest:
- **Duplicates found:** "Run /fix-duplicates to clean up 3 potential duplicate entities"
- **Stale entities:** "Consider archiving [X] project - no activity in 120 days"
- **Cooling relationships:** "Haven't heard about [Name] in 45 days - want me to add a follow-up?"
- **Low memory count:** "I only have [N] memories about [Entity] - we could add more context"
- **High invalidation rate:** "12% of memories about [Entity] were invalidated - the situati
Read more
name: memory-health description: Check memory system health and data quality. Use when user asks "how's my memory?", "system health", "memory stats", "data quality", "how's my brain?", or for periodic self-diagnostics. See also: `memory-audit` for content-level provenance; `diagnose` for daemon connectivity issues. effort-level: medium
Memory Health
Provide a dashboard view of the memory system's health, including entity counts, memory statistics, data quality indicators, and recommendations.
Triggers
- User says "memory health", "memory stats", "brain check"
- User says "data quality", "how's my memory system?"
- User says "how much do you remember?", "what's in your brain?"
- Periodic self-check (weekly review, morning brief)
Schema Reference
**Use these exact column names in all SQLite queries. Do NOT guess column names.**
**entities** table: `id`, `name`, `type`, `canonical_name`, `description`, `importance` (REAL), `created_at`, `updated_at`, `metadata`, `last_contact_at`, `contact_frequency_days`, `contact_trend`, `attention_tier`, `close_circle` (BOOLEAN), `close_circle_reason`, `deleted_at`, `deleted_reason`
**memories** table: `id`, `content`, `content_hash`, `type`, `importance` (REAL), `confidence` (REAL), `source`, `source_id`, `source_context`, `created_at`, `updated_at`, `last_accessed_at`, `access_count`, `verified_at`, `verification_status`, `metadata`, `source_channel`, `deadline_at`, `temporal_markers`, `lifecycle_tier`, `sacred_reason` (NOT `sacred`), `archived_at`, `fact_id`, `hash`, `prev_hash`, `workspace_id`, `corrected_at`, `corrected_from`, `invalidated_at`, `invalidated_reason`, `origin_type`
**relationships** table: `id`, `source_entity_id`, `target_entity_id`, `relationship_type`, `strength` (REAL), `origin_type`, `direction`, `valid_at`, `invalid_at` (NOT `invalidated_at`), `created_at`, `updated_at`, `metadata`, `lifecycle_tier`
**predictions** table: `id`, `content`, `prediction_type`, `priority` (REAL), `expires_at`, `is_shown`, `is_acted_on`, `created_at`, `shown_at`, `prediction_pattern_name`, `metadata`
**Important distinctions:**
- Embeddings are in SEPARATE tables (`entity_embeddings`, `memory_embeddings`), NOT columns on the main tables
- `memories.sacred_reason` exists, but there is no column called `sacred` or `critical`
- `relationships.invalid_at` (not `invalidated_at`) marks invalid relationships
- `memories.invalidated_at` marks invalidated memories (different column name than relationships)
- Always filter with `deleted_at IS NULL` on entities and `invalidated_at IS NULL` on memories
Workflow
Step 1: Gather Statistics
Use the `memory_system_health` MCP tool or direct SQLite queries with the schema above.
Alternatively, use the Claudia CLI to get current system state:
claudia memory session context --scope full --project-dir "$PWD"
This returns entity counts, memory counts, relationship counts, and predictions.
Step 2: Calculate Health Indicators
From the session context, derive:
**Entity Health**
- Total entities by type (people, projects, organizations, topics)
- Entities with no associated memories (orphans)
- Entities not mentioned in 90+ days (stale)
**Memory Health**
- Total memories by type (fact, preference, observation, learning)
- Average importance score
- Invalidated vs. active memories
- Corrected memories count
**Relationship Health**
- Total active relationships
- Relationships marked as invalid
- Cooling relationships (no recent activity)
**Data Quality**
- Potential duplicate entities (fuzzy name match)
- Orphan memories (no entity links)
- Memories below importance threshold (0.3)
Step 3: Present Dashboard
Format:
## Memory System Health Report ### Entities | Type | Count | Stale (90d) | |--------------|-------|-------------| | People | 23 | 2 | | Projects | 12 | 5 | | Organizations| 8 | 0 | | Topics | 15 | 3 | ### Memories - **Total:** 847 active memories - **Average importance:** 0.72 - **By type:** 412 facts, 198 preferences, 156 observations, 81 learnings - **Corrected:** 12 memories have been corrected - **Invalidated:** 34 memories marked as no longer true ### Relationships - **Active:** 67 relationships - **Cooling:** 8 relationships (no contact in 30+ days) ### Data Quality - **Potential duplicates:** 3 entity pairs to review - **Orphan memories:** 5 memories without entity links - **Low importance:** 23 memories below 0.3 threshold ### Recommendations 1. Review potential duplicates: "John Smith" and "Jon Smith" may be the same person 2. Consider archiving 5 stale projects with no recent activity 3. 8 relationships are cooling - may want to reconnect
Quick Stats Mode
If user just wants numbers:
Your memory at a glance: - 58 people, 12 projects, 8 orgs - 847 memories (avg importance: 0.72) - 67 relationships tracked - Last consolidation: 2 hours ago
Troubleshooting Mode
When user reports memory issues ("you forgot X", "why don't you remember"):
1. Search for the specific topic/entity 2. Check if memories exist but are below recall threshold 3. Check if memories were invalidated 4. Report findings:
I searched for memories about "[topic]": - Found 3 memories, but all below importance 0.4 (not surfacing in context) - One memory was corrected on [date] - Recommendation: I can boost the importance of these if they're still relevant
Recommendations Engine
Based on health metrics, suggest:
- **Duplicates found:** "Run /fix-duplicates to clean up 3 potential duplicate entities"
- **Stale entities:** "Consider archiving [X] project - no activity in 120 days"
- **Cooling relationships:** "Haven't heard about [Name] in 45 days - want me to add a follow-up?"
- **Low memory count:** "I only have [N] memories about [Entity] - we could add more context"
- **High invalidation rate:** "12% of memories about [Entity] were invalidated - the situati
Terminal-based AI chief of staff. Remembers relationships, tracks commitments, helps you think strategically. Runs on Claude Code.
Repo: kbanc85/claudia
Other skills on claudia.
- /auto-research
Iteratively improve a local artifact (draft, document, page) by running a hill-climbing loop. The user names the artifact, the evaluator, and the budget. Claudia edits the artifact, scores it, keeps it if better or reverts if worse, repeats. Use when user says "iterate on this",
Open skill - /brain-monitor
Launch the Brain Monitor TUI, a real-time terminal dashboard for watching Claudia's memory system. Triggers on "brain monitor", "show dashboard", "memory dashboard", "terminal brain". See also: `brain` for a 3D graph view in the browser.
Open skill - /brain
Launch the Brain Visualizer, a real-time 3D view of memory and relationships. Triggers on "show your brain", "visualize memory", "open the brain", "memory graph". See also: `brain-monitor` for a terminal dashboard alternative.
Open skill - /build-team
Propose a personalized team of specialized agents based on the user's profile, goals, and how they actually work. Runs the proposal through an independent Checker, gates on the user's approval, and applies with rollback. Use when the user says "build my team", "set up my
Open skill - /capture-meeting
Process meeting notes or transcript to extract decisions, commitments, and insights. Use when user shares transcript or says "capture this meeting", "here are my notes from the call". See also: `meeting-prep` for pre-call briefings; `follow-up-draft` for post-meeting emails.
Open skill - /client-health
Health check across active client engagements showing status, deliverables, and concerns. Triggers on "how are my clients?", "client status", "client health check".
Open skill

