A protoAgent plugin that bridges Claude Code state into protoAgent, for seamless pivoting between the two: ask your agent what Claude Code knows about a project — its persistent memory, past sessions, scratchpads, Cowork runs, and installed customizations.
Pairs with protoAgent's ACP runtime (ADR 0033/0082): ACP lets protoAgent run Claude Code as a coding agent; this plugin lets it read Claude Code's accumulated state.
| Store | Where | What |
|---|---|---|
| CLI | ~/.claude |
projects/<slug>/ — session transcripts + persistent memory/; user skills/, agents/, commands/, plugins/, settings.json |
| Scratchpads | /private/tmp/claude-<uid> |
per-session working files (ephemeral, wiped on reboot) |
| Cowork | ~/Library/Application Support/Claude/local-agent-mode-sessions |
desktop local-agent-mode sessions: metadata, outputs/, uploads/, audit.jsonl (transcripts stay in the sandbox VM) |
All importers are dry-run by default (apply=True writes, after the
operator approves); existing material is never overwritten, and re-imports
skip + report.
claude_import_scan— inventory everything importable (skills/commands/subagents/MCP/memory)claude_import_skills— user-authored skills → protoAgent skills (same open SKILL.md standard; spec-normalized names, provenance metadata)claude_import_commands— slash commands →user_facing/slashskillsclaude_import_subagents— subagent markdown →SubagentConfig(tools mapped, unmapped flagged; model inherited)claude_import_mcp—mcpServersconfigs →mcp.servers(replace-by-name merge)claude_import_memory— project memory → knowledge domainclaude-import(undo:knowledge_purge('claude-import')).limit=0(default) imports every topic; a large project memory can hold 100+.claude_import_claude_md— a repo'sCLAUDE.md(its operating instructions — run commands, gates, gotchas) → knowledge domainclaude-import, so the agent can recall how the repo wants to be worked. It's instructions, not a persona — promote it intoSOUL.mdyourself if you want it always in context.claude_hooks_report— hooks are report-only (protoAgent's equivalent is middleware)
License rule: Anthropic-authored skills (Cowork creatorType: anthropic,
or Anthropic license text in the skill dir) are always refused — their license
prohibits redistribution. Only user-authored material migrates.
claude_projects— list projects or resolve a directory to its projectclaude_memory— MEMORY.md index + individual memory files for a directoryclaude_sessions— recent session transcripts; tail one by idclaude_scratchpad— list/read a project's session scratchpadsclaude_cowork— list Cowork sessions; metadata + outputs + audit tail; read filesclaude_inventory— user- and project-level skills/subagents/commands/plugins/MCP servers (secret values redacted) and hooks
All reads go through a path fence (no absolute paths, no .., symlink escapes
refused) and are byte-capped. MCP env/header values are never echoed — key
names only.
- v0.2 — translators: Claude skills → protoAgent skills (same open SKILL.md
standard), slash commands →
user_facing/slashskills, MCP servers →mcp.serversviaapply_settings, subagent markdown →SubagentConfig; hooks report-only (protoAgent's equivalent is middleware, not a hook table). - v0.3 —
claude_import_claude_md(repo operating instructions → knowledge), andclaude_import_memorynow imports all topics by default (the oldlimit=100capped large project memories). - Later — console rail view for browsing memory; export a translated bundle as
a standalone plugin repo; a
SOUL.md-addendum mode for CLAUDE.md (always-in-context instead of retrievable).
plugin install https://github.com/protoLabsAI/claude-bridge-plugin
Then enable claude_bridge in the console (ships disabled — enabling is the
operator's trust decision). No pip deps, no network access.
python3 -m venv .venv && .venv/bin/pip install -r requirements-dev.txt ruff
.venv/bin/pytest -q # host-free: no protoAgent checkout required
.venv/bin/ruff check .