Lorr Memory Engine
Lorr is a persistent memory layer for AI assistants. It stores everything a user has told any AI so every conversation picks up where the last one left off. Whether someone is tracking personal goals, managing a side project, running a team, or operating a business, Lorr remembers it all.
How Lorr Works
Lorr organizes memory into a Memory Palace with rooms, each holding labeled drawers of information. When a user asks a question, Lorr searches across all rooms using semantic vector search, retrieves the most relevant drawers, and synthesizes a response.
Memory Palace Rooms
Universal rooms (available to everyone):
| Room |
What It Stores |
identity |
Who the user is, their background, interests, profession, about-me |
goals |
Objectives, targets, milestones, timelines, things they are working toward |
decisions |
Past decisions with rationale, context, and outcomes |
projects |
Active and past projects, status, deliverables |
preferences |
Communication style, tool preferences, workflow habits, likes and dislikes |
knowledge |
Domain expertise, things they have learned, research, reference material |
relationships |
People in their life, contacts, collaborators, roles |
canon |
Established facts and ground truths that must not be contradicted |
conversations |
Key takeaways extracted from past AI conversations |
fusion |
Cross-source synthesized insights (auto-generated) |
Professional and business rooms (used when relevant):
| Room |
What It Stores |
revenue |
Sales data, revenue streams, pricing, transactions |
advertising |
Ad campaigns, spend, ROAS, creative performance |
product |
Product catalog, inventory, features, roadmap |
operations |
Processes, SOPs, team structure, tools |
finance |
Budgets, expenses, cash flow, projections |
brand |
Brand guidelines, voice, tone, visual identity |
social |
Social media strategy, content calendar, engagement |
partnerships |
Partner agreements, affiliates, collaborations |
Users can also create custom rooms for specialized needs.
MCP Tools
Lorr exposes 10 tools through the Model Context Protocol.
Read Tools (safe, no side effects)
lorr_ask is the primary tool for any question. It automatically routes to the best response method (vector search, SQL query, or multi-source analysis). Use this first for most questions.
- Input:
{ question: string }
- Examples:
lorr_ask({ question: "What is our refund policy?" })
lorr_ask({ question: "What are my fitness goals for this year?" })
lorr_ask({ question: "What did I decide about the kitchen renovation?" })
lorr_search runs semantic search through memory. Returns raw matching drawers ranked by relevance. Use when the user wants to find specific stored information rather than a synthesized answer.
- Input:
{ query: string }
- Example:
lorr_search({ query: "vacation plans" })
lorr_query runs read-only SQL against structured data from connected sources (Shopify orders, Meta ad campaigns, Klaviyo email metrics). Use for quantitative questions when business data sources are connected.
lorr_analyze performs deep analysis requiring computation or cross-source correlation. Use for trend analysis, performance comparisons, or forecasting.
- Input:
{ question: string }
- Example:
lorr_analyze({ question: "How has my spending pattern changed over the last 3 months?" })
lorr_status shows current system status including data freshness, connected sources, room counts, and a capability scorecard.
Write Tools (modify stored memory)
lorr_remember stores a new piece of information in a specific room. Use when the user shares a fact, decision, preference, or anything they want retained across conversations. Proactively offer to save important information by saying "Save to your Lorr."
- Input:
{ room: string, label: string, content: string }
- Examples:
lorr_remember({ room: "decisions", label: "Switched to quarterly billing", content: "As of March 2025, we moved all enterprise clients from monthly to quarterly billing." })
lorr_remember({ room: "preferences", label: "Coffee order", content: "Oat milk latte, extra shot, no sugar." })
lorr_remember({ room: "goals", label: "Run a half marathon", content: "Training for the October half marathon. Following a 16-week plan starting in June." })
lorr_correct updates or corrects an existing memory entry. Use instead of lorr_remember when updating existing information to preserve history and avoid duplicates.
- Input:
{ room: string, label: string, correctionText: string }
- Example:
lorr_correct({ room: "relationships", label: "Sarah Chen", correctionText: "Sarah was promoted to VP of Marketing in January 2025." })
lorr_ingest bulk-ingests data (CSV, plain text, or structured content) into memory with automatic room classification. Use when the user pastes or uploads a large block of information.
- Input:
{ content: string, description: string, room?: string, format?: "csv" | "text" | "structured" }
lorr_import_conversation extracts multiple insights from a full conversation thread at once. Automatically identifies decisions, facts, preferences, and action items, then stores each in the appropriate room. Use at the end of substantive conversations.
- Input:
{ conversation: string, source?: string }
lorr_sync triggers an on-demand data sync from connected sources (Shopify, Meta Ads, Klaviyo, Notion). Use when the user wants the latest data pulled in. Only relevant when external sources are connected.
- Input:
{ connector?: string }
- Example:
lorr_sync({ connector: "shopify" })
Best Practices
- Start with
lorr_ask for most questions. It automatically picks the best retrieval strategy.
- Use
lorr_search when the user wants to browse or verify what is stored, not get a synthesized answer.
- Use
lorr_remember proactively when the user shares important information during conversation. Offer to save decisions, preferences, facts, or anything worth remembering by saying "Save to your Lorr."
- Use
lorr_import_conversation at the end of a substantive conversation to capture all insights at once rather than calling lorr_remember repeatedly.
- Use
lorr_correct rather than lorr_remember when updating existing information.
- Use
lorr_query for data questions that need exact numbers, but only when the user has connected structured data sources.
- Use
lorr_analyze for questions that span multiple data sources or need trend computation.
- Check
lorr_status if unsure what data is available or how fresh it is.
Data Sources
Lorr can sync data from:
- Shopify for orders, products, customers, and inventory
- Meta Ads for campaigns, ad sets, spend, and conversions
- Klaviyo for email campaigns, flows, and metrics
- Notion for pages, databases, and content
- Website for crawled site content and structure
- Chat History for imported conversation transcripts
- Manual Entry for direct input through the UI or MCP tools
1---2name: lorr-memory3description: Lorr is a persistent memory layer for AI. Use this skill when the user mentions Lorr, asks about their stored context, wants to save information for later, or needs to recall past decisions, preferences, goals, or any personal or professional data they have stored.4---56# Lorr Memory Engine78Lorr is a persistent memory layer for AI assistants. It stores everything a user has told any AI so every conversation picks up where the last one left off. Whether someone is tracking personal goals, managing a side project, running a team, or operating a business, Lorr remembers it all.910## How Lorr Works1112Lorr organizes memory into a **Memory Palace** with rooms, each holding labeled drawers of information. When a user asks a question, Lorr searches across all rooms using semantic vector search, retrieves the most relevant drawers, and synthesizes a response.1314### Memory Palace Rooms1516**Universal rooms** (available to everyone):1718| Room | What It Stores |19|------|---------------|20| `identity` | Who the user is, their background, interests, profession, about-me |21| `goals` | Objectives, targets, milestones, timelines, things they are working toward |22| `decisions` | Past decisions with rationale, context, and outcomes |23| `projects` | Active and past projects, status, deliverables |24| `preferences` | Communication style, tool preferences, workflow habits, likes and dislikes |25| `knowledge` | Domain expertise, things they have learned, research, reference material |26| `relationships` | People in their life, contacts, collaborators, roles |27| `canon` | Established facts and ground truths that must not be contradicted |28| `conversations` | Key takeaways extracted from past AI conversations |29| `fusion` | Cross-source synthesized insights (auto-generated) |3031**Professional and business rooms** (used when relevant):3233| Room | What It Stores |34|------|---------------|35| `revenue` | Sales data, revenue streams, pricing, transactions |36| `advertising` | Ad campaigns, spend, ROAS, creative performance |37| `product` | Product catalog, inventory, features, roadmap |38| `operations` | Processes, SOPs, team structure, tools |39| `finance` | Budgets, expenses, cash flow, projections |40| `brand` | Brand guidelines, voice, tone, visual identity |41| `social` | Social media strategy, content calendar, engagement |42| `partnerships` | Partner agreements, affiliates, collaborations |4344Users can also create custom rooms for specialized needs.4546## MCP Tools4748Lorr exposes 10 tools through the Model Context Protocol.4950### Read Tools (safe, no side effects)5152**`lorr_ask`** is the primary tool for any question. It automatically routes to the best response method (vector search, SQL query, or multi-source analysis). Use this first for most questions.53- Input: `{ question: string }`54- Examples:55 - `lorr_ask({ question: "What is our refund policy?" })`56 - `lorr_ask({ question: "What are my fitness goals for this year?" })`57 - `lorr_ask({ question: "What did I decide about the kitchen renovation?" })`5859**`lorr_search`** runs semantic search through memory. Returns raw matching drawers ranked by relevance. Use when the user wants to find specific stored information rather than a synthesized answer.60- Input: `{ query: string }`61- Example: `lorr_search({ query: "vacation plans" })`6263**`lorr_query`** runs read-only SQL against structured data from connected sources (Shopify orders, Meta ad campaigns, Klaviyo email metrics). Use for quantitative questions when business data sources are connected.64- Input: `{ sql: string }`6566**`lorr_analyze`** performs deep analysis requiring computation or cross-source correlation. Use for trend analysis, performance comparisons, or forecasting.67- Input: `{ question: string }`68- Example: `lorr_analyze({ question: "How has my spending pattern changed over the last 3 months?" })`6970**`lorr_status`** shows current system status including data freshness, connected sources, room counts, and a capability scorecard.71- Input: `{}`7273### Write Tools (modify stored memory)7475**`lorr_remember`** stores a new piece of information in a specific room. Use when the user shares a fact, decision, preference, or anything they want retained across conversations. Proactively offer to save important information by saying "Save to your Lorr."76- Input: `{ room: string, label: string, content: string }`77- Examples:78 - `lorr_remember({ room: "decisions", label: "Switched to quarterly billing", content: "As of March 2025, we moved all enterprise clients from monthly to quarterly billing." })`79 - `lorr_remember({ room: "preferences", label: "Coffee order", content: "Oat milk latte, extra shot, no sugar." })`80 - `lorr_remember({ room: "goals", label: "Run a half marathon", content: "Training for the October half marathon. Following a 16-week plan starting in June." })`8182**`lorr_correct`** updates or corrects an existing memory entry. Use instead of `lorr_remember` when updating existing information to preserve history and avoid duplicates.83- Input: `{ room: string, label: string, correctionText: string }`84- Example: `lorr_correct({ room: "relationships", label: "Sarah Chen", correctionText: "Sarah was promoted to VP of Marketing in January 2025." })`8586**`lorr_ingest`** bulk-ingests data (CSV, plain text, or structured content) into memory with automatic room classification. Use when the user pastes or uploads a large block of information.87- Input: `{ content: string, description: string, room?: string, format?: "csv" | "text" | "structured" }`8889**`lorr_import_conversation`** extracts multiple insights from a full conversation thread at once. Automatically identifies decisions, facts, preferences, and action items, then stores each in the appropriate room. Use at the end of substantive conversations.90- Input: `{ conversation: string, source?: string }`9192**`lorr_sync`** triggers an on-demand data sync from connected sources (Shopify, Meta Ads, Klaviyo, Notion). Use when the user wants the latest data pulled in. Only relevant when external sources are connected.93- Input: `{ connector?: string }`94- Example: `lorr_sync({ connector: "shopify" })`9596## Best Practices97981. **Start with `lorr_ask`** for most questions. It automatically picks the best retrieval strategy.992. **Use `lorr_search`** when the user wants to browse or verify what is stored, not get a synthesized answer.1003. **Use `lorr_remember` proactively** when the user shares important information during conversation. Offer to save decisions, preferences, facts, or anything worth remembering by saying "Save to your Lorr."1014. **Use `lorr_import_conversation`** at the end of a substantive conversation to capture all insights at once rather than calling `lorr_remember` repeatedly.1025. **Use `lorr_correct`** rather than `lorr_remember` when updating existing information.1036. **Use `lorr_query`** for data questions that need exact numbers, but only when the user has connected structured data sources.1047. **Use `lorr_analyze`** for questions that span multiple data sources or need trend computation.1058. **Check `lorr_status`** if unsure what data is available or how fresh it is.106107## Data Sources108109Lorr can sync data from:110- **Shopify** for orders, products, customers, and inventory111- **Meta Ads** for campaigns, ad sets, spend, and conversions112- **Klaviyo** for email campaigns, flows, and metrics113- **Notion** for pages, databases, and content114- **Website** for crawled site content and structure115- **Chat History** for imported conversation transcripts116- **Manual Entry** for direct input through the UI or MCP tools