ae-experiment
Use when managing Atlas AB or external experiments, traffic layers, Features, metrics, buckets, and experiment reports through ae-cli
How do I install this agent skill?
npx skills add https://github.com/thinkingaiagenticengine/ae-cli --skill ae-experimentIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides instructions for managing A/B testing experiments using the ae-cli tool. It facilitates a legitimate workflow for creating and updating experiment assets, but it presents an inherent surface for indirect prompt injection because it ingests data from external CLI outputs to perform subsequent write operations.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
ae-experiment
AE CLI (ae-cli) exposes Atlas AB Experiment capabilities through the experiment domain.
Global Rules
- Prefer
ae-cli experiment <command>for Atlas AB Experiment work. - Use
--project-id/-pfor project-scoped commands. - Use
--reqJSON for complex save, status, and delete DTOs. - Do not invent experiment IDs, traffic layer IDs, bucket IDs, Feature keys, metric IDs, or payload field names.
- Bind only metric IDs returned by
experiment metric list; create and verify a missing metric before saving the experiment. - Read commands can run directly after IDs are verified.
- Write commands require explicit user intent and normally keep the confirmation prompt. Use
--dry-runbefore write calls when composing JSON.
Naming and response boundary:
- CLI command segments and flags use kebab-case.
- Outer Capability input and all response keys use snake_case.
- Nested business DTOs passed through
--reqkeep their native camelCase fields. - CRITICAL:
save build-guide/save validateresponses recursively snake_caseexample_args.req. Never copy those keys into--req. Use camelCase (expName,metricId, …). Authoritative names:ae-cli capability inspect experiment.experiment.save(or the matching final save id) →input_schema.properties.req.save validatevalid: trueis not a final-save schema pass — snake_casereqcan still fail onexperiment … save. - Audience QP is semantic at the CLI boundary: write
targeting.definitionRequest; readtargeting.definition_request. Never generate or submittargetConfig. - Metric QP is semantic at the CLI boundary: write
metricDefinition; readmetric_definition. Never generate or submitmetricConfig,calcType, orAxxxcodes. - Event-property comparisons belong in
metricDefinition.filters, using{relation,items:[{field,operator,values}]}. Never put comparison fields directly onmetricDefinition, and never submit rawfilts,calcuSymbol, orftvfields. - For metric aggregations
sum/avg/max/distinct_count,metricDefinition.propertyis required and must be a concrete available event property from Analysis metadata. Never create property aggregations withoutproperty(for examplemetric_avg_no_property_*). - Preset event aggregations
total_count/user_count/active_daysomitproperty. - Experiment metric creation does not support
avg_per_user/A105. - Resolve event and property names with Analysis metadata before saving semantic definitions.
- Lists return
data.itemsanddata.total; detail commands returndata.item. - Readiness returns
data.readiness; reports returndata.report; save guides returndata.guide; save dry-run validation returnsdata.validation; writes returndata.result. - Query cancellation returns
data.success.
Typical Workflow
- Discover reusable assets:
experiment bucket listexperiment traffic-layer listexperiment feature listexperiment metric list
- Create missing assets if needed:
experiment save build-guide --operation-mode save_metricwhen save validation fails or req shape is unclearexperiment save validate --operation-mode save_metric --req '{...}'before retrying a failed saveexperiment traffic-layer saveexperiment feature saveexperiment metric save
- Create or patch the experiment draft with
experiment experiment save. Useexperiment experiment update-metricswhen replacing metric bindings or assigning guardrail roles. - For an external experiment, use
experiment external-experiment save-submitinstead. It submits directly and does not use Features, traffic layers, allocation, targeting, or experiment cycles. - Check readiness with
experiment experiment ready-check. - For a non-mutex traffic layer, run
experiment experiment conflict-checkbefore submit (needsfeature_key_listfrom context orexperiment get). - Move status with
experiment experiment manage. - Query reports with
experiment report summary,experiment report sample-size, andexperiment report metric-trend.
If an experiment save returns error_code: METRIC_NOT_FOUND, list metrics for the same project. Create and verify the metric before retrying; never retry with another invented ID. Metric deletion returns error_code: METRIC_IN_USE while an active experiment binding exists.
Parameter Conventions
- Experiment save payloads distinguish two allocation fields: experiment-level
req.allocation(integer only; no decimals) and group-levelreq.groups[].allocation(integer only; sum must equal100exactly). - Public experiment metric roles are
primary,secondary, andguardrail. The internalobservationrole is currently unavailable for saves. Guardrail is a binding role; updating metrics replaces the full binding list.
ae-cli experiment experiment get --project-id 1 --exp-id exp_123
ae-cli experiment experiment save --project-id 1 --req '{"expName":"Demo"}' --dry-run
ae-cli experiment metric save --project-id 1 --req '{"metricId":"payment_gold_sum","metricName":"Payment gold sum","createType":"event","goalDirection":"up","metricDesc":"Gold sum for payments above 10","metricDefinition":{"type":"event","event":"payment","aggregation":"sum","property":"gold","filters":{"relation":"and","items":[{"field":"gold","operator":"gt","values":[10]}]}}}' --dry-run
ae-cli experiment report metric-trend --project-id 1 --exp-id exp_123 --metric-id metric_1 --start-time 2026-07-01 --end-time 2026-07-07
Optional global parameters work as in other domains: --host, --mcp-url, --format, --jq, --dry-run, and --yes.
References
Open the matching file in references/ before using a command, especially for write operations and JSON payloads.
Save Helpers
experiment save build-guide, experiment save validate
When a save command returns next_tool: experiment.save.build-guide, call the guide first, then experiment save validate, then retry the final save capability.
Read save_build_guide.md and
save_validate.md before using these helpers. Rebuild
--req in camelCase from inspect / skill references; do not paste example_args.req.
Experiment
experiment experiment save, experiment experiment update-metrics, experiment external-experiment save-submit, capability run experiment.experiment.save-submit, experiment experiment list, experiment experiment list-archived, experiment experiment get, experiment experiment ready-check, experiment experiment conflict-check, experiment experiment manage, experiment experiment update-group, experiment experiment batch-delete, experiment operation-log query
Read manage_guardrail_metrics.md before assigning or replacing metric roles.
External Experiment
experiment external-experiment save-submit
Read save_submit_external_experiment.md before creating or updating an external experiment.
Traffic Layer and Buckets
experiment traffic-layer save, experiment traffic-layer get, experiment traffic-layer list, experiment traffic-layer batch-delete, experiment bucket list
Reports
experiment report summary, experiment report sample-size, experiment report metric-trend, capability run experiment.query.cancel
Metric and Feature
experiment metric save, experiment metric get, experiment metric list, experiment metric delete, experiment feature save, experiment feature update-status, experiment feature get, experiment feature list, experiment feature version-list, experiment feature operation-log query, experiment feature batch-delete, experiment feature whitelist list, experiment feature whitelist save, experiment feature whitelist update-status, experiment feature whitelist batch-delete
Read manage_feature_whitelist.md before querying or changing Feature whitelist rules.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/thinkingaiagenticengine/ae-cli/ae-experiment">View ae-experiment on skillZs</a>