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