> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cadenzalabs.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Actions

> Build, list, and manage reusable robot actions tied to your account.

Actions are reusable robot behaviors that belong to **your account**. There are
two kinds:

* **Group** (a macro): an ordered sequence of existing base actions (e.g.
  `walk_forward`, `turn_left`).
* **Custom**: a behavior defined directly from joint-pose keyframes.

Created actions are saved **locally** under `<project>/actions/<name>.json` and
**synced to your account** in the same step.

<Note>
  All `env action` commands **require [sign-in](/cli-setup/authentication)**. They
  operate on your account's actions. Run `cadenza login <name> <token>` first.
</Note>

## Create

```bash theme={null}
cadenza env action create <project> <name> [options]
```

| Flag                   | Description                                                                                                    |
| ---------------------- | -------------------------------------------------------------------------------------------------------------- |
| `--group`              | Build a macro (default).                                                                                       |
| `--steps '<a,b,c>'`    | Comma-separated base actions for a group, e.g. `'walk_forward,turn_left,sit'`. Omit to build interactively.    |
| `--custom`             | Build a custom joint-pose action.                                                                              |
| `--frames-file <file>` | Read custom keyframes from a JSON file instead of the interactive editor (for scripts/CI). Implies `--custom`. |
| `--robot <name>`       | Robot for the action. Defaults to the project's `env.json` robot, else `go1`.                                  |

The robot determines the available base actions. See [SDK · Actions](/sdk/actions)
for the full `go1` and `g1` action lists.

<Tabs>
  <Tab title="Group (macro)">
    ```bash theme={null}
    cadenza env action create rescue-dog enter_and_search \
      --group --steps 'walk_forward,crawl_forward,turn_left'
    # ↑ synced to supabase (row …, account …)
    ```
  </Tab>

  <Tab title="Custom (from a file)">
    ```bash theme={null}
    cadenza env action create rescue-dog paw_wave \
      --custom --frames-file paw_wave.json --robot g1
    ```

    Without `--frames-file`, an interactive keyframe editor opens.
  </Tab>
</Tabs>

## List, show, remove

```bash theme={null}
cadenza env action list                       # YOUR account's actions (sign-in required)
cadenza env action show rescue-dog enter_and_search    # inspect a local action
cadenza env action remove rescue-dog paw_wave          # delete a local action
```

* `list` returns only **your own** account's actions. You never see anyone
  else's.
* `show` / `remove` operate on the project's **local** action files.

<Tip>
  Use a group action's name as a step inside `env.json` phases or in larger
  macros to compose complex behaviors from simple ones.
</Tip>
