Clawdi Cloud
You have access to Clawdi Cloud tools via the clawdi MCP server. Use them aggressively — memory + session retrieval is the highest-leverage capability you have here.
Memory
Three tools for cross-agent memory:
memory_search — Search long-term memory by natural-language query (any language).
memory_add — Save a durable memory for cross-agent recall. Do not store plaintext tokens, API keys, or bearer credentials; store those in Vault and save only the clawdi:// reference. Categories: fact (technical facts, API details, config values), preference (user preferences, coding style, workflow choices), pattern (recurring patterns, pitfalls, team conventions), decision (architecture decisions and their reasoning), context (project context, deadlines, ongoing work).
memory_extract — Batch-extract durable memories from the CURRENT conversation. Call this when the user says "extract memories", "save what we discussed", "remember this conversation", or equivalent. The tool returns instructions that walk you through a list-then-confirm flow using memory_search and memory_add — follow them exactly, including waiting for the user's approval before writing anything. Never skip the confirmation step, never save more than 5 memories in one invocation, and do not narrate your internal workflow to the user.
When to search — bias toward calling
Default assumption: the user has stored context you don't have. Call memory_search BEFORE answering any question about them, their project, their preferences, or their history. A call that returns empty costs ~100ms; a missed hit makes you look amnesic and forces them to re-teach you every session.
The single most common failure mode is NOT calling memory_search on abstract self-referential questions. If the user's message has any of these shapes, you MUST call it — no judgment, no exceptions:
- Preference / habit questions, even without a specific entity named.
Examples: "what do I usually use for X", "how do I normally do Y", "what's my preferred tool for Z", "what's my coding style". Pass a short paraphrase as the query.
- Callbacks to prior context. "as I mentioned", "like last time", "you know the one", "we discussed before", "what was that X we set up".
- Named entities specific to this user. Their project / repo / service / team / tool name. A person by name.
- Past bugs, decisions, investigations, design choices.
- Start of a new session where they reference anything about themselves or their work.
Do NOT search for:
- Purely textbook programming questions with no user-specific signal ("how does
useEffect work", "what is the time complexity of quicksort").
- Questions the current code already answers directly.
When unsure, search. Empty results cost you nothing. Missing the user's context costs you their trust.
When to save
- After fixing a non-obvious bug (save root cause + fix)
- After making an architecture decision (save reasoning)
- After discovering a useful pattern or workaround
- When the user explicitly says "remember this" / "save this"
- After learning a user preference you'd otherwise have to re-ask ("I prefer rg", "I always use pnpm")
Write memories as standalone sentences with full context — include names, not pronouns. A future session will read this without knowing today's conversation.
Do NOT save trivial facts that are obvious from the code itself, or generic programming knowledge.
Do NOT save plaintext tokens, API keys, bearer credentials, or private keys in memory. Use Vault for secret values and save only a clawdi:// reference when future agents need to know where a secret lives.
Sessions
Two tools for reading and finding past agent conversations stored in Clawdi Cloud:
session_read — Fetch a single session by reference and return its full conversation as Markdown. Accepts a Clawdi share URL (https://cloud.clawdi.ai/s/{uuid}) OR a session UUID for one of the user's own sessions. Handles owned and shared sessions transparently — you don't need to know which one.
session_search — Find sessions in the user's history by keyword. Trigram-ranked substring search with typo tolerance. Returns matching sessions with summary, project, timestamps, and session UUIDs you can pass back to session_read.
When to read — call session_read whenever the user references a specific session
MUST call when the user's message includes:
- A Clawdi share URL (e.g.
https://cloud.clawdi.ai/s/11111111-2222-3333-4444-555555555555) — pass the full URL
- A direct reference like "open the session where I did X" or "the one from yesterday about auth" — first call
session_search to find the UUID, then session_read to load it
Do NOT call WebFetch on cloud.clawdi.ai/s/... URLs — session_read is the right tool and avoids the WebFetch permission prompt.
When to search — bias toward calling, similar to memory_search
MUST call session_search when:
- The user asks about prior work: "what did I do about the focus bug", "find the session where I migrated auth", "show me last week's debugging session"
- They reference a past investigation by topic but don't name a specific session
- They want to continue / reuse approach from a prior conversation
Difference from memory_search
memory_search finds stored facts / preferences / decisions the user (or a previous agent run) explicitly extracted. Short rows; high signal.
session_search finds full conversations in the corpus. Long rows; useful when the user wants the original context, not just the takeaway.
When the user's request is conceptual ("how do I usually do X"), prefer memory_search. When they want to revisit a specific past conversation ("the session where..."), use session_search. When unsure, try memory_search first (cheaper, faster), fall back to session_search if empty.
Projects
Three read-only tools expose the caller's visible Project context:
project_current — Read the current or runtime-bound Project.
project_list — List visible Projects.
project_get — Read one visible Project by UUID.
Hosted runtimes see only their bound Project. Treat a not-found response as an
access boundary as well as a possible unknown UUID; do not try to bypass it
through another tool.
Vault Metadata
Two read-only MCP tools expose safe Vault metadata without secret values:
vault_list — List Vault attachments and key counts for visible Projects.
vault_get — List key names, provenance, and exact clawdi:// references for one attached Vault.
Use vault_resolve only when the current task requires one referenced plaintext value. Pass
the exact Project-scoped reference. Treat the result as sensitive: never echo it, save it to
Memory, or include it in logs.
The metadata tools never resolve or return plaintext. Never imply that a returned key name
is a secret value. Preserve their exact references for vault_resolve or when passing them
to an authorized runtime:
clawdi://project/<project-id>/vault/<vault>/field/<field>
clawdi://project/<project-id>/vault/<vault>/section/<section>/field/<field>
Use the live schemas from the clawdi MCP server as authoritative; the local
stdio command only transports the protocol.
Wallet Funding
Use clawdi wallet status --json to inspect the authenticated Wallet balance, verified
binding, and x402 readiness. Binding and Base USDC top-up are available only through the
browser wallet surface; Clawdi does not store the payment private key. Ask the user to fund
there. Command-line spending requires a future owner-only or hardware signer authority and is not
available.
Connectors
Use the Composio Tool Router meta-tools returned by tools/list on the clawdi MCP server.
Treat their live names and schemas as authoritative; never assume a fixed meta-tool set.
- Start each external-app workflow with
COMPOSIO_SEARCH_TOOLS. Follow its exposed
queries and session schema, reuse the returned session ID throughout that workflow,
and use only the exact toolkit and tool slugs it returns. If a required schema is absent
or incomplete, call COMPOSIO_GET_TOOL_SCHEMAS; never invent fields or inputs.
- Before a side effect, require a complete target identity and all schema-required inputs.
Explicit intent authorizes the exact requested action and target, but never authorizes
guessing a missing recipient, account, resource, or other target. Ask only for what is
missing, and do not request redundant confirmation once the exact action is authorized.
- When search reports no active connection, call
COMPOSIO_MANAGE_CONNECTIONS with its
exposed schema and interpret only the fields it returns. Continue on active. On
initiated, present its non-empty redirect_url as a clickable authentication link with
a concise explanation that authorization is pending; the link URL must be exactly that
value. If initiated has no non-empty redirect_url, report that authorization cannot
continue and stop. On failed, report the returned error and stop. Never construct a
substitute link, ask for OAuth credentials, API keys, or tokens, or suggest an
out-of-band fallback.
- Use a wait or status operation only when
tools/list exposes one. Follow its actual schema
and status values without inventing polling arguments. Continue only when it reports an
active connection; keep waiting only for a non-terminal status its schema defines, and
report any terminal failure. If none is exposed, stop until the user reports completing
authorization, then re-run search to verify the active connection before continuing.
- Execute exact returned slugs through
COMPOSIO_MULTI_EXECUTE_TOOL with schema-compliant
arguments. Batch only independent calls. Keep ordinary results inline. Set
sync_response_to_workbench only when a result may be large or needs later remote
processing; use COMPOSIO_REMOTE_WORKBENCH / COMPOSIO_REMOTE_BASH_TOOL only for large
responses saved remotely or remote artifacts.
- Preserve dependencies and returned semantics. Follow signed-file metadata, pagination
fields, and termination signals exactly as exposed. Select an account only when the schema
supports it, and use additional or future meta-tools only according to their live schemas.
Vault Management
Vault mutation is intentionally not an Agent MCP capability. Do not use raw HTTP, daemon
control RPC, or execute foreground Vault CLI commands on the user's behalf. When the user
asks to write, import, attach, detach, or delete Vault data, explain that a human operator
must perform it and provide the safest exact foreground command. Prefer clawdi vault set KEY --prompt for one value and clawdi vault import ... for migrations; never place a
plaintext secret in command arguments or your response.
AI Provider Management
Provider configuration is also a human operator workflow, not an Agent MCP capability. Do
not execute provider CLI commands or handle provider credentials on the user's behalf. When
asked, provide an exact clawdi ai-provider command for the operator to run and explain its
effect; suggest validate or a non-live test before any explicitly requested live probe.
- Treat the local Provider Catalog as multi-record metadata. Do not activate it into local agent config; Core Hosted activation is supplied by the runtime manifest/controller, whose configured runtime binds exactly one provider and whose unmanaged runtime binds none.
- Keep Codex OAuth ownership singular across Hosted runtimes. Hermes/OpenClaw native refresh, revoke, and ownership state belongs to Hosted convergence, not a local CLI materialization command.
- Default export/import is metadata-only;
--include-secrets requires passphrase-encrypted secret export.
- BYOK model requests go directly from the agent runtime to the configured provider. Clawdi stores metadata and secret references but is not a model proxy.
1---2name: clawdi-33description: Cross-agent long-term memory + session history for the current user: their preferences, coding habits, named projects / repos / tools, past bugs and architecture decisions, AND their past agent conversations across Claude Code / Codex / OpenClaw / Hermes. Surface this skill BEFORE answering any question about the user themselves, their work, or their history — even when phrased abstractly (e.g. 'what do I usually use for X', 'find the session where I worked on auth'). Also provides connected-service tools (Gmail, GitHub, Notion, Drive, Calendar, etc.) and reads Clawdi share URLs (https://cloud.clawdi.ai/s/...) the user pastes.4---56# Clawdi Cloud78You have access to Clawdi Cloud tools via the `clawdi` MCP server. Use them aggressively — memory + session retrieval is the highest-leverage capability you have here.910## Memory1112Three tools for cross-agent memory:1314- `memory_search` — Search long-term memory by natural-language query (any language).15- `memory_add` — Save a durable memory for cross-agent recall. Do not store plaintext tokens, API keys, or bearer credentials; store those in Vault and save only the `clawdi://` reference. Categories: `fact` (technical facts, API details, config values), `preference` (user preferences, coding style, workflow choices), `pattern` (recurring patterns, pitfalls, team conventions), `decision` (architecture decisions and their reasoning), `context` (project context, deadlines, ongoing work).16- `memory_extract` — Batch-extract durable memories from the CURRENT conversation. Call this when the user says "extract memories", "save what we discussed", "remember this conversation", or equivalent. The tool returns instructions that walk you through a list-then-confirm flow using `memory_search` and `memory_add` — follow them exactly, including **waiting for the user's approval before writing anything**. Never skip the confirmation step, never save more than 5 memories in one invocation, and do not narrate your internal workflow to the user.1718### When to search — bias toward calling1920**Default assumption: the user has stored context you don't have. Call `memory_search` BEFORE answering any question about them, their project, their preferences, or their history. A call that returns empty costs ~100ms; a missed hit makes you look amnesic and forces them to re-teach you every session.**2122The single most common failure mode is NOT calling memory_search on abstract self-referential questions. If the user's message has any of these shapes, you MUST call it — no judgment, no exceptions:23241. **Preference / habit questions**, even without a specific entity named.25 Examples: "what do I usually use for X", "how do I normally do Y", "what's my preferred tool for Z", "what's my coding style". Pass a short paraphrase as the query.262. **Callbacks to prior context.** "as I mentioned", "like last time", "you know the one", "we discussed before", "what was that X we set up".273. **Named entities specific to this user.** Their project / repo / service / team / tool name. A person by name.284. **Past bugs, decisions, investigations, design choices.**295. **Start of a new session where they reference anything about themselves or their work.**3031Do NOT search for:32- Purely textbook programming questions with no user-specific signal ("how does `useEffect` work", "what is the time complexity of quicksort").33- Questions the current code already answers directly.3435**When unsure, search.** Empty results cost you nothing. Missing the user's context costs you their trust.3637### When to save3839- After fixing a non-obvious bug (save root cause + fix)40- After making an architecture decision (save reasoning)41- After discovering a useful pattern or workaround42- When the user explicitly says "remember this" / "save this"43- After learning a user preference you'd otherwise have to re-ask ("I prefer rg", "I always use pnpm")4445Write memories as standalone sentences with full context — include names, not pronouns. A future session will read this without knowing today's conversation.4647Do NOT save trivial facts that are obvious from the code itself, or generic programming knowledge.4849Do NOT save plaintext tokens, API keys, bearer credentials, or private keys in memory. Use Vault for secret values and save only a `clawdi://` reference when future agents need to know where a secret lives.5051## Sessions5253Two tools for reading and finding past agent conversations stored in Clawdi Cloud:5455- `session_read` — Fetch a single session by reference and return its full conversation as Markdown. Accepts a Clawdi share URL (`https://cloud.clawdi.ai/s/{uuid}`) OR a session UUID for one of the user's own sessions. Handles owned and shared sessions transparently — you don't need to know which one.56- `session_search` — Find sessions in the user's history by keyword. Trigram-ranked substring search with typo tolerance. Returns matching sessions with summary, project, timestamps, and **session UUIDs you can pass back to `session_read`**.5758### When to read — call `session_read` whenever the user references a specific session5960MUST call when the user's message includes:61- A Clawdi share URL (e.g. `https://cloud.clawdi.ai/s/11111111-2222-3333-4444-555555555555`) — pass the full URL62- A direct reference like "open the session where I did X" or "the one from yesterday about auth" — first call `session_search` to find the UUID, then `session_read` to load it6364Do NOT call WebFetch on `cloud.clawdi.ai/s/...` URLs — `session_read` is the right tool and avoids the WebFetch permission prompt.6566### When to search — bias toward calling, similar to `memory_search`6768MUST call `session_search` when:69- The user asks about prior work: "what did I do about the focus bug", "find the session where I migrated auth", "show me last week's debugging session"70- They reference a past investigation by topic but don't name a specific session71- They want to continue / reuse approach from a prior conversation7273### Difference from `memory_search`7475- `memory_search` finds **stored facts / preferences / decisions** the user (or a previous agent run) explicitly extracted. Short rows; high signal.76- `session_search` finds **full conversations** in the corpus. Long rows; useful when the user wants the original context, not just the takeaway.7778When the user's request is **conceptual** ("how do I usually do X"), prefer `memory_search`. When they want to **revisit a specific past conversation** ("the session where..."), use `session_search`. When unsure, try `memory_search` first (cheaper, faster), fall back to `session_search` if empty.7980## Projects8182Three read-only tools expose the caller's visible Project context:8384- `project_current` — Read the current or runtime-bound Project.85- `project_list` — List visible Projects.86- `project_get` — Read one visible Project by UUID.8788Hosted runtimes see only their bound Project. Treat a not-found response as an89access boundary as well as a possible unknown UUID; do not try to bypass it90through another tool.9192## Vault Metadata9394Two read-only MCP tools expose safe Vault metadata without secret values:9596- `vault_list` — List Vault attachments and key counts for visible Projects.97- `vault_get` — List key names, provenance, and exact `clawdi://` references for one attached Vault.9899Use `vault_resolve` only when the current task requires one referenced plaintext value. Pass100the exact Project-scoped reference. Treat the result as sensitive: never echo it, save it to101Memory, or include it in logs.102103The metadata tools never resolve or return plaintext. Never imply that a returned key name104is a secret value. Preserve their exact references for `vault_resolve` or when passing them105to an authorized runtime:106107- `clawdi://project/<project-id>/vault/<vault>/field/<field>`108- `clawdi://project/<project-id>/vault/<vault>/section/<section>/field/<field>`109110Use the live schemas from the `clawdi` MCP server as authoritative; the local111stdio command only transports the protocol.112113## Wallet Funding114115Use `clawdi wallet status --json` to inspect the authenticated Wallet balance, verified116binding, and x402 readiness. Binding and Base USDC top-up are available only through the117browser wallet surface; Clawdi does not store the payment private key. Ask the user to fund118there. Command-line spending requires a future owner-only or hardware signer authority and is not119available.120121## Connectors122123Use the Composio Tool Router meta-tools returned by `tools/list` on the `clawdi` MCP server.124Treat their live names and schemas as authoritative; never assume a fixed meta-tool set.1251261. Start each external-app workflow with `COMPOSIO_SEARCH_TOOLS`. Follow its exposed127 `queries` and `session` schema, reuse the returned session ID throughout that workflow,128 and use only the exact toolkit and tool slugs it returns. If a required schema is absent129 or incomplete, call `COMPOSIO_GET_TOOL_SCHEMAS`; never invent fields or inputs.1302. Before a side effect, require a complete target identity and all schema-required inputs.131 Explicit intent authorizes the exact requested action and target, but never authorizes132 guessing a missing recipient, account, resource, or other target. Ask only for what is133 missing, and do not request redundant confirmation once the exact action is authorized.1343. When search reports no active connection, call `COMPOSIO_MANAGE_CONNECTIONS` with its135 exposed schema and interpret only the fields it returns. Continue on `active`. On136 `initiated`, present its non-empty `redirect_url` as a clickable authentication link with137 a concise explanation that authorization is pending; the link URL must be exactly that138 value. If `initiated` has no non-empty `redirect_url`, report that authorization cannot139 continue and stop. On `failed`, report the returned error and stop. Never construct a140 substitute link, ask for OAuth credentials, API keys, or tokens, or suggest an141 out-of-band fallback.1424. Use a wait or status operation only when `tools/list` exposes one. Follow its actual schema143 and status values without inventing polling arguments. Continue only when it reports an144 active connection; keep waiting only for a non-terminal status its schema defines, and145 report any terminal failure. If none is exposed, stop until the user reports completing146 authorization, then re-run search to verify the active connection before continuing.1475. Execute exact returned slugs through `COMPOSIO_MULTI_EXECUTE_TOOL` with schema-compliant148 arguments. Batch only independent calls. Keep ordinary results inline. Set149 `sync_response_to_workbench` only when a result may be large or needs later remote150 processing; use `COMPOSIO_REMOTE_WORKBENCH` / `COMPOSIO_REMOTE_BASH_TOOL` only for large151 responses saved remotely or remote artifacts.1526. Preserve dependencies and returned semantics. Follow signed-file metadata, pagination153 fields, and termination signals exactly as exposed. Select an account only when the schema154 supports it, and use additional or future meta-tools only according to their live schemas.155156## Vault Management157158Vault mutation is intentionally not an Agent MCP capability. Do not use raw HTTP, daemon159control RPC, or execute foreground Vault CLI commands on the user's behalf. When the user160asks to write, import, attach, detach, or delete Vault data, explain that a human operator161must perform it and provide the safest exact foreground command. Prefer `clawdi vault set162KEY --prompt` for one value and `clawdi vault import ...` for migrations; never place a163plaintext secret in command arguments or your response.164165## AI Provider Management166167Provider configuration is also a human operator workflow, not an Agent MCP capability. Do168not execute provider CLI commands or handle provider credentials on the user's behalf. When169asked, provide an exact `clawdi ai-provider` command for the operator to run and explain its170effect; suggest `validate` or a non-live `test` before any explicitly requested live probe.171172- Treat the local Provider Catalog as multi-record metadata. Do not activate it into local agent config; Core Hosted activation is supplied by the runtime manifest/controller, whose configured runtime binds exactly one provider and whose unmanaged runtime binds none.173- Keep Codex OAuth ownership singular across Hosted runtimes. Hermes/OpenClaw native refresh, revoke, and ownership state belongs to Hosted convergence, not a local CLI materialization command.174- Default export/import is metadata-only; `--include-secrets` requires passphrase-encrypted secret export.175- BYOK model requests go directly from the agent runtime to the configured provider. Clawdi stores metadata and secret references but is not a model proxy.