By tentaqles
Multi-workspace orchestration for developers working across multiple clients. Identity isolation, temporal memory with decay, knowledge graphs, cross-workspace pattern detection, time-travel snapshots, and inter-workspace signals.
Create a new client workspace with identity configuration, cloud/database/git manifest, and preflight checks. Use when the user says "new client", "add a client", "set up a workspace", "onboard a client", or wants to start working with a new company/organization. Also triggers when the user mentions needing separate git identities, cloud subscriptions, or database connections for different clients.
Create a new project inside the current client workspace. Scaffolds CLAUDE.md, brief.md, and git config inherited from the client manifest. Use when the user says "new project", "start a project", "create a project folder", or mentions starting work on a new feature/service/app within an existing client. Also triggers when the user shares an Asana/Jira/GitHub issue URL and wants to start working on it.
Build a knowledge graph from the current workspace and embed all nodes for semantic search. Supports two engines — graphify (external) or native (built-in). Use when the user wants to analyze codebase structure, map architecture, understand relationships between files/modules, or says "build graph", "map the codebase", "analyze this project".
View and modify client workspace settings — cloud provider, database, git identity, stack, language, blocked commands, and any other manifest field. Use when the user says "change email", "update cloud", "set database", "add to stack", "change git provider", "update settings", "configure client", "show settings", "what's my config", or wants to modify any part of the .tentaqles.yaml manifest. Also triggers when the user says they just learned something about the client's infrastructure ("oh they actually use AWS not Azure") or wants to add technologies to the stack.
Manually trigger memory consolidation — extract semantic facts from recent episodic sessions, detect procedural patterns, and evict stale entries. Use when the user says "compact memory", "consolidate memory", or "extract semantic facts".
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Multi-workspace orchestration for developers who work across multiple clients with AI coding assistants.
Tentaqles is a Claude Code plugin that keeps identity, memory, and knowledge isolated per client while surfacing useful patterns across them. Built for freelancers, consultants, and anyone juggling more than one codebase at a time.
See CHANGELOG.md for release notes.
Working across multiple clients with an AI coding assistant creates failure modes that a single-project workflow never encounters: pushing code with the wrong git email, querying the wrong database, leaking one client's context into another's session, losing track of decisions made weeks ago in a different workspace. Tentaqles addresses these directly.
Identity isolation. Prevents pushing code with the wrong git email, running CLI commands against the wrong cloud subscription, or querying the wrong database. Preflight checks run automatically before every external operation, and the right account is auto-switched on session start (git via includeIf, gh via auth switch, Azure via account set, DigitalOcean via doctl auth switch).
Persistent temporal memory. Tracks sessions, touches, decisions, and pending work per client in a local SQLite database. Survives terminal close, Ctrl+C, /exit, and context auto-compaction via a PreCompact hook that re-injects critical state.
Four-tier memory with decay. Brain-inspired tiers — Working → Episodic → Semantic → Procedural — with Ebbinghaus decay and auto-eviction. Sessions auto-promote to Episodic on close; important facts climb over time via the /tentaqles:compact-memory skill or the compaction-cron.py script.
Contradiction detection. When a new decision is recorded, it is embedded and compared against active decisions. If similarity exceeds 0.82 and the chosen text disagrees, the old decision is automatically superseded — the chain is preserved, queryable via /tentaqles:decision-history or MemoryStore.get_decision_lineage().
Knowledge graphs with cross-workspace search. Pluggable graph engine (graphify or native) builds per-client knowledge graphs and embeds every node with fastembed. A meta-graph merges concepts across clients while keeping source code isolated. Ask "have I solved this problem before?" and find answers from other engagements.
Cross-workspace pattern detection. A weekly background job reads decisions from all registered workspaces (read-only), clusters them, and surfaces patterns that span two or more workspaces — for example, "you've solved JWT expiration three different ways across three clients." Results appear in the session preamble and via /tentaqles:cross-patterns.
Learned workspace profiles. Each workspace grows an auto-generated profile — hot files, session frequency, top concepts — that is injected into the SessionStart preamble. No manual tagging required. Regenerates when stale (>7 days) or on demand via /tentaqles:profile-refresh.
Time-travel snapshots. Before every identity auto-switch and every write to .tentaqles.yaml, the plugin captures an append-only JSON snapshot (manifest, memory stats, git identity). The last 30 are kept and pruned automatically. Restore any prior state interactively with /tentaqles:rollback.
Inter-workspace signals (opt-in pub/sub). A small global table lets Workspace A emit a message to Workspace B that appears in B's next session preamble. 48-hour TTL, acknowledge-once, workspace-level payloads only (deploy failed, CI passed, PR merged) — never code or credentials. Opt-in per workspace via a signals: block in the manifest.
Privacy-safe capture. Every observation is scanned for secrets — API keys, JWTs, OAuth tokens, connection strings, private keys, cross-client emails — before touching disk. Secrets are replaced with [REDACTED:{pattern_name}] in memory, dashboard output, and correction records.
Self-improving skills. When you correct the agent, the correction is recorded to the skill's own definition at {client_root}/.claude/skills/{name}/SKILL.md. Per-client isolation — one client's corrections never affect another.
Real-time dashboard. http://localhost:8765 — a live grid of all workspaces with session counts, hot nodes, pending items, and trend indicators. Pure stdlib, self-contained HTML, works offline.
# From the marketplace
/plugin marketplace add tentaqles/tentaqles-plugin
/plugin install tentaqles@tentaqles-tentaqles-plugin
# Or test locally
claude --plugin-dir /path/to/tentaqles-plugin
On the first session after installing, the plugin's bootstrap hook automatically installs Python dependencies (pyyaml, pathspec, fastembed, numpy) into the plugin's data directory (${CLAUDE_PLUGIN_DATA}/lib). This is isolated from your system Python and only happens once.
npx claudepluginhub tentaqles/tentaqles-pluginPersistent memory for Claude Code sessions using Honcho
Persistent memory system for AI coding sessions — cross-tool memory sharing with 6-dimensional hybrid search
130 battle-tested skills for Claude Code. Session memory, git workflows, database migrations, security scanning, deployments, and more. Auto-trigger commands and project handoffs via markdown-based skills.
Auto-capture high-signal coding context into memctl memory
Plugin for effective agentic development
Corca Workflow Framework — consolidated hooks and skill orchestration for structured development sessions