.cursor/skills/using-ado-cli/SKILL.md
Guidelines for using ado CLI commands and documenting them correctly. Use when writing documentation that includes ado commands, verifying CLI syntax, or explaining ado CLI usage patterns to users.
npx skillsauth add ibm/ado using-ado-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Always run --help before writing any ado command in documentation, comments,
or code. Do not rely on memory or analogy to other CLIs.
# Verify top-level command
uv run ado [COMMAND] --help
# Verify subcommands
uv run ado [COMMAND] [SUBCOMMAND] --help
uv run ado [COMMAND] [SUBCOMMAND1] [SUBCOMMAND2] --help
Check:
--use-latest not --latest)These plausible-sounding commands do not exist in ado. Do not write them:
| ❌ Does not exist | ✅ Correct equivalent |
| ----------------- | --------------------------------------- |
| ado run | ado create operation -f op.yaml |
| ado start | ado create operation -f op.yaml |
| ado execute | ado create operation -f op.yaml |
| ado launch | ado create operation -f op.yaml |
| ado list | ado get spaces / ado get operations |
| ado status | ado show details space SPACE_ID |
Key principle: ado create operation both defines and starts the
operation in a single command. There is no separate "run" step.
run_experiment is a separate CLI entry point (not an ado subcommand) for
running a single entity through an experiment locally, without creating a space
or operation. It is the correct tool for functional validation of custom
experiments.
uv run run_experiment PATH_TO_POINT_YAML
A point YAML has the form:
entity:
param_a: value_a
param_b: value_b
experiments:
- actuatorIdentifier: custom_experiments
experimentIdentifier: my_experiment
It prints the result as a pandas Series and exits. No metastore or Ray cluster needed beyond a local Ray instance (started automatically).
Lists resources of a given type and gets resource YAML
#List all spaces
uv run ado get spaces
#Get the YAML for a space
uv run ado get space SPACE_ID -o yaml
Creates resources and starts operations.
# Create a discoveryspace
uv run ado create space -f space.yaml
# Create and start an operation
uv run ado create operation -f operation.yaml
Key point: ado create both defines AND initiates resources.
Retrieves details and data from resources.
# Get a summary of what has been sampled from the space
uv run ado show details space SPACE_ID
# Get latest results
uv run ado show results operation OPERATION_ID
# Get entities and measurements
uv run ado show entities space SPACE_ID
uv run ado show entities operation OPERATION_ID
Outputs a human readable description
# Output a description of a space
# Dimensions, values, experiments
uv run ado describe space SPACE_ID
#Output a description of an experiment
# (input params, output params etc.)
uv run ado describe experiment EXPERIMENT_ID
If commands are not given expected output use the -l flag to activate different log levels
e.g. for debug level logs
uv run ado -lDEBUG [COMMAND]
Entities represent points in the discovery space with:
| Command | What It Shows |
| ------------------------- | ------------------------------------------------------------------------ |
| show entities operation | Entities (inputs) and their measurements (outputs) from this operation |
| show entities space | All entities and measurements collected in this space |
| show results operation | Results metadata from this operation (not the full measurement data) |
Example distinction:
# Get the actual measurement data for entities
uv run ado show entities operation op-123
# Get metadata about the operation's results
uv run ado show results operation op-123
Queries the current context's metastore to find the most recently created resource of the given type.
Without --use-latest:
# Step 1: Create space, note the ID from output
uv run ado create space -f space.yaml
# Output: Created space: space-abc123
# Step 2: Edit operation.yaml to add space-abc123
# Step 3: Create operation
uv run ado create operation -f operation.yaml
With --use-latest:
# Step 1: Create space
uv run ado create space -f space.yaml
# Step 2: Create operation using that space automatically
uv run ado create operation -f operation.yaml --use-latest
The --use-latest flag automatically fills in the latest space ID.
Overrides individual fields in a resource YAML at creation time without editing
the file. Takes path=JSON_document pairs; can be used multiple times.
# Override the sample store used by a space
uv run ado create space -f space.yaml --set sampleStoreIdentifier=my_store
# Override a nested operation parameter
uv run ado create operation -f operation.yaml --set parameters.budget=100
Creates a resource from YAML inline and uses it in the current command.
Without --with:
# Create actuator configuration separately
uv run ado create actuatorconfiguration -f actuator.yaml
# Edit operation.yaml to reference the actuator config ID
uv run ado create operation -f operation.yaml
With --with:
# Create both in one command
uv run ado create operation -f operation.yaml \
--with space=space.yaml \
--with actuatorconfiguration=actuator.yaml
This creates the space and actuator configuration, then automatically references them when creating the operation.
When writing documentation with ado commands:
--helpspace-abc123 not SPACE_ID in
code blocks where actual output is shown)--use-latest, --with) in tutorials to reduce
friction## Creating and Running an Operation
First, create your discovery space:
\`\`\`bash ado create space -f space.yaml \`\`\`
Then create and start the operation, automatically using the space you just
created:
\`\`\`bash ado create operation -f operation.yaml --use-latest space \`\`\`
View the entities (inputs) and their measurements (outputs):
\`\`\`bash ado show entities operation --use-latest \`\`\`
# List all operations
uv run ado get operations
# Get details on a specific operation
uv run ado get operation -o yaml op-123
# Get the entities and measurements
uv run ado show entities operation op-123
# Create everything in one command
uv run ado create operation -f operation.yaml \
--with space=space.yaml \
--with actuatorconfiguration=config.yaml
# Create space
uv run ado create space -f space.yaml
# Validate with dry-run
uv run ado create operation -f operation.yaml --dry-run --use-latest
# Actually create it
uv run ado create operation -f operation.yaml --use-latest
development
Builds a picture of work in an ado project: activity volume, spaces and operations created over time, experiments and operation configs used etc. Use to create a project/context overview report, summarize what the team has been doing in an ado project, report trends across spaces/operations, or to onboard onto an ado project.
testing
Guidance for creating ado resource YAML files (discoveryspace, operation, actuatorconfiguration, samplestore). Covers metadata conventions, dynamic reference resolution with --use-latest/--with/--set, space design principles, avoiding duplicate resources, and validation. Use when creating or editing any ado resource YAML file.
tools
Run ado operations on remote Ray clusters using --remote execution context files. Use when the user wants to create an operation, asks about remote clusters, wants to ship local plugins or data files to a cluster, or asks about execution context YAML files. Also applies proactively when creating an operation if execution context files are present in the workspace.
tools
Query ado metadata and measurement data using CLI commands. Use when the user needs to find resources, filter by metadata, retrieve entities and measurements, or get resource schemas. Covers metastore queries (operations, discoveryspaces, samplestores, datacontainers, actuatorconfigurations) and samplestore queries (entities and measurements).