Skip to content

Migrate Nowledge Mem skills from MCP to CLI#36

Merged
wey-gu merged 2 commits intomainfrom
cli_based_skills
Jan 8, 2026
Merged

Migrate Nowledge Mem skills from MCP to CLI#36
wey-gu merged 2 commits intomainfrom
cli_based_skills

Conversation

@wey-gu
Copy link
Copy Markdown
Member

@wey-gu wey-gu commented Jan 8, 2026

  • Updated all Claude Code plugin skills to use nmem CLI commands
  • Updated Codex prompts to use nmem CLI instead of MCP tools
  • Added uvx support as recommended installation method with auto uv install
  • Updated save-thread to use new 'nmem t save' command for auto session import
  • Bumped plugin version to 0.5.0
  • Removed MCP server configuration from plugin.json

Changes:

  • Claude Code plugin: 3 skills + README + plugin.json
  • Codex prompts: 2 prompts + README + install.sh

Key improvements:

  • Simpler installation (uvx or pip instead of MCP setup)
  • Auto-detection of sessions with 'nmem t save'
  • Idempotent session saving (safe to re-run)
  • Better cross-platform support

Summary by CodeRabbit

  • New Features

    • nmem CLI workflows for searching memories and saving threads (idempotent save, project targeting, summaries).
  • Documentation

    • Revised install/setup with uvx and pip/pipx options and verification steps.
    • Expanded examples: search filters, add/update/list memories, distill/save workflows, agent integration, troubleshooting.
    • Skills docs updated to describe three skills and new slash-command triggers.
  • Chores

    • Version bumped to 0.5.0; plugin metadata updated.

✏️ Tip: You can customize this high-level summary in your review settings.

- Updated all Claude Code plugin skills to use nmem CLI commands
- Updated Codex prompts to use nmem CLI instead of MCP tools
- Added uvx support as recommended installation method with auto uv install
- Updated save-thread to use new 'nmem t save' command for auto session import
- Bumped plugin version to 0.5.0
- Removed MCP server configuration from plugin.json

Changes:
- Claude Code plugin: 3 skills + README + plugin.json
- Codex prompts: 2 prompts + README + install.sh

Key improvements:
- Simpler installation (uvx or pip instead of MCP setup)
- Auto-detection of sessions with 'nmem t save'
- Idempotent session saving (safe to re-run)
- Better cross-platform support
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 8, 2026

📝 Walkthrough

Walkthrough

The PR replaces MCP/MCP-based workflows with an nmem CLI-centered workflow: documentation, examples, skill guides, and plugin metadata were updated to use nmem commands (search, m add, t save), installation options (uvx, pip/pipx), and adjusted troubleshooting and verification steps.

Changes

Cohort / File(s) Summary
Documentation — Readmes
nowledge-mem-claude-code-plugin/README.md, nowledge-mem-codex-prompts/README.md
Replaced MCP server prerequisites and MCP config with nmem CLI setup paths (uvx and pip/pipx), added installation/verification commands and connection troubleshooting for nmem
Plugin descriptor
nowledge-mem-claude-code-plugin/plugin.json
Bumped version 0.4.1 → 0.5.0, updated description to reference nmem CLI, adjusted keywords (added cli), and removed the mcpServers block
Skills guides
nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md, nowledge-mem-claude-code-plugin/skills/search-memory/SKILL.md, nowledge-mem-claude-code-plugin/skills/save-thread/SKILL.md
Replaced JSON/MCP examples with nmem CLI examples (nmem m add, nmem --json m search, nmem t save), expanded options, examples, and troubleshooting paths (uvx/pip)
Codex prompts & workflows
nowledge-mem-codex-prompts/distill.md, nowledge-mem-codex-prompts/save_session.md
Replaced MCP calls (memory_create, thread_persist) with nmem CLI workflows and concrete examples (memory creation, session save workflow using nmem t save)
Installation script
nowledge-mem-codex-prompts/install.sh
Added install_uv() and interactive install/verification flow for uv/nmem; offers uvx, pip, or pipx paths; replaces static help block with runtime checks and guided instructions
Commands docs
nowledge-mem-claude-code-plugin/commands/save.md, nowledge-mem-claude-code-plugin/commands/search.md, nowledge-mem-claude-code-plugin/commands/sum.md
Added CLI command docs for saving sessions, searching memories, and distilling (uses nmem t save, nmem --json m search, nmem m add) with usage, options, and examples
Examples & Guides
examples/AGENTS.md
New Nowledge Mem integration guide: memory categories, creation/search examples, thread ops, auto-save hook, and prerequisites (uvx/pip)
Misc
.gitignore
Added temp* ignore pattern

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 Hop, hop, the CLI's here,
nmem whispers in my ear,
Memories saved, threads made true,
Commands line up—one, two, two!
A carrot toast to docs anew! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately summarizes the main objective of this PR: migrating all Nowledge Mem skills and tools from MCP-based to CLI-based (nmem) implementations, which is clearly reflected across all changed files.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @nowledge-mem-codex-prompts/install.sh:
- Around line 140-153: The interactive check currently uses [ -t 0 ] which fails
when the script is piped; change the condition that begins the interactive
prompt block to test stdout instead (use [ -t 1 ]), so the prompt around the
install_uv flow is shown when the user's terminal is interactive even if stdin
is redirected; update the if that wraps the read prompt to use [ -t 1 ] (or [ -t
1 ] || [ -t 0 ] if you want a fallback) so the echo/read/install_uv branch
behaves correctly.

In @nowledge-mem-codex-prompts/README.md:
- Around line 48-52: The line claiming "Always uses the latest version" is
inaccurate because uvx caches packages; update that bullet to clarify that uvx
uses a cached version by default and will only fetch the newest release when
explicitly refreshed — e.g., change the bullet to something like "Uses a cached
uvx package by default; run `uvx --refresh nmem` to update to the latest
version" so readers know to use the `uvx --refresh nmem` command to get recent
updates.
🧹 Nitpick comments (11)
nowledge-mem-codex-prompts/install.sh (1)

92-104: PATH export may not persist beyond the script.

Line 98 exports PATH for the current session, but this won't persist after the script exits. The uv installer typically adds PATH configuration to shell rc files (like .bashrc, .zshrc), but users may need to restart their shell or source the rc file for the change to take effect.

Consider adding a note to inform users they might need to restart their terminal or run source ~/.bashrc (or equivalent) after installation.

📝 Suggested improvement
 install_uv() {
     echo "📦 Installing uv (Python package manager)..."
     if curl -LsSf https://astral.sh/uv/install.sh | sh; then
         echo "✅ uv installed successfully"
+        echo "ℹ️  You may need to restart your terminal or run: source ~/.bashrc"
         # Add to PATH for current session
         export PATH="$HOME/.cargo/bin:$PATH"
         return 0
     else
         echo "❌ Failed to install uv"
         return 1
     fi
 }
nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md (1)

73-73: Optional: Consider using a heading instead of bold text.

Line 73 uses bold text for "Option 1 (Recommended): Use uvx" which triggers a markdown linting warning (MD036). While this is intentional formatting, using a proper heading (e.g., ### Option 1 (Recommended): Use uvx) would be more semantically correct and satisfy the linter.

This is a style preference and doesn't affect functionality.

📝 Suggested improvement
 If `nmem` is not available:
 
-**Option 1 (Recommended): Use uvx**
+### Option 1 (Recommended): Use uvx
+
 ```bash
 # Install uv
 curl -LsSf https://astral.sh/uv/install.sh | sh
 
 # Run nmem (no installation needed)
 uvx nmem --version

-Option 2: Install with pip
+### Option 2: Install with pip
+

pip install nmem
nmem --version
</details>

</blockquote></details>
<details>
<summary>nowledge-mem-codex-prompts/README.md (2)</summary><blockquote>

`54-54`: **Optional: Consider using a heading for Option 2.**

Similar to the markdown linting warning (MD036), line 54 uses bold text for the option header. Using a proper heading (e.g., `### Option 2: pip/pipx (Traditional Installation)`) would be more semantically correct.

This is a style preference matching the suggestion for Option 1 (line 36).

---

`82-82`: **Consider adding server troubleshooting details.**

Line 82 advises ensuring Nowledge Mem is running but doesn't provide steps to verify or start the server. Users encountering connection issues might benefit from additional guidance.


<details>
<summary>💡 Suggested enhancement</summary>

```diff
-- **"Cannot connect to server"** → Ensure Nowledge Mem is running at `http://localhost:14242`
+- **"Cannot connect to server"** → Ensure Nowledge Mem is running at `http://localhost:14242`. Check with `curl -s http://localhost:14242/health` or start the Nowledge Mem Desktop app
nowledge-mem-codex-prompts/save_session.md (1)

22-32: Optional: Optimize the session listing script.

The script works correctly but could be optimized:

  1. cwd=$(pwd) on line 24 is executed repeatedly for each file, but the value doesn't change. Moving it outside the loop would improve performance.
  2. The complex pipeline (lines 27-30) with multiple jq and head calls could be simplified.

These are minor performance optimizations and don't affect correctness.

♻️ Suggested optimization
+# Get current working directory once
+cwd=$(pwd)
+
 # List available sessions for current directory
-find ~/.codex/sessions -name "rollout-*.jsonl" -exec sh -c '
-  cwd=$(pwd)
+find ~/.codex/sessions -name "rollout-*.jsonl" -exec sh -c '
+  cwd="$2"
   meta=$(head -n1 "$1" | jq -r "select(.payload.cwd == \"$cwd\") | .payload")
   if [ -n "$meta" ]; then
     id=$(echo "$meta" | jq -r ".id")
     ts=$(echo "$meta" | jq -r ".timestamp")
     preview=$(head -n20 "$1" | jq -r "select(.type == \"event_msg\" and .payload.type == \"user_message\" and .payload.kind == \"plain\") | .payload.message" | head -n1 | cut -c1-80)
     echo "$id | $ts | ${preview:-<no preview>}"
   fi
-' _ {} \; | sort -r
+' _ {} "$cwd" \; | sort -r
nowledge-mem-claude-code-plugin/skills/save-thread/SKILL.md (2)

3-3: Consider shortening the frontmatter description.

The description field in the YAML frontmatter is quite verbose (~170 characters) and includes implementation details. Frontmatter descriptions are typically concise summaries. Consider simplifying to just the core purpose while keeping the detailed instructions in the body.

♻️ Proposed simplification
-description: Save complete conversation as checkpoint. Only when user explicitly requests ("save session", "checkpoint this"). Use nmem t save to automatically import Claude Code sessions.
+description: Save complete conversation as checkpoint. Only when user explicitly requests ("save session", "checkpoint this").

60-75: Use proper markdown headings instead of bold emphasis.

The static analysis tool correctly identifies that bold text is being used where headings would be more appropriate. Using proper headings improves document structure, navigation, and accessibility.

♻️ Proposed fix for markdown structure
-If `nmem` is not available:
-
-**Option 1 (Recommended): Use uvx**
+### If `nmem` is not available
+
+#### Option 1 (Recommended): Use uvx
 ```bash
 # Install uv
 curl -LsSf https://astral.sh/uv/install.sh | sh
@@ -67,7 +67,7 @@
 uvx nmem t save --from claude-code

-Option 2: Install with pip
+#### Option 2: Install with pip

pip install nmem
nmem t save --from claude-code
nowledge-mem-claude-code-plugin/skills/search-memory/SKILL.md (3)

32-72: Consider adding example JSON output for clarity.

The CLI usage and filter documentation are well-structured and the command syntax is correct. However, the JSON Response section (line 56) mentions parsing the memories array and score field without showing what the actual JSON structure looks like.

Consider adding a brief JSON output example after line 57 to help users understand the response structure:

**JSON Response:** Parse `memories` array, check `score` field for relevance

Example output:
```json
{
  "memories": [
    {
      "id": "abc123",
      "content": "...",
      "score": 0.85,
      "title": "...",
      "importance": 0.9
    }
  ]
}

Otherwise, the command examples and filter documentation look great!

---

`80-95`: **Use proper markdown headings instead of bold emphasis.**

Same issue as in `save-thread/SKILL.md` - bold text is used where headings would be more appropriate. This affects document structure and accessibility.



<details>
<summary>♻️ Proposed fix for markdown structure</summary>

```diff
-If `nmem` is not available:
-
-**Option 1 (Recommended): Use uvx**
+### If `nmem` is not available
+
+#### Option 1 (Recommended): Use uvx
 ```bash
 # Install uv
 curl -LsSf https://astral.sh/uv/install.sh | sh
@@ -88,7 +88,7 @@
 uvx nmem --version

-Option 2: Install with pip
+#### Option 2: Install with pip

pip install nmem
nmem --version

60-60: Consider making "Examples" a proper heading.

The static analysis also flags line 60 where "Examples:" uses bold emphasis. For consistency with the suggested troubleshooting changes, this should also be a proper heading.

♻️ Proposed fix
-**Examples:**
-
+### Examples
+
 ```bash
nowledge-mem-claude-code-plugin/README.md (1)

61-61: Use proper markdown headings for better document structure.

Static analysis correctly identifies 10 locations where bold emphasis is used instead of proper headings. This affects document structure, navigation, and accessibility. Since the same pattern appears in the SKILL.md files, consider applying consistent heading levels across all documentation.

♻️ Locations to update

Installation section:

  • Line 61: **Option 1: uvx (Recommended - No Installation Required)**#### Option 1: uvx (Recommended - No Installation Required)
  • Line 77: **Option 2: pip/pipx (Traditional Installation)**#### Option 2: pip/pipx (Traditional Installation)

CLI Commands - Memory Operations:

  • Line 249: **Search Memories**#### Search Memories
  • Line 256: **Add Memory**#### Add Memory
  • Line 263: **Update Memory**#### Update Memory
  • Line 269: **List Memories**#### List Memories

CLI Commands - Thread Operations:

  • Line 277: **Save Session**#### Save Session
  • Line 295: **Create Thread (Manual)**#### Create Thread (Manual)
  • Line 304: **Search Threads**#### Search Threads
  • Line 310: **Show Thread**#### Show Thread

Also applies to: 77-77, 249-249, 256-256, 263-263, 269-269, 277-277, 295-295, 304-304, 310-310

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b5c8aa4 and a68166d.

📒 Files selected for processing (9)
  • nowledge-mem-claude-code-plugin/README.md
  • nowledge-mem-claude-code-plugin/plugin.json
  • nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md
  • nowledge-mem-claude-code-plugin/skills/save-thread/SKILL.md
  • nowledge-mem-claude-code-plugin/skills/search-memory/SKILL.md
  • nowledge-mem-codex-prompts/README.md
  • nowledge-mem-codex-prompts/distill.md
  • nowledge-mem-codex-prompts/install.sh
  • nowledge-mem-codex-prompts/save_session.md
🧰 Additional context used
🪛 LanguageTool
nowledge-mem-claude-code-plugin/README.md

[grammar] ~133-~133: Ensure spelling is correct
Context: ... Verify that nmem can connect to your Nowledge Mem server: bash nmem status Y...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
nowledge-mem-codex-prompts/README.md

36-36: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


54-54: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

nowledge-mem-claude-code-plugin/README.md

61-61: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


77-77: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


249-249: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


256-256: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


263-263: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


269-269: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


277-277: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


295-295: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


304-304: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


310-310: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

nowledge-mem-claude-code-plugin/skills/save-thread/SKILL.md

61-61: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md

77-77: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

nowledge-mem-claude-code-plugin/skills/search-memory/SKILL.md

61-61: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (13)
nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md (1)

33-59: LGTM! Clear and actionable examples.

The nmem CLI usage is well-documented with concrete examples showing proper title formatting, importance scoring, and the --json flag for programmatic use. The examples effectively demonstrate the concepts mentioned in the skill description.

nowledge-mem-codex-prompts/distill.md (2)

52-57: LGTM! Clear importance guidelines.

The importance scoring guidelines are well-defined and consistent with the examples provided earlier in the file. The three-tier system (high/medium/lower) provides clear guidance for users.


46-50: The --json flag position in line 49 is correct.

The --json flag is a global flag that appears before the subcommand, as shown consistently throughout the codebase documentation (e.g., nmem --json m search, nmem --json t show). This is the proper CLI pattern where global flags precede subcommands, while subcommand-specific flags (like --title, --importance) follow the subcommand. The example in distill.md line 49 (nmem --json m add "Content here" --title "Title" --importance 0.8) is correct and requires no changes.

nowledge-mem-codex-prompts/README.md (1)

72-75: LGTM! Helpful platform-specific guidance.

The notes clearly explain the different installation scenarios across platforms and the default connection behavior. This helps users understand their setup requirements.

nowledge-mem-codex-prompts/save_session.md (3)

5-15: LGTM! Clear basic usage examples.

The basic usage section provides straightforward examples of saving sessions with and without summaries. The commands are clear and easy to follow.


41-60: LGTM! Clear workflow and practical example.

The step-by-step workflow provides excellent guidance, and the concrete example demonstrates the expected usage pattern. The note about what confirmation to expect (Thread ID, message count, status) is particularly helpful.


62-62: LGTM! Important idempotency guarantee.

This note provides valuable reassurance to users that they can safely re-run the command without creating duplicates. This is an important behavior to document.

nowledge-mem-claude-code-plugin/skills/save-thread/SKILL.md (1)

17-43: LGTM!

The CLI usage examples and options documentation are clear and well-structured. The command syntax is correct, and the behavioral notes effectively communicate the idempotent nature and auto-detection features.

nowledge-mem-claude-code-plugin/plugin.json (1)

1-25: LGTM!

The plugin metadata updates are appropriate:

  • Version bump to 0.5.0 correctly reflects a minor architectural change
  • Description accurately communicates the CLI-based approach
  • The "cli" keyword addition improves discoverability
  • JSON structure is valid
nowledge-mem-claude-code-plugin/README.md (4)

57-98: LGTM! Clear installation guidance.

The installation section provides multiple options (uvx, pip, pipx) with clear benefits for each approach. The commands are correct and consistent with the SKILL.md files. The platform-specific notes (lines 95-98) are particularly helpful.


130-176: LGTM! Well-structured quick start guide.

The quick start section provides a logical flow (verify → search → save → build) with clear examples. The commands are consistent with the SKILL.md files, and the skill references are accurate.

Note: The grammar warning about "Nowledge" on line 133 is a false positive - it's the product name.


178-242: LGTM! Accurate skills documentation.

The skills reference section accurately describes each skill's behavior and commands. The CLI commands are consistent with the corresponding SKILL.md files:

  • Search Memory commands match search-memory/SKILL.md
  • Save Thread commands match save-thread/SKILL.md
  • Feature descriptions (idempotent behavior, auto-detection) are accurate

244-315: LGTM! Comprehensive CLI reference.

The CLI commands documentation is thorough and accurate:

  • All command syntax appears correct
  • Options and flags are consistent with the SKILL.md files
  • Thread operations (save, create, search, show) are well-documented
  • Memory operations (search, add, update, list) match the usage examples

Comment thread nowledge-mem-codex-prompts/install.sh Outdated
Comment thread nowledge-mem-codex-prompts/README.md
- Add commands/ directory with CLI-based slash commands (save, sum, search)
- Add AGENTS.md example for autonomous memory operations
- Update docs with skill-compatible apps (Cursor Nightly, Alma)
- Fix install.sh interactive detection for piped scripts
- Clarify uvx caching behavior in READMEs
- Add source_thread documentation to distill-memory skill
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
nowledge-mem-codex-prompts/install.sh (1)

92-104: Document PATH persistence requirement.

The PATH modification at line 98 only affects the current shell session. Users will need to restart their shell or source their profile file for uvx to be available in subsequent sessions.

📝 Suggested improvement

Add a note after successful installation:

 install_uv() {
     echo "📦 Installing uv (Python package manager)..."
     if curl -LsSf https://astral.sh/uv/install.sh | sh; then
         echo "✅ uv installed successfully"
+        echo "ℹ️  Note: You may need to restart your shell or run 'source ~/.bashrc' (or ~/.zshrc)"
         # Add to PATH for current session
         export PATH="$HOME/.cargo/bin:$PATH"
         return 0
     else
         echo "❌ Failed to install uv"
         return 1
     fi
 }
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a68166d and 63e9418.

📒 Files selected for processing (9)
  • .gitignore
  • examples/AGENTS.md
  • nowledge-mem-claude-code-plugin/README.md
  • nowledge-mem-claude-code-plugin/commands/save.md
  • nowledge-mem-claude-code-plugin/commands/search.md
  • nowledge-mem-claude-code-plugin/commands/sum.md
  • nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md
  • nowledge-mem-codex-prompts/README.md
  • nowledge-mem-codex-prompts/install.sh
✅ Files skipped from review due to trivial changes (4)
  • nowledge-mem-claude-code-plugin/commands/save.md
  • nowledge-mem-claude-code-plugin/commands/search.md
  • .gitignore
  • nowledge-mem-claude-code-plugin/commands/sum.md
🧰 Additional context used
🪛 LanguageTool
nowledge-mem-claude-code-plugin/README.md

[grammar] ~133-~133: Ensure spelling is correct
Context: ... Verify that nmem can connect to your Nowledge Mem server: bash nmem status Y...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

examples/AGENTS.md

[grammar] ~1-~1: Ensure spelling is correct
Context: ## Nowledge Mem Integration Add this section to yo...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~3-~3: Ensure spelling is correct
Context: ...o autonomously manage knowledge through Nowledge Mem. ### Memory Operations **Memory C...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~140-~140: Ensure spelling is correct
Context: ...wledge-community ``` ### Resources - [Nowledge Mem CLI Docs](https://mem.nowledge.co/d...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md

36-36: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


54-54: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (7)
nowledge-mem-claude-code-plugin/skills/distill-memory/SKILL.md (2)

91-106: LGTM!

The troubleshooting section provides clear, actionable guidance with both uvx (recommended) and pip installation options. The structure is well-organized and user-friendly.


62-79: Document the JSON output format or verify the jq extraction path.

The --source-thread parameter is confirmed to exist, but the JSON response structure from nmem --json t save --from claude-code is not explicitly documented. The command assumes .results[0].thread_id as the extraction path, but the documentation only states the command "returns the thread ID" without showing the actual JSON schema. Either add an example of the JSON output to the documentation, or test and confirm that the jq extraction path is correct.

examples/AGENTS.md (2)

59-92: Excellent autonomous agent example!

The memory-keeper agent provides a practical, well-structured example for Claude Code users. The agent definition includes clear triggers, process steps, and concrete command examples that align with the broader nmem CLI workflow.


98-109: The JSON structure shown is correct according to Claude Code official documentation. The nested "hooks" keys are intentional: the outer "hooks" is the configuration section, and the inner "hooks" array within each event handler contains the actual hook definitions. SessionEnd does not require a "matcher" field (unlike PreToolUse/PostToolUse), which is why it's omitted here. The configuration is valid as shown.

nowledge-mem-codex-prompts/install.sh (1)

140-160: LGTM! Proper interactive detection.

The interactive mode detection using [ -t 1 ] correctly handles both direct execution and piped installation scenarios (e.g., curl | sh). The fallback to non-interactive instructions ensures a good user experience in all contexts.

nowledge-mem-codex-prompts/README.md (1)

31-76: Excellent installation documentation!

The nmem CLI setup section provides comprehensive, user-friendly guidance with:

  • Clear distinction between uvx (recommended) and traditional installation
  • Practical benefits explanation for each option
  • Platform-specific notes
  • Verification steps

This aligns well with the broader PR migration goals.

nowledge-mem-claude-code-plugin/README.md (1)

278-349: Comprehensive CLI command documentation.

The CLI commands section provides excellent reference material with:

  • Clear syntax examples for all operations
  • Helpful parameter descriptions
  • Practical usage examples
  • Important behavioral notes (e.g., idempotent saves)

This will significantly help users understand and use the nmem CLI effectively.

@wey-gu wey-gu merged commit 02d7aeb into main Jan 8, 2026
1 check passed
@wey-gu wey-gu deleted the cli_based_skills branch January 8, 2026 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant