Back to the catalog

skill-memo

A CLI tool for managing Claude Code skills and MCP servers catalog with memo support. Auto-detects installed MCP servers from settings.json

Open source Open in the app JSON README (API)

About

A CLI tool for managing Claude Code skills and MCP servers catalog with memo support. Auto-detects installed MCP servers from settings.json and skills from ~/.claude/skills/, supports manual registration, memo management per skill/server, and provides a filterable table display. Integrates with Claude Code via /catalog slash command. Zero dependencies, Node.js 18+ only, MIT license.

Details

Kind
Plugins
Topic
Developer tools
Publisher
aliksir
Origin
marketplace
Category
ferramentas
Stars
1
Last push
2026-06-24T17:01:00Z
Repository state
ativo
Language
JavaScript
License
MIT
Added
2026-08-30 01:48:58
Updated
2026-08-30 01:48:58
Origin id
aliksir/skill-memo/skill-memo

README

> For the Japanese version, see [README.ja.md](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

```bash
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

```bash
# 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.

```bash
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`.

```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

```bash
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

More