·
Last changedVersion:
No hardening report available.
question, answer, context)System-managed fields on examples (id, created_at, updated_at) are auto-generated by the server -- never include them in create or append payloads.
Proceed directly with the task — run the ax command you need. Do NOT check versions, env vars, or profiles upfront.
If an ax command fails, troubleshoot based on the error:
command not found or version error → see references/ax-setup.md401 Unauthorized / missing API key → Stop and inform the user that authentication failed. Do NOT run ax profiles show automatically — depending on the ax version, this command may print the stored API key to stdout where it can be captured in logs or conversation context. Ask the user to run ax profiles show themselves in a separate terminal to check their profile configuration, follow references/ax-profiles.md to create or update a profile, or visit https://app.arize.com/admin > API Keys to retrieve their key.ax spaces list to pick by name, or ask the userax projects list -o json --limit 100 and present as selectable options.env files or search the filesystem for credentials. Use ax profiles for Arize credentials and ax ai-integrations for LLM provider keys. If credentials are not available through these channels, ask the user.ax datasets get "NAME_OR_ID" --space "SPACE"). Do not construct --json values by interpolating unsanitized user input — generate the JSON payload programmatically and pass it as a quoted string.--output-dir, only accept paths that resolve within the current working directory. Do not accept values containing ../ sequences or absolute paths outside the workspace.--file, only pass paths to data files (CSV, JSON, JSONL, Parquet) that the user has explicitly identified as dataset files. Never pass credential files, shell configs, SSH keys, system files, or any file the user has not explicitly designated as dataset input. Prefer the stdin pattern (--file -) for agent-generated data.~/.zshrc, ~/.bashrc, etc.) or write startup scripts without explicit user instruction. If environment variable export is needed, ask the user to make the change themselves.ax datasets listBrowse datasets in a space. Output goes to stdout.
| Flag | Type | Default | Description |
|---|---|---|---|
| string | from profile | Filter by space |
| int | 15 | Max results (1-100) |
| string | none | Pagination cursor from previous response |
| string | table | Output format: table, json, csv, parquet, or file path |
| string | default | Configuration profile |
ax datasets getQuick metadata lookup -- returns dataset name, space, timestamps, and version list.
| Flag | Type | Default | Description |
|---|---|---|---|
| string | required | Dataset name or ID (positional) |
| string | none | Space name or ID (required if using dataset name instead of ID) |
| string | table | Output format |
| string | default | Configuration profile |
| Field | Type | Description |
|---|---|---|
| string | Dataset ID |
| string | Dataset name |
| string | Space this dataset belongs to |
| datetime | When the dataset was created |
| datetime | Last modification time |
| array | List of dataset versions (id, name, dataset_id, created_at, updated_at) |
ax datasets exportDownload all examples to a file. Use --all for datasets larger than 500 examples (unlimited bulk export).
| Flag | Type | Default | Description |
|---|---|---|---|
| string | required | Dataset name or ID (positional) |
| string | none | Space name or ID (required if using dataset name instead of ID) |
| string | latest | Export a specific dataset version |
| bool | false | Unlimited bulk export (use for datasets > 500 examples) |
| string |
| Output directory |
| bool | false | Print JSON to stdout instead of file |
| string | default | Configuration profile |
Agent auto-escalation rule: If an export returns exactly 500 examples, the result is likely truncated — re-run with --all to get the full dataset.
Export completeness verification: After exporting, confirm the row count matches what the server reports:
Output is a JSON array of example objects. Each example has system fields (id, created_at, updated_at) plus all user-defined fields:
ax datasets createCreate a new dataset from a data file.
| Flag | Type | Required | Description |
|---|---|---|---|
| string | yes | Dataset name |
| string | yes | Space to create the dataset in |
| path | yes | Data file: CSV, JSON, JSONL, or Parquet |
| string | no | Output format for the returned dataset metadata |
| string | no | Configuration profile |
Use --file - to pipe data directly — no temp file needed:
To add rows to an existing dataset, use ax datasets append --json '[...]' instead — no file needed.
| Format | Extension | Notes |
|---|---|---|
CSV |
| Column headers become field names |
JSON |
| Array of objects |
JSON Lines |
| One object per line (NOT a JSON array) |
Parquet |
| Column names become field names; preserves types |
Format gotchas:
null becomes empty string. Use JSON/Parquet to preserve types.[{...}, {...}]) in a .jsonl file will fail — use .json extension instead.pandas/pyarrow to read locally: pd.read_parquet("examples.parquet").ax datasets appendAdd examples to an existing dataset. Two input modes -- use whichever fits.
Generate the payload directly -- no temp files needed:
| Flag | Type | Required | Description |
|---|---|---|---|
| string | yes | Dataset name or ID (positional); add |
| string | no | Space name or ID (required if using dataset name instead of ID) |
| string | mutex | JSON array of example objects |
| path | mutex | Data file (CSV, JSON, JSONL, Parquet) |
| string | no | Append to a specific version (default: latest) |
| string | no | Output format for the returned dataset metadata |
| string | no | Configuration profile |
Exactly one of --json or --file is required.
Schema validation before append: If the dataset already has examples, inspect its schema before appending to avoid silent field mismatches:
Fields are free-form: extra fields in new examples are added, and missing fields become null. However, typos in field names (e.g., queston vs question) create new columns silently -- verify spelling before appending.
ax datasets delete| Flag | Type | Default | Description |
|---|---|---|---|
| string | required | Dataset name or ID (positional) |
| string | none | Space name or ID (required if using dataset name instead of ID) |
| bool | false | Skip confirmation prompt |
| string | default | Configuration profile |
Agent instruction: Do not use --force by default. Always seek explicit user confirmation before running a destructive delete command.
All dataset commands accept a name or ID directly. You can pass a dataset name as the positional argument (add --space SPACE when not using an ID):
input, expected_output)
--file - (see the Create Dataset section)ax datasets create --name "eval-set-v1" --space SPACE --file eval_data.csvax datasets get DATASET_NAME --space SPACEax datasets list --space SPACE -- find the dataset nameax datasets export DATASET_NAME --space SPACE -- download to filejq '.[] | .question' dataset_*/examples.jsonax datasets export DATASET_NAME --space SPACEax datasets append DATASET_NAME --space SPACE --file new_rows.csvax datasets create --name "eval-set-v2" --space SPACE --file updated_data.jsonExamples are free-form JSON objects. There is no fixed schema -- columns are whatever fields you provide. System-managed fields are added by the server:
| Field | Type | Managed by | Notes |
|---|---|---|---|
| string | server | Auto-generated UUID. Required on update, forbidden on create/append |
| datetime | server | Immutable creation timestamp |
| datetime | server | Auto-updated on modification |
(any user field) | any JSON type | user | String, number, boolean, null, nested object, array |
arize-tracearize-experimentarize-prompt-optimization| Problem | Solution |
|---|---|
| See references/ax-setup.md |
| API key is wrong, expired, or doesn't have access to this space. Fix the profile using references/ax-profiles.md. |
| No profile is configured. See references/ax-profiles.md to create one. |
| Verify dataset ID with |
| Supported: CSV, JSON, JSONL, Parquet. Use |
| Remove |
| Remove |
| Append requires exactly one input source |
| Ensure your JSON array or file contains at least one example |
| Each element in the |
See references/ax-profiles.md § Save Credentials for Future Use.
Need this version hardened?
Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.
—
—
MIT
HARDENING.md
LICENSE
SKILL.md
references/ax-profiles.md
references/ax-setup.md