xtraceai/memhub
XTrace MemHub team memory: search_memory / save_artifact / import_conversation MCP tools plus skills for setup, login, onboarding, artifact upload, session import, team-memory recall, session handoff, spec-driven development, Rulebook rule authoring (create-rule) and a team's first Rulebook — tested starter rules fitted to the repo, and rules proposed from CLAUDE.md + past sessions, each filed with its categories and how many past sessions it would have fired in (start-rulebook), and PR babysitting. A rule is filed into a scope — everyone in the organisation (the default), just you, or a workspace you name — and reaches exactly those people. Session auto-capture ships through the host-native plugin layer (hooks are outside the Agent Plugins spec). Session ↔ PR linking: after a call that addresses GitHub (gh pr …, a curl/gh api REST request, or a GitHub MCP tool) whose output names exactly one pull request, a PostToolUse hook asks the backend one question and injects one instruction — a session that ran gh pr create — or the GitHub MCP create tool — links itself unconditionally (opening it is work the session did, and a PR has many sessions), while every other GitHub call, a hand-rolled curl POST included, leaves the authorship judgment to the agent, and an org with no GitHub integration is told once that connecting it is what links sessions to shipped code. The hook is stateless apart from one short-lived negative answer (an enabled org with GitHub disconnected, cached 30 minutes per credential, and never inferred from a reply that merely says the feature is off) and degrades to silence on every failure. Two skills complete it: link-pr (link this or a named session by hand — also the answer for a PR opened by a script or CI helper, which is deliberately not detected) and find-contributing-sessions (map your own unlinked PRs, or the ones you name, to the sessions on this machine that wrote their code: scan local session history once, rank the candidates per PR by the evidence that matched, and link the ones you approve). The agent records ONE work type for a pull request it links (feat, fix, chore, docs, perf, refactor, other), and only when the PR has none yet — the first label is permanent, and asking again would cost the link, not just the type. Spec workflows: spec-work guides implementation, spec-check freshly reviews changes, and spec-maintain offers local/cloud bootstrap and reviewable Git or Brain proposals through the shared spec entry point. A companion animal draws what the plugin is doing in the band above the prompt, one per session picked from its session id (/goose, /hippo, /penguin and /shiba switch it for the session; always pins one for every session): asleep while the session is idle, awake and watching while Claude answers or the person types, and up announcing each Rulebook rule that fires — crossly when one blocked the call — or presenting a rule the harness just proposed with Activate / Reject / Later buttons (activating takes an org admin, or you for a rule that applies to just you; the animal says so to anyone else). Clicking the ♥ beside it pets it, and a proposal's rule↗ opens that rule in MemHub Studio. It is a Claude Code mod, and mods are on by default from Claude Code 2.1.287 (the desktop Code tab from 2.1.286), so it loads with the plugin with nothing to turn on — the old CLAUDE_CODE_ENABLE_FUNCTION_HOOKS variable is ignored; disableAllHooks, --safe-mode, an organization policy or Anthropic switching mods off remotely stops it. /memhub:companion checks that and shows or hides it.
hosts
- api.memhub.xtrace.ai
allowed-tools
- mcp__plugin_memhub_memhub__list_orgs5 skills
- mcp__plugin_memhub-staging_memhub__list_orgs5 skills
- Read5 skills
- AskUserQuestion4 skills
- Bash(gh pr view *)3 skills
- Bash(git remote get-url origin)3 skills
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/save_artifact.py" *)3 skills
- mcp__plugin_memhub_memhub__list_agent_brains3 skills
85 more
- mcp__plugin_memhub-staging_memhub__list_agent_brains3 skills
- Agent2 skills
- Bash(git rev-parse --show-toplevel)2 skills
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/capture.py" list *)2 skills
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/login.py" *)2 skills
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/room_map.py" show *)2 skills
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/rulebook_conflicts.py" *)2 skills
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/rulebook_verify.py" *)2 skills
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/skills/start-rulebook/scripts/mine_sessions.py" *)2 skills
- mcp__plugin_memhub_memhub__create_agent_brain2 skills
- mcp__plugin_memhub_memhub__create_rule2 skills
- mcp__plugin_memhub_memhub__link_pr2 skills
- mcp__plugin_memhub_memhub__list_rulebooks2 skills
- mcp__plugin_memhub_memhub__list_rules2 skills
- mcp__plugin_memhub_memhub__list_tags2 skills
- mcp__plugin_memhub_memhub__save_artifact2 skills
- mcp__plugin_memhub_memhub__search_memory2 skills
- mcp__plugin_memhub_memhub__unlink_pr2 skills
- mcp__plugin_memhub-staging_memhub__create_agent_brain2 skills
- mcp__plugin_memhub-staging_memhub__create_rule2 skills
- mcp__plugin_memhub-staging_memhub__link_pr2 skills
- mcp__plugin_memhub-staging_memhub__list_rulebooks2 skills
- mcp__plugin_memhub-staging_memhub__list_rules2 skills
- mcp__plugin_memhub-staging_memhub__list_tags2 skills
- mcp__plugin_memhub-staging_memhub__save_artifact2 skills
- mcp__plugin_memhub-staging_memhub__search_memory2 skills
- mcp__plugin_memhub-staging_memhub__unlink_pr2 skills
- Bash1 skill
- Bash(gh api repos/*/comments --paginate)1 skill
- Bash(gh api repos/*/replies -f body=*)1 skill
- Bash(gh api repos/*/reviews --paginate)1 skill
- Bash(gh repo view *)1 skill
- Bash(gh search prs *)1 skill
- Bash(git add *)1 skill
- Bash(git commit *)1 skill
- Bash(git config user.name)1 skill
- Bash(git ls-files)1 skill
- Bash(git pull)1 skill
- Bash(git push)1 skill
- Bash(git rev-parse --path-format=absolute --git-common-dir)1 skill
- Bash(git rev-parse --short HEAD)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/capture_health.py" *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/capture_health.py")1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/capture.py" current *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/capture.py" import *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/onboard.py" *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/room_map.py" set *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/rulebook_hook.py" book-path *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/rulebook_paths.py")1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/setup_claude_fork.py" *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/scripts/setup_codex_hooks.py" *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/skills/find-contributing-sessions/scripts/find_sessions.py" *)1 skill
- Bash(python3 "${CLAUDE_PLUGIN_ROOT}/skills/start-rulebook/scripts/starter_rulebook.py" *)1 skill
- Edit1 skill
- Edit(./**)1 skill
- Edit(./mine-out/**)1 skill
- Edit(./skills.json)1 skill
- Edit(//tmp/*.json)1 skill
- Edit(//tmp/*/pretest-base/**)1 skill
- Edit(//tmp/memhub-repo-overview.md)1 skill
- Edit(//tmp/start-rulebook/**)1 skill
- Edit(//var/folders/**/pretest-base/**)1 skill
- Edit(//var/folders/**/start-rulebook/**)1 skill
- Glob1 skill
- Grep1 skill
- mcp__plugin_memhub_memhub__create_skill1 skill
- mcp__plugin_memhub_memhub__get_brain_overview1 skill
- mcp__plugin_memhub_memhub__list_agent_brain_access1 skill
- mcp__plugin_memhub_memhub__list_my_unlinked_prs1 skill
- mcp__plugin_memhub_memhub__list_sessions1 skill
- mcp__plugin_memhub_memhub__list_skills1 skill
- mcp__plugin_memhub_memhub__list_teammates1 skill
- mcp__plugin_memhub_memhub__read_memory1 skill
- mcp__plugin_memhub_memhub__share_agent_brain1 skill
- mcp__plugin_memhub-staging_memhub__create_skill1 skill
- mcp__plugin_memhub-staging_memhub__get_brain_overview1 skill
- mcp__plugin_memhub-staging_memhub__list_agent_brain_access1 skill
- mcp__plugin_memhub-staging_memhub__list_my_unlinked_prs1 skill
- mcp__plugin_memhub-staging_memhub__list_sessions1 skill
- mcp__plugin_memhub-staging_memhub__list_skills1 skill
- mcp__plugin_memhub-staging_memhub__list_teammates1 skill
- mcp__plugin_memhub-staging_memhub__read_memory1 skill
- mcp__plugin_memhub-staging_memhub__share_agent_brain1 skill
- Task1 skill
- Write(//tmp/*.json)1 skill
scripts
- find-contributing-sessions
- scripts/find_sessions.py
- start-rulebook
- scripts/mine_sessions.py
- scripts/starter_rulebook.py
- name
- memhub
- version
- 0.124.0
- description
- XTrace MemHub team memory: search_memory / save_artifact / import_conversation MCP tools plus skills for setup, login, onboarding, artifact upload, session import, team-memory recall, session handoff, spec-driven development, Rulebook rule authoring (create-rule) and a team's first Rulebook — tested starter rules fitted to the repo, and rules proposed from CLAUDE.md + past sessions, each filed with its categories and how many past sessions it would have fired in (start-rulebook), and PR babysitting. A rule is filed into a scope — everyone in the organisation (the default), just you, or a workspace you name — and reaches exactly those people. Session auto-capture ships through the host-native plugin layer (hooks are outside the Agent Plugins spec). Session ↔ PR linking: after a call that addresses GitHub (`gh pr …`, a `curl`/`gh api` REST request, or a GitHub MCP tool) whose output names exactly one pull request, a PostToolUse hook asks the backend one question and injects one instruction — a session that ran `gh pr create` — or the GitHub MCP create tool — links itself unconditionally (opening it is work the session did, and a PR has many sessions), while every other GitHub call, a hand-rolled `curl` POST included, leaves the authorship judgment to the agent, and an org with no GitHub integration is told once that connecting it is what links sessions to shipped code. The hook is stateless apart from one short-lived negative answer (an enabled org with GitHub disconnected, cached 30 minutes per credential, and never inferred from a reply that merely says the feature is off) and degrades to silence on every failure. Two skills complete it: link-pr (link this or a named session by hand — also the answer for a PR opened by a script or CI helper, which is deliberately not detected) and find-contributing-sessions (map your own unlinked PRs, or the ones you name, to the sessions on this machine that wrote their code: scan local session history once, rank the candidates per PR by the evidence that matched, and link the ones you approve). The agent records ONE work type for a pull request it links (feat, fix, chore, docs, perf, refactor, other), and only when the PR has none yet — the first label is permanent, and asking again would cost the link, not just the type. Spec workflows: spec-work guides implementation, spec-check freshly reviews changes, and spec-maintain offers local/cloud bootstrap and reviewable Git or Brain proposals through the shared spec entry point. A companion animal draws what the plugin is doing in the band above the prompt, one per session picked from its session id (/goose, /hippo, /penguin and /shiba switch it for the session; `always` pins one for every session): asleep while the session is idle, awake and watching while Claude answers or the person types, and up announcing each Rulebook rule that fires — crossly when one blocked the call — or presenting a rule the harness just proposed with Activate / Reject / Later buttons (activating takes an org admin, or you for a rule that applies to just you; the animal says so to anyone else). Clicking the ♥ beside it pets it, and a proposal's rule↗ opens that rule in MemHub Studio. It is a Claude Code mod, and mods are on by default from Claude Code 2.1.287 (the desktop Code tab from 2.1.286), so it loads with the plugin with nothing to turn on — the old CLAUDE_CODE_ENABLE_FUNCTION_HOOKS variable is ignored; disableAllHooks, --safe-mode, an organization policy or Anthropic switching mods off remotely stops it. /memhub:companion checks that and shows or hides it.
- author
- XTracefelixmeng@xtrace.ai
- license
- Apache-2.0
- homepage
- https://memhub.xtrace.ai
- memhubstreamable-httphttps://api.memhub.xtrace.ai/mcp-server/mcp
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "memhub",
"description": "XTrace MemHub team memory: search_memory / save_artifact / import_conversation MCP tools plus skills for setup, login, onboarding, artifact upload, session import, team-memory recall, session handoff, spec-driven development, Rulebook rule authoring (create-rule) and a team's first Rulebook \u2014 tested starter rules fitted to the repo, and rules proposed from CLAUDE.md + past sessions, each filed with its categories and how many past sessions it would have fired in (start-rulebook), and PR babysitting. A rule is filed into a scope \u2014 everyone in the organisation (the default), just you, or a workspace you name \u2014 and reaches exactly those people. Session auto-capture ships through the host-native plugin layer (hooks are outside the Agent Plugins spec). Session \u2194 PR linking: after a call that addresses GitHub (`gh pr \u2026`, a `curl`/`gh api` REST request, or a GitHub MCP tool) whose output names exactly one pull request, a PostToolUse hook asks the backend one question and injects one instruction \u2014 a session that ran `gh pr create` \u2014 or the GitHub MCP create tool \u2014 links itself unconditionally (opening it is work the session did, and a PR has many sessions), while every other GitHub call, a hand-rolled `curl` POST included, leaves the authorship judgment to the agent, and an org with no GitHub integration is told once that connecting it is what links sessions to shipped code. The hook is stateless apart from one short-lived negative answer (an enabled org with GitHub disconnected, cached 30 minutes per credential, and never inferred from a reply that merely says the feature is off) and degrades to silence on every failure. Two skills complete it: link-pr (link this or a named session by hand \u2014 also the answer for a PR opened by a script or CI helper, which is deliberately not detected) and find-contributing-sessions (map your own unlinked PRs, or the ones you name, to the sessions on this machine that wrote their code: scan local session history once, rank the candidates per PR by the evidence that matched, and link the ones you approve). The agent records ONE work type for a pull request it links (feat, fix, chore, docs, perf, refactor, other), and only when the PR has none yet \u2014 the first label is permanent, and asking again would cost the link, not just the type. Spec workflows: spec-work guides implementation, spec-check freshly reviews changes, and spec-maintain offers local/cloud bootstrap and reviewable Git or Brain proposals through the shared spec entry point. A companion animal draws what the plugin is doing in the band above the prompt, one per session picked from its session id (/goose, /hippo, /penguin and /shiba switch it for the session; `always` pins one for every session): asleep while the session is idle, awake and watching while Claude answers or the person types, and up announcing each Rulebook rule that fires \u2014 crossly when one blocked the call \u2014 or presenting a rule the harness just proposed with Activate / Reject / Later buttons (activating takes an org admin, or you for a rule that applies to just you; the animal says so to anyone else). Clicking the \u2665 beside it pets it, and a proposal's rule\u2197 opens that rule in MemHub Studio. It is a Claude Code mod, and mods are on by default from Claude Code 2.1.287 (the desktop Code tab from 2.1.286), so it loads with the plugin with nothing to turn on — the old CLAUDE_CODE_ENABLE_FUNCTION_HOOKS variable is ignored; disableAllHooks, --safe-mode, an organization policy or Anthropic switching mods off remotely stops it. /memhub:companion checks that and shows or hides it.",
"version": "0.124.0",
"license": "Apache-2.0",
"author": {
"name": "XTrace",
"email": "felixmeng@xtrace.ai"
},
"homepage": "https://memhub.xtrace.ai",
"repository": "https://github.com/XTraceAI/agent-plugins",
"keywords": [
"memory",
"memhub",
"xtrace",
"team-memory",
"session-capture"
]
}
What else this package ships
These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.
- 3Python files
- catalog.json
- 2other files