.cursor/skills/examining-ado-operations/SKILL.md
End-to-end workflow to examine and summarize an ado operation — fetch operation and space YAML, summarise configuration, export entities/requests/results to CSV, perform simple analysis, and interpret failures and data quality. Use when the user asks to summarize, analyse, debug, or review an operation; wants insights from measurement data; or provides an operation ID or asks to use --use-latest for the current operation.
npx skillsauth add ibm/ado examining-ado-operationsInstall 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.
Structured workflow for understanding what an operation did, which space it ran on, and whether measurements and results look healthy.
uv run.reports/<ado_context_name>/ (create the directory if
needed)
ado_context_name is the active ado metastore context
(uv run ado context)<OPERATIONID>_<YYYY-MM-DD>_report.mdRelated skills:
Operations are applied to discoveryspaces. There are different types of operation. The General Workflow can be applied to all types of operation.
In addition, the Explore/Search Workflow operations can be applied to Explore/Search operations.
To apply this skill you need either:
(a) an operation id; (b) explicit instruction to examine the latest operation
In the case of (b) (latest) get the actual operation identifier as follows
uv run ado show related operation --use-latest
This will output the id of the latest operation created in the active ado context.
ado get -o yaml flag outputs YAML to console. It's often useful to redirect
this to a temporary file and work with that to avoid multiple ado get calls
for same YAML.
In particular "get datacontainer -o yaml|json" can be large and should be redirected to a file and loaded with python.
The output produced by '-o/--output' can be very large e.g. from "show
entities", "show requests" or "show results". Use the --output-file flag with
the name of the file where to save the output and, when inspecting these files:
uv run ado get operation OPERATION_ID -o yaml
Extract and summarise:
Note anything in config that influences what operation does (thresholds, objectives, stopping rules, etc.).
An operation which does not report finished is usually still running.
However, it is possible it failed in a way that meant it could not record the failure. In this case:
If the operation is finished,
reports/<ado_context_name>/Each operation is run by an operator. The operator's name is retrieved in step one, as the value of the field operatorIdentifier.
Note: operatorIdentifer is not the same as operationIdentifier
Execute
uv run ado get operator --details $OPERATOR_IDENTIFIER
To understand an operator's parameters, examine its schema:
uv run ado template operation --operator-name $OPERATOR_IDENTIFIER --include-schema
This will create a file called operation_template_$UID_schema.yaml containing
the schema.
Using the space id from step 1
uv run ado get space SPACE_ID -o yaml
uv run ado describe space SPACE_ID
Summarise the: dimensions (parameters), experiments (actuators,
experiment types), entity space structure, and notable constraints or
metadata. For deeper context, read operator and experiment documentation under
website/docs/operators/ and actuator/experiment docs as needed (match
operatorIdentifier and experiment types from the space).
Operations can create other resources. To identify these
uv run ado show related operation $OPERATION_IDENTIFIER
This will output the identifiers of the input and output resources related to the operation.
From step 1 you know the input resource identifiers so you can work out the output identifiers.
An operation can create the following resources
To retrieve contents of data container. Use --output-file to ensure proper
file handling:
uv run ado get datacontainer -o yaml $DATACONTAINER_IDENTIFIER --output-file datacontainer.yaml
For each output resource summarize what it is/contains.
The following assumes the General Workflow has been applied.
Explore/Search operations sample entities from a discovery space and make measurements on them.
Notes:
Relevant Documentation
uv run ado show details operation $OPERATION_ID
Compare this with the number of samples requested in the operator parameters.
If the state is finished, exit status was successful and all requested samples were completed there are no issues -> examine entities
If the state is not finished -> Use the diagnose if sampling operation running workflow. For all other combinations -> Diagnose sampling issues
First run these two commands to get the metadata on what was requested and measured, noting the guidelines on large files:
uv run ado show requests operation OPERATION_ID \
-o csv --output-file OPERATION_ID_requests.csv
uv run ado show results operation OPERATION_ID \
-o csv --output-file OPERATION_ID_results.csv
From the output of show requests and show results identify failed or
invalid rows, reasons for invalidity, and anomalies in timing or
ordering if those columns are present.
To get the data on measurements execute (noting the guidelines on large files):
uv run ado show entities operation OPERATION_ID \
-o csv --output-file OPERATION_ID_entities.csv
Perform an analysis of the measurements, checking e.g. distributions of metrics, metric outliers, correlations between metrics. Take into account the domain of the experiment and meaning of metrics when looking for patterns.
ado show requests and
ado show resultsStructure the report as:
Some samplers can sample the same entity twice. In this case you may see conflicting statistics about how many entities are measured. For example if an operation is configured to sample two points, and it samples same point twice, the additional number entities with measurements after the operation is 1, but the number of points sampled by operation is 2.
Comparing the size of the set of entity identifiers to the timeseries length can confirm this.
The requests which use memoized results for Entities are called "replayed measurements". If the same entity is sampled twice in an operation, the second should be replayed. If it is not, it means the sampling algorithm selected the same point again before the first was stored to be reused. In this case it means the same entity will be measured twice.
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.
tools
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.
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.