hmem-mcp 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hmem-mcp",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Humanlike memory for AI agents — MCP server with 5-level lazy-loaded SQLite memory",
5
5
  "author": "Bumblebiber",
6
6
  "license": "MIT",
@@ -93,6 +93,21 @@ read_memory(context_for="P0029", min_tag_score=7) # stricter — only strong ma
93
93
 
94
94
  ---
95
95
 
96
+ ## Adapt Communication to User Skill Level
97
+
98
+ After loading memory, check H-prefix entries for **User Skill Assessments** (e.g. H0010 "User Skill: IT").
99
+ These tell you the user's expertise level per topic — adapt your language accordingly:
100
+
101
+ - **Beginner**: Explain concepts, avoid jargon, use analogies
102
+ - **Intermediate**: Brief explanations, some jargon OK
103
+ - **Advanced**: Direct technical language, skip basics
104
+ - **Expert**: Peer-level discussion, challenge assumptions
105
+
106
+ If no skill assessment exists yet, create one based on the user's vocabulary and questions
107
+ (see hmem-write skill for the H-prefix convention).
108
+
109
+ ---
110
+
96
111
  ## After loading — proactive cleanup
97
112
 
98
113
  Only on the **first read of a session** (not after every read). Scan L1 summaries and flag:
@@ -334,11 +334,87 @@ Use `tag_bulk` when adding a new systematic tag to an existing category, or clea
334
334
 
335
335
  ---
336
336
 
337
+ ## H-Prefix: User Skill Assessment
338
+
339
+ Actively track the user's expertise level across topics. This drives how you communicate —
340
+ a coding expert doesn't need variable explanations, a beginner doesn't need jargon.
341
+
342
+ ### Structure
343
+
344
+ One H-entry per main topic, with sub-nodes per subtopic:
345
+
346
+ ```
347
+ write_memory(prefix="H", content="User Skill: IT
348
+ Coding — Advanced: writes TypeScript fluently, debugs SQLite schemas, understands async/MCP
349
+ Terminal/CLI — Advanced: bash, git, systemctl, nvm, sqlite3 comfortable
350
+ Networking — Intermediate: HTTP/DNS solid, asked about WebSocket details
351
+ DevOps — Intermediate: systemd + nvm yes, Docker unfamiliar",
352
+ tags=["#skill-assessment", "#it"])
353
+ ```
354
+
355
+ Levels: **Beginner → Intermediate → Advanced → Expert**
356
+
357
+ Always include evidence (observed behavior, not assumptions).
358
+
359
+ ### When to assess
360
+
361
+ - **First interaction**: Make initial assessment from vocabulary, questions, and tool usage
362
+ - **Ongoing (every few exchanges)**: Watch for signals:
363
+ - **Upgrade signals**: uses domain-specific terms correctly, solves problems independently, corrects the agent
364
+ - **Downgrade signals**: "das verstehe ich nicht", "explain that", asks about basic concepts, misuses terms
365
+ - **On /save**: Review and update assessments if evidence accumulated
366
+
367
+ ### How to update
368
+
369
+ Reference the O-entry (automatic session log) where the skill change was observed:
370
+
371
+ ```
372
+ # User demonstrated new skill — link to the exchange that proves it
373
+ append_memory(id="H0010", content="Docker — Intermediate: configured docker-compose independently (see O0042.15)")
374
+
375
+ # User's skill improved
376
+ update_memory(id="H0010.3", content="Networking — Advanced: configures DNS, TLS, reverse proxies (see O0042.23)")
377
+
378
+ # User struggled — downgrade with evidence
379
+ update_memory(id="H0010.4", content="DevOps — Beginner: asked what systemd is, needed step-by-step (see O0042.8)")
380
+ ```
381
+
382
+ The O-entry reference lets future agents verify the assessment by reading the original conversation.
383
+
384
+ ### How to USE assessments
385
+
386
+ Before explaining anything technical, check the relevant H-entry:
387
+
388
+ - **Beginner**: Explain concepts, use analogies, avoid jargon, step-by-step
389
+ - **Intermediate**: Brief explanations, some jargon OK, link to docs for details
390
+ - **Advanced**: Direct technical language, skip basics, focus on trade-offs
391
+ - **Expert**: Peer-level discussion, challenge assumptions, discuss edge cases
392
+
393
+ Example: If H0010.1 says "Coding — Advanced", don't explain what a Map is.
394
+ If H0010.4 says "DevOps — Beginner", explain what a systemd service does before configuring one.
395
+
396
+ ### Topics are open-ended
397
+
398
+ Not just IT — any domain the user works in:
399
+ - Music (theory, instruments, production)
400
+ - Mechanical (bikes, cars, tools)
401
+ - Business (accounting, marketing, management)
402
+ - Languages (German, English proficiency)
403
+
404
+ Create new H-entries as topics emerge naturally from conversation.
405
+
406
+ ---
407
+
408
+ ## Language Consistency
409
+
410
+ Match the language of existing entries. Before writing, check what language the memory store uses (run `read_memory()` if unsure). If existing entries are in German, write in German. If English, write in English. Do not mix languages within a single store — it makes search and curation harder.
411
+
337
412
  ## Anti-Patterns
338
413
 
339
414
  | Wrong | Right |
340
415
  |-------|-------|
341
416
  | L1 too short: "Fixed bug" | Full sentence with root cause |
417
+ | Writing English when existing entries are German | Match the store's language |
342
418
  | Tabs inside content text (e.g. code snippets) | Use spaces for indentation within content — tabs at line start always mean "go deeper in the hierarchy" |
343
419
  | Mixed spaces and tabs for hierarchy | Stay consistent — either tabs or spaces as your depth marker |
344
420
  | Everything flat, no indentation | Use hierarchy — L2/L3 for details |