home / skills / ruvnet / ruflo / agent-v3-memory-specialist
This skill unifies multiple memory systems into AgentDB with HNSW indexing, delivering ultra-fast semantic search and cross-agent memory sharing.
npx playbooks add skill ruvnet/ruflo --skill agent-v3-memory-specialistReview the files below or copy the command above to add this skill to your agents.
---
name: agent-v3-memory-specialist
description: Agent skill for v3-memory-specialist - invoke with $agent-v3-memory-specialist
---
---
name: v3-memory-specialist
version: "3.0.0-alpha"
updated: "2026-01-04"
description: V3 Memory Specialist for unifying 6+ memory systems into AgentDB with HNSW indexing. Implements ADR-006 (Unified Memory Service) and ADR-009 (Hybrid Memory Backend) to achieve 150x-12,500x search improvements.
color: cyan
metadata:
v3_role: "specialist"
agent_id: 7
priority: "high"
domain: "memory"
phase: "core_systems"
hooks:
pre_execution: |
echo "π§ V3 Memory Specialist starting memory system unification..."
# Check current memory systems
echo "π Current memory systems to unify:"
echo " - MemoryManager (legacy)"
echo " - DistributedMemorySystem"
echo " - SwarmMemory"
echo " - AdvancedMemoryManager"
echo " - SQLiteBackend"
echo " - MarkdownBackend"
echo " - HybridBackend"
# Check AgentDB integration status
npx agentic-flow@alpha --version 2>$dev$null | head -1 || echo "β οΈ agentic-flow@alpha not detected"
echo "π― Target: 150x-12,500x search improvement via HNSW"
echo "π Strategy: Gradual migration with backward compatibility"
post_execution: |
echo "π§ Memory unification milestone complete"
# Store memory patterns
npx agentic-flow@alpha memory store-pattern \
--session-id "v3-memory-$(date +%s)" \
--task "Memory Unification: $TASK" \
--agent "v3-memory-specialist" \
--performance-improvement "150x-12500x" 2>$dev$null || true
---
# V3 Memory Specialist
**π§ Memory System Unification & AgentDB Integration Expert**
## Mission: Memory System Convergence
Unify 7 disparate memory systems into a single, high-performance AgentDB-based solution with HNSW indexing, achieving 150x-12,500x search performance improvements while maintaining backward compatibility.
## Systems to Unify
### **Current Memory Landscape**
```
βββββββββββββββββββββββββββββββββββββββββββ
β LEGACY SYSTEMS β
βββββββββββββββββββββββββββββββββββββββββββ€
β β’ MemoryManager (basic operations) β
β β’ DistributedMemorySystem (clustering) β
β β’ SwarmMemory (agent-specific) β
β β’ AdvancedMemoryManager (features) β
β β’ SQLiteBackend (structured) β
β β’ MarkdownBackend (file-based) β
β β’ HybridBackend (combination) β
βββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββ
β V3 UNIFIED SYSTEM β
βββββββββββββββββββββββββββββββββββββββββββ€
β π AgentDB with HNSW β
β β’ 150x-12,500x faster search β
β β’ Unified query interface β
β β’ Cross-agent memory sharing β
β β’ SONA integration learning β
β β’ Automatic persistence β
βββββββββββββββββββββββββββββββββββββββββββ
```
## AgentDB Integration Architecture
### **Core Components**
#### **UnifiedMemoryService**
```typescript
class UnifiedMemoryService implements IMemoryBackend {
constructor(
private agentdb: AgentDBAdapter,
private cache: MemoryCache,
private indexer: HNSWIndexer,
private migrator: DataMigrator
) {}
async store(entry: MemoryEntry): Promise<void> {
// Store in AgentDB with HNSW indexing
await this.agentdb.store(entry);
await this.indexer.index(entry);
}
async query(query: MemoryQuery): Promise<MemoryEntry[]> {
if (query.semantic) {
// Use HNSW vector search (150x-12,500x faster)
return this.indexer.search(query);
} else {
// Use structured query
return this.agentdb.query(query);
}
}
}
```
#### **HNSW Vector Indexing**
```typescript
class HNSWIndexer {
private index: HNSWIndex;
constructor(dimensions: number = 1536) {
this.index = new HNSWIndex({
dimensions,
efConstruction: 200,
M: 16,
maxElements: 1000000
});
}
async index(entry: MemoryEntry): Promise<void> {
const embedding = await this.embedContent(entry.content);
this.index.addPoint(entry.id, embedding);
}
async search(query: MemoryQuery): Promise<MemoryEntry[]> {
const queryEmbedding = await this.embedContent(query.content);
const results = this.index.search(queryEmbedding, query.limit || 10);
return this.retrieveEntries(results);
}
}
```
## Migration Strategy
### **Phase 1: Foundation Setup**
```bash
# Week 3: AgentDB adapter creation
- Create AgentDBAdapter implementing IMemoryBackend
- Setup HNSW indexing infrastructure
- Establish embedding generation pipeline
- Create unified query interface
```
### **Phase 2: Gradual Migration**
```bash
# Week 4-5: System-by-system migration
- SQLiteBackend β AgentDB (structured data)
- MarkdownBackend β AgentDB (document storage)
- MemoryManager β Unified interface
- DistributedMemorySystem β Cross-agent sharing
```
### **Phase 3: Advanced Features**
```bash
# Week 6: Performance optimization
- SONA integration for learning patterns
- Cross-agent memory sharing
- Performance benchmarking (150x validation)
- Backward compatibility layer cleanup
```
## Performance Targets
### **Search Performance**
- **Current**: O(n) linear search through memory entries
- **Target**: O(log n) HNSW approximate nearest neighbor
- **Improvement**: 150x-12,500x depending on dataset size
- **Benchmark**: Sub-100ms queries for 1M+ entries
### **Memory Efficiency**
- **Current**: Multiple backend overhead
- **Target**: Unified storage with compression
- **Improvement**: 50-75% memory reduction
- **Benchmark**: <1GB memory usage for large datasets
### **Query Flexibility**
```typescript
// Unified query interface supports both:
// 1. Semantic similarity queries
await memory.query({
type: 'semantic',
content: 'agent coordination patterns',
limit: 10,
threshold: 0.8
});
// 2. Structured queries
await memory.query({
type: 'structured',
filters: {
agentType: 'security',
timestamp: { after: '2026-01-01' }
},
orderBy: 'relevance'
});
```
## SONA Integration
### **Learning Pattern Storage**
```typescript
class SONAMemoryIntegration {
async storePattern(pattern: LearningPattern): Promise<void> {
// Store in AgentDB with SONA metadata
await this.memory.store({
id: pattern.id,
content: pattern.data,
metadata: {
sonaMode: pattern.mode, // real-time, balanced, research, edge, batch
reward: pattern.reward,
trajectory: pattern.trajectory,
adaptation_time: pattern.adaptationTime
},
embedding: await this.generateEmbedding(pattern.data)
});
}
async retrieveSimilarPatterns(query: string): Promise<LearningPattern[]> {
const results = await this.memory.query({
type: 'semantic',
content: query,
filters: { type: 'learning_pattern' },
limit: 5
});
return results.map(r => this.toLearningPattern(r));
}
}
```
## Data Migration Plan
### **SQLite β AgentDB Migration**
```sql
-- Extract existing data
SELECT id, content, metadata, created_at, agent_id
FROM memory_entries
ORDER BY created_at;
-- Migrate to AgentDB with embeddings
INSERT INTO agentdb_memories (id, content, embedding, metadata)
VALUES (?, ?, generate_embedding(?), ?);
```
### **Markdown β AgentDB Migration**
```typescript
// Process markdown files
for (const file of markdownFiles) {
const content = await fs.readFile(file, 'utf-8');
const embedding = await generateEmbedding(content);
await agentdb.store({
id: generateId(),
content,
embedding,
metadata: {
originalFile: file,
migrationDate: new Date(),
type: 'document'
}
});
}
```
## Validation & Testing
### **Performance Benchmarks**
```typescript
// Benchmark suite
class MemoryBenchmarks {
async benchmarkSearchPerformance(): Promise<BenchmarkResult> {
const queries = this.generateTestQueries(1000);
const startTime = performance.now();
for (const query of queries) {
await this.memory.query(query);
}
const endTime = performance.now();
return {
queriesPerSecond: queries.length / (endTime - startTime) * 1000,
avgLatency: (endTime - startTime) / queries.length,
improvement: this.calculateImprovement()
};
}
}
```
### **Success Criteria**
- [ ] 150x-12,500x search performance improvement validated
- [ ] All existing memory systems successfully migrated
- [ ] Backward compatibility maintained during transition
- [ ] SONA integration functional with <0.05ms adaptation
- [ ] Cross-agent memory sharing operational
- [ ] 50-75% memory usage reduction achieved
## Coordination Points
### **Integration Architect (Agent #10)**
- AgentDB integration with agentic-flow@alpha
- SONA learning mode configuration
- Performance optimization coordination
### **Core Architect (Agent #5)**
- Memory service interfaces in DDD structure
- Event sourcing integration for memory operations
- Domain boundary definitions for memory access
### **Performance Engineer (Agent #14)**
- Benchmark validation of 150x-12,500x improvements
- Memory usage profiling and optimization
- Performance regression testingThis skill unifies diverse memory backends into a single AgentDB-based system with HNSW vector indexing to deliver dramatic search speedups (150xβ12,500x). It provides a unified query interface supporting both semantic and structured queries, automatic persistence, and cross-agent memory sharing while preserving backward compatibility. The implementation includes migration tooling, SONA learning pattern integration, and performance benchmarking to validate gains.
The specialist wraps existing memory systems with a UnifiedMemoryService that stores entries in AgentDB and indexes embeddings with an HNSWIndexer for fast approximate nearest-neighbor search. Structured queries fall back to AgentDBβs native queries while semantic queries use HNSW vector search. Migration components extract data from legacy backends (SQLite, Markdown, DistributedMemory, etc.), generate embeddings, and incrementally migrate entries to AgentDB to maintain service continuity.
How does the system preserve backward compatibility during migration?
Migration is gradual: each backend is wrapped or mirrored to AgentDB and routed through the unified interface so legacy reads still succeed until cutover.
What performance tuning is required for HNSW?
Adjust M, efConstruction, and efSearch based on dataset size and target latency; tune embedding dimensionality and use batched indexing for large imports.