npx claudepluginhub joysusy/violet-plugin-place --plugin lavender-memorysysThis skill uses the workspace's default tool permissions.
---
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
This skill teaches you how to operate Lavender-MemorySys, Violet's encrypted long-term memory system backed by SQLite + FTS5 with optional embedding-based semantic search.
| Tool | Purpose | When to Use |
|---|---|---|
lavender_store | Persist a new memory record | Susy says "remember this", or you detect a key decision, insight, or reusable pattern |
lavender_search | Full-text search across stored memories | Susy asks "do we have notes on X?" or you need prior context before starting work |
lavender_recall | Fetch a single memory by ID | Susy references a specific mem_id, or you need the full body after a search |
lavender_forget | Soft-delete a memory by ID | Susy explicitly asks to remove a memory, always with confirmation first |
lavender_stats | Get storage metrics and health info | Susy asks about memory usage, or during maintenance and cleanup cycles |
lavender_list | List memories with filters | Browsing by project, category, or tags without a specific search query |
{
"title": "string (required, max 200 chars)",
"content": "string (required, the full memory body)",
"category": "string (default: 'discovery') โ discovery|technical|emotional|project|decision|insight|debug",
"tags": ["string array (optional)"],
"importance": "integer 1-10 (default: 5)",
"project": "string (default: 'violet')"
}
Returns: mem_id string.
{
"query": "string (required, natural language search)",
"limit": "integer (default: 20)",
"project": "string or null (optional filter)"
}
Returns: array of memory summaries with id, title, category, importance, snippet.
{
"memory_id": "string (required)"
}
Returns: full memory record or null if not found.
{
"memory_id": "string (required)"
}
Returns: boolean indicating success.
No parameters. Returns storage metrics: total memories, by category, by project, disk usage.
{
"project": "string or null",
"category": "string or null",
"tags": ["string array or null"],
"limit": "integer (default: 50)",
"offset": "integer (default: 0)"
}
Returns: array of memory summaries.
Store a memory when any of these conditions are met:
/remember command or "save this", "note this down."Do NOT store:
Search memories proactively when:
| Level | Meaning | Examples |
|---|---|---|
| 1-2 | Ephemeral, low reuse | Temporary workaround, one-off note |
| 3-4 | Useful but not critical | Minor preference, optional pattern |
| 5-6 | Standard reference | Common workflow, project convention |
| 7-8 | High value | Architecture decision, key insight, session summary |
| 9-10 | Critical knowledge | Security finding, production incident root cause |
lavender_forget) automatically.lavender_store failures, preserve the content in your response so Susy does not lose it.uv run --directory ./src server.py to restart it.