Skip to content
Development
Skill

/conversation-memory

Persistent memory systems for LLM conversations including

From plugin
master-skills
17200 skills

Claude Code

$ npx -y skills add sinhoneyy/master-skills --skill conversation-memory --agent claude-code

SKILL.md

conversation-memory.SKILL.md
name: conversation-memory
description: Persistent memory systems for LLM conversations including
  short-term, long-term, and entity-based memory
risk: unknown
source: vibeship-spawner-skills (Apache 2.0)
date_added: 2026-02-27

Conversation Memory

Persistent memory systems for LLM conversations including short-term, long-term, and entity-based memory

Capabilities

  • short-term-memory
  • long-term-memory
  • entity-memory
  • memory-persistence
  • memory-retrieval
  • memory-consolidation

Prerequisites

  • Knowledge: LLM conversation patterns, Database basics, Key-value stores
  • Skills_recommended: context-window-management, rag-implementation

Scope

  • Does_not_cover: Knowledge graph construction, Semantic search implementation, Database administration
  • Boundaries: Focus is memory patterns for LLMs, Covers storage and retrieval strategies

Ecosystem

Primary_tools

  • Mem0 - Memory layer for AI applications
  • LangChain Memory - Memory utilities in LangChain
  • Redis - In-memory data store for session memory

Patterns

Tiered Memory System

Different memory tiers for different purposes

**When to use**: Building any conversational AI

interface MemorySystem { // Buffer: Current conversation (in context) buffer: ConversationBuffer;

// Short-term: Recent interactions (session) shortTerm: ShortTermMemory;

// Long-term: Persistent across sessions longTerm: LongTermMemory;

// Entity: Facts about people, places, things entity: EntityMemory; }

class TieredMemory implements MemorySystem { async addMessage(message: Message): Promise<void> { // Always add to buffer this.buffer.add(message);

// Extract entities const entities = await extractEntities(message); for (const entity of entities) { await this.entity.upsert(entity); }

// Check for memorable content if (await isMemoryWorthy(message)) { await this.shortTerm.add({ content: message.content, timestamp: Date.now(), importance: await scoreImportance(message) }); } }

async consolidate(): Promise<void> { // Move important short-term to long-term const memories = await this.shortTerm.getOld(24 * 60 * 60 * 1000); for (const memory of memories) { if (memory.importance > 0.7 || memory.referenced > 2) { await this.longTerm.add(memory); } await this.shortTerm.remove(memory.id); } }

async buildContext(query: string): Promise<string> { const parts: string[] = [];

// Relevant long-term memories const longTermRelevant = await this.longTerm.search(query, 3); if (longTermRelevant.length) { parts.push('## Relevant Memories\n' + longTermRelevant.map(m => `- ${m.content}`).join('\n')); }

// Relevant entities const entities = await this.entity.getRelevant(query); if (entities.length) { parts.push('## Known Entities\n' + entities.map(e => `- ${e.name}: ${e.facts.join(', ')}`).join('\n')); }

// Recent conversation const recent = this.buffer.getRecent(10); parts.push('## Recent Conversation\n' + formatMessages(recent));

return parts.join('\n\n'); } }

Entity Memory

Store and update facts about entities

**When to use**: Need to remember details about people, places, things

interface Entity { id: string; name: string; type: 'person' | 'place' | 'thing' | 'concept'; facts: Fact[]; lastMentioned: number; mentionCount: number; }

interface Fact { content: string; confidence: number; source: string; // Which message this came from timestamp: number; }

class EntityMemory { async extractAndStore(message: Message): Promise<void> { // Use LLM to extract entities and facts const extraction = await llm.complete(` Extract entities and facts from this message. Return JSON: { "entities": [ { "name": "...", "type": "...", "facts": ["..."] } ]}

Message: "${message.content}" `);

const { entities } = JSON.parse(extraction); for (const entity of entities) { await this.upsert(entity, message.id); } }

async upsert(entity: ExtractedEntity, sourceId: string): Promise<void> { const existing = await this.store.get(entity.name.toLowerCase());

if (existing) { // Merge facts, avoiding duplicates for (const fact of entity.facts) { if (!this.hasSimilarFact(existing.facts, fact)) { existing.facts.push({ content: fact, confidence: 0.9, source: sourceId, timestamp: Date.now() }); } } existing.lastMentioned = Date.now(); existing.mentionCount++; await this.store.set(existing.id, existing); } else { // Create new entity await this.store.set(entity.name.toLowerCase(), { id: generateId(), name: entity.name, type: entity.type, facts: entity.facts.map(f => ({ content: f, confidence: 0.9, source: sourceId, timestamp: Date.now() })), lastMentioned: Date.now(), mentionCount: 1 }); } } }

Memory-Aware Prompting

Include relevant memories in prompts

**When to use**: Making LLM calls with memory context

async function promptWithMemory( query: string, memory: MemorySystem, systemPrompt: string ): Promise<string> { // Retrieve r

Read more
@sinhoneyy
Ships withmaster-skills

Unified skill library for Claude, Codex, Cursor, Antigravity & AI agents — 2,660 skills across 15 domains

Stars on GitHub

Momentum

stars in total
17
Star history of sinhoneyy/master-skills on GitHub, a chart by star-history.com

Other skills on master-skills.

accesslint-audit

accesslint-audit

Find and fix WCAG 2.2 accessibility issues. Two modes — report (sweep a codebase or page, produce a prioritized written report,…

adhx

adhx

Fetch any X/Twitter post as clean LLM-friendly JSON. Converts x.com, twitter.com, or adhx.com links into structured data with…

aegisops-ai

aegisops-ai

Autonomous DevSecOps & FinOps Guardrails. Orchestrates Gemini 3 Flash to audit Linux Kernel patches, Terraform cost drifts, and…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about conversation-memory.

Which coding agents can use conversation-memory?
conversation-memory installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.