skillmem
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SKILLMEM_AGENT | No | Agent identifier stamped into memory records (e.g. 'claude-code', 'codex'). Falls back to the agent's MCP handshake if not set. | |
| SKILLMEM_RECAP_MIN_INTERVAL | No | Minimum interval in seconds between session recaps for the Stop hook. Defaults to 600. | 600 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mem_searchA | Full-text search across skillmem memory. Uses FTS5 BM25 over titles + bodies + tags + topics with English and Russian Snowball stemming. Returns top-N results with rank and snippet. |
| mem_getA | Fetch one memory by slug. Returns full body, provenance (origin, created_at, updated_at, source_session), wikilinks in/out. Set include_history=true to get the version trail. A row whose |
| mem_listC | List memories most-recent-first. Optionally filter by kind or project. |
| mem_writeA | Insert a new memory. Slug must be unique. To overwrite an existing slug, use mem_update with a reason — mem_write deliberately refuses silent overwrites to preserve record provenance. |
| mem_updateB | Update an existing memory. Old body is preserved in memory_history with the supplied reason — every record keeps a full birth/expiration/death trail. |
| mem_learnB | Record an after-action skill from task experience. The agent writes what triggered the task, what steps were taken, the outcome, and lessons learned. Stored as kind=skill with Ebbinghaus strength tracking. |
| mem_recallA | Find relevant skills before starting a task. Searches skills by BM25 relevance weighted by Ebbinghaus strength — frequently used successful skills rank higher. Auto-reinforces retrieved skills. |
| mem_reinforceA | Record how a recalled skill turned out. Strength rises only on evidence from outside your own judgement (a test that passed, a diff that was accepted, the user saying so) and falls when the task failed after you applied it. Saying it helped is not evidence: the default only refreshes recency. |
| mem_pinA | Pin a skill so it never decays and is never archived, or unpin it. For a rule that matters precisely because it is rarely needed — a deploy gate, a safety constraint — where rarity is the point and decay would read it as irrelevance. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool maps to a distinct action—searching, fetching by slug, listing, writing, updating, learning, recalling, reinforcing, and pinning. Even the superficially similar mem_search and mem_recall are clearly separated by mem_recall's skill-specific retrieval, strength weighting, and reinforcement side effect.
All tools use the mem_ prefix followed by a consistent imperative verb: search, get, list, write, update, learn, recall, reinforce, pin. The naming pattern makes each tool's purpose predictable and the set highly uniform.
Nine tools is well-scoped for a memory and skill management server. The set covers retrieval, record lifecycle, skill learning, reinforcement, and pinning without unnecessary duplication or bloat.
The tool surface covers creation, retrieval, update, and the skill feedback loop thoroughly. The main gap is lifecycle cleanup: there is no explicit delete or archive tool, and the untrusted-data approval state mentioned in mem_get has no corresponding approval action.