SKILL.md
ae-metadata
CLI domain metadata routes to the analysis capability gateway (/api/cli/analysis/v1/...), using auth header cli-token.
Parallel to ae-analysis. Use this skill for gateway-backed metadata detail and data-table/dimension-table operations; use ae-analysis for metadata list/search, metrics, virtual create, and batch edit.
Global AE CLI Rules
| Parameter | Description | |
|---|---|---|
| `--format <json\ | table>` | Output format. Default JSON. |
--jq <expr> |
jq filter on JSON output. | |
--host <url> |
Override active AE host, e.g. ae-cli metadata data-table list --host <url> .... |
|
--validate |
Optional: fix params only (/validate). Alone while iterating complex qp / payload — then run. Do not stack with --dry-run. |
|
--dry-run |
Optional: confirm ready to run (/dry-run). Alone for risk/output preview. Do not stack with --validate. |
Output and errors:
- Success: JSON envelope (default). May include optional
notice.hostcompat. - Failure:
{ "ok": false, "error": { "type", "message", "hint" } }, non-zero exit. - CRITICAL — Host compat (do this first): After each
ae-clirun, check stderr andnotice.hostcompat. If either is present, open the user reply with a short ⚠️ version warning and quote thenpm i -g/npx skills add(or update-cluster) lines verbatim, then present the business result. Soft tip;ok: truecan still carry the notice.
Safety:
- Read-only commands can run directly after IDs/names are verified.
- Ordinary writes (
data-table *-write,property-bindings-update, dimension-table bind/create) execute without--yes. Delete commands arehigh-risk-write: dry-run first, summarize impact, wait for explicit confirmation, then execute with--yes. - Before any command, read the matching
references/<name>.md(filename = command with spaces → underscores, e.g.metadata data-table list→metadatadatatable_list.md). - Never invent
projectid, event/property names,inputfileid, ordatatable_id. Discover names viaae-analysisand data table IDs viametadata data-table list. metadata data-table downloadis an async artifact command: plain invocation submits,--waitwaits, and--output <file>waits then streams atomically. Resume withanalysis run wait; local interruption never cancels the remote run.
When to Use
Switch to ae-metadata when the user needs:
- Metadata data-table list/get/create/update/delete/download
- For local uploads, switch to
ae-analysisand useanalysis input-file uploadwith a discovered purpose. - Bind an existing data table to a property, or create a CSV dimension table and bind it
Stay on ae-analysis for: metadata event/property detail, metadata event/property/metric list/search, metric CRUD, batch metadata, virtual create, project config, tracking plans.
Command Format
ae-cli metadata <resource> <action> [options]
ae-cli metadata property <dimension-table-action> [options]
- Commands and flags use kebab-case:
data-table,dimension-table,--project-id,--data-table-id. - Gateway
inputbody fields remain snakecase (projectid,event_name, …); ae-cli maps flags automatically.
PROJECTIDGATE
Same rules as ae-analysis: reuse verified project context in one conversation; otherwise ae-cli project info list (or ae-analysis skill) to resolve project_id.
Commands (10)
| User command | Capability id | Reference |
|---|---|---|
metadata data-table list |
metadata.data_table.list |
[metadatadatatablelist.md](references/metadatadatatablelist.md) |
metadata data-table get |
metadata.data_table.get |
[metadatadatatableget.md](references/metadatadatatableget.md) |
metadata data-table csv-write |
metadata.datatable.csvwrite |
[metadatadatatablecsvwrite.md](references/metadatadatatablecsvwrite.md) |
metadata data-table sql-write |
metadata.datatable.sqlwrite |
[metadatadatatablesqlwrite.md](references/metadatadatatablesqlwrite.md) |
metadata data-table csv-delete |
metadata.datatable.csvdelete |
[metadatadatatablecsvdelete.md](references/metadatadatatablecsvdelete.md) |
metadata data-table sql-delete |
metadata.datatable.sqldelete |
[metadatadatatablesqldelete.md](references/metadatadatatablesqldelete.md) |
metadata data-table download |
metadata.data_table.download |
[metadatadatatabledownload.md](references/metadatadatatabledownload.md) |
metadata data-table property-bindings-update |
metadata.datatable.propertybindings_update |
[metadatadatatablepropertybindingsupdate.md](references/metadatadatatablepropertybindingsupdate.md) |
metadata property bind-existing-dimension-table |
metadata.property.bindexistingdimension_table |
[metadatapropertydimensiontablebindexisting.md](references/metadatapropertydimensiontablebindexisting.md) |
metadata property create-and-bind-csv-dimension-table |
metadata.property.createandbindcsvdimension_table |
[metadatapropertydimensiontablecreateandbindcsv.md](references/metadatapropertydimensiontablecreateandbindcsv.md) |
Quick Verification
ae-cli metadata --help
ae-cli metadata data-table list --help
ae-cli metadata data-table list --project-id 1 --dry-run
ae-cli analysis input-file purpose list --project-id 1
Related Skills
ae-analysis:analysis-meta event get/analysis-meta property getfor detail, andanalysis-meta event list/analysis-meta property listto discover names.