skills/cli/code-engine-create/SKILL.md
Create Domo Code Engine packages from CLI workflows with deterministic payload contracts, automatic function parameter datatype mapping, and manifest packagesMapping follow-up guidance. Use when an agent must create a new package/versioned package container rather than only invoke an existing function from app runtime code.
npx skillsauth add stahura/domo-ai-vibe-rules code-engine-createInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill for package creation workflows, payload generation, and post-create mapping sync.
This skill covers lifecycle operations that are out of scope for app-runtime invocation skills:
manifest.json packagesMapping entries after createFor in-app function invocation patterns, use ~/.agents/skills/code-engine/SKILL.md.
Prefer community-domo-cli:
community-domo-cli --instance <instance> code-engine create-package --body-file payload.json
Fallback endpoint when CLI path is unavailable:
POST /api/codeengine/v2/packages
Hard rule: never call any Code Engine release endpoint unless the user explicitly says "release".
{
"name": "My Package",
"description": "Optional",
"code": "// JS source",
"environment": "LAMBDA",
"language": "JAVASCRIPT",
"manifest": {
"functions": [
{
"name": "myFunction",
"displayName": "My Function",
"description": "",
"inputs": [],
"parameters": [],
"output": {}
}
],
"configuration": {
"accountsMapping": []
}
}
}
Create semantics:
POST /api/codeengine/v2/packages creates a package or version payload target.id and version in the create body and send full code/manifest payload.When generating manifest.functions[].inputs/parameters/output, apply these defaults:
payload, params, config, data, body, options => objectdecimalis*, has*, enabled, required) => boolean*id, name, query, message) => texttextobjectUse the same type value for type and dataType when both fields are present.
After successful create, update app manifest.json packagesMapping:
packageId to created package idversion to returned version (or explicit target version)parameters and outputIf package ID/version changes, treat existing mapping as drift and sync immediately unless user requests otherwise.
After create, verify target package/version before declaring success:
GET /api/codeengine/v2/packages/{packageId}If create returns an incomplete version shell (for example missing function contracts), hand off to update flow:
PUT /api/codeengine/v2/packages/{id}/versions/{version} via code-engine-updatemanifest.functionscode-engine-update and re-verifiedpackagesMapping updated in manifest after createtools
Step-by-step orchestrator for building Domo App Studio apps with native KPI cards via community-domo-cli. Sequences app creation, pages, theme, hero metrics, native charts, filter cards, layout assembly, and navigation. CLI-first — no raw API calls.
tools
Create, update, and execute Magic ETL dataflows programmatically via API and CLI. Covers DAG-based JSON dataflow definitions, input/transform/output node wiring, join operations, and execution lifecycle.
tools
Magic ETL dataflows via community-domo-cli — list, get-definition, create, update, run, execution status; JSON DAG actions, transforms, joins. Use when automating dataflows with the community Domo CLI end-to-end. For REST/Java-CLI–first flows or mixed API patterns, use magic-etl instead.
development
Clean, professional dashboard theme for Domo custom apps. CSS custom properties, layout patterns, typography, and design polish that feel native to the Domo platform. Includes OKLCH color palette, layered shadows, concentric border radius, tabular numbers, and micro-interaction patterns.