Skip to content

aliksir/skill-memo

Repository files navigation

For the Japanese version, see README.ja.md.

skill-memo

A CLI tool for managing installed skills and MCP servers in Claude Code, with free-form memo support.

Features

  • Auto-detection of MCP servers from ~/.claude/settings.json and skills from ~/.claude/skills/
  • Manual registration for entries not auto-detected
  • Memo, tag, and description management per entry (add, edit, delete)
  • Table-formatted listing with filtering by type, tag, and source, plus sorting
  • AND search across key, name, memo, tags, and description fields
  • Export in Markdown or JSON format
  • Usable as a Claude Code slash command via /catalog

Installation

git clone https://github.com/aliksir/skill-memo.git
cd skill-memo

No dependencies. Requires only Node.js 18+.

Using as a slash command

Create ~/.claude/commands/catalog.md to enable the /catalog command. See skills/catalog.md for a template. Adjust the paths to match your environment.

Usage

CLI

# List entries
node bin/skill-memo.js list
node bin/skill-memo.js list --type mcp         # MCP servers only
node bin/skill-memo.js list --type skill       # Skills only
node bin/skill-memo.js list --tag security     # Filter by tag
node bin/skill-memo.js list --sort name        # Sort by name
node bin/skill-memo.js list --sort updated     # Sort by updated date
node bin/skill-memo.js list --json             # Output as JSON array

# Search (AND search, case-insensitive)
node bin/skill-memo.js search security
node bin/skill-memo.js search "security review"
node bin/skill-memo.js search --json memory

# Auto-detect and sync to catalog (shows diff)
node bin/skill-memo.js sync

# Manual add
node bin/skill-memo.js add skill nano-banana --memo "Image generation skill" --tag "image,ai"
node bin/skill-memo.js add mcp filesystem --memo "Filesystem access"

# Update memo (\n for newlines)
node bin/skill-memo.js memo mcp:memory "Line 1\nLine 2"

# Update tags (overwrites existing)
node bin/skill-memo.js tag mcp:memory "security,review"

# Remove
node bin/skill-memo.js remove skill:old-tool

# Export
node bin/skill-memo.js export                  # Markdown table (stdout)
node bin/skill-memo.js export --format json    # Full store as JSON

# Show store file path
node bin/skill-memo.js path

Slash command (/catalog)

/catalog                          List entries
/catalog sync                     Auto-detect and sync
/catalog add skill foo --memo "memo" --tag "tag1,tag2"
/catalog memo skill:foo "New memo"
/catalog remove skill:foo
/catalog mcp                      MCP servers only
/catalog skill                    Skills only
/catalog search security          Search
/catalog tag skill:foo security   Set tags
/catalog export                   Markdown export
/catalog export --format json     JSON export

Note on context window consumption

The /catalog and list commands return all entries in table format. In environments with many installed skills (e.g., 100+), a single invocation can consume a significant portion of the context window.

Mitigation:

  • Use --type mcp / --type skill to narrow the output
  • When you know what you want to do (add, edit, remove), skip list and use the specific command directly
  • For frequent lookups, run the CLI directly in a terminal (does not consume Claude Code's context)

Claude Cowork support

Works in Claude Cowork (Bash-free environments) too. Install skill-memo.md as a skill, and Claude will operate on skill-catalog.json directly via Read/Edit.

cp skill-memo/skill-memo.md ~/.claude/commands/skill-memo.md

In Cowork, /skill-memo list, /skill-memo add ..., and /skill-memo memo ... are available. sync (auto-detection) uses a simplified Glob-based approach (does not parse settings.json like the CLI version).

Data store

Stored in ~/.claude/skill-catalog.json.

{
  "version": 2,
  "entries": {
    "mcp:memory": {
      "type": "mcp",
      "name": "memory",
      "source": "auto",
      "memo": "Knowledge graph. Entity management.",
      "tags": ["knowledge", "storage"],
      "description": "Auto-detected description",
      "detectedAt": "2026-03-12T00:00:00.000Z",
      "updatedAt": "2026-03-12T00:00:00.000Z"
    }
  }
}
  • source: auto (auto-detected) / manual (manually registered)
  • sync does not overwrite existing memos or tags
  • description is automatically extracted from each skill's SKILL.md (updated on sync)
  • v1 format stores are automatically migrated to v2 (backward compatible)
  • ~/.claude/settings.json is read-only. This tool never writes to it

Tests

node test/run.js

74 tests (assert-based, no external dependencies).

Structure

skill-memo/
  bin/skill-memo.js    CLI entry point
  src/store.js         Data store CRUD (schema version management)
  src/detector.js      Auto-detection (settings.json + skills/)
  src/display.js       Table format formatter
  test/run.js          Tests
  skills/catalog.md    Slash command template

License

MIT

About

Claude Code skill & MCP server catalog with memo — CLI tool

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors