---
name: ai-memory
description: Access Travis Gertz's personal knowledge graph with ~5,850 entities tracking projects, people, finances, and relationships. Use when the user asks about their memory, wants to search for people/projects/companies, needs to add observations, references remembering something, asks "what do you know about...", wants to look up a client or contact, needs financial context, or manages relationship notes between entities. Trigger this skill at session start to recall what was discussed last time, before creating any new entity to check if it already exists, and whenever the user mentions a person, company, or project by name and you need context about them. Also trigger when the user says "remember," "look up," "who is," "what's the status of," or any variation of recalling stored information. If the user asks a question about their own projects, contacts, decisions, or history and you don't have the answer in conversation context, search memory before answering.
allowed-tools:
  - mcp__ai-memory__search_entities
  - mcp__ai-memory__get_entity
  - mcp__ai-memory__add_observation
  - mcp__ai-memory__delete_observation
  - mcp__ai-memory__edit_observation
  - mcp__ai-memory__add_entity
  - mcp__ai-memory__add_relationship
  - mcp__ai-memory__rename_entity
  - mcp__ai-memory__get_relationships
  - mcp__ai-memory__list_entity_types
  - mcp__ai-memory__get_stats
  - mcp__ai-memory__save
---

# AI Memory System

Personal knowledge graph interface for Travis Gertz. Accessed via native MCP tools from the `ai-memory` server. Provides search, entity management, and relationship tracking across ~5,850 entities.

## MCP Tools

| Tool | Description |
|------|-------------|
| `search_entities(query, limit?)` | Search across names, types, and observations |
| `get_entity(name)` | Full entity details by exact name |
| `add_observation(entity_name, content)` | Add timestamped observation (auto-saves) |
| `delete_observation(entity_name, content_match)` | Delete observations matching substring (auto-saves) |
| `edit_observation(entity_name, index_pos, new_content)` | Edit observation at index position (auto-saves) |
| `add_entity(name, entity_type, observations?)` | Create new entity (auto-saves) |
| `add_relationship(from_entity, to_entity, relationship_type)` | Link two entities (auto-saves) |
| `rename_entity(old_name, new_name)` | Rename entity and update all references (auto-saves) |
| `get_relationships(entity_name)` | Outgoing and incoming relationships |
| `list_entity_types()` | All entity types with counts |
| `get_stats()` | System overview and entity counts |
| `save()` | Explicit save (rarely needed, writes auto-save) |

## Usage Pattern

1. **Search first**: `search_entities("query")` to discover entities
2. **Drill in**: `get_entity("exact name")` for full details
3. **Write**: `add_observation`, `add_entity`, `add_relationship` as needed
4. All writes auto-save -- no manual save step required

## Excluded Entities

These are excluded from search results (too large): Recent Updates, Current Priorities, Search Keywords. Use `get_entity("Recent Updates")` directly if needed.

## Entity Types

**Core types**: Person, Company, Project, Location, Financial, Health, Document, Event, Recipe, Tool, Workflow, Strategy, Relationship

**See**: [REFERENCE.md](${CLAUDE_SKILL_DIR}/REFERENCE.md) for complete type list and memory structure.

## Important Rules

1. **Search before creating** - Check if an entity exists before adding a new one
2. **Use exact names** - `get_entity` requires exact name match (case-insensitive)
3. **Prefix observations with dates** - e.g., `[Feb 2026] New development...`
4. **Never create new scripts** - Use MCP tools only. If something fails, report to user.
5. **No health telemetry entities** - Do not create Sleep, Workout, HealthMetric, or Media entities. Health telemetry is tracked in a dedicated system (trav-os). Only store health-related decisions, diagnoses, or significant events as observations on the existing "Health Tracking" entity or relevant Person entities.

## Entity Type Discipline

**Core types** (use these first): Person, Company, Project, Product, Location, Financial, Health, Document, Event, Recipe, Tool, Workflow, Strategy, Framework

**Supporting types** (use when core types don't fit): Relationship, Skill, Platform, Group, Book, Policy, Place

**System types** (internal, don't create manually): StatusSummary, MaterializedView, DomainIndex, SemanticCluster, IndexNode, SearchKeywords

Always use an existing type. Never invent a new entity type unless none of the above fit. If you must create a new type, confirm with Travis first.

> The system currently has 162 entity types, 110 of which are used only once. This is technical debt from unconstrained type creation. Do not add to it.

## Additional Documentation

- **Reference**: [REFERENCE.md](${CLAUDE_SKILL_DIR}/REFERENCE.md) - Entity types, memory structure, error handling
- **Relationships**: [RELATIONSHIPS.md](${CLAUDE_SKILL_DIR}/RELATIONSHIPS.md) - Relationship types and patterns
- **Examples**: [EXAMPLES.md](${CLAUDE_SKILL_DIR}/EXAMPLES.md) - Common workflows

## Troubleshooting

| Problem | Solution |
|---------|----------|
| Search returns 0 results | Try different search terms, check spelling |
| Entity not found | Use `search_entities` first to find correct name |
| MCP tools not available | Check `.mcp.json` config and server status |
