memory-manager

Optimize agent memory usage, implement pruning strategies, and manage conversation context effectively.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "memory-manager" with this command: npx skills add dexploarer/hyper-forge/dexploarer-hyper-forge-memory-manager

Memory Manager Skill

Optimize agent memory usage, implement pruning strategies, and manage conversation context effectively.

Capabilities

  • 🧠 Memory pruning and optimization

  • 📊 Context window management

  • 🗂️ Conversation history archiving

  • 🎯 Important memory consolidation

  • 🔄 Memory decay implementation

  • 📈 Memory usage monitoring

Memory Types

Short-term Memory

  • Current conversation context

  • Working memory (max 50 items default)

  • Cleared per session

Long-term Memory

  • Important facts and information

  • Persistent across sessions

  • Decay modeling over time

Knowledge

  • Static facts from configuration

  • Document-based knowledge

  • Dynamically learned information

Memory Operations

// Create memory await runtime.createMemory({ entityId: userId, roomId: conversationId, content: { text: 'Important information', metadata: { importance: 'high' } }, embedding: await generateEmbedding(text) });

// Retrieve memories const memories = await runtime.getMemories({ roomId: conversationId, limit: 10, unique: true });

// Search semantically const results = await runtime.searchMemories( 'query text', { roomId: conversationId, limit: 5, minScore: 0.7 } );

// Update memory await runtime.updateMemory({ id: memoryId, content: { ...updated content }, metadata: { lastAccessed: Date.now() } });

Pruning Strategies

Time-based Pruning

async function pruneOldMemories( runtime: IAgentRuntime, daysToKeep: number = 30 ): Promise<number> { const cutoffDate = Date.now() - (daysToKeep * 24 * 60 * 60 * 1000);

const oldMemories = await runtime.getMemories({ createdBefore: cutoffDate, importance: 'low' });

for (const memory of oldMemories) { await runtime.deleteMemory(memory.id); }

return oldMemories.length; }

Size-based Pruning

async function pruneLargeMemories( runtime: IAgentRuntime, maxSize: number = 1000 ): Promise<void> { const memories = await runtime.getMemories({ limit: 10000 });

if (memories.length > maxSize) { // Keep most important and recent const toKeep = rankMemoriesByImportance(memories).slice(0, maxSize); const toDelete = memories.filter(m => !toKeep.includes(m));

for (const memory of toDelete) {
  await runtime.deleteMemory(memory.id);
}

} }

Best Practices

  • Set appropriate conversationLength limits

  • Implement importance scoring

  • Use memory decay for temporal relevance

  • Archive important conversations

  • Monitor memory growth

  • Prune regularly

  • Use embeddings for semantic search

  • Cache frequently accessed memories

  • Batch memory operations

  • Index memories properly

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

create-agent

No summary provided by upstream source.

Repository SourceNeeds Review
General

threejs-scene-builder

No summary provided by upstream source.

Repository SourceNeeds Review
General

deployment-helper

No summary provided by upstream source.

Repository SourceNeeds Review