code-engine-create について
Domo Code Engine のパッケージ作成と関数ペイロードの準備を支援するスキルです。データ型を割り当て、アプリのマニフェストを同期し、作成したバージョンを検証します。
主な機能
- 01パッケージペイロードの作成
- 02関数の入出力型の割り当て
- 03マニフェストのパッケージマッピング同期
- 04バージョンと契約の検証
- 05明示的な承認後にリリース
活用シーン
- 01Code Engine パッケージの新規作成
- 02関数のデータ型契約の準備
- 03作成後のアプリマニフェスト更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ stahura/ domo-ai-vibe-rules --skill code-engine-createインストール後、Claude Code で/code-engine-createを入力して読み込まれたか確認します。
詳細
Code Engine パッケージ作成(CLI)
パッケージ作成ワークフロー、ペイロードの生成、作成後のマッピング同期には、このスキルを使用します。
目的
このスキルでは、アプリランタイム呼び出しスキルの対象外である、次のライフサイクル操作を扱います。
- 新しいパッケージのシェルを作成する
- パッケージの初回コンテンツペイロードを公開する
- 関数の入出力データ型を推測して正規化する
- 作成後にアプリの
manifest.jsonのpackagesMappingエントリを更新する
アプリ内の関数呼び出しパターンについては、~/.agents/skills/code-engine/SKILL.md を使用してください。
主な実行方法
community-domo-cli を優先してください。
community-domo-cli --instance <instance> code-engine create-package --body-file payload.json
CLI を利用できない場合のフォールバックエンドポイント:
POST /api/codeengine/v2/packages
リリースの安全ルール
厳守事項:ユーザーが明示的に 「release」 と指示しない限り、Code Engine のリリースエンドポイントを呼び出してはいけません。
- 文脈からリリースの指示を推測してはいけません。
- 「finish」「publish」「make it work」の一環としてリリースしてはいけません。
- リリースが必要と思われる場合は、いったん停止し、明示的なリリース承認を求めてください。
必須のペイロード形式
{
"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": []
}
}
}
作成時のセマンティクス:
POST /api/codeengine/v2/packagesは、パッケージまたはバージョンのペイロードターゲットを作成します。- 既存のパッケージに新しいバージョンを作成する場合は、作成ボディに
idとversionを含め、コードとマニフェストの完全なペイロードを送信します。
データ型のマッピングルール(自動マッピング)
manifest.functions[].inputs/parameters/output を生成する際は、次の既定値を適用します。
payload、params、config、data、body、options=>object- 件数/上限/オフセットを示す名前 =>
decimal - ブール値を示す名前(
is*、has*、enabled、required)=>boolean - 識別子/テキストフィールド(
*id、name、query、message)=>text - 不明なもの =>
text - 出力の既定値 =>
object
両方のフィールドが存在する場合は、type と dataType に同じ型の値を使用します。
作成後のマニフェスト更新
作成が成功したら、アプリの manifest.json の packagesMapping を更新します。
packageIdに作成されたパッケージ ID を設定するversionに返されたバージョン(または明示的に指定されたターゲットバージョン)を設定する- マッピングされた各関数の
parametersとoutputが一致していることを確認する
パッケージ ID/バージョンが変更された場合は、既存のマッピングを不整合として扱い、ユーザーが別途指示しない限り、ただちに同期します。
作成後の検証(必須)
成功を宣言する前に、作成後の対象パッケージ/バージョンを検証します。
GET /api/codeengine/v2/packages/{packageId}- 対象のバージョンが存在し、想定される関数名が含まれていることを確認します。
- 関数の入出力に、想定されるデータ型と null 許容性が設定されていることを確認します。
作成によって不完全なバージョンシェル(関数のコントラクトが不足している場合など)が返された場合は、更新フローに引き継ぎます。
code-engine-update経由でPUT /api/codeengine/v2/packages/{id}/versions/{version}- 更新後に検証を再実行する
チェックリスト
- CLI 優先の作成を試みた
- CLI を利用できない場合のエンドポイントへのフォールバックを記載した
- ペイロードに
manifest.functionsが含まれている - 各関数の入出力にデータ型のマッピングを適用した
- ユーザーが明示的にリリースを依頼していない限り、リリースを実行していない
- 対象のパッケージ/バージョンに対する作成後の検証が完了した
- 不完全な作成結果を
code-engine-updateに引き継ぎ、再検証した - 作成後にマニフェストの
packagesMappingを更新した - 後続の手順で使えるよう、結果にパッケージ ID/バージョンが含まれている