vestige
Cognitive memory system using FSRS-6 spaced repetition. Memories fade naturally like human memory. Use for persistent recall across sessions.
Best use case
vestige is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Cognitive memory system using FSRS-6 spaced repetition. Memories fade naturally like human memory. Use for persistent recall across sessions.
Teams using vestige should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/vestige/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How vestige Compares
| Feature / Agent | vestige | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Cognitive memory system using FSRS-6 spaced repetition. Memories fade naturally like human memory. Use for persistent recall across sessions.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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)Related Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).