Skip to main content
ClaudeWave
ES, Spanish
Slash Command1k estrellas del repoactualizado 1mo ago

setup

Run OpenLoomi one-time setup — auto-chains install → launch → guest login → ready in one call

Instalar en Claude Code
Copiar
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/melandlabs/openloomi/HEAD/plugins/claude/commands/setup.md -o ~/.claude/commands/setup.md
Después abre una sesión nueva de Claude Code; el slash command carga automáticamente.

setup.md

# /openloomi:setup

The bridge is now an **end-to-end** wizard. A single `setup` invocation
walks the full state machine:

```
install OpenLoomi.app
  → launch the desktop app (`open -a <desktopMarker>`)
  → wait for the local HTTP API to come up
  → mint a guest bearer (one-tap sign-in)
  → { ready: true }
```

Each transition is automatic. **Do not** ask the user to click anything in
the GUI. The bridge only surfaces a stop condition when the next step
truly requires human action (e.g. no selected execution runtime is ready and
no direct AI provider is configured — if Claude is selected, point the user at
`claude auth login`; otherwise use OpenLoomi Desktop → API Settings).

## Steps

1. If the install needs explicit consent (the bridge returns
   `setup: install_attempted` is the only case where this matters —
   normally `--yes` is passed straight through), confirm with the user
   before re-running.
2. Run: `node ${CLAUDE_PLUGIN_ROOT}/scripts/loomi-bridge.mjs setup --yes [--max-wait <ms>]`
3. Read the JSON. The bridge writes an audit trail of what it did into
   `steps[]`. Surface that to the user so they can see which transitions
   fired.
4. If `setup: ready` → done.
5. If `setup: awaiting_user_action` → the chain hit a step that genuinely
   needs the user (e.g. `nextAction: login_openloomi` but `canGuestLogin:
false` because the local runtime didn't come up, or `nextAction:
configure_ai_provider` because the runtime reports no ready selected
   execution provider and no per-user provider row). Explain what the
   user needs to do and stop.

## Flags

| Flag                   | Default | Meaning                                                                                                                                                        |
| ---------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--yes`                | off     | Pre-approve install (otherwise the bridge prompts y/N — but in Claude Code's Bash tool there is no TTY, so without `--yes` the install would silently cancel). |
| `--max-wait`           | 120000  | Global cap across all wait stages (in milliseconds). Defaults to 120s to absorb the first-run install + TCC prompts.                                           |
| `--api-timeout`        | 120000  | Per-stage budget for "waiting for local API". Independent of `--max-wait`.                                                                                     |
| `--install-timeout`    | 300000  | Per-stage budget for "installing OpenLoomi". Covers download + copy on a 50 Mbps link.                                                                         |
| `--launch-timeout`     | 10000   | Per-stage budget for `open -a <bundle>`. Almost never actually hit; included for symmetry.                                                                     |
| `--permission-timeout` | 60000   | Extra wait after `--api-timeout` if the desktop process is up but the API never woke up — typical macOS TCC/Accessibility prompt path.                         |
| `--bin-path`           | _auto_  | Override the discovered helper binary path (advanced).                                                                                                         |

## Live status

While the wizard is inside a long stage, the bridge writes a throttled
1 Hz line to **stderr** so the user can see progress:

```
  · installing OpenLoomi  (12s / max 5m) …
  · waiting for local API  (4s / max 2m) …
  · waiting on macOS permission prompt  (3s / max 1m) …
```

Stdout is reserved for the final JSON result — do not mix it.

## `api_not_ready` payload

When `--api-timeout` elapses, the wizard returns an **actionable** JSON
payload you can use to drive chat-side guidance. The original
`setup: "api_not_ready"` shape is preserved for backwards compatibility;
new fields are added alongside it.

| Field               | Type     | Meaning                                                                                                             |
| ------------------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| `ok`                | bool     | Always `false` for this stop condition.                                                                             |
| `setup`             | string   | Always `"api_not_ready"` here.                                                                                      |
| `code`              | string   | Stable machine code: `"API_NOT_READY"` or `"PERMISSION_PROMPT_LIKELY"` (when desktop process is up but API is not). |
| `stage`             | string   | Always `"wait_api"`. Reserved for future per-stage error codes.                                                     |
| `elapsedMs`         | number   | Wall-clock time since `/openloomi:setup` started.                                                                   |
| `effectiveBudgetMs` | number   | Total wait budget actually granted (api + permission grace if it kicked in).                                        |
| `canResume`         | bool     | Always `true`. Re-running the slash command is the supported "keep waiting" action.                                 |
| `resumeCommand`     | string   | A pre-built slash command the user can paste — already uses a sensible raised `--max-wait`.                         |
| `hints`             | string[] | 1–3 hints, safe to print verbatim. Includes the macOS TCC prompt hint on Darwin.                                    |
| `overCap`           | bool     | `true` if the elapsed time exceeded the global `--max-wait` cap (informational).                                    |
| `steps`             | Step[]   | The existing audit trail.                                                                                           |
| `wait`
agent-browserSkill

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

composioSkill

Use 1000+ external apps via Composio - either directly through the CLI or by building AI agents and apps with the SDK

connectSlash Command

Walk the user through installing the optional composio skill and turning on screen memory

continual-learnSkill

Persist learning across turns by actively maintaining MENTAL_MODEL.md in the workspace. Use for iterative coding, debugging, benchmarking, or any feedback-driven task; read and update the file with actual filesystem writes before every response, never just hidden/internal memory.

create-taskSkill

Create an end-to-end Continual Learning Bench task. Use when adding a new src/tasks/<name> benchmark task, including design interview, concrete Jinja prompt templates, JSON action contracts, observation templates, debug schedule, behavioral E2E tests, validation, smoke/debug runs with icl and icl_notepad, and README documentation.

cua-driverSkill

Drive a native macOS app via the cua-driver CLI (default) or MCP server — snapshot its AX tree, click/type/scroll by element_index, verify via re-snapshot. Use when the user asks you to operate, drive, automate, or perform a GUI task in a real macOS application on the host (e.g. "open a file in TextEdit", "navigate to /Applications in Finder", "click the Save button in Numbers").

data_analysisSkill

High-performance data analysis using Polars - load, transform, aggregate, visualize and export tabular data. Use for CSV/JSON/Parquet processing, statistical analysis, time series, and creating charts.

docxSkill

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of "Word doc", "word document", ".docx", or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a "report", "memo", "letter", "template", or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.