commit 441954c792428db63d340c416892f27935d0fab0 Author: Zhongwei Li Date: Sun Nov 30 08:44:34 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..d3fda7b --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,13 @@ +{ + "name": "nowledge-mem", + "description": "Personal memory and context management system", + "version": "0.4.1", + "author": { + "name": "Nowledge Labs", + "url": "https://www.nowledge-labs.ai/", + "email": "hello@nowledge-labs.ai" + }, + "skills": [ + "./skills" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..3b8b6cb --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# nowledge-mem + +Personal memory and context management system diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..7e94633 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,53 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:nowledge-co/community:nowledge-mem-claude-code-plugin", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "233eb2e398ef67c76509dd701bfb8f01ff67e525", + "treeHash": "4d0e0e397d880f3eba8d2049a52d2e9bf0121bffedace424f22dbbfc0c17cd82", + "generatedAt": "2025-11-28T10:27:23.947370Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "nowledge-mem", + "description": "Personal memory and context management system", + "version": "0.4.1" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "764f141cd09bc3b64bcef8a434f48481204e17a9479dd882ed2f638597105ee1" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "1c83c8cfcb790c15761f576a2e8b3fa3e24625f77e1e696961c6243048ce0ac7" + }, + { + "path": "skills/save-thread/SKILL.md", + "sha256": "7de7e917b4a8bda8d58e49ad3fefa386c01db2940cfcb2c649339e43cb13dc09" + }, + { + "path": "skills/distill-memory/SKILL.md", + "sha256": "cdcbbd0187d811c6cf8839e5334eae91fc067443ea0fc597d0557d5ae295b37f" + }, + { + "path": "skills/search-memory/SKILL.md", + "sha256": "f16c5c84c02183d0a2d5eb3cb5c5b837a87ab3d724bcd50b5e8c3ad8eab2a4ab" + } + ], + "dirSha256": "4d0e0e397d880f3eba8d2049a52d2e9bf0121bffedace424f22dbbfc0c17cd82" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file diff --git a/skills/distill-memory/SKILL.md b/skills/distill-memory/SKILL.md new file mode 100644 index 0000000..95fe1c8 --- /dev/null +++ b/skills/distill-memory/SKILL.md @@ -0,0 +1,62 @@ +--- +name: Distill Memory +description: Recognize breakthrough moments, blocking resolutions, and design decisions worth preserving. Detect high-value insights that save future time. Suggest distillation at valuable moments, not routine work. +--- + +# Distill Memory + +## When to Suggest (Moment Detection) + +**Breakthrough:** Extended debugging resolves, user relief ("Finally!", "Aha!"), root cause found + +**Decision:** Compared options, chose with rationale, trade-off resolved + +**Research:** Investigated multiple approaches, conclusion reached, optimal path determined + +**Twist:** Unexpected cause-effect, counterintuitive solution, assumption challenged + +**Lesson:** "Next time do X", preventive measure, pattern recognized + +**Skip:** Routine fixes, work in progress, simple Q&A, generic info + +## Memory Quality + +**Good (atomic + actionable):** + +- "React hooks cleanup must return function. Caused leaks." +- "PostgreSQL over MongoDB: ACID needed for transactions." + +**Poor:** Vague "Fixed bugs", conversation transcript + +## Tool Usage + +```json +{ + "content": "Insight + context for future use", + "title": "Searchable (50-60 chars)", + "importance": 0.8, + "labels": "tech,domain,topic" +} +``` + +**Content:** Outcome/insight focus, include "why", enough context + +**Importance:** 0.8-1.0 major | 0.5-0.7 useful | 0.3-0.4 minor + +**Labels:** 2-4 max, check existing first, lowercase-hyphenated + +## Suggestion + +**Timing:** After resolution/decision, when user pauses + +**Pattern:** "This [type] seems valuable - [essence]. Distill into memory?" + +**Frequency:** 1-3 per session typical, quality over quantity + +## Troubleshooting + +If the MCP is not installed, you can install it with the following command: + +```bash +claude mcp add --transport http nowledge-mem http://localhost:14242/mcp --scope user +``` diff --git a/skills/save-thread/SKILL.md b/skills/save-thread/SKILL.md new file mode 100644 index 0000000..3030c76 --- /dev/null +++ b/skills/save-thread/SKILL.md @@ -0,0 +1,48 @@ +--- +name: Save Thread +description: Save complete conversation as checkpoint. Only when user explicitly requests ("save session", "checkpoint this"). Use thread_persist to store full message history with summary. +--- + +# Save Thread + +## When to Save + +**Only when user explicitly says:** +"Save this session" | "Checkpoint this" | "Record conversation" + +Never auto-save or suggest. + +## Tool Usage + +```json +{ + "client": "claude-code", + "project_path": "/Users/username/dev/project-foo", + "persist_mode": "current", + "summary": "What was accomplished (under 100 chars)" +} +``` + +**project_path:** Ask if unclear + +**persist_mode:** `"current"` (default) | `"all"` (only if explicitly requested) + +## Thread vs Memory + +Thread = full history | Memory = distilled insights (different purposes, can do both) + +## Response + +``` +✓ Thread saved +Summary: {summary} +Messages: {count} +``` + +## Troubleshooting + +If the MCP is not installed, you can install it with the following command: + +```bash +claude mcp add --transport http nowledge-mem http://localhost:14242/mcp --scope user +``` diff --git a/skills/search-memory/SKILL.md b/skills/search-memory/SKILL.md new file mode 100644 index 0000000..3c445b4 --- /dev/null +++ b/skills/search-memory/SKILL.md @@ -0,0 +1,59 @@ +--- +name: Search Memory +description: Search memory store when past insights would improve response. Recognize when user's stored breakthroughs, decisions, or solutions are relevant. Search proactively based on context, not just explicit requests. +--- + +# Search Memory + +## When to Search (Autonomous Recognition) + +**Strong signals:** + +- Continuity: Current topic connects to prior work +- Pattern match: Problem resembles past solved issue +- Decision context: "Why/how we chose X" implies documented rationale +- Recurring theme: Topic discussed in past sessions +- Implicit recall: "that approach", "like before" + +**Contextual signals:** + +- Complex debugging (may match past root causes) +- Architecture discussion (choices may be documented) +- Domain-specific question (conventions likely stored) + +**Skip when:** + +- Fundamentally new topic +- Generic syntax questions +- Fresh perspective explicitly requested + +## Tool Usage + +```json +{ + "query": "3-7 core concepts", + "limit": 10, + "mode": "normal" +} +``` + +**Query:** Extract semantic core, preserve terminology, multi-language aware + +**Modes:** `normal` (default fast) | `deep` (comprehensive when needed) + +**Scores:** 0.6-1.0 direct | 0.3-0.6 related | <0.3 skip + +**Optional:** `"filter_labels": "backend,architecture"` + +## Response + +Found: Synthesize, cite when helpful +None: State clearly, suggest distilling if current discussion valuable + +## Troubleshooting + +If the MCP is not installed, you can install it with the following command: + +```bash +claude mcp add --transport http nowledge-mem http://localhost:14242/mcp --scope user +```