Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alsk1992 avatar

Memory

  • 13 installs
  • 610 repo stars
  • Updated June 26, 2026
  • alsk1992/cloddsbot

memory is a Claude Code skill that stores and recalls user preferences, facts, notes, and rules across conversations using vector-embedding semantic search.

About

This skill gives the clodds bot a persistent memory system for user preferences, facts, notes, and trading rules across conversations. A developer uses it to store and recall structured memories and run semantic search over them via embeddings. It supports LanceDB, SQLite, and PostgreSQL backends and a daily trading journal.

  • Store preferences, facts, notes, and rules across conversations
  • Semantic search over memories using vector embeddings
  • Backends for LanceDB, SQLite, and PostgreSQL with pgvector

Memory by the numbers

  • 13 all-time installs (skills.sh)
  • Ranked #11,409 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

memory capabilities & compatibility

Requires an OpenAI key for embeddings; optional MEMORY_ENCRYPTION_KEY

Capabilities
persistent memory · semantic search · agent memory
Works with
postgres · openai
Use cases
memory
Runs
Runs locally
Pricing
Bring your own API key
From the docs

What memory says it does

Semantic search powered by vector embeddings.
SKILL.md
backend: 'lancedb', // 'lancedb' | 'sqlite' | 'postgres'
SKILL.md
npx skills add https://github.com/alsk1992/cloddsbot --skill memory

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs13
repo stars610
Last updatedJune 26, 2026
Repositoryalsk1992/cloddsbot

What it does

Persist and semantically recall user preferences, facts, notes, and trading rules across bot conversations.

Who is it for?

Giving the bot durable memory of user preferences and trading rules

Skip if: General-purpose knowledge base outside the clodds bot context

When should I use this skill?

You need to remember, recall, or semantically search user context

What you get

Preferences, facts, notes, and rules persist and can be recalled by meaning.

By the numbers

  • 5 memory types (preference, fact, note, rule, context)
  • 3 storage backends (LanceDB, SQLite, PostgreSQL)

Files

SKILL.mdMarkdownGitHub ↗

Memory - Complete API Reference

Store and recall user preferences, facts, and notes across conversations. Semantic search powered by vector embeddings.

---

Chat Commands

Store Memories

/remember preference risk=conservative      Save trading preference
/remember fact BTC halving is in April 2028 Store a fact
/remember note Check ETH before market open Save a note
/remember rule Never trade during FOMC      Store trading rule

Recall Memories

/memory                                     View all memories
/memory preferences                         View preferences only
/memory facts                               View facts only
/memory notes                               View notes only
/memory rules                               View trading rules
/memory search "bitcoin"                    Search memories

Forget Memories

/forget <key>                               Delete specific memory
/forget all preferences                     Clear all preferences
/forget all                                 Clear everything (careful!)

---

TypeScript API Reference

Create Memory Service

import { createMemoryService } from 'clodds/memory';

const memory = createMemoryService({
  // Storage backend
  backend: 'lancedb',  // 'lancedb' | 'sqlite' | 'postgres'

  // Embedding model
  embeddings: {
    provider: 'openai',
    model: 'text-embedding-3-small',
  },

  // Options
  encryptionKey: process.env.MEMORY_ENCRYPTION_KEY,
});

Remember (Store)

// Store a preference
await memory.remember({
  userId: 'user-123',
  type: 'preference',
  key: 'risk_tolerance',
  value: 'conservative',
});

// Store a fact
await memory.remember({
  userId: 'user-123',
  type: 'fact',
  content: 'BTC halving occurs approximately every 4 years',
  metadata: { topic: 'crypto', confidence: 0.95 },
});

// Store a note
await memory.remember({
  userId: 'user-123',
  type: 'note',
  content: 'Check Polymarket for election markets before Tuesday',
  metadata: { priority: 'high' },
});

// Store a trading rule
await memory.remember({
  userId: 'user-123',
  type: 'rule',
  content: 'Never trade more than 5% of portfolio on single position',
});

Recall (Retrieve)

// Get all memories for user
const all = await memory.recall({ userId: 'user-123' });

// Get by type
const preferences = await memory.recall({
  userId: 'user-123',
  type: 'preference',
});

// Get specific key
const risk = await memory.recall({
  userId: 'user-123',
  type: 'preference',
  key: 'risk_tolerance',
});

Semantic Search

// Search by meaning (not just keywords)
const results = await memory.semanticSearch({
  userId: 'user-123',
  query: 'what is my risk appetite?',
  limit: 5,
  threshold: 0.7,  // Similarity threshold
});

for (const result of results) {
  console.log(`${result.type}: ${result.content}`);
  console.log(`  Similarity: ${result.score}`);
}

Forget (Delete)

// Delete specific memory
await memory.forget({
  userId: 'user-123',
  type: 'preference',
  key: 'risk_tolerance',
});

// Delete all of a type
await memory.forgetByType({
  userId: 'user-123',
  type: 'note',
});

// Delete all memories
await memory.forgetAll({ userId: 'user-123' });

Daily Journal

// Log daily activity
await memory.logDaily({
  userId: 'user-123',
  date: new Date(),
  trades: 5,
  pnl: 123.45,
  notes: 'Good day, caught BTC rally',
});

// Get journal entries
const journal = await memory.getDailyLogs({
  userId: 'user-123',
  from: '2024-01-01',
  to: '2024-01-31',
});

---

Memory Types

TypePurposeExample
preferenceUser settingsrisk=conservative
factStored knowledge"ETH gas is cheaper on weekends"
noteReminders/todos"Check election markets"
ruleTrading rules"Max 5% per position"
contextConversation contextAuto-saved by system

---

Storage Backends

BackendDescriptionBest For
LanceDBVector DB with hybrid searchProduction, semantic search
SQLiteLocal file-basedDevelopment, single user
PostgreSQLDistributed with pgvectorMulti-user, production

---

Best Practices

1. Be specific with keysmax_position_size not just size 2. Use types correctly — Preferences for settings, rules for constraints 3. Semantic search — Ask questions naturally, embeddings will match 4. Regular cleanup — Delete outdated notes and facts 5. Backup memories — Export before major changes

Related skills

FAQ

How does semantic search work here?

It matches queries by meaning using vector embeddings with a configurable similarity threshold.

What storage backends are supported?

LanceDB, SQLite, and PostgreSQL with pgvector.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.