From oracle-ai-data-platform-workbench-engineer-agent
Creates, deploys, queries, and purges atomic AIDP resource bundles via CLI or OCI REST. Use when promoting/deploying a set of AIDP resources together or checking deployment status.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oracle-ai-data-platform-workbench-engineer-agent:aidp-bundleThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Deploy/manage AIDP resource bundles. **CLI (preferred):** the official `aidp bundle …` CLI
aidp-bundle — resource bundles (Preview)Deploy/manage AIDP resource bundles. CLI (preferred): the official aidp bundle … CLI
(Oracle-supported, versioned — see references/aidp-cli-map.md):
aidp bundle create | deploy | fetch-deployment-status | purge | sync-bundle.
Fallback: oci raw-request against the same REST Bundle API (auth + base URL in
references/oci-raw-request.md) when the CLI isn't installed.
Self-contained: no MCP and no ai-data-engineer-agent repo required.
Preview + verify-first (no-fabrication):
Bundleis Preview. On this env (20240831,dataLakes) the Bundle resource may be not provisioned — expect a404(wrong version/prefix or feature not enabled in the tenancy). Confirm with a live read-onlygetDeploymentStatusbefore any deploy/purge, and record the result inreferences/rest-endpoint-map.md. Do not present endpoints as confirmed until a live 2xx (or documented 4xx) is recorded.
CLI (preferred): aidp bundle create · aidp bundle deploy · aidp bundle fetch-deployment-status
(read-only — verify here) · aidp bundle purge · aidp bundle sync-bundle.
Fallback (oci raw-request) — default 20240831, probe 20260430 only after a tenancy upgrade.
Base: https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/…
POST /workspaces/{ws}/bundles — createPOST /workspaces/{ws}/bundles/actions/deploy — deploy all resourcesPOST /workspaces/{ws}/bundles/actions/getDeploymentStatus — status (read-only — verify here)POST /workspaces/{ws}/bundles/actions/purge — destroy deployed resourcesA
404(REST) or not-provisioned error (CLI) on any of these means not provisioned in this tenancy (or wrong version/prefix — try the other per references/oci-raw-request.md), not that the request was malformed. Report it as a feature-availability gap, not a failure.
For mutating ops (create / deploy / purge / sync-bundle), persist the request body to .aidp/payloads/
and confirm first — see references/payloads.md.
A bundle is a self-contained, portable package of selected workspace assets (jobs + agent flows) plus their
dependencies and code artifacts, captured so they can be recreated in another workspace/environment. The
manifest is aidp_workbench.yaml at the bundle root; the bundle mirrors the source workspace folder
layout. Dependency references use template variables, e.g. $${jobs.dependencies.training_compute.compute.key},
$${jobs.dependencies.training_job.job.key}, $${jobs.dependencies.training_aicompute.aicompute.key}, plus
$${bundle.root} for artifact paths. (Source: CLI README bundle create long description, lines 180–209.)
Bundles can only be created inside Git-backed workspace folders (CLI README line 180).
CreateBundleDetails)POST …/workspaces/{ws}/bundles (CLI: aidp bundle create <AI-DATA-PLATFORM-ID> <WORKSPACE-KEY> --body <JSON>).
Wire fields from SDK create_bundle_details.py:38-50 and bundled_resource.py:39-47:
| Field | Required | Type | Notes |
|---|---|---|---|
name | yes | str | bundle folder name (create_bundle_details.py:45-49, README:208) |
path | yes | str | parent folder in the workspace volume (create_bundle_details.py:46, README:209) |
description | no | str | (create_bundle_details.py:47) |
bundledResources | yes | array of BundledResource | jobs/agentflows to include (create_bundle_details.py:49) |
↳ resourceType | yes | enum | JOB | AGENTFLOW (bundled_resource.py:18,22,76) |
↳ resourceKey | yes | str | workspace-unique key for the resource (bundled_resource.py:46) |
{
"name": "<bundle-name>",
"path": "/Workspace/Shared/<git-folder>",
"description": "<optional>",
"bundledResources": [
{ "resourceType": "JOB", "resourceKey": "<job-key>" },
{ "resourceType": "AGENTFLOW", "resourceKey": "<agentflow-key>" }
]
}
deploy / fetch-deployment-status / purge / sync-bundle each take only path (the bundle root
folder) — DeployBundleDetails/FetchBundleDeploymentStatusDetails/PurgeBundleDetails/SyncBundleDetails
are all single-field { "path": "<bundle-root>" } (deploy_bundle_details.py:26-32,
fetch_bundle_deployment_status_details.py:26-32, purge_bundle_details.py:26-32,
sync_bundle_details.py:26-32; README:240/267/295/323).
fetch-deployment-status returns BundleDeploymentStatus: status ∈ SUCCEEDED | FAILED |
IN_PROGRESS | NOT_DEPLOYED (bundle_deployment_status.py:18,22,26,30,107), plus timeStarted,
timeCompleted, message, and resources[] (each {type: JOB|AGENTFLOW, key, name} —
bundle_deployed_resource.py:18,22,50).
Promotion is a Git workflow, not a separate API: the whole bundle folder is committed/pushed, pulled into the target workspace, and deployed there; bundles can be promoted across environments (dev → test → prod) via Git (CLI README line 180, "Git integration and promotion").
Environment-specific values are parameterized in the manifest and overridden per environment:
defaults.variables, e.g. job_compute_key: "$${jobs.dependencies.small.compute.key}", referenced in descriptors as $${var.<name>} (e.g. "clusterKey": "$${var.job_compute_key}"). (CLI README:180.).aidp/overrides.yaml inside the bundle — not committed to Git so the bundle stays portable. When an override is supplied, the referenced dependency (e.g. compute) is not created and the provided value is used; with no override, the system falls back to the manifest default (which may create a bundled dependency). This is what lets prod reuse existing infrastructure while dev creates fresh resources. (CLI README:180.)sync-bundle preserves .aidp/overrides.yaml and .aidp/aidp.state.json when reconciling against .aidp/resource_origins.yaml — so refreshing source content does not clobber env-specific config (CLI README:309).Override candidate shapes (SDK models — the request/response objects, not the on-disk yaml): the
BundleOverrides object groups candidates as { compute: [ComputeOverrideItem], aicompute: [AiComputeOverrideItem] }
(bundle_overrides.py:30-37). Each item is
{ name, variableName, defaultValue, overrideValue, jobs|agentflows: [...] }
(compute_override_item.py:42-56, ai_compute_override_item.py:42-56). The create/update-overrides request
wraps it as CreateOrUpdateBundleOverridesDetails{ path, overrides }
(create_or_update_bundle_overrides_details.py:30-37); the read request is
GetBundleOverridesDetails{ path } (get_bundle_overrides_details.py:26-32).
Verify-first (overrides REST surface): the get/update-overrides HTTP endpoints have no
aidp bundleCLI command (CLI README lists only create/deploy/fetch-deployment-status/purge/sync-bundle) and were not live-probed on this env. The override models above are SDK-confirmed, but the exact override action path (e.g.…/bundles/actions/{getOverrides|createOrUpdateOverrides}) is unconfirmed — do not present it as a verified endpoint. For day-to-day promotion, edit.aidp/overrides.yamlin the bundle folder (the Oracle-documented path) rather than calling an unverified override API.
aidp bundle fetch-deployment-status (CLI) or getDeploymentStatus (REST fallback —
oci raw-request, --profile DEFAULT → session fallback). A not-provisioned / 404 here = Bundle not
provisioned → stop and report.CreateBundleDetails body above (name/path/bundledResources[{resourceType,resourceKey}]).
Bundle folder must be inside a Git-backed workspace path.{path}) → poll async (202) to terminal via aidp-observability; report per-resource status
from fetch-deployment-status (SUCCEEDED/FAILED/IN_PROGRESS/NOT_DEPLOYED)..aidp/overrides.yaml for that environment, then deploy there. sync-bundle refreshes source content
while preserving overrides.{path}) only on explicit confirmation — tears down deployed resources (does not delete
the bundle files).deploy and especially purge are high-impact — show the resource set and confirm before running.aidp CLI command map (primary engine)npx claudepluginhub daiiis/claude-code-plugins --plugin oracle-ai-data-platform-workbench-engineer-agent3plugins reuse this skill
First indexed Jun 12, 2026
Creates, deploys, queries, and purges atomic AIDP resource bundles via CLI or OCI REST. Use when promoting/deploying a set of AIDP resources together or checking deployment status.
Create and configure Databricks Declarative Automation Bundles for multi-environment deployments (dev/staging/prod) with best practices for CICD.
Create, configure, validate, deploy, run, and manage Databricks Declarative Automation Bundles (DABs) for resources like dashboards, jobs, pipelines, alerts, volumes, and apps.