一键导入
persistia-memory-system
Install and use Persistia to give Claude Code persistent, self-updating project memory and operational capabilities
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Install and use Persistia to give Claude Code persistent, self-updating project memory and operational capabilities
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create AI marketing videos and images using Arcads API — Seedance, Sora, Veo, Kling, Nano Banana, ChatGPT Image, and multi-step ad pipelines
Generate AI marketing videos and static image ads using the Arcads API with skills for Seedance 2.0, Sora 2, Veo 3.1, Kling 3.0, Nano Banana, and 37 Meta ad templates
Create AI marketing videos and images using Arcads API with Seedance 2.0, Sora 2, Veo 3.1, Kling 3.0, Nano Banana, and 37 static Meta ad templates
Generate AI marketing videos and images using Arcads creative stack (Seedance 2.0, Sora 2, Veo 3.1, Kling, Nano Banana, ChatGPT Image) from Claude Code or Cursor
Generate AI marketing videos and static image ads using Arcads external API with Seedance 2.0, Sora 2, Veo 3.1, Kling, Nano Banana, and 37-template Meta image library
Create AI marketing videos and static Meta image ads using the Arcads API with Seedance 2.0, Sora 2, Veo 3.1, Kling, Nano Banana, ChatGPT Image, and 37 static ad templates
| name | persistia-memory-system |
| description | Install and use Persistia to give Claude Code persistent, self-updating project memory and operational capabilities |
| triggers | ["set up persistent memory for this project","install Persistia","give Claude Code memory of this codebase","schedule an automated task","add a permanent skill","update the brain repository","create a proactive scan","configure operational memory"] |
Skill by ara.so — Claude Code Skills collection.
Persistia gives Claude Code persistent, self-updating memory of your entire project. It scans your codebase, architecture, docs, and configs on first run, then monitors changes via git diff to stay current. Memory is stored in _brain/ as plain text files with git versioning, optionally backed up to a private GitHub repository.
Run from your project root:
curl -fsSL https://raw.githubusercontent.com/bernardohcrocha/persistia-for-claude-code/main/setup.sh | bash
Requirements:
gh) for automatic cloud backupThe setup process will:
_brain/ directory with indexed memory_brain/
├── .git/ # Isolated brain repository
├── index.md # Main navigation file (read first every session)
├── dashboard.html # Live dashboard (auto-refreshes every 5 min)
├── core/ # Product, brand, ICP definitions
│ ├── product.md
│ ├── brand.md
│ └── icp.md
├── operations/ # Metrics and customer data (auto-updated daily)
│ ├── metrics.md
│ └── customers.md
├── skills/ # Permanent rules and capabilities
│ └── [skill-name].md
└── tasks/ # Scheduled task management
├── queue.json
├── completed/
└── failed/
The _brain/index.md file is always read first. It contains:
Persistia runs git diff daily to detect changes:
Skills are permanent capabilities stored in _brain/skills/. Once written, they're loaded in every session.
Creating a skill:
---
name: deployment-checklist
created: 2026-06-04
---
# Deployment Checklist
Before every deployment:
1. Run full test suite
2. Check environment variables match production
3. Verify database migrations are reversible
4. Update CHANGELOG.md
5. Tag release in git
Skills are created automatically when you say things like:
Tasks are defined in _brain/tasks/queue.json:
{
"tasks": [
{
"id": "weekly-metrics",
"name": "Weekly Metrics Report",
"schedule": "every Monday at 9am",
"description": "Pull last week's metrics from Stripe, flag anomalies, queue follow-ups for accounts below quota",
"batch_size": 50,
"timeout_minutes": 10,
"enabled": true
},
{
"id": "inactive-users",
"name": "Inactive User Outreach",
"schedule": "every Tuesday",
"description": "Find signups from last 30 days with no activity. Research each company and draft personalized re-engagement emails",
"batch_size": 20,
"timeout_minutes": 15,
"enabled": true
}
]
}
Task properties:
batch_size: Maximum items per run (prevents timeouts)timeout_minutes: Default is 5, increase for complex tasksenabled: Set to false to pause without deletingEvery 3 days when idle, Persistia automatically scans:
It flags observations and suggests actions but never acts unilaterally.
After installation, provide context through conversation:
You: "This is a SaaS analytics platform built with Next.js and PostgreSQL"
Claude: *Updates _brain/core/product.md with architecture details*
You: "We target B2B marketing teams at companies with 50-500 employees"
Claude: *Updates _brain/core/icp.md with target customer profile*
Persistia scans .env files automatically. Reference credentials:
// Good - uses existing environment variables
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
const db = new Database({
host: process.env.DB_HOST,
password: process.env.DB_PASSWORD
});
You: "Always check Sentry for errors before marking a task complete"
Claude: *Creates _brain/skills/pre-completion-checklist.md*
You: "When analyzing churn, segment by signup cohort and usage tier"
Claude: *Creates _brain/skills/churn-analysis-methodology.md*
You: "Every Friday afternoon, summarize this week's closed issues and PRs into a changelog draft"
Claude: *Adds task to _brain/tasks/queue.json*
You: "Daily at 8am: check for new Stripe subscriptions and add them to the customer database"
Claude: *Adds task with appropriate batch_size and timeout*
You: "Which customers dropped usage 30%+ this month? Cross-check their support tickets and draft personalized follow-ups"
Claude: *Queries metrics, support system, generates drafts*
You: "Find all users who signed up from our latest blog post and haven't activated yet"
Claude: *Checks analytics, CRM, prepares outreach list*
Open _brain/dashboard.html in your browser for a live view:
Auto-refreshes every 5 minutes.
cd _brain
git add .
git commit -m "Manual memory update"
git push
cd _brain
git log --oneline
git diff HEAD~1 # See what changed in last update
# On first machine
cd _brain
git remote -v # Get repository URL
# On second machine (in project root)
git clone <brain-repo-url> _brain
# macOS
launchctl unload ~/Library/LaunchAgents/persistia.brain.plist
# Linux
systemctl --user disable persistia-brain.timer
# macOS
launchctl load ~/Library/LaunchAgents/persistia.brain.plist
# Linux
systemctl --user enable persistia-brain.timer
systemctl --user start persistia-brain.timer
Check if GitHub CLI is authenticated:
gh auth status
If not authenticated:
gh auth login
Check scheduler status:
# macOS
launchctl list | grep persistia
# Linux
systemctl --user status persistia-brain.timer
View logs:
# macOS
tail -f ~/Library/Logs/persistia-brain.log
# Linux
journalctl --user -u persistia-brain.service -f
Increase timeout_minutes in _brain/tasks/queue.json:
{
"id": "complex-analysis",
"timeout_minutes": 20,
"batch_size": 10
}
Split large files by topic. Update _brain/index.md to link to all sections:
## Architecture
- [Backend Services](core/architecture-backend.md)
- [Frontend Components](core/architecture-frontend.md)
- [Database Schema](core/architecture-database.md)
rm -rf _brain
curl -fsSL https://raw.githubusercontent.com/bernardohcrocha/persistia-for-claude-code/main/setup.sh | bash
This will re-scan your project and rebuild all memory files.
_brain/ like important codegh CLI for automatic cloud backup// _brain/skills/stripe-metrics.md references this pattern
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
async function getMonthlyMetrics() {
const subscriptions = await stripe.subscriptions.list({
status: 'active',
limit: 100
});
const revenue = subscriptions.data.reduce((sum, sub) => {
return sum + (sub.items.data[0].price.unit_amount / 100);
}, 0);
return { active_subscriptions: subscriptions.data.length, revenue };
}
// Uses existing gh CLI authentication
const { execSync } = require('child_process');
function getRecentIssues(days = 7) {
const since = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();
const cmd = `gh issue list --state closed --json title,closedAt,labels --search "closed:>=${since}"`;
const output = execSync(cmd, { encoding: 'utf-8' });
return JSON.parse(output);
}
// Credentials from environment
const { Pool } = require('pg');
const pool = new Pool({
host: process.env.DB_HOST,
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD
});
async function updateCustomerMetrics() {
const result = await pool.query(`
SELECT customer_id, last_active, usage_count
FROM customers
WHERE last_active < NOW() - INTERVAL '30 days'
`);
return result.rows;
}
Persistia uses an isolated git repository for _brain/:
gh CLI available)See the project's ARCHITECTURE.md for detailed git workflow.