Skip to content
Back to skills

Vestige

ASecurity

Cognitive memory system using FSRS-6 spaced repetition. Memories fade naturally like human memory. Use for persistent recall across sessions.

  • 651 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 10, 2026
toolstypescriptbash

Works with

  • mcp

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add sundial-org/awesome-openclaw-skills --skill vestige --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Vestige?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Vestige
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sundial-org-vestige/badge)](https://www.skillsdirectory.com/skills/sundial-org-vestige)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: vestige
description: Cognitive memory system using FSRS-6 spaced repetition. Memories fade naturally like human memory. Use for persistent recall across sessions.
---

# Vestige Memory Skill

Cognitive memory system based on 130 years of memory research. FSRS-6 spaced repetition, spreading activation, synaptic tagging—all running 100% local.

## Binary Location

```
~/bin/vestige-mcp
~/bin/vestige
~/bin/vestige-restore
```

## When to Use

- **Persistent memory** across sessions
- **User preferences** ("I prefer TypeScript", "I always use dark mode")
- **Bug fixes** and solutions worth remembering
- **Project patterns** and architectural decisions
- **Reminders** and future triggers

## Quick Commands

### Search Memory

```bash
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"user preferences"}}}' | ~/bin/vestige-mcp 2>/dev/null | jq -r '.result.content[0].text // .error.message'
```

### Save Memory (Smart Ingest)

```bash
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"smart_ingest","arguments":{"content":"User prefers Swiss Modern design style for presentations","tags":["preference","design"]}}}' | ~/bin/vestige-mcp 2>/dev/null | jq -r '.result.content[0].text // .error.message'
```

### Simple Ingest

```bash
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ingest","arguments":{"content":"TKPay Offline project: POC 2 months, MVP 2 months, budget 250K DH","tags":["project","tkpay"]}}}' | ~/bin/vestige-mcp 2>/dev/null | jq -r '.result.content[0].text // .error.message'
```

### Check Stats

```bash
~/bin/vestige stats
```

### Health Check

```bash
~/bin/vestige health
```

## MCP Tools Available

| Tool | Description |
|------|-------------|
| `search` | Unified search (keyword + semantic + hybrid) |
| `smart_ingest` | Intelligent ingestion with duplicate detection |
| `ingest` | Simple memory storage |
| `memory` | Get, delete, or check memory state |
| `codebase` | Remember patterns and architectural decisions |
| `intention` | Set reminders and future triggers |
| `promote_memory` | Mark memory as helpful (strengthens) |
| `demote_memory` | Mark memory as wrong (weakens) |

## Trigger Words

| User Says | Action |
|-----------|--------|
| "Remember this" | `smart_ingest` immediately |
| "Don't forget" | `smart_ingest` with high priority |
| "I always..." / "I never..." | Save as preference |
| "I prefer..." / "I like..." | Save as preference |
| "This is important" | `smart_ingest` + `promote_memory` |
| "Remind me..." | Create `intention` |

## Session Start Routine

At the start of conversations, search for relevant context:

```bash
# Search user preferences
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"user preferences instructions"}}}' | ~/bin/vestige-mcp 2>/dev/null | jq -r '.result.content[0].text'

# Search project context
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"current project context"}}}' | ~/bin/vestige-mcp 2>/dev/null | jq -r '.result.content[0].text'
```

## Helper Script

For easier usage, create `~/bin/vmem`:

```bash
#!/bin/bash
# Vestige Memory Helper
ACTION=$1
shift

case $ACTION in
  search)
    echo "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"search\",\"arguments\":{\"query\":\"$*\"}}}" | ~/bin/vestige-mcp 2>/dev/null | jq -r '.result.content[0].text // .error.message'
    ;;
  save)
    echo "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"smart_ingest\",\"arguments\":{\"content\":\"$*\"}}}" | ~/bin/vestige-mcp 2>/dev/null | jq -r '.result.content[0].text // .error.message'
    ;;
  stats)
    ~/bin/vestige stats
    ;;
  *)
    echo "Usage: vmem [search|save|stats] [content]"
    ;;
esac
```

## Data Location

- **macOS**: `~/Library/Application Support/com.vestige.core/`
- **Linux**: `~/.local/share/vestige/`
- **Embedding cache**: `~/Library/Caches/com.vestige.core/fastembed/`

## Integration Notes

Vestige complements the existing `memory/` folder system:
- **memory/*.md** = Human-readable daily logs
- **MEMORY.md** = Curated long-term notes
- **Vestige** = Semantic search + automatic decay + spaced repetition

Use Vestige for:
- Things you want to recall semantically (not just keyword search)
- Preferences that should persist indefinitely
- Solutions worth remembering (with automatic decay if unused)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…