From oracle-ai-data-platform-workbench-engineer-agent
Bootstraps a self-contained AIDP agent: verifies OCI CLI, installs Python deps, discovers region and DataLake OCID, smoke-tests control-plane and SQL engines. Use on first run or when auth/config errors occur.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oracle-ai-data-platform-workbench-engineer-agent:aidp-engineer-bootstrapThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Take a brand-new terminal to a working AIDP agent. The plugin is **fully self-contained** — no dependency on
aidp-engineer-bootstrap — get a new terminal to a working agentTake a brand-new terminal to a working AIDP agent. The plugin is fully self-contained — no dependency on
the private ai-data-engineer-agent repo or any MCP server. Engine precedence (see references/aidp-cli-map.md):
aidp CLI (public, Oracle-supported:
github.com/oracle-samples/aidataplatform-sdk). Maps 1:1 to the skills; install it if you can (Step 2b).oci raw-request against the same REST API (works with only the oci CLI;
references/oci-raw-request.md, references/no-mcp-rest-map.md). Same endpoint + auth as the CLI.python "$PLUGIN_DIR/scripts/aidp_sql.py" (mints a UPST
from the api_key DEFAULT profile, auto-creates a scratch notebook, runs the cell — the CLI/SDK can't exec cells).oci --version # CLI present?
oci setup repair-file-permissions --file ~/.oci/config 2>/dev/null
oci iam region list --profile DEFAULT >/dev/null && echo "DEFAULT profile OK" || echo "fix DEFAULT profile"
oci is missing → install the OCI CLI (pip install oci-cli or the platform installer).DEFAULT profile can be either an api_key profile (tenancy, user, fingerprint, key_file, region)
or an oci session authenticate session-token profile — both engines have full parity (see
"Session-token auth" in references/oci-raw-request.md). For api_key the WebSocket mints a UPST; for a
session profile the session token is reused directly (no api_key needed anywhere).oci session authenticate --profile <P> --region <r>, then
control-plane via --auth security_token --profile <P>, and scripts/aidp_sql.py --profile <P> for cells
(it auto-detects the session token). --session-profile stays as an explicit WebSocket-only override.
Session tokens expire ~1h → oci session refresh --profile <P>.The only code in this plugin is scripts/aidp_sql.py; it needs oci, requests, websocket-client,
cryptography.
Resolve
$PLUGIN_DIRfirst — afterclaude plugin installthe plugin lives under Claude's plugins dir, not your project cwd, so the helper must be called by absolute path. Set it once:export PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT}"(Claude setsCLAUDE_PLUGIN_ROOTfor this plugin), or runclaude plugin list, copy the install path, andexport PLUGIN_DIR=<that path>. Everyaidp_sql.pyexample in these skills uses"$PLUGIN_DIR/scripts/aidp_sql.py". (On a clean first session the SessionStart hook already auto-installs the deps; the manual step below is only a fallback.)
python -m pip install -r "$PLUGIN_DIR/scripts/requirements.txt"
aidp CLIThe supported control-plane engine. Once it's on PyPI/npm this is one command; until then install from the GitHub release:
# When published (coming soon): python -m pip install aidp-cli # provides the `aidp` command
# Today, from the v1.0.0 release zip:
# download aidp-py-cli-1.0.0.zip from
# https://github.com/oracle-samples/aidataplatform-sdk/releases/tag/v1.0.0 then:
# python -m pip install ./aidp-py-cli-1.0.0.zip
aidp version && aidp command-groups # verify the CLI is on PATH
Install in a venv — installing the SDK/CLI alongside oci-cli triggers pip dependency conflicts
(it downgrades cryptography and clashes click/oci pins; the CLI still runs, but a venv keeps oci-cli
and the bundled helper's deps clean). Verified live: aidp catalog list --instance-id <OCID> --auth api_key
returns the catalogs on tpcds.
If aidp isn't installed, that's fine — every skill falls back to oci raw-request (Step 4 fallback). The
plugin works either way; the CLI is just the supported, versioned path.
Resolve these values and make them available to the CLI. The official demo's "Check my AIDP CLI setup" = confirming the instance + endpoint are set in the shell context:
export AIDP_INSTANCE_ID="<DATALAKE_OCID>"
export AIDP_ENDPOINT="https://aidp.<region>.oci.oraclecloud.com" # or: aidp configure (sets default profile + instance)
Always set
AIDP_ENDPOINTto theaidp.<region>gateway (LIVE-VERIFIED). The Python SDK otherwise defaults todatahub-dp.<region>…/20260430/aiDataPlatforms/, which 404s on tenancies not on that GA host (theaidpCLI already defaults to the working gateway). IfAIDP_INSTANCE_IDis missing, the setup check stops there — set it (and the endpoint), then re-check. Never hardcode these into committed files.
us-ashburn-1 (confirm with the user).data[].id / data[].key of the desired workspace):
oci raw-request --http-method GET --profile DEFAULT \
--target-uri "https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/workspaces"
If the user already knows the workspace OCID, use it directly. If the GET returns 401/403, run the auth
ladder in references/oci-raw-request.md (oci session refresh --profile AIDP_SESSION, then retry with
--auth security_token --profile AIDP_SESSION).aidp catalog list --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region <region>
Fallback (no CLI installed) — oci raw-request:
oci raw-request --http-method GET --profile DEFAULT \
--target-uri "https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/catalogs"
Expect the catalog list / "status": 200. (404 → wrong version/prefix; 401/403 → auth ladder.)scripts/aidp_sql.py) — pick an ACTIVE cluster
(GET /workspaces/<ws>/clusters), then run a trivial cell:
python "$PLUGIN_DIR/scripts/aidp_sql.py" \
--region <region> --datalake <DATALAKE_OCID> --workspace <ws> --cluster <cluster-key> \
--code "spark.sql('SELECT 1').show()"
Expect JSON with "status": "ok" and the SELECT 1 output. (The helper mints a UPST from the DEFAULT
profile and auto-creates Shared/_aidp_sql_scratch.ipynb; add --session-profile AIDP_SESSION only if
the api_key path can't mint a token.)Both engines green → hand off to aidp-catalog-init to build .aidp/catalog.md, then the user is ready
(aidp-engineer-overview for the tour, aidp-analyzing-data to ask questions).
npx claudepluginhub anthropics/claude-plugins-official --plugin oracle-ai-data-platform-workbench-engineer-agent2plugins reuse this skill
First indexed Jun 12, 2026
Routes AIDP tasks to the correct aidp-* skill and handles shared setup/auth troubleshooting.
Builds production agentic applications on OCI using Oracle's Agent Development Kit — multi-agent orchestration, function tools, deterministic workflows, and enterprise patterns.
Bootstraps the AIDP Spark connectors helper package by uploading scripts to the workspace and running a sanity check. Use for first-time setup after installing the plugin.