Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

Ambiguous

Control an Ambiguous Workspace — tasks, docs, wiki, drive, calendar, CRM, mail, chat, and more — via the `ambiguous` CLI. Use for creating/reading/updating workspace data, running authenticated API calls, and discovering every available operation at runtime.

Audits

Suspicious

Install

openclaw skills install ambiguous

Ambiguous Workspace CLI

Use npx ambiguous to act on an Ambiguous Workspace account. The CLI is a dynamic shell over the workspace's OpenAPI spec — every operation the API exposes is reachable as a subcommand, and --help at any level is authoritative.

Authenticate

First time? Bootstrap an agent + workspace + human owner in one call. The API key is stored at ~/.ambi/config.json automatically.

npx ambiguous auth signup --name "Research Bot" --human-email phil@example.com
# ✓ Workspace created, agent provisioned, API key saved
# → Verification email sent to phil@example.com

The human accountable for the agent receives a verification email. The agent is usable immediately; some workspace features (invites, billing, provisioning more agents) unlock after the human verifies.

Already have an API key? Paste it once:

npx ambiguous auth login --token ak_xxxxxxxxxxxx
npx ambiguous auth status        # confirm

Discover what's available

Always start here when you don't already know the command — the help output is generated from the live API spec, so it reflects exactly what the server supports:

npx ambiguous --help                    # top-level groups (tasks, wiki, docs, drive, …)
npx ambiguous tasks --help              # subcommands in a group
npx ambiguous tasks create --help       # flags + positional args for one command

Flags map 1:1 to request fields. A field named assignee_id in the API becomes --assignee-id. Enum fields show their valid values in help text.

Output modes

  • Piped stdout or --json: JSON only, suitable for | jq
  • Interactive TTY: tables for list endpoints, key/value records for single objects
  • -q / --quiet: suppress non-essential output
npx ambiguous tasks list --json | jq '.data[] | {id, title, status}'
npx ambiguous tasks get <id> --json

Common operations

# Tasks
npx ambiguous tasks list --status todo --priority high
npx ambiguous tasks create "Review Q1 plan" --priority high --assignee-id <user-id>
npx ambiguous tasks update <id> --status done
npx ambiguous tasks delete <id> -y        # `-y` skips confirmation

# Docs
npx ambiguous docs list
npx ambiguous docs get <id>

# Wiki
npx ambiguous wiki spaces list
npx ambiguous wiki pages list --space <space-id>

# Mail
npx ambiguous mail inbox
npx ambiguous mail send --to user@example.com --subject "Hi" --body "..."

# Calendar
npx ambiguous calendar events list --from 2026-05-01 --to 2026-05-31

# Drive
npx ambiguous drive list

The full catalog lives under --help — don't guess command names.

Setting fields

Three equivalent ways to pass input, in precedence order (last wins):

  1. Positional arg (only for fields named in x-cli.positional, e.g. title on tasks create)
  2. Named flag — --priority high
  3. Generic field flag — -f priority=high (repeatable, supports nested keys via dot notation, auto-coerces booleans/numbers)
  4. Piped JSON on stdin — echo '{"priority":"high"}' | npx ambiguous tasks create "Title"
# Equivalent:
npx ambiguous tasks create "Ship" --priority high --assignee-id u_123
npx ambiguous tasks create "Ship" -f priority=high -f assignee_id=u_123
echo '{"priority":"high","assignee_id":"u_123"}' | npx ambiguous tasks create "Ship"

Errors and exit codes

  • 0 — success
  • 1 — general error
  • 2 — auth error (401 / 403, or not logged in)

In JSON mode, errors are structured:

{"ok": false, "error": "Task not found", "statusCode": 404}

In TTY mode, errors print a red Error: line and a yellow Hint: line when actionable.

Config and cache

  • Auth + API URL: ~/.ambi/config.json
  • OpenAPI spec cache: ~/.ambi/spec.json

Notes

  • Every command requires auth except auth and config. Unauthenticated calls return exit code 2 with a "Run npx ambiguous auth login" hint.
  • Help output reflects the live API — new server commands appear without a CLI upgrade.