{"skill":{"slug":"dlazy-execute","displayName":"Dlazy Execute","summary":"Executes a sequence of dependent shapes end-to-end via dLazy API, substituting upstream outputs into downstream inputs and skipping non-idle shapes.","description":"---\r\nname: dlazy-execute\r\nversion: 1.1.1\r\ndescription: Executes a plan's flat shape list end-to-end. Each shape is dispatched through /api/ai/tool in dependency order (resolved from `shape://name:<X>` refs); upstream outputs are substituted into downstream input, and `promptRefs` text is prepended to the consumer's `prompt`. IMPORTANT: only shapes whose `props.status` is `idle` actually run — any other status (`completed` / `failed` / `processing`) is treated as already-done and its existing `props.url` is reused as the producer output. To resume after a failure, set the failed shapes (and any you want re-run) back to `idle`, optionally edit their `props.input`, then call execute again.\r\nmetadata: {\"clawdbot\":{\"emoji\":\"🤖\",\"requires\":{\"bins\":[\"npm\",\"npx\"]},\"install\":\"npm install -g @dlazy/cli@1.0.9\",\"installAlternative\":\"npx @dlazy/cli@1.0.9\",\"homepage\":\"https://github.com/dlazyai/cli\",\"source\":\"https://github.com/dlazyai/cli\",\"author\":\"dlazyai\",\"license\":\"see-repo\",\"npm\":\"https://www.npmjs.com/package/@dlazy/cli\",\"configLocation\":\"~/.dlazy/config.json\",\"apiEndpoints\":[\"api.dlazy.com\",\"files.dlazy.com\"]},\"openclaw\":{\"systemPrompt\":\"When invoking this skill, use dlazy execute -h for help.\"}}\r\n---\r\n\r\n# dlazy-execute\r\n\r\n[English](./SKILL.md) · [中文](./SKILL-cn.md)\r\n\r\n\r\nExecutes a plan's flat shape list end-to-end. Each shape is dispatched through /api/ai/tool in dependency order (resolved from `shape://name:<X>` refs); upstream outputs are substituted into downstream input, and `promptRefs` text is prepended to the consumer's `prompt`. IMPORTANT: only shapes whose `props.status` is `idle` actually run — any other status (`completed` / `failed` / `processing`) is treated as already-done and its existing `props.url` is reused as the producer output. To resume after a failure, set the failed shapes (and any you want re-run) back to `idle`, optionally edit their `props.input`, then call execute again.\r\n\r\n## Trigger Keywords\r\n\r\n- execute\r\n\r\n## Authentication\r\n\r\nAll requests require a dLazy API key. The recommended way to authenticate is:\r\n\r\n```bash\r\ndlazy login\r\n```\r\n\r\nThis runs a device-code flow (also works in remote shells) and **automatically saves your API key** to the local CLI config — no manual copy/paste required.\r\n\r\n### Alternative: Set the Key Manually\r\n\r\nIf you already have an API key, you can save it directly:\r\n\r\n```bash\r\ndlazy auth set YOUR_API_KEY\r\n```\r\n\r\nThe CLI saves the key in your user config directory (`~/.dlazy/config.json` on macOS/Linux, `%USERPROFILE%\\.dlazy\\config.json` on Windows), with file permissions restricted to your OS user account. You can also supply the key per-invocation via the `DLAZY_API_KEY` environment variable.\r\n\r\n### Getting Your API Key Manually\r\n\r\n1. Sign in or create an account at [dlazy.com](https://dlazy.com)\r\n2. Go to [dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key)\r\n3. Copy the key shown in the API Key section\r\n\r\nEach key is scoped to your dLazy organization and can be **rotated or revoked at any time** from the same dashboard.\r\n\r\n## About & Provenance\r\n\r\n- **CLI source code**: [github.com/dlazyai/cli](https://github.com/dlazyai/cli)\r\n- **Maintainer**: dlazyai\r\n- **npm package**: `@dlazy/cli` (pinned to `1.0.9` in this skill's install spec)\r\n- **Homepage**: [dlazy.com](https://dlazy.com)\r\n\r\nYou can install on demand without persisting a global binary by running:\r\n\r\n```bash\r\nnpx @dlazy/cli@1.0.9 <command>\r\n```\r\n\r\nOr, if you prefer a global install, the skill's `metadata.clawdbot.install` field declares the exact pinned version (`npm install -g @dlazy/cli@1.0.9`). Review the GitHub source before installing.\r\n\r\n## How It Works\r\n\r\nThis skill is a thin client over the dLazy hosted API. When you invoke it:\r\n\r\n- Prompts and parameters you provide are sent to the dLazy API endpoint (`api.dlazy.com`) for inference.\r\n- Any local file paths you pass to image / video / audio fields are uploaded to dLazy's media storage (`files.dlazy.com`) so the model can read them — the same flow as any cloud-based generation API.\r\n- Generated output URLs returned by the API are hosted on `files.dlazy.com`.\r\n\r\nThis is the standard SaaS pattern; the skill itself does not access network or filesystem resources beyond what the dLazy CLI already handles. See [dlazy.com](https://dlazy.com) for the full service terms.\r\n\r\n## Usage\r\n\r\n**CRITICAL INSTRUCTION FOR AGENT**:\r\nExecute `dlazy execute` to get the result.\r\n\r\n```bash\r\ndlazy execute -h\r\n\r\nOptions:\r\n  --shapes [shapes...]                 Flat shape list to execute (typically plan.shapes). Cross-shape references inside `props.input` use either `shape://name:<name>` (resolves to the producer matching `props.name`) or `shape://shape:<id>` (resolves to the producer matching `id`); refs whose target is not in this array are dropped as if the param were absent. Each shape's `props.status` controls scheduling: only `idle` shapes run; shapes with any other status are treated as already-done and their `props.url` is reused as the producer output for downstream refs. To resume a failed run, set the failed/affected shapes back to `idle` (optionally edit their `props.input`) and call execute again.\r\n  --projectId [projectId]              Optional project id forwarded to every downstream tool call (used for asset scoping and credit accounting).\r\n  --sessionId [sessionId]              Optional execution session id; pass the same value across resume attempts so logs can be correlated.\r\n  --dry-run                            Print payload + cost estimate without calling API\r\n  --no-wait                            Return generateId immediately for async tasks\r\n  --timeout <seconds>                  Max seconds to wait for async completion (default: \"1800\")\r\n  -h, --help                           display help for command\r\n```\r\n\r\n> Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.\r\n\r\n## Output Format\r\n\r\n```json\r\n{\r\n  \"ok\": true,\r\n  \"result\": {\r\n    \"tool\": \"execute\",\r\n    \"modelId\": \"execute\",\r\n    \"outputs\": [\r\n      {\r\n        \"type\": \"shape\",\r\n        \"id\": \"o_xxxxxxxx\",\r\n        \"shape\": {}\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n\r\n> Async tasks (when `--no-wait` is passed) return `outputs: []` and a `task: { generateId, status }` field instead. Use `dlazy status <generateId> --wait` to poll.\r\n\r\n## Examples\r\n\r\n```bash\r\ndlazy execute --prompt 'prompt content'\r\n```\r\n\r\n## Error Handling\r\n\r\n| Code | Error Type                         | Example Message                                                                                                          |\r\n| ---- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\r\n| 401  | Unauthorized (No API Key)          | `ok: false, code: \"unauthorized\", message: \"API key is missing or invalid\"`                                                              |\r\n| 501  | Missing required parameter         | `error: required option '--prompt <prompt>' not specified`                                                              |\r\n| 502  | Local file read error              | `Error: Image file/Video file not found: C:\\path\\to\\your\\file`                                                          |\r\n| 503  | API request failed (no balance)    | `ok: false, code: \"insufficient_balance\"` |\r\n| 503  | API request failed (server error)  | `HTTP status code error (500 server crash)`                                                                             |\r\n| 504  | Asynchronous task execution failed | `=== Generation Failed ===` / `{Specific error reason returned by backend, for example \"Prompt violates safety policy\"}` |\r\n\r\n> **AGENT CRITICAL INSTRUCTION**: \r\n> 1. If the execution result returns `code: \"insufficient_balance\"`, you MUST explicitly inform the user that their credits are insufficient and guide them to recharge: [https://dlazy.com/dashboard/organization/settings?tab=credits](https://dlazy.com/dashboard/organization/settings?tab=credits)\r\n> 2. If the execution result returns `code: \"unauthorized\"` or indicates missing API key, you MUST inform the user to get their API key from [https://dlazy.com/dashboard/organization/api-key](https://dlazy.com/dashboard/organization/api-key) and save it using `dlazy auth set <key>` and resume the task.\r\n\r\n## Tips\r\n\r\nVisit https://dlazy.com for more information.","tags":{"latest":"1.1.2"},"stats":{"comments":0,"downloads":808,"installsAllTime":31,"installsCurrent":1,"stars":0,"versions":3},"createdAt":1777621655620,"updatedAt":1780364253564},"latestVersion":{"version":"1.1.2","createdAt":1780364253564,"changelog":"Update model skills (names/params refreshed); add search-audio/image/video","license":"MIT-0"},"metadata":null,"owner":{"handle":"dlazyai","userId":"s170j1ymymrxasgd00dsk7tckx84cf45","displayName":"dlazy","image":"https://avatars.githubusercontent.com/u/274158181?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780367218279}}