$38
Conversationally provision Alvera platform resources for an existing
tenant + datalake. Conversation is the input; an infra.yaml receipt is
the output. The user never writes YAML — and never hands the skill their
password.
alvera CLI reachable. Either installed globally
(npm install -g @alvera-ai/platform-sdk or pnpm add -g ...) or
runnable via npx -p @alvera-ai/platform-sdk alvera. Verify this
first — before asking the user any provisioning questions — by
attempting alvera --version then npx ... alvera --version. If
both fail, hand the user the install command and stop; do not try to
install the CLI (or Node) yourself. Full procedure in
references/bootstrap.md → "Step 0".alvera login
themselves — see references/bootstrap.md)..env file, never inlined in shell
args) — see references/resources.md → "Datalake" and
references/guardrails.md → "Secrets handling".alvera prefix — references/bootstrap.md → "Step 0".
Try alvera --version, then npx -p @alvera-ai/platform-sdk alvera --version.
Pin whichever works. If both fail, hand the user
npm install -g @alvera-ai/platform-sdk and stop.references/bootstrap.md. Confirm the
user has run alvera login themselves; verify with alvera whoami +
alvera ping; pick the target datalake via alvera datalakes list.custom-dataset-creation skill. For a
production-grade workflow with templates and dry-run testing →
agentic-workflow-creation skill." Repeat the option list every
time you return to the loop (after each successful create or skip)
— don't assume the user remembers.alvera <resource> list ...).references/resources.md. Enum lists there are
hints to guide the conversation, not authoritative — the CLI/API
is the source of truth.--body-file, not in chat.
Example: "Creating data source prime-emr-source (uri
our-emr:prime-emr-source, status active, not default). Proceed?"
Only fall back to a JSON-ish form when the user explicitly asks
("show me the JSON", "show the full body").references/cli-cheatsheet.md). Treat
any non-zero exit / 4xx as an authoritative validation failure:
surface the stderr verbatim, map it back to the offending field, and
re-elicit only that field. Do not retry the same payload.infra.yaml if the receipt is enabled
(references/yaml-receipt.md) — only after a successful (2xx) create.Assume the user wants to do the positive action. Default to the forward path and ask for a yes/no confirmation — don't present long option menus when one answer is clearly what they want. For example:
prime-health? Or create a new one?"
(not "what do you want to do with datalakes?")When the user agrees, move immediately — don't re-confirm.
Read these before any user interaction:
references/scope.md — what is in/out of scope, with refusal language.references/guardrails.md — non-negotiable rules: no silent upsert,
destructive confirmations, secrets handling, dependency ordering,
read-before-write for updates.This skill drives the alvera CLI shipped by
@alvera-ai/platform-sdk
(>= 0.2.0). Two equivalent invocation forms — pick one and stay
consistent in the conversation:
# Zero-install (preferred — no project pollution)
npx -p @alvera-ai/platform-sdk alvera <command>
# Or install globally once
npm install -g @alvera-ai/platform-sdk
alvera <command>
All examples in the references use the bare alvera <command> form for
readability. Substitute the npx -p ... prefix at run time.
The CLI exits non-zero on any API error. Surface stderr verbatim — no fallbacks, no swallowing. Output is pretty JSON on stdout; status messages and prompts go to stderr, so responses stay pipeable.
Auth is session-based and stored AWS-CLI-style under ~/.alvera-ai/:
~/.alvera-ai/config — base URL, default tenant, email per profile~/.alvera-ai/credentials — session token + expires_at (mode 0600)The user runs alvera login once in their own shell. The skill never
collects the password and never invokes login itself.
references/scope.md — allowed/refused operationsreferences/bootstrap.md — first-turn questions and connectivity checksreferences/guardrails.md — non-negotiable rulesreferences/resources.md — per-resource field elicitation rulesreferences/yaml-receipt.md — emitted YAML schema and rulesreferences/cli-cheatsheet.md — CLI command surfacereferences/example-transcript.md — reference end-to-end conversation