Persistent memory system for preferences, facts, and notes
51
40%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./src/skills/bundled/memory/SKILL.mdQuality
Discovery
22%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is too terse and abstract, reading more like a category label than an actionable skill description. It lacks concrete actions (store, retrieve, update, search), explicit trigger guidance ('Use when...'), and natural user-facing keywords. While the domain of 'persistent memory' is somewhat distinctive, the description doesn't provide enough detail for Claude to confidently select this skill over alternatives.
Suggestions
Add specific concrete actions such as 'Stores, retrieves, updates, and deletes user preferences, facts, and notes across conversations' to clarify what the skill actually does.
Add an explicit 'Use when...' clause with natural trigger terms like 'remember this', 'recall', 'save a note', 'what did I say about', 'my preferences', 'don't forget'.
Include file format or storage mechanism details if applicable (e.g., 'Persists to a local JSON/markdown file') to further distinguish from other note-taking or knowledge-management skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description uses vague language like 'persistent memory system' without listing concrete actions. It doesn't specify what operations are performed (e.g., store, retrieve, search, update, delete memories). | 1 / 3 |
Completeness | The description only vaguely addresses 'what' (a memory system) and completely lacks a 'when should Claude use it' clause. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the weak 'what' brings it down to 1. | 1 / 3 |
Trigger Term Quality | Terms like 'preferences', 'facts', and 'notes' are somewhat natural, and 'memory' is a reasonable trigger term. However, it's missing common variations users might say like 'remember this', 'save for later', 'recall', 'don't forget'. | 2 / 3 |
Distinctiveness Conflict Risk | The concept of 'persistent memory' is somewhat distinctive, but 'preferences, facts, and notes' is broad enough to potentially overlap with note-taking skills, configuration/settings skills, or knowledge base skills. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, concrete code examples covering the full memory API surface, which is its primary strength. However, it suffers from being a monolithic reference document with no progressive disclosure or external file references, and it lacks workflow sequencing and validation checkpoints for destructive operations like 'forget all'. The content could be significantly tightened by removing explanatory tables Claude doesn't need and splitting detailed API docs into separate files.
Suggestions
Split the detailed TypeScript API reference into a separate REFERENCE.md file, keeping only a quick-start example and chat commands in the main SKILL.md
Add validation/error handling guidance, especially for destructive operations like 'forget all'—e.g., confirm before deletion, verify deletion succeeded
Remove the Memory Types and Storage Backends tables which are descriptive rather than instructive—Claude can infer these from the code examples
Add a brief workflow section showing the typical sequence: initialize service → store memories → recall/search → cleanup, with explicit checkpoints
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is reasonably structured but includes some unnecessary verbosity—the storage backends table, best practices section, and memory types table add bulk that Claude likely doesn't need. The API examples are somewhat repetitive (multiple similar remember() calls with slight variations). | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code examples for every operation (remember, recall, search, forget, daily journal) with concrete parameters and realistic values. Chat commands are also clearly specified with copy-paste ready syntax. | 3 / 3 |
Workflow Clarity | The skill documents individual API operations clearly but lacks any workflow sequencing—there's no guidance on initialization order, no validation steps (e.g., confirming a memory was stored), and no error handling or feedback loops for operations like 'forget all' which is destructive. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content with no references to external files. The full API reference, all examples, backend configuration, and best practices are all inline. This would benefit greatly from splitting the detailed API reference and backend configuration into separate files. | 1 / 3 |
Total | 8 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
e71a5f6
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.