---
name: claw-me
description: Create and host websites, event pages, landing pages, and shareable HTML on claw.me. Use when the user requests the claw.me plugin, “claw me that,” or Claw Me Pages, Drive, Profile context, email, Meetings, or Agent authorization.
---

# Claw Me

Use Claw Me as the owner-controlled public-services layer around an AI agent.

## Create and share a website on claw.me

For a completed local folder, installed Claw Me skill 1.3.0 includes `scripts/publish.py`: `python scripts/publish.py ./site --slug emba-golf --title "EMBA golf tournament" --state-file ~/.claw-me/emba-golf-attempt.json` checks files locally. Add `--publish --share` for owner-authorized account publishing and an unlisted link. Missing authorization returns a JSON next step. The helper handles hashes, uploads and finalization without a local server. Keep its private state file outside the website and never print it; an existing state file prevents a blind duplicate attempt. Account-owned Pages, including Free, are permanent within existing storage limits. Use `--anonymous --publish` only for an explicitly accepted 24-hour preview. Install the official bundle through https://claw.me/plugins to obtain the helper; the REST workflow below remains available without it.

A request such as “create a website for an upcoming golf tournament that I can share with friends using the claw.me plugin” selects Claw Me Pages as the host. Build the HTML/CSS and assets, then publish them here. Do not substitute Cloudflare Tunnel, ngrok, a local server link, or another hosting provider unless the user chooses that alternative after you explain a concrete Claw Me blocker.

- In OpenClaw, prefer `claw_me_publish_website` when available. It computes manifests, uploads files, finalizes the version, and can return an anyone-with-link URL. Plugin installation exposes this tool and skill; the Gateway relay connection alone does not authorize Pages. Gateway local mode, missing publicOrigin, port forwarding, and relay setup codes are unrelated to Page hosting. Do not inspect or change Gateway networking to publish a website.
- Otherwise read the Pages REST contract at https://claw.me/agents.md and use the scoped REST API or `artifact_publish` over MCP. Missing native tools do not mean the service cannot host websites: REST is supported. If the client cannot make HTTP requests, explain that specific limitation.
- Reuse existing owner-approved Pages credentials. With none, follow device authorization for `pages:write`; never ask for a key in chat. For the OpenClaw tool, store the returned Pages key in its configured mode-0600 `publishingCredentialFile` (default `~/.openclaw/claw-me/pages-key`). Never use the Gateway connector token as a Pages key.
- Derive the title and slug from the brief. “Share with friends” authorizes an unlisted anyone-with-link deliverable, not search-indexed public publication. Use `access: "link"` in the OpenClaw tool, or the scoped share endpoint after finalization. Return the actual sharing URL, not a private owner URL described as accessible to friends.
- For an upcoming event, set `required_until` to at least the end of the event in the OpenClaw tool and inspect returned `expires_at` on other paths. Anonymous previews expire after 24 hours. Account-owned Pages, including Free, remain available within existing storage and Page limits. For a future event beyond 24 hours, authorize account publishing before publication; no paid plan is required. Do not publish a guest preview first and present a later claim as completion. Keep the prepared files while authorization is pending.
- For an embedded map, use the supported OpenStreetMap frame documented at https://claw.me/agents.md, plus a normal `<a>` link styled as a driving-directions button. Verify venue coordinates; do not invent them. Scripts, forms, generic iframes, remote images, and SVG remain unsupported. If supported map embeds are unavailable on the deployed service, explain the limitation and offer a bundled static map image with a directions link while retaining claw.me as the host.
- Finish only after finalization succeeds and the requested sharing mode is established. Report the URL, visibility, and expiry. If sharing or authorization fails, state the exact remaining step and retain the local site files.


## Portal navigation

Profile at https://claw.me/my-profile combines public profile editing and private agent context. Manage approved agent connections at https://claw.me/agents?view=authorizations. Agents reference approved private context and propose changes for owner review; approval never publishes that context. Public profile visibility, listing public Pages, and API or A2A authorization are separate choices. Stable wiki_* MCP names, wiki scopes, and /claw-me/wiki API paths are unchanged. Legacy /wiki and /wikipage links open Profile context. Settings remain at /profile, with permissions at /permissions.

Address is at https://claw.me/address. Sandbox contains Email, Rules, Approvals (the review queue), and Setup. Profile follows Sandbox in navigation. Calculator is at https://claw.me/calculator; /pricing-calculator redirects there.

## Account permissions and chat actions

Registration starts with email verification and explicit terms acceptance, before account setup questions. At https://claw.me/getting-started, choose Get a prompt for my Agent or Use the guided dashboard instead. Assume an existing Agent unless the owner asks for Managed hosting. The Agent path then offers client-specific plugin installation and authorization guidance. The dashboard has four steps: address, features and permissions, connect an Agent, and Choose your plan. The final billing choice must be saved; Free needs no payment. Setup complete follows confirmation, and completed owners returning to Getting Started open Pages. Back and Continue revisit saved steps without changing consent. Copying a connection prompt does not install or authorize anything. An address and owner-confirmed features are required for every account before workspace access; account settings, logout, account deletion, Docs, public Templates, and Calculator remain reachable. At the Connect Agent step, owners can exit onboarding; connecting an Agent and creating a Page can wait. Feature choices are Pages, Drive, Profile context, and Activity, with separate Public sharing and Incoming email sections. New unconfirmed Incoming email choices default to Store for me only (email_receive on, email_process off); public sharing defaults off. Preserve confirmed choices and saved drafts. Step 2 shows key choices; detailed Profile visibility, Page listings, and existing API/A2A connections belong in Profile. A2A uses existing scopes and plan eligibility, not a new global toggle or routing service. Incoming email maps to the existing email_receive and email_process permissions; it never starts automatic Agent turns. Outbound email is not an onboarding choice: leave email_send off for new accounts. Custom outbound senders, third-party sending, and replies are disabled at launch. Do not offer to connect an outbound provider. Do not reset an existing account’s outbound permission during unrelated setup.

Choose account feature permissions during onboarding. MCP `account_get_permissions` reads the effective limits; `account_propose_permissions` can propose the initial choices but cannot activate them. The signed-in owner reviews and confirms them. After initial confirmation, only the portal at https://claw.me/permissions can change these limits; Agent keys and temporary setup bearer tokens cannot change them.

Account permissions are an upper bound on individual Agent scopes. `artifact_publish` uploads a private Page version. After finalizing it, `artifact_set_visibility` with `pages:publish` can make an owned Page public or private through chat. Public access must also be enabled for the account. Set `profile_visible: true` explicitly to list a public Page on the profile. Making a Page private removes public listing and public grants; explicit existing share grants remain valid. Turning off account public access blocks profiles, Pages, sharing, and public Site Data, including existing links.

Sandbox offers Release once for the current message and Always release / Add sender rule for an exact-address rule plus the current message. Block sender drops future matching payloads without creating an Agent event. Nearby addresses are not implicitly approved. Sender modes are Ask me, Always release, and Ignore; release permits reading, never an automatic Agent turn or external action. Provider drafts are hidden unless the server advertises availability; a draft scope alone does not enable an unavailable provider.

Email receiving and Agent processing are separate choices. Disabling processing blocks release and queued delivery to Agents. Automatic Agent email turns remain disabled. Disabling email receiving drops incoming alias events before content is retained by Claw Me. Provider-level rejection is a separate delivery control; do not promise SMTP rejection until provider configuration is verified.

User-facing Page URLs are https://claw.me/@username/page. The viewer keeps this address while rendering uploaded content on an isolated origin. Never serve uploaded HTML on the authenticated application origin.

## Agent-led setup

Account setup is agent-led, with owner portal confirmation for initial account permissions. Later account permission changes are portal-only. A public plugin recipe describing fully portal-free setup does not override this boundary.

Signup is open and email-verified; no invitation is required. With explicit owner
delegation, start at POST /api/v1/auth/agent/start and exchange the emailed token
at POST /api/v1/auth/verify-token. Verify the owner through GET /api/v1/auth/me.
Use this temporary owner bearer for approved account controls, then retain only
the scoped Agent credential for routine MCP. Never print tokens or collect them
in chat. MFA and provider authorization remain enforced.

MCP discovery reads the backend catalog. Use authenticated tools/list for the
current credential's actual tools. Onboarding tools, billing_catalog,
billing_start_checkout, billing_payment_status, and Sandbox tools are included;
optional code mode requires code:execute and server configuration. Checkout needs
an idempotency_key. Payment completion does not prove webhook activation.

The public plugin includes DNS, Meta/WhatsApp, OpenClaw, and meeting-provider
prerequisite guidance. These external authorizations and plan/add-on requirements
are separate from core email signup and Basic purchase.

Install the [official plugin](https://github.com/clawdotme/plugin) for the pinned
skill and full [portal-free setup procedure](https://github.com/clawdotme/plugin/blob/main/claw-me/references/portal-free-setup.md).
The plugin keeps owner decisions separate from scoped Agent permissions. A
separately delegated owner session can submit only the owner's explicit decision
on the exact reviewed scope set, proposal, visibility, or purchase.

## Natural phrases

- “Claw me that” means save or publish the current Agent work. With no Claw Me account and a completed static site, it authorizes an unindexed anonymous 24-hour preview only when that lifetime meets the task. Confirm files, title, slug, and access for durable or authenticated Pages.
- “Claw my meeting” means schedule Claw Meetings. Ask for the meeting URL and confirm participant consent, destination Agent, timing, and recording retention first.
- “Save this to my Drive” means store the current file privately in Claw Me Drive.
- “Work on this with another Agent” means use a Drive Workspace change set so every Agent starts from an explicit revision and the owner reviews the result.
- “Update my Personal Wikipage” means propose an owner-reviewed Wiki change, never edit approved knowledge directly.

Treat these as natural-language aliases rather than exact commands. Preserve every approval and privacy boundary below.

## Pages

1. Confirm the files, slug, title, and intended access. Default to private.
2. Call `artifact_publish` with the file manifest.
3. Upload only to the returned presigned URLs.
4. Finalize the immutable version atomically.
5. Return the Page URL, access mode, and version without exposing upload URLs or credentials.

After publishing, the owner can manage access, domains, Site Data, privacy-preserving analytics, profile visibility, and version history from the Page card. Exact-email and domain access require the visitor to sign in to Claw Me; never work around that broker or copy its short-lived Page session into chat.

Pages serve static HTML, CSS, images, and fonts. Scripts, forms, arbitrary frames, SVG/MathML, redirects, and credentials are rejected. Site Data has a REST API, but this does not enable interactive applications inside static Pages. Never embed the Manager origin, an API key, or a database credential in published files. Creating a collection, enabling public writes, changing its schema, or deleting its records requires explicit owner confirmation.

Custom subdomains use `pages.claw.me` as their CNAME target. Do not invent provider hostnames or expose internal routing values. Root domains require a DNS provider that supports ALIAS or ANAME flattening.

For a disposable static preview without an account, `POST` the file manifest to `https://claw.me/api/v1/claw-me/previews` without an Authorization header, upload the exact bytes to the returned presigned URLs, and finalize through `/api/v1/claw-me/previews/{id}/finalize` with the one-time claim token and manifest checksum. Return only the preview URL and expiry. The site is unindexed, receives a Claw Me banner with a live expiry countdown and a link to register and claim the preview within account limits, and returns 404 after the original expiry. Limits are 50 files, 50 MB total, 25 MB per file, and three creates per source per hour. Use `https://claw.me/preview` when the agent cannot perform HTTP uploads itself.

## Drive and workspace controls

- Drive opens on Files for every plan. Use Files for private standalone uploads or Agent outputs that do not need collaborative revision review.
- Collaborative Drive Workspaces require Basic or Plus.
- Use a Drive Workspace for private collaboration on Markdown, CSV, HTML, JSON, YAML, XML, CSS, and text files. Use a Page when the output should become a browser-viewable build or shareable URL.
- Request \`drive:read\` to list and open workspaces. Request \`drive:propose\` only when file edits are needed.
- Before editing, call \`drive_list_workspaces\` and \`drive_open_workspace\`. Read the current revision, workspace instructions, manifest, and review state.
- Start work with \`drive_begin_change\` and include a concise intent. Make each addition, replacement, or deletion with \`drive_write_file\`. For CSVs, supply a stable \`row_key\` when one exists so the owner receives row- and cell-aware summaries.
- Call \`drive_preview_change\` before submission. Fix validation errors and summarize the important differences. Then call \`drive_submit_change\`. Submission does not apply the change; it waits for owner acceptance in Drive.
- Never approve your own Drive change. If the service reports a same-path conflict, reopen the latest workspace revision and create a fresh change. Do not overwrite or hide either side of the conflict.
- Accepted changes and restores create immutable revisions. Never imply that history was rewritten or deleted.
- Page files also use immutable versions: every publish or upload creates a new version rather than changing files in place.
- Pages start private. The owner can publish one, grant access to exact Claw Me accounts or an email domain, add a password, or create an expiring review link. Guest previews expire after 24 hours; a new version does not reset that clock.
- Use the Site Data REST API for structured records managed by authorized clients. Static Pages cannot execute forms or scripts. Creating a collection, enabling public writes, changing a schema, or deleting records requires explicit owner confirmation.
- Domains connect owner-controlled names to a selected Page through DNS. Guide the owner through the Page dashboard; never ask for DNS credentials, certificate private keys, or other provider secrets in chat.
- Variables provide encrypted values for approved Agents and Page proxy routes. Values are classified as secret, private, or public and plaintext is not returned after creation. Never ask for a Variable value in chat or embed one in a Page bundle.
- Analytics is cookie-free, first-party Page reporting for views, visitors, paths, referrers, countries, versions, and active grants. Do not claim that Claw Me retains visitor IP addresses.
- Functions are documentation-only until the REST contract exposes an executable resource. Do not promise deployment, schedules, routes, or function management. Do not claim MCP control over Domains, Variables, Analytics, or Functions unless the current contract exposes it.

## Wiki

Treat the Wiki as reviewed, durable knowledge—not a transcript dump or scratchpad.

1. Start with `wiki_get_agent_guide`. It is the owner's compact operating contract and approved-knowledge snapshot. Hosted Agents receive the same managed guide in `AGENTS.md`; external Agents read it over MCP.
2. Before relevant work, call `wiki_search`, `wiki_get_profile`, or `wiki_get_project`. Use approved claims only; pending proposals are not facts.
3. Cite the claims that materially shaped the answer. If claims conflict, are stale, or lack evidence, tell the user instead of guessing.
4. Propose only durable knowledge likely to help in future conversations: stable preferences, important people, project facts, recurring constraints, and explicit decisions.
5. Do not propose temporary tasks, conversational filler, inferred traits, credentials, private message bodies, health or financial details unless the owner explicitly asks to preserve them.
6. Submit additions, corrections, and forgetting requests with `wiki_propose_change`. Include the source, evidence, rationale, and the claim being replaced when applicable.
7. Return the proposal ID and make clear that it is waiting for owner review. Never silently rewrite or self-approve canonical memory.

When the user asks to “remember this,” distinguish durable Wiki knowledge from a file, Page, task, or temporary chat detail. Ask one focused question if the destination is ambiguous.

## Events and owner email

Read owner-approved inbound messages at `GET /api/v1/events` and acknowledge durable processing with `POST /api/v1/events/{id}/ack`. With `email:drafts`, create unsent drafts through `POST /api/v1/email/drafts` or reply drafts through `POST /api/v1/email/messages/{message_id}/drafts`.

With explicit `email:owner`, send through `POST /api/v1/email/owner?identity_id=...`. Supply only `subject`, `text_body` or `html_body`, and optional labels or tags. The service derives the verified workspace owner as the sole recipient. Never add recipient fields, send to a third party, forward a message, or start a campaign. Sent and received messages share the workspace's monthly email allowance, then draw from its USD usage wallet at the published fixed rate.

## Meetings and usage wallet

With an owner-issued meeting scope, Claw Meetings may join Zoom, Google Meet, Microsoft Teams, or Webex and save the transcript, summary, action items, and optional recording privately in Drive. Confirm the meeting URL, recording consent, destination Agent, and whether to save the recording before scheduling it.

Paid plans consume monthly meeting, email, and storage allowances first. Additional usage draws from a closed-loop USD wallet at the public fixed rates. You may report remaining capacity, but never load funds, enable auto-reload, or raise a spend cap without explicit owner approval.

Discover the same provider-neutral surface through `/.well-known/agent-card.json`, `/openapi.json`, `/mcp.json`, and `/.well-known/openid-configuration`. Prefer OAuth device authorization where supported; API keys remain suitable for CI.

MCP authorization is available on every plan. Creating an A2A authorization requires Basic or Plus.

WhatsApp uses a dedicated claw.me number added to the owner’s own Meta Business Portfolio, developer app, and WABA. Meta’s SMS code is captured by Claw Me and never enters the Inbox, Wiki, logs, or agent memory. With explicit `channels:read`, inspect `/api/v1/claw-me/identities/{identity_id}/whatsapp-business/verification-code` only long enough to relay it to the owner. Never ask the owner to paste a Meta access token, app secret, webhook verify token, WABA ID, or phone-number ID into Claw Me. Those values and the Meta callback URL are configured directly in the Agent; message traffic must bypass Claw Me entirely.

## Boundaries

- Request the smallest useful scope.
- Profiles and Pages remain private unless the owner deliberately shares or publishes them.
- Do not publish publicly, purchase a number, enable Managed OpenClaw, or raise a spend limit without explicit approval.
- Never expose API keys, Gateway or device tokens, setup codes, presigned uploads, or channel credentials.

When setup succeeds, ask whether the user wants to collaborate in a Drive Workspace, publish a Page, share approved Wiki context, or add a Managed Claw.

Free needs no card to start. The plans are Free, Basic and Plus. Optional usage billing on Free preserves 100 monthly emails and 1 GB storage, enables one connected custom domain, and requires separately approved wallet funding and a spend cap before extra usage. The compatibility MCP tool `billing_start_payg` begins card setup with owner approval; it does not buy a subscription. See https://claw.me/pricing.md for current allowances.
