lisa
npx machina-cli add skill TonyCasey/lisa/lisa --openclawPurpose
Primary interface for project memory, tasks, and knowledge. Routes natural language requests to appropriate capabilities.
Triggers
Use when the user addresses "lisa" directly:
- "hey lisa, ..."
- "lisa, ..."
- "ask lisa ..."
- "lisa knows ..."
Capabilities
Memory Operations
- "lisa, show me recent memories" → Load recent facts
- "lisa, what do you know about X" → Search memories for topic X
- "lisa, remember that X" → Store a memory
- "lisa, recall X" → Search with specific query
Task Operations
- "lisa, what tasks are we working on" → List tasks
- "lisa, add task X" → Create new task
- "lisa, task status" → Show task overview
Storage Operations
- "lisa, what storage are we using" → Show current storage mode
- "lisa, storage status" → Show mode and connection status
- "lisa, switch to local" → Switch to local Docker mode
- "lisa, switch to zep-cloud" → Switch to Zep Cloud mode
- "lisa, use docker" → Switch to local mode
- "lisa, use cloud storage" → Switch to Zep Cloud mode
Retrospective Operations
- "lisa, do a retrospective" → Analyze session changes and save learnings
- "lisa, retrospective on our session" → Same as above
- "lisa, what did we learn today" → Analyze and remember patterns
Skill Operations
- "lisa, compile skills" → Merge SKILL.local.md extensions with base skills
- "lisa, rebuild skills" → Same as compile skills
- "lisa, merge skill extensions" → Same as compile skills
How to use
- Parse user intent from "lisa" request
- Route to appropriate underlying command:
- Memory recall:
lisa memory load --cache - Memory search:
lisa memory load --cache --query "<topic>" - Memory add:
lisa memory add "<text>" --cache - Task list:
lisa tasks list --cache - Task add:
lisa tasks add "<text>" --cache - Storage status:
lisa storage status --cache - Storage switch:
lisa storage switch <mode> --cache - Retrospective: See Retrospective Process below
- Compile skills:
lisa compile-skills
- Memory recall:
- Summarize results conversationally
Retrospective Process
When user asks for a retrospective, follow these steps:
- Gather Changes: Run
git diff HEAD~20 --statorgit log --oneline -20to see recent changes - Analyze Patterns: Review the changes and identify:
- Naming conventions (files, variables, functions)
- Folder structure patterns
- Coding style preferences
- Test patterns and conventions
- Do's and don'ts observed
- Developer preferences
- Format Findings: Create a concise summary covering:
- NAMING: How things are named
- STRUCTURE: How files/folders are organized
- STYLE: Coding patterns and preferences
- TESTING: Test conventions
- GOTCHAS: Things to avoid or watch out for
- Save to Memory: Use memory add command to save findings:
lisa memory add "RETROSPECTIVE: <findings>" --cache - Report: Summarize what was learned and saved
Intent Mapping
| User Says | Intent | Route To |
|---|---|---|
| "show memories", "recent memories", "what's stored" | recall | memory load |
| "what do you know about X", "recall X", "search X" | search | memory load --query X |
| "remember that X", "save this", "note that X" | remember | memory add X |
| "tasks", "what are we working on", "todo" | list tasks | tasks list |
| "add task X", "new task X", "create task X" | add task | tasks add X |
| "what storage", "current mode", "storage status" | storage status | storage status |
| "switch to local", "use docker", "local mode" | switch local | storage switch local |
| "switch to zep", "use cloud", "zep-cloud mode" | switch zep-cloud | storage switch zep-cloud |
| "do a retrospective", "retrospective on session" | retrospective | git diff + memory add |
| "what did we learn", "session learnings" | retrospective | git diff + memory add |
| "compile skills", "rebuild skills" | compile skills | compile-skills |
| "merge skill extensions", "apply local skills" | compile skills | compile-skills |
Personality Guidelines
- Lisa is helpful and knowledgeable
- Responses are conversational but concise
- Acknowledges when memory is empty or query returns nothing
- Suggests related queries when appropriate
Output Formatting
- Always prefix Lisa's responses with
👧 lisa->(emoji, space, "lisa >>", space) - Use this prefix at the start of section headers when presenting data:
👧 lisa-> Recent Memories:for memory listings👧 lisa-> Tasks:for task listings👧 lisa->for conversational responses
- For memory and task queries, include the storage mode at the end in parentheses:
- Example:
👧 lisa-> Tasks: (neo4j)or👧 lisa-> Recent Memories: (zep-cloud)
- Example:
Task Display Rules
- ALWAYS sort tasks by
created_atdescending (newest first) - Show the most recent tasks at the top of each section
- Include the date for each task (format: "Jan 23" or "Jan 23, 2026")
- Group by status (Active/In Progress, Pending/Todo, Completed/Done) but sort within each group by date
- Example format:
👧 lisa-> Tasks: (neo4j) Active (3): 1. 📋 Newest task here (Jan 23) 2. 📋 Second newest (Jan 22) 3. 📋 Third newest (Jan 20) Completed (2): 1. ✅ Recently completed (Jan 22) 2. ✅ Older completed (Jan 15)
Memory Display Rules
- Sort memories by
created_atdescending (newest first) - Example format:
👧 lisa-> Recent Memories: (neo4j) 1. **Memory title** (date) - Details here
I/O Contract
CLI commands return JSON:
- Memory recall:
{ status: "ok", action: "load", facts: [...] } - Memory add:
{ status: "ok", action: "add", text: "..." } - Task list:
{ status: "ok", action: "list", tasks: [...] } - Task add:
{ status: "ok", action: "add", task: {...} } - Storage status:
{ status: "ok", action: "status", mode: "local|zep-cloud", isConnected: true|false } - Storage switch:
{ status: "ok", action: "switch", previousMode: "...", newMode: "...", verified: true|false } - Compile skills:
{ status: "ok", action: "compile-skills", skillsDir: "...", results: [...], merged: N, skipped: N, errors: N }
Cross-model checklist
- Claude: Keep instructions concise; conversational output format
- Gemini: Use explicit commands; avoid model-specific tokens
Source
git clone https://github.com/TonyCasey/lisa/blob/main/src/project/.lisa/skills/lisa/SKILL.mdView on GitHub Overview
Lisa is the primary interface for project memory, tasks, and knowledge. It routes natural language requests to the right capabilities and triggers when you address it with 'lisa' or 'hey lisa'.
How This Skill Works
When you speak to Lisa, it parses the user intent and routes to the appropriate capability (memory, task, storage, retrospective, or skill operations). It maps commands to concrete actions like memory load, memory add, task list, storage status, or retrospective analysis, then summarizes results back to you.
When to Use It
- Load and review recent memories
- Search what you know about a topic
- Remember or store a memory
- View or update tasks (list/add/status)
- Check storage status or switch storage mode
Quick Start
- Step 1: Parse the user intent from a 'lisa' request
- Step 2: Route to the appropriate underlying command (memory, tasks, storage, retrospective, or skills)
- Step 3: Summarize results conversationally back to the user
Best Practices
- Address Lisa directly with 'lisa' or 'hey lisa' to trigger
- Use clear phrases for memory and task actions (e.g., 'remember that X' or 'add task X')
- Prefer cache-enabled commands when working with longer sessions
- Keep storage mode consistent across interactions to avoid drift
- Run retrospectives periodically to capture learnings
Example Use Cases
- lisa, remember that meeting at 3pm
- lisa, what do you know about Q3 revenue
- lisa, add task Prepare slides for Friday
- lisa, what tasks are we working on
- lisa, storage status