Give your Anthropic Skills persistent memory. Enable them to recall user preferences, learn from past interactions, and provide increasingly personalized assistance across sessions.
PersistQ gives your Claude Skills persistent memory. Your Skills can remember user preferences, past conversations, and learn from interactions - making them smarter over time. Works seamlessly with Claude.ai, Claude Code, and the Claude API.
Anthropic Skills are modular folders of instructions that Claude loads dynamically. They're powerful, but stateless - each invocation starts fresh.
Here's how a Customer Support Skill uses PersistQ to remember user context and provide better service:
User:
"I'm having trouble logging in with 2FA"
Skill Process:
User:
"I'm locked out again"
Skill Process:
User:
"How do I update my billing info?"
Skill Process:
Result:
Faster resolutions, personalized communication style, and proactive issue detection - all without the user repeating themselves.
Sign up at PersistQ and grab your API key from the dashboard
export PERSISTQ_API_KEY="your-api-key-here"Two approaches - pick what works for you:
Best for Claude Desktop integration
Best for custom scripts & workflows
Add memory operations to your SKILL.md:
--- name: my-memory-skill description: A skill that remembers user preferences --- # My Memory Skill Before responding, search for user context: - Use search_memory() to find past interactions - Use add_memory() to store new learnings - Use list_memories() to review recent history
Load your skill in Claude and watch it remember across conversations!
Need more details? Jump to MCP Integration or Direct API Integration sections below for complete setup instructions.
The Model Context Protocol (MCP) approach exposes PersistQ as tool calls that Claude can use automatically. This is the cleanest and most maintainable integration method.
Use our ready-to-use MCP server package - no need to build from scratch:
# Install our MCP server package npm install @persistq/mcp-server # Or using yarn yarn add @persistq/mcp-server
📦 Complete package includes: Pre-built MCP server with all PersistQ tools, automatic tool exposure, and ready-to-use configuration templates.
Add the MCP server to your Claude configuration:
// claude_desktop_config.json
{
"mcpServers": {
"persistq-memory": {
"command": "npx",
"args": ["@persistq/mcp-server"],
"env": {
"PERSISTQ_API_KEY": "your-api-key-here"
}
}
}
}💡 Pro tip: Using npx means you don't need to download or manage the server file - it runs directly from npm!
Write a SKILL.md that instructs Claude when and how to use the memory tools:
--- name: memory-assistant description: Assistant with persistent memory across conversations --- # Memory-Enhanced Assistant ## Memory Strategy Before responding to any user request: 1. **Search** for relevant past interactions using search_memory() 2. **Consider** user preferences and context from memory 3. **Respond** with personalized, context-aware assistance 4. **Store** new learnings using add_memory() ## Example Usage When user asks for coding help: - Search for their coding style preferences - Recall past projects and challenges - Provide targeted assistance - Store the interaction for next time ## Memory Categories - user_preferences: Communication style, coding preferences - learning_progress: Skills learned, topics covered - project_context: Current projects, recurring patterns
When you load this skill in Claude, it will automatically have access to the PersistQ memory tools and will use them according to your instructions. Claude knows when to search, store, and recall information based on your skill's guidance.
For custom scripts, workflows, or non-Claude environments, use the PersistQ API directly.
Use our official SDKs for direct API integration:
npm install @persistq/sdk # or yarn add @persistq/sdk
pip install persistq # or pip3 install persistq
// JavaScript/TypeScript Example
import { PersistQClient } from '@persistq/sdk';
const client = new PersistQClient({
apiKey: process.env.PERSISTQ_API_KEY
});
// Store a memory
await client.addMemory({
text: "User prefers TypeScript over JavaScript",
topic: "preferences",
metadata: { user_id: "user_123" }
});
// Search memories
const results = await client.searchMemory({
query: "TypeScript preferences",
topic: "preferences"
});Full SDK documentation: Check our API Reference for Python, Go, and other language examples.
Use consistent topic names to categorize memories:
user_context - Background, work, experiencepreferences - Communication, coding stylelearning_progress - Skills, topics coveredproblem_patterns - Issues, solutionsAdd structured metadata for better filtering:
Always search before responding:
Make memories actionable and clear:
Detailed method documentation
Setup instructions and basics
Contact us for integration questions