npx skills add ...
npx skills add stahura/domo-ai-vibe-rules --skill code-engine-create
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 skills add stahura/domo-ai-vibe-rules --skill code-engine-create
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:
Fallback endpoint when CLI path is unavailable:
Hard rule: never call any Code Engine release endpoint unless the user explicitly says "release".
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 create{
"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": []
}
}
}