[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AD67BDN2Y10EGFK4PP4WCD":3,"skill-same:01M6AD67BDN2Y10EGFK4PP4WCD":88},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6AD67BDN2Y10EGFK4PP4WCD","arize-dataset",null,"Creates, manages, and queries Arize datasets and examples. Covers dataset CRUD, appending examples, exporting data, and file-based dataset creation using the ax CLI. Use when the user needs test data, evaluation examples, or mentions create dataset, list datasets, export dataset, append examples, dataset version, golden dataset, or test set.","github\u002Fawesome-copilot","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3PBDYPK7NVFJNJ66Y8RS",41081,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Farize-dataset\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"dataset","arize dataset","Arize","crud","when","golden","ax","creation","export","version","use","append","list","cli","SET","data","Evaluation","examples","file","create","test","2026-11-10 10:12:30",false,"---\nname: arize-dataset\ndescription: Creates, manages, and queries Arize datasets and examples. Covers dataset CRUD, appending examples, exporting data, and file-based dataset creation using the ax CLI. Use when the user needs test data, evaluation examples, or mentions create dataset, list datasets, export dataset, append examples, dataset version, golden dataset, or test set.\nmetadata:\n  author: arize\n  version: \"1.0\"\ncompatibility: Requires the ax CLI and a configured Arize profile.\n---\n\n# Arize Dataset Skill\n\n> **`SPACE`** — All `--space` flags and the `ARIZE_SPACE` env var accept a space **name** (e.g., `my-workspace`) or a base64 space **ID** (e.g., `U3BhY2U6...`). Find yours with `ax spaces list`.\n\n## Concepts\n\n- **Dataset** = a versioned collection of examples used for evaluation and experimentation\n- **Dataset Version** = a snapshot of a dataset at a point in time; updates can be in-place or create a new version\n- **Example** = a single record in a dataset with arbitrary user-defined fields (e.g., `question`, `answer`, `context`)\n- **Space** = an organizational container; datasets belong to a space\n\nSystem-managed fields on examples (`id`, `created_at`, `updated_at`) are auto-generated by the server -- never include them in create or append payloads.\n\n## Prerequisites\n\nProceed directly with the task — run the `ax` command you need. Do NOT check versions, env vars, or profiles upfront.\n\nIf an `ax` command fails, troubleshoot based on the error:\n- `command not found` or version error → see references\u002Fax-setup.md\n- `401 Unauthorized` \u002F missing API key → run `ax profiles show` to inspect the current profile. If the profile is missing or the API key is wrong, follow references\u002Fax-profiles.md to create\u002Fupdate it. If the user doesn't have their key, direct them to https:\u002F\u002Fapp.arize.com\u002Fadmin > API Keys\n- Space unknown → run `ax spaces list` to pick by name, or ask the user\n- Project unclear → ask the user, or run `ax projects list -o json --limit 100` and present as selectable options\n- **Security:** Never read `.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.\n\n## List Datasets: `ax datasets list`\n\nBrowse datasets in a space. Output goes to stdout.\n\n```bash\nax datasets list\nax datasets list --space SPACE --limit 20\nax datasets list --cursor CURSOR_TOKEN\nax datasets list -o json\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `--space` | string | from profile | Filter by space |\n| `--limit, -l` | int | 15 | Max results (1-100) |\n| `--cursor` | string | none | Pagination cursor from previous response |\n| `-o, --output` | string | table | Output format: table, json, csv, parquet, or file path |\n| `-p, --profile` | string | default | Configuration profile |\n\n## Get Dataset: `ax datasets get`\n\nQuick metadata lookup -- returns dataset name, space, timestamps, and version list.\n\n```bash\nax datasets get NAME_OR_ID\nax datasets get NAME_OR_ID -o json\nax datasets get NAME_OR_ID --space SPACE   # required when using dataset name instead of ID\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `NAME_OR_ID` | string | required | Dataset name or ID (positional) |\n| `--space` | string | none | Space name or ID (required if using dataset name instead of ID) |\n| `-o, --output` | string | table | Output format |\n| `-p, --profile` | string | default | Configuration profile |\n\n### Response fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | string | Dataset ID |\n| `name` | string | Dataset name |\n| `space_id` | string | Space this dataset belongs to |\n| `created_at` | datetime | When the dataset was created |\n| `updated_at` | datetime | Last modification time |\n| `versions` | array | List of dataset versions (id, name, dataset_id, created_at, updated_at) |\n\n## Export Dataset: `ax datasets export`\n\nDownload all examples to a file. Use `--all` for datasets larger than 500 examples (unlimited bulk export).\n\n```bash\nax datasets export NAME_OR_ID\n# -> dataset_abc123_20260305_141500\u002Fexamples.json\n\nax datasets export NAME_OR_ID --all\nax datasets export NAME_OR_ID --version-id VERSION_ID\nax datasets export NAME_OR_ID --output-dir .\u002Fdata\nax datasets export NAME_OR_ID --stdout\nax datasets export NAME_OR_ID --stdout | jq '.[0]'\nax datasets export NAME_OR_ID --space SPACE   # required when using dataset name instead of ID\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `NAME_OR_ID` | string | required | Dataset name or ID (positional) |\n| `--space` | string | none | Space name or ID (required if using dataset name instead of ID) |\n| `--version-id` | string | latest | Export a specific dataset version |\n| `--all` | bool | false | Unlimited bulk export (use for datasets > 500 examples) |\n| `--output-dir` | string | `.` | Output directory |\n| `--stdout` | bool | false | Print JSON to stdout instead of file |\n| `-p, --profile` | string | default | Configuration profile |\n\n**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.\n\n**Export completeness verification:** After exporting, confirm the row count matches what the server reports:\n```bash\n# Get the server-reported count from dataset metadata\nax datasets get DATASET_NAME --space SPACE -o json | jq '.versions[-1] | {version: .id, examples: .example_count}'\n\n# Compare to what was exported\njq 'length' dataset_*\u002Fexamples.json\n\n# If counts differ, re-export with --all\n```\n\nOutput is a JSON array of example objects. Each example has system fields (`id`, `created_at`, `updated_at`) plus all user-defined fields:\n\n```json\n[\n  {\n    \"id\": \"ex_001\",\n    \"created_at\": \"2026-01-15T10:00:00Z\",\n    \"updated_at\": \"2026-01-15T10:00:00Z\",\n    \"question\": \"What is 2+2?\",\n    \"answer\": \"4\",\n    \"topic\": \"math\"\n  }\n]\n```\n\n## Create Dataset: `ax datasets create`\n\nCreate a new dataset from a data file.\n\n```bash\nax datasets create --name \"My Dataset\" --space SPACE --file data.csv\nax datasets create --name \"My Dataset\" --space SPACE --file data.json\nax datasets create --name \"My Dataset\" --space SPACE --file data.jsonl\nax datasets create --name \"My Dataset\" --space SPACE --file data.parquet\n```\n\n### Flags\n\n| Flag | Type | Required | Description |\n|------|------|----------|-------------|\n| `--name, -n` | string | yes | Dataset name |\n| `--space` | string | yes | Space to create the dataset in |\n| `--file, -f` | path | yes | Data file: CSV, JSON, JSONL, or Parquet |\n| `-o, --output` | string | no | Output format for the returned dataset metadata |\n| `-p, --profile` | string | no | Configuration profile |\n\n### Passing data via stdin\n\nUse `--file -` to pipe data directly — no temp file needed:\n\n```bash\necho '[{\"question\": \"What is 2+2?\", \"answer\": \"4\"}]' | ax datasets create --name \"my-dataset\" --space SPACE --file -\n\n# Or with a heredoc\nax datasets create --name \"my-dataset\" --space SPACE --file - \u003C\u003C 'EOF'\n[{\"question\": \"What is 2+2?\", \"answer\": \"4\"}]\nEOF\n```\n\nTo add rows to an existing dataset, use `ax datasets append --json '[...]'` instead — no file needed.\n\n### Supported file formats\n\n| Format | Extension | Notes |\n|--------|-----------|-------|\n| CSV | `.csv` | Column headers become field names |\n| JSON | `.json` | Array of objects |\n| JSON Lines | `.jsonl` | One object per line (NOT a JSON array) |\n| Parquet | `.parquet` | Column names become field names; preserves types |\n\n**Format gotchas:**\n- **CSV**: Loses type information — dates become strings, `null` becomes empty string. Use JSON\u002FParquet to preserve types.\n- **JSONL**: Each line is a separate JSON object. A JSON array (`[{...}, {...}]`) in a `.jsonl` file will fail — use `.json` extension instead.\n- **Parquet**: Preserves column types. Requires `pandas`\u002F`pyarrow` to read locally: `pd.read_parquet(\"examples.parquet\")`.\n\n## Append Examples: `ax datasets append`\n\nAdd examples to an existing dataset. Two input modes -- use whichever fits.\n\n### Inline JSON (agent-friendly)\n\nGenerate the payload directly -- no temp files needed:\n\n```bash\nax datasets append DATASET_NAME --space SPACE --json '[{\"question\": \"What is 2+2?\", \"answer\": \"4\"}]'\n\nax datasets append DATASET_NAME --space SPACE --json '[\n  {\"question\": \"What is gravity?\", \"answer\": \"A fundamental force...\"},\n  {\"question\": \"What is light?\", \"answer\": \"Electromagnetic radiation...\"}\n]'\n```\n\n### From a file\n\n```bash\nax datasets append DATASET_NAME --space SPACE --file new_examples.csv\nax datasets append DATASET_NAME --space SPACE --file additions.json\n```\n\n### To a specific version\n\n```bash\nax datasets append DATASET_NAME --space SPACE --json '[{\"q\": \"...\"}]' --version-id VERSION_ID\n```\n\n### Flags\n\n| Flag | Type | Required | Description |\n|------|------|----------|-------------|\n| `NAME_OR_ID` | string | yes | Dataset name or ID (positional); add `--space` when using name |\n| `--space` | string | no | Space name or ID (required if using dataset name instead of ID) |\n| `--json` | string | mutex | JSON array of example objects |\n| `--file, -f` | path | mutex | Data file (CSV, JSON, JSONL, Parquet) |\n| `--version-id` | string | no | Append to a specific version (default: latest) |\n| `-o, --output` | string | no | Output format for the returned dataset metadata |\n| `-p, --profile` | string | no | Configuration profile |\n\nExactly one of `--json` or `--file` is required.\n\n### Validation\n\n- Each example must be a JSON object with at least one user-defined field\n- Maximum 100,000 examples per request\n\n**Schema validation before append:** If the dataset already has examples, inspect its schema before appending to avoid silent field mismatches:\n\n```bash\n# Check existing field names in the dataset\nax datasets export DATASET_NAME --space SPACE --stdout | jq '.[0] | keys'\n\n# Verify your new data has matching field names\necho '[{\"question\": \"...\"}]' | jq '.[0] | keys'\n\n# Both outputs should show the same user-defined fields\n```\n\nFields 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.\n\n## Delete Dataset: `ax datasets delete`\n\n```bash\nax datasets delete NAME_OR_ID\nax datasets delete NAME_OR_ID --space SPACE   # required when using dataset name instead of ID\nax datasets delete NAME_OR_ID --force   # skip confirmation prompt\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `NAME_OR_ID` | string | required | Dataset name or ID (positional) |\n| `--space` | string | none | Space name or ID (required if using dataset name instead of ID) |\n| `--force, -f` | bool | false | Skip confirmation prompt |\n| `-p, --profile` | string | default | Configuration profile |\n\n## Workflows\n\n### Find a dataset by name\n\nAll 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):\n\n```bash\n# Use name directly\nax datasets get \"eval-set-v1\" --space SPACE\nax datasets export \"eval-set-v1\" --space SPACE\n\n# Or resolve name to ID via list if you need the base64 ID\nax datasets list -o json | jq '.[] | select(.name == \"eval-set-v1\") | .id'\n```\n\n### Create a dataset from file for evaluation\n\n1. Prepare a CSV\u002FJSON\u002FParquet file with your evaluation columns (e.g., `input`, `expected_output`)\n   - If generating data inline, pipe it via stdin using `--file -` (see the Create Dataset section)\n2. `ax datasets create --name \"eval-set-v1\" --space SPACE --file eval_data.csv`\n3. Verify: `ax datasets get DATASET_NAME --space SPACE`\n4. Use the dataset name to run experiments\n\n### Add examples to an existing dataset\n\n```bash\n# Find the dataset\nax datasets list --space SPACE\n\n# Append inline or from a file using the dataset name (see Append Examples section for full syntax)\nax datasets append DATASET_NAME --space SPACE --json '[{\"question\": \"...\", \"answer\": \"...\"}]'\nax datasets append DATASET_NAME --space SPACE --file additional_examples.csv\n```\n\n### Download dataset for offline analysis\n\n1. `ax datasets list --space SPACE` -- find the dataset name\n2. `ax datasets export DATASET_NAME --space SPACE` -- download to file\n3. Parse the JSON: `jq '.[] | .question' dataset_*\u002Fexamples.json`\n\n### Export a specific version\n\n```bash\n# List versions\nax datasets get DATASET_NAME --space SPACE -o json | jq '.versions'\n\n# Export that version\nax datasets export DATASET_NAME --space SPACE --version-id VERSION_ID\n```\n\n### Iterate on a dataset\n\n1. Export current version: `ax datasets export DATASET_NAME --space SPACE`\n2. Modify the examples locally\n3. Append new rows: `ax datasets append DATASET_NAME --space SPACE --file new_rows.csv`\n4. Or create a fresh version: `ax datasets create --name \"eval-set-v2\" --space SPACE --file updated_data.json`\n\n### Pipe export to other tools\n\n```bash\n# Count examples\nax datasets export DATASET_NAME --space SPACE --stdout | jq 'length'\n\n# Extract a single field\nax datasets export DATASET_NAME --space SPACE --stdout | jq '.[].question'\n\n# Convert to CSV with jq\nax datasets export DATASET_NAME --space SPACE --stdout | jq -r '.[] | [.question, .answer] | @csv'\n```\n\n## Dataset Example Schema\n\nExamples are free-form JSON objects. There is no fixed schema -- columns are whatever fields you provide. System-managed fields are added by the server:\n\n| Field | Type | Managed by | Notes |\n|-------|------|-----------|-------|\n| `id` | string | server | Auto-generated UUID. Required on update, forbidden on create\u002Fappend |\n| `created_at` | datetime | server | Immutable creation timestamp |\n| `updated_at` | datetime | server | Auto-updated on modification |\n| *(any user field)* | any JSON type | user | String, number, boolean, null, nested object, array |\n\n\n## Related Skills\n\n- **arize-trace**: Export production spans to understand what data to put in datasets → use `arize-trace`\n- **arize-experiment**: Run evaluations against this dataset → next step is `arize-experiment`\n- **arize-prompt-optimization**: Use dataset + experiment results to improve prompts → use `arize-prompt-optimization`\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| `ax: command not found` | See references\u002Fax-setup.md |\n| `401 Unauthorized` | API key is wrong, expired, or doesn't have access to this space. Fix the profile using references\u002Fax-profiles.md. |\n| `No profile found` | No profile is configured. See references\u002Fax-profiles.md to create one. |\n| `Dataset not found` | Verify dataset ID with `ax datasets list` |\n| `File format error` | Supported: CSV, JSON, JSONL, Parquet. Use `--file -` to read from stdin. |\n| `platform-managed column` | Remove `id`, `created_at`, `updated_at` from create\u002Fappend payloads |\n| `reserved column` | Remove `time`, `count`, or any `source_record_*` field |\n| `Provide either --json or --file` | Append requires exactly one input source |\n| `Examples array is empty` | Ensure your JSON array or file contains at least one example |\n| `not a JSON object` | Each element in the `--json` array must be a `{...}` object, not a string or number |\n\n## Save Credentials for Future Use\n\nSee references\u002Fax-profiles.md § Save Credentials for Future Use.\n","# Arize Dataset Skill\n\n> **`SPACE`** — All `--space` flags and the `ARIZE_SPACE` env var accept a space **name** (e.g., `my-workspace`) or a base64 space **ID** (e.g., `U3BhY2U6...`). Find yours with `ax spaces list`.\n\n## Concepts\n\n- **Dataset** = a versioned collection of examples used for evaluation and experimentation\n- **Dataset Version** = a snapshot of a dataset at a point in time; updates can be in-place or create a new version\n- **Example** = a single record in a dataset with arbitrary user-defined fields (e.g., `question`, `answer`, `context`)\n- **Space** = an organizational container; datasets belong to a space\n\nSystem-managed fields on examples (`id`, `created_at`, `updated_at`) are auto-generated by the server -- never include them in create or append payloads.\n\n## Prerequisites\n\nProceed directly with the task — run the `ax` command you need. Do NOT check versions, env vars, or profiles upfront.\n\nIf an `ax` command fails, troubleshoot based on the error:\n- `command not found` or version error → see references\u002Fax-setup.md\n- `401 Unauthorized` \u002F missing API key → run `ax profiles show` to inspect the current profile. If the profile is missing or the API key is wrong, follow references\u002Fax-profiles.md to create\u002Fupdate it. If the user doesn't have their key, direct them to https:\u002F\u002Fapp.arize.com\u002Fadmin > API Keys\n- Space unknown → run `ax spaces list` to pick by name, or ask the user\n- Project unclear → ask the user, or run `ax projects list -o json --limit 100` and present as selectable options\n- **Security:** Never read `.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.\n\n## List Datasets: `ax datasets list`\n\nBrowse datasets in a space. Output goes to stdout.\n\n```bash\nax datasets list\nax datasets list --space SPACE --limit 20\nax datasets list --cursor CURSOR_TOKEN\nax datasets list -o json\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `--space` | string | from profile | Filter by space |\n| `--limit, -l` | int | 15 | Max results (1-100) |\n| `--cursor` | string | none | Pagination cursor from previous response |\n| `-o, --output` | string | table | Output format: table, json, csv, parquet, or file path |\n| `-p, --profile` | string | default | Configuration profile |\n\n## Get Dataset: `ax datasets get`\n\nQuick metadata lookup -- returns dataset name, space, timestamps, and version list.\n\n```bash\nax datasets get NAME_OR_ID\nax datasets get NAME_OR_ID -o json\nax datasets get NAME_OR_ID --space SPACE   # required when using dataset name instead of ID\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `NAME_OR_ID` | string | required | Dataset name or ID (positional) |\n| `--space` | string | none | Space name or ID (required if using dataset name instead of ID) |\n| `-o, --output` | string | table | Output format |\n| `-p, --profile` | string | default | Configuration profile |\n\n### Response fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `id` | string | Dataset ID |\n| `name` | string | Dataset name |\n| `space_id` | string | Space this dataset belongs to |\n| `created_at` | datetime | When the dataset was created |\n| `updated_at` | datetime | Last modification time |\n| `versions` | array | List of dataset versions (id, name, dataset_id, created_at, updated_at) |\n\n## Export Dataset: `ax datasets export`\n\nDownload all examples to a file. Use `--all` for datasets larger than 500 examples (unlimited bulk export).\n\n```bash\nax datasets export NAME_OR_ID\n# -> dataset_abc123_20260305_141500\u002Fexamples.json\n\nax datasets export NAME_OR_ID --all\nax datasets export NAME_OR_ID --version-id VERSION_ID\nax datasets export NAME_OR_ID --output-dir .\u002Fdata\nax datasets export NAME_OR_ID --stdout\nax datasets export NAME_OR_ID --stdout | jq '.[0]'\nax datasets export NAME_OR_ID --space SPACE   # required when using dataset name instead of ID\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `NAME_OR_ID` | string | required | Dataset name or ID (positional) |\n| `--space` | string | none | Space name or ID (required if using dataset name instead of ID) |\n| `--version-id` | string | latest | Export a specific dataset version |\n| `--all` | bool | false | Unlimited bulk export (use for datasets > 500 examples) |\n| `--output-dir` | string | `.` | Output directory |\n| `--stdout` | bool | false | Print JSON to stdout instead of file |\n| `-p, --profile` | string | default | Configuration profile |\n\n**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.\n\n**Export completeness verification:** After exporting, confirm the row count matches what the server reports:\n```bash\n# Get the server-reported count from dataset metadata\nax datasets get DATASET_NAME --space SPACE -o json | jq '.versions[-1] | {version: .id, examples: .example_count}'\n\n# Compare to what was exported\njq 'length' dataset_*\u002Fexamples.json\n\n# If counts differ, re-export with --all\n```\n\nOutput is a JSON array of example objects. Each example has system fields (`id`, `created_at`, `updated_at`) plus all user-defined fields:\n\n```json\n[\n  {\n    \"id\": \"ex_001\",\n    \"created_at\": \"2026-01-15T10:00:00Z\",\n    \"updated_at\": \"2026-01-15T10:00:00Z\",\n    \"question\": \"What is 2+2?\",\n    \"answer\": \"4\",\n    \"topic\": \"math\"\n  }\n]\n```\n\n## Create Dataset: `ax datasets create`\n\nCreate a new dataset from a data file.\n\n```bash\nax datasets create --name \"My Dataset\" --space SPACE --file data.csv\nax datasets create --name \"My Dataset\" --space SPACE --file data.json\nax datasets create --name \"My Dataset\" --space SPACE --file data.jsonl\nax datasets create --name \"My Dataset\" --space SPACE --file data.parquet\n```\n\n### Flags\n\n| Flag | Type | Required | Description |\n|------|------|----------|-------------|\n| `--name, -n` | string | yes | Dataset name |\n| `--space` | string | yes | Space to create the dataset in |\n| `--file, -f` | path | yes | Data file: CSV, JSON, JSONL, or Parquet |\n| `-o, --output` | string | no | Output format for the returned dataset metadata |\n| `-p, --profile` | string | no | Configuration profile |\n\n### Passing data via stdin\n\nUse `--file -` to pipe data directly — no temp file needed:\n\n```bash\necho '[{\"question\": \"What is 2+2?\", \"answer\": \"4\"}]' | ax datasets create --name \"my-dataset\" --space SPACE --file -\n\n# Or with a heredoc\nax datasets create --name \"my-dataset\" --space SPACE --file - \u003C\u003C 'EOF'\n[{\"question\": \"What is 2+2?\", \"answer\": \"4\"}]\nEOF\n```\n\nTo add rows to an existing dataset, use `ax datasets append --json '[...]'` instead — no file needed.\n\n### Supported file formats\n\n| Format | Extension | Notes |\n|--------|-----------|-------|\n| CSV | `.csv` | Column headers become field names |\n| JSON | `.json` | Array of objects |\n| JSON Lines | `.jsonl` | One object per line (NOT a JSON array) |\n| Parquet | `.parquet` | Column names become field names; preserves types |\n\n**Format gotchas:**\n- **CSV**: Loses type information — dates become strings, `null` becomes empty string. Use JSON\u002FParquet to preserve types.\n- **JSONL**: Each line is a separate JSON object. A JSON array (`[{...}, {...}]`) in a `.jsonl` file will fail — use `.json` extension instead.\n- **Parquet**: Preserves column types. Requires `pandas`\u002F`pyarrow` to read locally: `pd.read_parquet(\"examples.parquet\")`.\n\n## Append Examples: `ax datasets append`\n\nAdd examples to an existing dataset. Two input modes -- use whichever fits.\n\n### Inline JSON (agent-friendly)\n\nGenerate the payload directly -- no temp files needed:\n\n```bash\nax datasets append DATASET_NAME --space SPACE --json '[{\"question\": \"What is 2+2?\", \"answer\": \"4\"}]'\n\nax datasets append DATASET_NAME --space SPACE --json '[\n  {\"question\": \"What is gravity?\", \"answer\": \"A fundamental force...\"},\n  {\"question\": \"What is light?\", \"answer\": \"Electromagnetic radiation...\"}\n]'\n```\n\n### From a file\n\n```bash\nax datasets append DATASET_NAME --space SPACE --file new_examples.csv\nax datasets append DATASET_NAME --space SPACE --file additions.json\n```\n\n### To a specific version\n\n```bash\nax datasets append DATASET_NAME --space SPACE --json '[{\"q\": \"...\"}]' --version-id VERSION_ID\n```\n\n### Flags\n\n| Flag | Type | Required | Description |\n|------|------|----------|-------------|\n| `NAME_OR_ID` | string | yes | Dataset name or ID (positional); add `--space` when using name |\n| `--space` | string | no | Space name or ID (required if using dataset name instead of ID) |\n| `--json` | string | mutex | JSON array of example objects |\n| `--file, -f` | path | mutex | Data file (CSV, JSON, JSONL, Parquet) |\n| `--version-id` | string | no | Append to a specific version (default: latest) |\n| `-o, --output` | string | no | Output format for the returned dataset metadata |\n| `-p, --profile` | string | no | Configuration profile |\n\nExactly one of `--json` or `--file` is required.\n\n### Validation\n\n- Each example must be a JSON object with at least one user-defined field\n- Maximum 100,000 examples per request\n\n**Schema validation before append:** If the dataset already has examples, inspect its schema before appending to avoid silent field mismatches:\n\n```bash\n# Check existing field names in the dataset\nax datasets export DATASET_NAME --space SPACE --stdout | jq '.[0] | keys'\n\n# Verify your new data has matching field names\necho '[{\"question\": \"...\"}]' | jq '.[0] | keys'\n\n# Both outputs should show the same user-defined fields\n```\n\nFields 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.\n\n## Delete Dataset: `ax datasets delete`\n\n```bash\nax datasets delete NAME_OR_ID\nax datasets delete NAME_OR_ID --space SPACE   # required when using dataset name instead of ID\nax datasets delete NAME_OR_ID --force   # skip confirmation prompt\n```\n\n### Flags\n\n| Flag | Type | Default | Description |\n|------|------|---------|-------------|\n| `NAME_OR_ID` | string | required | Dataset name or ID (positional) |\n| `--space` | string | none | Space name or ID (required if using dataset name instead of ID) |\n| `--force, -f` | bool | false | Skip confirmation prompt |\n| `-p, --profile` | string | default | Configuration profile |\n\n## Workflows\n\n### Find a dataset by name\n\nAll 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):\n\n```bash\n# Use name directly\nax datasets get \"eval-set-v1\" --space SPACE\nax datasets export \"eval-set-v1\" --space SPACE\n\n# Or resolve name to ID via list if you need the base64 ID\nax datasets list -o json | jq '.[] | select(.name == \"eval-set-v1\") | .id'\n```\n\n### Create a dataset from file for evaluation\n\n1. Prepare a CSV\u002FJSON\u002FParquet file with your evaluation columns (e.g., `input`, `expected_output`)\n   - If generating data inline, pipe it via stdin using `--file -` (see the Create Dataset section)\n2. `ax datasets create --name \"eval-set-v1\" --space SPACE --file eval_data.csv`\n3. Verify: `ax datasets get DATASET_NAME --space SPACE`\n4. Use the dataset name to run experiments\n\n### Add examples to an existing dataset\n\n```bash\n# Find the dataset\nax datasets list --space SPACE\n\n# Append inline or from a file using the dataset name (see Append Examples section for full syntax)\nax datasets append DATASET_NAME --space SPACE --json '[{\"question\": \"...\", \"answer\": \"...\"}]'\nax datasets append DATASET_NAME --space SPACE --file additional_examples.csv\n```\n\n### Download dataset for offline analysis\n\n1. `ax datasets list --space SPACE` -- find the dataset name\n2. `ax datasets export DATASET_NAME --space SPACE` -- download to file\n3. Parse the JSON: `jq '.[] | .question' dataset_*\u002Fexamples.json`\n\n### Export a specific version\n\n```bash\n# List versions\nax datasets get DATASET_NAME --space SPACE -o json | jq '.versions'\n\n# Export that version\nax datasets export DATASET_NAME --space SPACE --version-id VERSION_ID\n```\n\n### Iterate on a dataset\n\n1. Export current version: `ax datasets export DATASET_NAME --space SPACE`\n2. Modify the examples locally\n3. Append new rows: `ax datasets append DATASET_NAME --space SPACE --file new_rows.csv`\n4. Or create a fresh version: `ax datasets create --name \"eval-set-v2\" --space SPACE --file updated_data.json`\n\n### Pipe export to other tools\n\n```bash\n# Count examples\nax datasets export DATASET_NAME --space SPACE --stdout | jq 'length'\n\n# Extract a single field\nax datasets export DATASET_NAME --space SPACE --stdout | jq '.[].question'\n\n# Convert to CSV with jq\nax datasets export DATASET_NAME --space SPACE --stdout | jq -r '.[] | [.question, .answer] | @csv'\n```\n\n## Dataset Example Schema\n\nExamples are free-form JSON objects. There is no fixed schema -- columns are whatever fields you provide. System-managed fields are added by the server:\n\n| Field | Type | Managed by | Notes |\n|-------|------|-----------|-------|\n| `id` | string | server | Auto-generated UUID. Required on update, forbidden on create\u002Fappend |\n| `created_at` | datetime | server | Immutable creation timestamp |\n| `updated_at` | datetime | server | Auto-updated on modification |\n| *(any user field)* | any JSON type | user | String, number, boolean, null, nested object, array |\n\n\n## Related Skills\n\n- **arize-trace**: Export production spans to understand what data to put in datasets → use `arize-trace`\n- **arize-experiment**: Run evaluations against this dataset → next step is `arize-experiment`\n- **arize-prompt-optimization**: Use dataset + experiment results to improve prompts → use `arize-prompt-optimization`\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| `ax: command not found` | See references\u002Fax-setup.md |\n| `401 Unauthorized` | API key is wrong, expired, or doesn't have access to this space. Fix the profile using references\u002Fax-profiles.md. |\n| `No profile found` | No profile is configured. See references\u002Fax-profiles.md to create one. |\n| `Dataset not found` | Verify dataset ID with `ax datasets list` |\n| `File format error` | Supported: CSV, JSON, JSONL, Parquet. Use `--file -` to read from stdin. |\n| `platform-managed column` | Remove `id`, `created_at`, `updated_at` from create\u002Fappend payloads |\n| `reserved column` | Remove `time`, `count`, or any `source_record_*` field |\n| `Provide either --json or --file` | Append requires exactly one input source |\n| `Examples array is empty` | Ensure your JSON array or file contains at least one example |\n| `not a JSON object` | Each element in the `--json` array must be a `{...}` object, not a string or number |\n\n## Save Credentials for Future Use\n\nSee references\u002Fax-profiles.md § Save Credentials for Future Use.\n",{"name":5,"metadata":50,"description":7,"compatibility":53},{"author":51,"version":52},"arize","1.0","Requires the ax CLI and a configured Arize profile.","main","5269f7ea2d6c3a9bfda5ed878b6726cf509121fd","skills\u002Farize-dataset",5344,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot","https:\u002F\u002Fawesome-copilot.github.com\u002F","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-13 02:05:36",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add github\u002Fawesome-copilot --skill arize-dataset",{"tool":70,"command":71},"bunx","bunx skills add github\u002Fawesome-copilot --skill arize-dataset",{"tool":73,"command":74},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill arize-dataset","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Farize-dataset\u002FSKILL.md",true,[78,84],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fax-profiles.md","REFERENCE","参考文档",4605,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Farize-dataset\u002Freferences\u002Fax-profiles.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fax-setup.md",1529,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Farize-dataset\u002Freferences\u002Fax-setup.md",[89,118,144,174,207,224],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":99,"publishedAt":45},"01M70KXZNX9ES38N2A8M58ZZMZ","supabase-rls-policies","Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fsupabase-rls-policies\u002FSKILL.md",[95,98],{"categoryNo":96,"categoryName":97,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[100,101,102,103,104,28,105,106,107,108,109,110,111,112,113,114,34,115,116,117],"supabase","rls","supabase rls","supabase rls policies","project","review","change","read","write","security","isolation","tables","as","tests","prove","users","functions","with",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":125,"publishedAt":45},"01M70KWA5YWXDV6V8DZ19E3T2Y","skill-distribution-audit","Audit a skill collection before release or investigate installer omissions, archived\u002Ftemplate leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fskill-distribution-audit\u002FSKILL.md",[124],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[126,127,128,38,129,130,131,132,133,134,135,33,136,137,138,139,140,141,142,143],"distribution","skill distribution audit","audit","deterministic","installer","for","discovery","comparison","helper","manifest","collection","drift","output","investigate","duplicate","template","release","reconcile",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":148,"sourceHtmlUrl":149,"categories":150,"keywords":156,"publishedAt":45},"01M70KCJPFVW7PPQ49CC5R8JGK","logicapps-custom-code-net10-migration","Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project\u002Fpackage configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FSKILL.md",[151],{"categoryNo":152,"categoryName":153,"taxonomyType":154,"taxonomyTypeDesc":155},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[157,158,159,160,161,162,131,104,163,164,165,166,167,168,169,34,170,171,172,173],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","applications","local","azure","worker","upgrades","package","apps","Legacy","debugging","workflows",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":178,"sourceHtmlUrl":179,"categories":180,"keywords":185,"publishedAt":45},"01M6AEBN37RQMXJ3298PEY7PG1","winmd-api-search","Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI\u002FML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FSKILL.md",[181,184],{"categoryNo":182,"categoryName":183,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":152,"categoryName":153,"taxonomyType":154,"taxonomyTypeDesc":155},[186,187,188,189,190,191,192,193,194,42,195,196,197,198,199,28,200,201,202,203,204,131,205,206],"winmd api search","search","api","windows","desktop","file access","enumeration","ui","ml","networking","capabilities","notifications","explore","access","features","full","camera","events","platform","methods","controls",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":211,"licenseFileUrl":212,"sourceHtmlUrl":213,"categories":214,"keywords":220,"publishedAt":45},"01M6AE571R3SC1ZGE202B3NB5S","resemble-detect","Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FSKILL.md",[215,216,219],{"categoryNo":182,"categoryName":183,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":217,"categoryName":218,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[221,38,42,222,223],"resemble detect","https","identity",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":211,"licenseFileUrl":228,"sourceHtmlUrl":229,"categories":230,"keywords":235,"publishedAt":45},"01M6AE30BSK2HCY4TQQ22Z8JRD","quality-playbook","Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FSKILL.md",[231,234],{"categoryNo":232,"categoryName":233,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[236,237,238,239,158,105,9,128,240,241,222,242,243,244,245,246,247,248,249,250,251,252,113,253,254,255,256],"playbook","quality playbook","quality","code review","tdd","run","report","spec","bug report","council","engineering","functional","spec audit","bug","verified","multi-model","three","coverage","model","regression","structural"]