|
Some checks are pending
Pre-commit / run (ubuntu-latest) (push) Waiting to run
feat: add Claude Code marketplace plugin with service and expert tiers Add comprehensive Claude Code marketplace plugin supporting two paradigms for managing markdown vaults: - reme-service: Service-tier plugin with high-level MCP tools (retrieve/remember/maintain) where reme2 internals handle R-M-W loop - reme-expert: Expert-tier plugin where Claude Code agent runs R-M-W loop directly using raw memory_* primitives guided by reme protocol skill Both plugins implement identical 4-phase work paradigm: - Recall: Retrieve relevant context with ranking by relevance/proximity - Log: Record event facts and raw materials via idempotent event-folder upsert - Distill: Promote events to topic graph via R-M-W loop - Maintain: Vault hygiene sweep with lint and decay operations Include marketplace configuration, documentation, MCP server setup, subagents (reme-distiller, reme-curator), hooks (PreCompact, SessionEnd, Stop), and slash commands (/reme-distill, /reme-recall, /reme-clean). Remove outdated plugin entries from gitignore. ``` |
||
|---|---|---|
| .. | ||
| .claude-plugin | ||
| hooks | ||
| skills/reme-service | ||
| .mcp.json | ||
| protocol.md | ||
| README.md | ||
reme-service
Service-tier markdown vault management for Claude Code. Three high-level
MCP tools — retrieve / remember / maintain — backed by reme2's
internal Ingestor + Maintainer. The agent calls the tools with intent;
the LLM-driven R-M-W loop (Distill) and the sweep loop (Maintain) run
inside reme2.
For the agentic alternative where Claude Code's own subagents run those loops outside reme2, install reme-expert instead.
Install
/plugin marketplace add /Users/huangsen/codes/ReMe/reme-plugin
/plugin install reme-service
export VAULT_PATH=/path/to/your/vault
What's in the box
MCP server (reme)
Three tools projected from the three memory services
(reme2/config/service.yaml):
| Tool | Phase | Backend |
|---|---|---|
retrieve(query, max_results?, graph_depth?, seeds?, ...) |
Recall | thin (memory_graph_search) |
remember(mode=log|distill, name?, content, materials?, related_paths?, ...) |
Log / Distill | sync upsert (mode=log, no LLM) / Ingestor's internal ReActAgent (mode=distill) |
maintain(target_prefix?, ops?, dry_run?, decay_days?) |
Maintain | Maintainer class |
Skill
reme-service (auto-invoked) — describes the 4-phase paradigm
(Recall / Log / Distill / Maintain) and how each phase maps to the three
tools. Symmetrical with reme-expert's skill: same chapter structure,
same triggers, just different tools to call.
Hooks (parallel to reme-expert)
| Event | Action |
|---|---|
| PreCompact | Prompt: call remember(mode=log, materials=[...]) to dump volatile state into the current thread's event folder, reusing the thread's name for upsert; then output a compression guide. |
| SessionEnd | Prompt: call remember(mode=log) to capture remaining facts, then call remember(mode=distill, related_paths=[...]) once to hand off the working set to the Ingestor. |
| Stop | active_events_check.py — warns via stderr if any status: active events remain, suggests remember(mode=distill). |
There are no SessionStart / UserPromptSubmit auto-recall hooks — the
agent's skill tells it when to call retrieve itself, which is more
accurate than blanket injection.
Layout
plugins/reme-service/
├── .claude-plugin/plugin.json
├── .mcp.json # config=reme2/config/service.yaml
├── protocol.md # canonical protocol, transcluded by SKILL via @../../protocol.md
├── skills/reme-service/SKILL.md
├── hooks/
│ ├── hooks.json # PreCompact / SessionEnd / Stop
│ └── active_events_check.py
└── README.md # this file
.mcp.json resolves the sibling reme2/ package via
PYTHONPATH=${CLAUDE_PLUGIN_ROOT}/../../.. (marketplace root → repo
root). No pip install needed.
protocol.md is a copy of the canonical reme2/memory/protocol.md. The
same file is read by reme2's internal Ingestor (injected as {protocol}
into the ReActAgent's sys_prompt) — this plugin ships its own copy so
the SKILL's @../../protocol.md transclusion works after marketplace
install.
Workflow at a glance
对话过程 → 模型按需调 retrieve(intent-driven)
任务执行中 → remember(mode=log) 持续 upsert;materials 装原始素材(确定性、零 LLM)
PreCompact (hook) → 提示调 remember(mode=log) dump materials + 输出压缩指引
任务完成 → remember(mode=distill) 一次 → Ingestor 内部 ReActAgent 跑 R-M-W → 返回 audit
SessionEnd (hook) → 提示 remember(mode=log) 收尾 + remember(mode=distill) handoff
Stop (hook) → active_events_check.py 提醒未 distill 的 active events
periodic → maintain(dry_run=true) 看一眼,必要时 dry_run=false 应用
When to switch to expert mode
The service plugin hides the schema, claim confidence, wikilink
uniqueness, path templates, and status state machine — remember(mode= distill) enforces them all underneath. Switch to
reme-expert when:
- You need fine-grained control over what gets created/edited.
- You want every memory mutation visible in the main session's tool log (vs hidden inside the Ingestor's internal ReActAgent).
- You want subagents to handle distillation as bounded background work with their own context windows.