Skip to content
Agentmart
Submit a tool

crabbox-apps

Use when asked to open, run, test, or show an app in Crabbox, including native desktops, web previews, and computer use on a temporary machine.

Skill by openclaw

IndexedMIT★ 392,925
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/openclaw-crabbox-apps

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when asked to open, run, test, or show an app in Crabbox, including native desktops, web previews, and computer use on a temporary machine.

Use cases: testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/crabbox-apps

What's inside

Skill name
crabbox-apps
Description
Use when asked to open, run, test, or show an app in Crabbox, including native desktops, web previews, and computer use on a temporary machine.
License
MIT
Instructions
101 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Apps in Crabbox

"Open in Crabbox and show me" means launch the working application and open its
view in the requesting user's chat side panel. Finish both operations.

Use the enabled `crabbox` tool to inspect the current attachment before creating
one. Reuse that environment for follow-ups. `profiles` discovers configured
profiles; choose one compatible with the application. Native desktop viewing
and CUA require a desktop-enabled profile. Never silently substitute another OS
for an application that requires a particular platform.

`create` attaches the machine to this conversation without moving the agent or
its primary workspace. For an open-and-show request with the `screen` capability
available, pass `presentation: "desktop"` for a native app or
`presentation: "portal"` for a web app. This opens the right sidebar with machine
startup progress before provisioning finishes. Its result identifies the
environment. Use `exec` for commands on that environment; the ordinary shell still has its existing target.
Copy or recreate the task's required files explicitly. Do not assume the local
project was synchronized.

## Native apps

1. Install or build the app using remote `exec` as needed.
2. Launch it with `exec` and `background: true`. Retain its `processId` for
   status, logs, and stop. Do not detach a shell process to escape lifecycle ownership.
3. When the `computer` tool is available, select the returned `environmentId`
   and observe the application. CUA operates on the same desktop shown by VNC.
4. When the `screen` tool is available, call `desktop_show` with that
   `environmentId` and `dock: "right"`. Verify the app is ready before claiming
   success. An allocated machine or a blank desktop alone is insufficient.

## Web apps

1. When the `portal` tool is available, open a portal for the environment and
   application's port using `environmentId`. Keep its portal ID and public URL.
2. Start the web server with remote `exec`, `background: true`, and the
   application's `PORT` and `PUBLIC_URL` set explicitly. Verify it responds.
3. When the `screen` tool is available, use `portal_show` with the returned
   `portalId` and `dock: "right"`. Show the web application directly in the portal.
4. For CUA testing, use the attached environment's browser against the same
   server. The remote browser and the user's portal have separate cookies and
   browser state; do not assume they share a login or page navigation.

If an essential tool or desktop capability is unavailable, report the missing
capability and the actual completed state. A portal that the user's browser
cannot reach is not a completed preview. Preserve the separate-origin portal
transport; never expose arbitrary application scripts on the Gateway origin.

## Apps that call a model API

Cloud-agent inference already uses Gateway-held authentication. An application
inside the lease making its own API calls needs a separate protected route.
For an exclusively owned coordinator-backed Linux lease, use the host CLI:

```sh
openclaw crabbox run --id <lease-id> --model <provider/model> -- <command> <args>
```

Run from the credential-owning host and the local project directory that owns
the lease. Prepare source and dependencies first: the command skips sync and
hydration, and its bridge permits only the model host. A lease ID does not
override Crabbox's repository claim. Require no active egress session and a
Crabbox binary supporting `egress run --upstream-proxy-env`. Crabbox owns the
foreground bridge, remote command, and session cleanup.

The provider must have a configured API-key SecretRef and an OpenAI-compatible
HTTPS endpoint on port 443. Auth-profile/OAuth credentials, custom headers, and
request transport overrides are unsupported. The CLI injects a sentinel as
`OPENAI_API_KEY`, plus `OPENAI_BASE_URL`, `OPENAI_MODEL`, proxy settings, and
public CA trust. The actual key and upstream proxy credentials stay on the host.
Use a client that honors the proxy and CA environment; Node.js needs
`NODE_USE_ENV_PROXY` support, while Python's default `urllib.request` opener
honors the environment. Custom SDK clients may need explicit proxy/trust setup.

Keep this command alive for the full app lifetime. Do not detach the app or
copy a key into the box. Ordinary tool `exec` and `background` do not acquire
this model grant. Cancellation revokes access before cleanup; if settlement is
uncertain, inspect the named session and remote process before reusing the lease.
This path needs no Gateway restart or persistent egress setting. See the
[setup, runnable example, and recovery guide](https://docs.openclaw.ai/gateway/secrets/secret-store-and-egress#model-credentials-for-crabbox-commands).

## Follow-ups and cleanup

Reopen the current environment or portal for "show me again". A viewer reconnect
must not allocate another machine. Before showing a remembered portal, confirm
it still exists with `portal list`; portal IDs can expire across Gateway restarts.
If it is gone, open a replacement for the same environment and running app port,
then show and verify that new portal. Refresh the app's `PUBLIC_URL` if it relies
on that URL for links or redirects. Use `process_status` to inspect a launched
app and `process_stop` to stop just that process. `stop` releases the entire
temporary environment. Closing the side panel only hides the view.

Observe again before CUA input. When the user takes desktop control, stop sending
input until they release control; screenshot reads may continue. Never work
around a control-ownership refusal with shell-injected clicks.

The machine is disposable and follows its configured lifetime. Preserve requested
outputs before stopping it; the conversation transcript alone is not a backup
of remote files.

From openclaw/openclaw, MIT.

More from openclaw/openclaw

Signals

Stars
392,925
Forks
82,585
Open issues
4,992
Last commit (this folder)
Sep 23, 2026 (1 month ago)
Last release
Oct 24, 2026 (3 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from openclaw

Cite this page

crabbox-apps skill. Agent Mart. https://agentmart.dev/skills/openclaw-crabbox-apps (last updated 2026-10-24)