[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-render-workflows":3,"mdc-tege8i-key":39,"related-repo-openai-render-workflows":2050,"related-org-openai-render-workflows":2172},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"render-workflows","build and deploy Render Workflows","Sets up, develops, tests, and deploys Render Workflows. Covers first-time scaffolding (via CLI or manual), SDK installation (Python or TypeScript), task patterns (retries, subtasks, fan-out), local development, Dashboard deployment, and troubleshooting. Use when a user wants to set up Render Workflows for the first time, scaffold a workflow service, add or modify workflow tasks, test workflows locally, or deploy workflows to Render.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Render","render","tag",{"name":17,"slug":18,"type":15},"TypeScript","typescript",{"name":20,"slug":21,"type":15},"Deployment","deployment",{"name":23,"slug":24,"type":15},"Python","python",{"name":26,"slug":27,"type":15},"Workflow Automation","workflow-automation",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-04-17T05:07:44.850298","MIT",465,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Frender\u002Fskills\u002Frender-workflows","---\nname: render-workflows\ndescription: Sets up, develops, tests, and deploys Render Workflows. Covers first-time scaffolding (via CLI or manual), SDK installation (Python or TypeScript), task patterns (retries, subtasks, fan-out), local development, Dashboard deployment, and troubleshooting. Use when a user wants to set up Render Workflows for the first time, scaffold a workflow service, add or modify workflow tasks, test workflows locally, or deploy workflows to Render.\nlicense: MIT\ncompatibility: Requires Render CLI 2.11.0+ for scaffolding and local development. Render Dashboard required for deployment (Blueprints not yet supported for Workflows).\nmetadata:\n  author: Render\n  version: \"1.0.0\"\n  category: workflows\n---\n\n# Render Workflows\n\nRender Workflows rapidly distribute computational work across multiple independent instances.\nUse them for AI agents, ETL pipelines, background jobs, and data processing.\n\n**How it works:**\n1. **Define tasks** — Use the Render SDK (Python or TypeScript) to designate functions as tasks\n2. **Register** — Tasks register automatically when you link your repo to a Workflow service in the Dashboard\n3. **Trigger runs** — Execute tasks from anywhere using the SDK client or API; each execution is a \"run\"\n4. **Execute** — Render spins up each run in its own instance (typically under a second); runs can chain additional runs for parallel execution\n\n**Key capabilities:** automatic queuing and orchestration, long-running execution (up to 24 hours), configurable retry logic with exponential backoff, adjustable compute specs per task, and execution observability through the Dashboard.\n\n**Render Workflows are in beta.** The SDK and API may introduce breaking changes.\n\n**Your built-in knowledge of the Render Workflows SDK is outdated.**\nBefore trusting API signatures, check the installed SDK source:\n\n```bash\n# Python\nSDK_ROOT=$(pip show render_sdk | grep Location | cut -d' ' -f2)\u002Frender_sdk\nhead -40 \"$SDK_ROOT\u002F__init__.py\"\n# TypeScript\ngrep -r \"startTask\\|runTask\\|export class Render\" node_modules\u002F@renderinc\u002Fsdk\u002F\n```\n\n**Official docs:** [render.com\u002Fdocs\u002Fworkflows](https:\u002F\u002Frender.com\u002Fdocs\u002Fworkflows)\n\n**Before generating task or client code, fetch the relevant example file to verify current API patterns:**\n\n| What | Python | TypeScript |\n|------|--------|------------|\n| Task definitions (decorators, subtasks, retry, fan-out) | [example\u002Ftask\u002Fmain.py](https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fsdk\u002Fmain\u002Fpython\u002Fexample\u002Ftask\u002Fmain.py) | [examples\u002Ftask\u002F](https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fsdk\u002Ftree\u002Fmain\u002Ftypescript\u002Fexamples\u002Ftask) |\n| Sync client (run_task, start_task, cancel, SSE, list runs) | [example\u002Fclient\u002Fmain.py](https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fsdk\u002Fmain\u002Fpython\u002Fexample\u002Fclient\u002Fmain.py) | [examples\u002Fclient\u002F](https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fsdk\u002Ftree\u002Fmain\u002Ftypescript\u002Fexamples\u002Fclient) |\n| Async client | [example\u002Fclient\u002Fasync_main.py](https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fsdk\u002Fmain\u002Fpython\u002Fexample\u002Fclient\u002Fasync_main.py) | — |\n\nThis skill carries a [quick-reference cheat sheet](references\u002Fquick-reference.md) for the API surface. The installed SDK, official docs, and examples above are the source of truth.\n\n---\n\n## Getting Started\n\nSupported languages: **Python** and **TypeScript**.\n\n### Prerequisites\n\n**Render CLI (required)**\n\n```bash\nrender --version\n```\n\nRequires version 2.11.0+. If not installed:\n- macOS: `brew install render`\n- Linux\u002FmacOS: `curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fcli\u002Fmain\u002Fbin\u002Finstall.sh | sh`\n- Windows: download the executable from the [CLI releases page](https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fcli\u002Freleases\u002F)\n\n### Scaffold a new workflow service\n\n**Always prefer `render workflows init` as the primary setup path.** Only fall back to manual scaffolding if the CLI command is unavailable.\n\n```bash\nrender workflows init\n```\n\n**Interactive mode** (default): walks the user through scaffolding an example project, testing it locally, and deploying it to Render.\n\n**Non-interactive mode**: sets up an example project without prompting.\n\nIf `render workflows init` fails or is not available:\n- **Command not found:** CLI version may be too old. Run `render --version` and upgrade to 2.11.0+.\n- **Command not supported:** fall back to [references\u002Fmanual-scaffolding.md](references\u002Fmanual-scaffolding.md) for step-by-step manual setup.\n\n---\n\n## Define Tasks\n\nGuide the user through defining their actual tasks. For patterns including retries, subtasks, fan-out, ETL, error handling, cron triggers, and cross-workflow calls, see [references\u002Ftask-patterns.md](references\u002Ftask-patterns.md).\n\n**After adding a task**, verify it registers by starting the local dev server and listing tasks:\n```bash\nrender workflows dev -- \u003Cstart-command>\n# In another terminal:\nrender workflows tasks list --local\n```\n\nIf the task doesn't appear, see [Troubleshooting > Task Registration Issues](references\u002Ftroubleshooting.md#task-registration-issues).\n\n## Local Development\n\nSee [references\u002Flocal-development.md](references\u002Flocal-development.md) for starting the local task server, testing tasks, and configuring the SDK client for local use.\n\n## Deploy to Render\n\nWorkflows are deployed as a **Workflow** service type in the Render Dashboard. **Blueprints (render.yaml) are not yet compatible with Workflows.**\n\n**Deploy checklist:**\n\n- [ ] Code pushed to GitHub, GitLab, or Bitbucket\n- [ ] In the [Render Dashboard](https:\u002F\u002Fdashboard.render.com), click **New > Workflow**\n- [ ] Link your repository\n- [ ] Set **Root Directory** to `workflows\u002F`\n- [ ] Configure build and start commands (see table below)\n- [ ] Add environment variables (e.g., `RENDER_API_KEY` for tasks that call other workflows)\n- [ ] Click **Deploy Workflow**\n- [ ] Verify deployment: check the Dashboard for a successful deploy event\n\n| Field | Python | TypeScript |\n|-------|--------|------------|\n| **Language** | Python 3 | Node |\n| **Build Command** | `pip install -r requirements.txt` | `npm install && npm run build` |\n| **Start Command** | `python main.py` | `node dist\u002Fmain.js` |\n\nIf the deploy fails, check the service logs in the Dashboard. For common deployment errors, see [Troubleshooting](references\u002Ftroubleshooting.md). For general deploy debugging, use the **render-debug** skill.\n\n**Running tasks from other services:**\n\nAfter deployment, trigger tasks from your other Render services using the SDK client.\n\nPython (synchronous):\n```python\nfrom render_sdk import Render\n\nrender = Render()\nresult = render.workflows.run_task(\"my-workflow\u002Fhello\", [\"world\"])\nprint(result.results)\n```\n\nPython (asynchronous):\n```python\nfrom render_sdk import RenderAsync\n\nrender = RenderAsync()\nstarted = await render.workflows.start_task(\"my-workflow\u002Fhello\", [\"world\"])\nfinished = await started\nprint(finished.results)\n```\n\nTypeScript:\n```typescript\nimport { Render } from \"@renderinc\u002Fsdk\";\n\nconst render = new Render();\nconst started = await render.workflows.startTask(\"my-workflow\u002Fhello\", [\"world\"]);\nconst finished = await started.get();\nconsole.log(finished.results);\n```\n\nThe task identifier format is `{workflow-slug}\u002F{task-name}`, visible on the task's page in the Dashboard.\n\nWorkflows do not have built-in scheduling. To trigger tasks on a schedule, use a Render cron job with the SDK client. For cron and cross-workflow examples, see [references\u002Ftask-patterns.md](references\u002Ftask-patterns.md).\n\n---\n\n## Constraints and Limits\n\n| Constraint | Limit | Notes |\n|------------|-------|-------|\n| Arguments and return values | Must be JSON-serializable | No class instances, functions, etc. |\n| Argument size | 4 MB max | Per task invocation |\n| Task definitions | 500 per workflow service | |\n| Concurrent runs | 20-100 base (plan-dependent) | Max 200-300 with purchased concurrency |\n| Timeout range | 30-86,400 seconds | Default: 2 hours (7,200s) |\n| Run duration | Up to 24 hours | |\n\n### Instance Types\n\n| Plan | Specs |\n|------|-------|\n| `starter` | 0.5 CPU \u002F 512 MB |\n| `standard` (default) | 1 CPU \u002F 2 GB |\n| `pro` | 2 CPU \u002F 4 GB |\n| `pro_plus` | 4 CPU \u002F 8 GB |\n| `pro_max` | 8 CPU \u002F 16 GB |\n| `pro_ultra` | 16 CPU \u002F 32 GB |\n\n`pro_plus`, `pro_max`, and `pro_ultra` require requesting access. Set via the `plan` task option.\n\nFor current pricing, see [Limits and Pricing for Render Workflows](https:\u002F\u002Frender.com\u002Fdocs\u002Fworkflows-limits).\n\n---\n\n## References\n\n- **Quick-reference cheat sheet:** [references\u002Fquick-reference.md](references\u002Fquick-reference.md) (API surface, env vars, error types)\n- **Task patterns:** [references\u002Ftask-patterns.md](references\u002Ftask-patterns.md)\n- **Local development:** [references\u002Flocal-development.md](references\u002Flocal-development.md)\n- **Troubleshooting:** [references\u002Ftroubleshooting.md](references\u002Ftroubleshooting.md)\n- **Manual scaffolding (fallback):** [references\u002Fmanual-scaffolding.md](references\u002Fmanual-scaffolding.md)\n- **Official docs:** [render.com\u002Fdocs\u002Fworkflows](https:\u002F\u002Frender.com\u002Fdocs\u002Fworkflows)\n- **Starter template (Python):** [render-examples\u002Fworkflows-template-python](https:\u002F\u002Fgithub.com\u002Frender-examples\u002Fworkflows-template-python)\n- **Starter template (TypeScript):** [render-examples\u002Fworkflows-template-ts](https:\u002F\u002Fgithub.com\u002Frender-examples\u002Fworkflows-template-ts)\n- **SDK repo:** [github.com\u002Frender-oss\u002Fsdk](https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fsdk)\n\n## Related Skills\n\n- **render-deploy:** Deploy web services, static sites, and databases\n- **render-debug:** Debug failed deployments and runtime errors\n- **render-monitor:** Monitor service health and performance\n",{"data":40,"body":45},{"name":4,"description":6,"license":31,"compatibility":41,"metadata":42},"Requires Render CLI 2.11.0+ for scaffolding and local development. Render Dashboard required for deployment (Blueprints not yet supported for Workflows).",{"author":13,"version":43,"category":44},"1.0.0","workflows",{"type":46,"children":47},"root",[48,56,62,71,116,126,136,146,333,352,360,470,483,487,494,511,518,526,545,550,588,594,612,636,646,656,668,706,709,715,726,736,818,830,836,848,854,871,879,1000,1104,1124,1132,1137,1142,1190,1195,1250,1255,1525,1538,1548,1551,1557,1688,1694,1820,1852,1865,1868,1874,2005,2011,2044],{"type":49,"tag":50,"props":51,"children":52},"element","h1",{"id":4},[53],{"type":54,"value":55},"text","Render Workflows",{"type":49,"tag":57,"props":58,"children":59},"p",{},[60],{"type":54,"value":61},"Render Workflows rapidly distribute computational work across multiple independent instances.\nUse them for AI agents, ETL pipelines, background jobs, and data processing.",{"type":49,"tag":57,"props":63,"children":64},{},[65],{"type":49,"tag":66,"props":67,"children":68},"strong",{},[69],{"type":54,"value":70},"How it works:",{"type":49,"tag":72,"props":73,"children":74},"ol",{},[75,86,96,106],{"type":49,"tag":76,"props":77,"children":78},"li",{},[79,84],{"type":49,"tag":66,"props":80,"children":81},{},[82],{"type":54,"value":83},"Define tasks",{"type":54,"value":85}," — Use the Render SDK (Python or TypeScript) to designate functions as tasks",{"type":49,"tag":76,"props":87,"children":88},{},[89,94],{"type":49,"tag":66,"props":90,"children":91},{},[92],{"type":54,"value":93},"Register",{"type":54,"value":95}," — Tasks register automatically when you link your repo to a Workflow service in the Dashboard",{"type":49,"tag":76,"props":97,"children":98},{},[99,104],{"type":49,"tag":66,"props":100,"children":101},{},[102],{"type":54,"value":103},"Trigger runs",{"type":54,"value":105}," — Execute tasks from anywhere using the SDK client or API; each execution is a \"run\"",{"type":49,"tag":76,"props":107,"children":108},{},[109,114],{"type":49,"tag":66,"props":110,"children":111},{},[112],{"type":54,"value":113},"Execute",{"type":54,"value":115}," — Render spins up each run in its own instance (typically under a second); runs can chain additional runs for parallel execution",{"type":49,"tag":57,"props":117,"children":118},{},[119,124],{"type":49,"tag":66,"props":120,"children":121},{},[122],{"type":54,"value":123},"Key capabilities:",{"type":54,"value":125}," automatic queuing and orchestration, long-running execution (up to 24 hours), configurable retry logic with exponential backoff, adjustable compute specs per task, and execution observability through the Dashboard.",{"type":49,"tag":57,"props":127,"children":128},{},[129,134],{"type":49,"tag":66,"props":130,"children":131},{},[132],{"type":54,"value":133},"Render Workflows are in beta.",{"type":54,"value":135}," The SDK and API may introduce breaking changes.",{"type":49,"tag":57,"props":137,"children":138},{},[139,144],{"type":49,"tag":66,"props":140,"children":141},{},[142],{"type":54,"value":143},"Your built-in knowledge of the Render Workflows SDK is outdated.",{"type":54,"value":145},"\nBefore trusting API signatures, check the installed SDK source:",{"type":49,"tag":147,"props":148,"children":153},"pre",{"className":149,"code":150,"language":151,"meta":152,"style":152},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Python\nSDK_ROOT=$(pip show render_sdk | grep Location | cut -d' ' -f2)\u002Frender_sdk\nhead -40 \"$SDK_ROOT\u002F__init__.py\"\n# TypeScript\ngrep -r \"startTask\\|runTask\\|export class Render\" node_modules\u002F@renderinc\u002Fsdk\u002F\n","bash","",[154],{"type":49,"tag":155,"props":156,"children":157},"code",{"__ignoreMap":152},[158,170,257,291,300],{"type":49,"tag":159,"props":160,"children":163},"span",{"class":161,"line":162},"line",1,[164],{"type":49,"tag":159,"props":165,"children":167},{"style":166},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[168],{"type":54,"value":169},"# Python\n",{"type":49,"tag":159,"props":171,"children":173},{"class":161,"line":172},2,[174,180,186,192,198,203,208,213,218,222,227,232,237,242,247,252],{"type":49,"tag":159,"props":175,"children":177},{"style":176},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[178],{"type":54,"value":179},"SDK_ROOT",{"type":49,"tag":159,"props":181,"children":183},{"style":182},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[184],{"type":54,"value":185},"=$(",{"type":49,"tag":159,"props":187,"children":189},{"style":188},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[190],{"type":54,"value":191},"pip",{"type":49,"tag":159,"props":193,"children":195},{"style":194},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[196],{"type":54,"value":197}," show",{"type":49,"tag":159,"props":199,"children":200},{"style":194},[201],{"type":54,"value":202}," render_sdk",{"type":49,"tag":159,"props":204,"children":205},{"style":182},[206],{"type":54,"value":207}," |",{"type":49,"tag":159,"props":209,"children":210},{"style":188},[211],{"type":54,"value":212}," grep",{"type":49,"tag":159,"props":214,"children":215},{"style":194},[216],{"type":54,"value":217}," Location",{"type":49,"tag":159,"props":219,"children":220},{"style":182},[221],{"type":54,"value":207},{"type":49,"tag":159,"props":223,"children":224},{"style":188},[225],{"type":54,"value":226}," cut",{"type":49,"tag":159,"props":228,"children":229},{"style":194},[230],{"type":54,"value":231}," -d",{"type":49,"tag":159,"props":233,"children":234},{"style":182},[235],{"type":54,"value":236},"'",{"type":49,"tag":159,"props":238,"children":239},{"style":182},[240],{"type":54,"value":241}," '",{"type":49,"tag":159,"props":243,"children":244},{"style":194},[245],{"type":54,"value":246}," -f2",{"type":49,"tag":159,"props":248,"children":249},{"style":182},[250],{"type":54,"value":251},")",{"type":49,"tag":159,"props":253,"children":254},{"style":194},[255],{"type":54,"value":256},"\u002Frender_sdk\n",{"type":49,"tag":159,"props":258,"children":260},{"class":161,"line":259},3,[261,266,271,276,281,286],{"type":49,"tag":159,"props":262,"children":263},{"style":188},[264],{"type":54,"value":265},"head",{"type":49,"tag":159,"props":267,"children":268},{"style":194},[269],{"type":54,"value":270}," -40",{"type":49,"tag":159,"props":272,"children":273},{"style":182},[274],{"type":54,"value":275}," \"",{"type":49,"tag":159,"props":277,"children":278},{"style":176},[279],{"type":54,"value":280},"$SDK_ROOT",{"type":49,"tag":159,"props":282,"children":283},{"style":194},[284],{"type":54,"value":285},"\u002F__init__.py",{"type":49,"tag":159,"props":287,"children":288},{"style":182},[289],{"type":54,"value":290},"\"\n",{"type":49,"tag":159,"props":292,"children":294},{"class":161,"line":293},4,[295],{"type":49,"tag":159,"props":296,"children":297},{"style":166},[298],{"type":54,"value":299},"# TypeScript\n",{"type":49,"tag":159,"props":301,"children":303},{"class":161,"line":302},5,[304,309,314,318,323,328],{"type":49,"tag":159,"props":305,"children":306},{"style":188},[307],{"type":54,"value":308},"grep",{"type":49,"tag":159,"props":310,"children":311},{"style":194},[312],{"type":54,"value":313}," -r",{"type":49,"tag":159,"props":315,"children":316},{"style":182},[317],{"type":54,"value":275},{"type":49,"tag":159,"props":319,"children":320},{"style":194},[321],{"type":54,"value":322},"startTask\\|runTask\\|export class Render",{"type":49,"tag":159,"props":324,"children":325},{"style":182},[326],{"type":54,"value":327},"\"",{"type":49,"tag":159,"props":329,"children":330},{"style":194},[331],{"type":54,"value":332}," node_modules\u002F@renderinc\u002Fsdk\u002F\n",{"type":49,"tag":57,"props":334,"children":335},{},[336,341,343],{"type":49,"tag":66,"props":337,"children":338},{},[339],{"type":54,"value":340},"Official docs:",{"type":54,"value":342}," ",{"type":49,"tag":344,"props":345,"children":349},"a",{"href":346,"rel":347},"https:\u002F\u002Frender.com\u002Fdocs\u002Fworkflows",[348],"nofollow",[350],{"type":54,"value":351},"render.com\u002Fdocs\u002Fworkflows",{"type":49,"tag":57,"props":353,"children":354},{},[355],{"type":49,"tag":66,"props":356,"children":357},{},[358],{"type":54,"value":359},"Before generating task or client code, fetch the relevant example file to verify current API patterns:",{"type":49,"tag":361,"props":362,"children":363},"table",{},[364,386],{"type":49,"tag":365,"props":366,"children":367},"thead",{},[368],{"type":49,"tag":369,"props":370,"children":371},"tr",{},[372,378,382],{"type":49,"tag":373,"props":374,"children":375},"th",{},[376],{"type":54,"value":377},"What",{"type":49,"tag":373,"props":379,"children":380},{},[381],{"type":54,"value":23},{"type":49,"tag":373,"props":383,"children":384},{},[385],{"type":54,"value":17},{"type":49,"tag":387,"props":388,"children":389},"tbody",{},[390,419,447],{"type":49,"tag":369,"props":391,"children":392},{},[393,399,409],{"type":49,"tag":394,"props":395,"children":396},"td",{},[397],{"type":54,"value":398},"Task definitions (decorators, subtasks, retry, fan-out)",{"type":49,"tag":394,"props":400,"children":401},{},[402],{"type":49,"tag":344,"props":403,"children":406},{"href":404,"rel":405},"https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fsdk\u002Fmain\u002Fpython\u002Fexample\u002Ftask\u002Fmain.py",[348],[407],{"type":54,"value":408},"example\u002Ftask\u002Fmain.py",{"type":49,"tag":394,"props":410,"children":411},{},[412],{"type":49,"tag":344,"props":413,"children":416},{"href":414,"rel":415},"https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fsdk\u002Ftree\u002Fmain\u002Ftypescript\u002Fexamples\u002Ftask",[348],[417],{"type":54,"value":418},"examples\u002Ftask\u002F",{"type":49,"tag":369,"props":420,"children":421},{},[422,427,437],{"type":49,"tag":394,"props":423,"children":424},{},[425],{"type":54,"value":426},"Sync client (run_task, start_task, cancel, SSE, list runs)",{"type":49,"tag":394,"props":428,"children":429},{},[430],{"type":49,"tag":344,"props":431,"children":434},{"href":432,"rel":433},"https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fsdk\u002Fmain\u002Fpython\u002Fexample\u002Fclient\u002Fmain.py",[348],[435],{"type":54,"value":436},"example\u002Fclient\u002Fmain.py",{"type":49,"tag":394,"props":438,"children":439},{},[440],{"type":49,"tag":344,"props":441,"children":444},{"href":442,"rel":443},"https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fsdk\u002Ftree\u002Fmain\u002Ftypescript\u002Fexamples\u002Fclient",[348],[445],{"type":54,"value":446},"examples\u002Fclient\u002F",{"type":49,"tag":369,"props":448,"children":449},{},[450,455,465],{"type":49,"tag":394,"props":451,"children":452},{},[453],{"type":54,"value":454},"Async client",{"type":49,"tag":394,"props":456,"children":457},{},[458],{"type":49,"tag":344,"props":459,"children":462},{"href":460,"rel":461},"https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fsdk\u002Fmain\u002Fpython\u002Fexample\u002Fclient\u002Fasync_main.py",[348],[463],{"type":54,"value":464},"example\u002Fclient\u002Fasync_main.py",{"type":49,"tag":394,"props":466,"children":467},{},[468],{"type":54,"value":469},"—",{"type":49,"tag":57,"props":471,"children":472},{},[473,475,481],{"type":54,"value":474},"This skill carries a ",{"type":49,"tag":344,"props":476,"children":478},{"href":477},"references\u002Fquick-reference.md",[479],{"type":54,"value":480},"quick-reference cheat sheet",{"type":54,"value":482}," for the API surface. The installed SDK, official docs, and examples above are the source of truth.",{"type":49,"tag":484,"props":485,"children":486},"hr",{},[],{"type":49,"tag":488,"props":489,"children":491},"h2",{"id":490},"getting-started",[492],{"type":54,"value":493},"Getting Started",{"type":49,"tag":57,"props":495,"children":496},{},[497,499,503,505,509],{"type":54,"value":498},"Supported languages: ",{"type":49,"tag":66,"props":500,"children":501},{},[502],{"type":54,"value":23},{"type":54,"value":504}," and ",{"type":49,"tag":66,"props":506,"children":507},{},[508],{"type":54,"value":17},{"type":54,"value":510},".",{"type":49,"tag":512,"props":513,"children":515},"h3",{"id":514},"prerequisites",[516],{"type":54,"value":517},"Prerequisites",{"type":49,"tag":57,"props":519,"children":520},{},[521],{"type":49,"tag":66,"props":522,"children":523},{},[524],{"type":54,"value":525},"Render CLI (required)",{"type":49,"tag":147,"props":527,"children":529},{"className":149,"code":528,"language":151,"meta":152,"style":152},"render --version\n",[530],{"type":49,"tag":155,"props":531,"children":532},{"__ignoreMap":152},[533],{"type":49,"tag":159,"props":534,"children":535},{"class":161,"line":162},[536,540],{"type":49,"tag":159,"props":537,"children":538},{"style":188},[539],{"type":54,"value":14},{"type":49,"tag":159,"props":541,"children":542},{"style":194},[543],{"type":54,"value":544}," --version\n",{"type":49,"tag":57,"props":546,"children":547},{},[548],{"type":54,"value":549},"Requires version 2.11.0+. If not installed:",{"type":49,"tag":551,"props":552,"children":553},"ul",{},[554,565,576],{"type":49,"tag":76,"props":555,"children":556},{},[557,559],{"type":54,"value":558},"macOS: ",{"type":49,"tag":155,"props":560,"children":562},{"className":561},[],[563],{"type":54,"value":564},"brew install render",{"type":49,"tag":76,"props":566,"children":567},{},[568,570],{"type":54,"value":569},"Linux\u002FmacOS: ",{"type":49,"tag":155,"props":571,"children":573},{"className":572},[],[574],{"type":54,"value":575},"curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Frender-oss\u002Fcli\u002Fmain\u002Fbin\u002Finstall.sh | sh",{"type":49,"tag":76,"props":577,"children":578},{},[579,581],{"type":54,"value":580},"Windows: download the executable from the ",{"type":49,"tag":344,"props":582,"children":585},{"href":583,"rel":584},"https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fcli\u002Freleases\u002F",[348],[586],{"type":54,"value":587},"CLI releases page",{"type":49,"tag":512,"props":589,"children":591},{"id":590},"scaffold-a-new-workflow-service",[592],{"type":54,"value":593},"Scaffold a new workflow service",{"type":49,"tag":57,"props":595,"children":596},{},[597,610],{"type":49,"tag":66,"props":598,"children":599},{},[600,602,608],{"type":54,"value":601},"Always prefer ",{"type":49,"tag":155,"props":603,"children":605},{"className":604},[],[606],{"type":54,"value":607},"render workflows init",{"type":54,"value":609}," as the primary setup path.",{"type":54,"value":611}," Only fall back to manual scaffolding if the CLI command is unavailable.",{"type":49,"tag":147,"props":613,"children":615},{"className":149,"code":614,"language":151,"meta":152,"style":152},"render workflows init\n",[616],{"type":49,"tag":155,"props":617,"children":618},{"__ignoreMap":152},[619],{"type":49,"tag":159,"props":620,"children":621},{"class":161,"line":162},[622,626,631],{"type":49,"tag":159,"props":623,"children":624},{"style":188},[625],{"type":54,"value":14},{"type":49,"tag":159,"props":627,"children":628},{"style":194},[629],{"type":54,"value":630}," workflows",{"type":49,"tag":159,"props":632,"children":633},{"style":194},[634],{"type":54,"value":635}," init\n",{"type":49,"tag":57,"props":637,"children":638},{},[639,644],{"type":49,"tag":66,"props":640,"children":641},{},[642],{"type":54,"value":643},"Interactive mode",{"type":54,"value":645}," (default): walks the user through scaffolding an example project, testing it locally, and deploying it to Render.",{"type":49,"tag":57,"props":647,"children":648},{},[649,654],{"type":49,"tag":66,"props":650,"children":651},{},[652],{"type":54,"value":653},"Non-interactive mode",{"type":54,"value":655},": sets up an example project without prompting.",{"type":49,"tag":57,"props":657,"children":658},{},[659,661,666],{"type":54,"value":660},"If ",{"type":49,"tag":155,"props":662,"children":664},{"className":663},[],[665],{"type":54,"value":607},{"type":54,"value":667}," fails or is not available:",{"type":49,"tag":551,"props":669,"children":670},{},[671,689],{"type":49,"tag":76,"props":672,"children":673},{},[674,679,681,687],{"type":49,"tag":66,"props":675,"children":676},{},[677],{"type":54,"value":678},"Command not found:",{"type":54,"value":680}," CLI version may be too old. Run ",{"type":49,"tag":155,"props":682,"children":684},{"className":683},[],[685],{"type":54,"value":686},"render --version",{"type":54,"value":688}," and upgrade to 2.11.0+.",{"type":49,"tag":76,"props":690,"children":691},{},[692,697,699,704],{"type":49,"tag":66,"props":693,"children":694},{},[695],{"type":54,"value":696},"Command not supported:",{"type":54,"value":698}," fall back to ",{"type":49,"tag":344,"props":700,"children":702},{"href":701},"references\u002Fmanual-scaffolding.md",[703],{"type":54,"value":701},{"type":54,"value":705}," for step-by-step manual setup.",{"type":49,"tag":484,"props":707,"children":708},{},[],{"type":49,"tag":488,"props":710,"children":712},{"id":711},"define-tasks",[713],{"type":54,"value":714},"Define Tasks",{"type":49,"tag":57,"props":716,"children":717},{},[718,720,725],{"type":54,"value":719},"Guide the user through defining their actual tasks. For patterns including retries, subtasks, fan-out, ETL, error handling, cron triggers, and cross-workflow calls, see ",{"type":49,"tag":344,"props":721,"children":723},{"href":722},"references\u002Ftask-patterns.md",[724],{"type":54,"value":722},{"type":54,"value":510},{"type":49,"tag":57,"props":727,"children":728},{},[729,734],{"type":49,"tag":66,"props":730,"children":731},{},[732],{"type":54,"value":733},"After adding a task",{"type":54,"value":735},", verify it registers by starting the local dev server and listing tasks:",{"type":49,"tag":147,"props":737,"children":739},{"className":149,"code":738,"language":151,"meta":152,"style":152},"render workflows dev -- \u003Cstart-command>\n# In another terminal:\nrender workflows tasks list --local\n",[740],{"type":49,"tag":155,"props":741,"children":742},{"__ignoreMap":152},[743,784,792],{"type":49,"tag":159,"props":744,"children":745},{"class":161,"line":162},[746,750,754,759,764,769,774,779],{"type":49,"tag":159,"props":747,"children":748},{"style":188},[749],{"type":54,"value":14},{"type":49,"tag":159,"props":751,"children":752},{"style":194},[753],{"type":54,"value":630},{"type":49,"tag":159,"props":755,"children":756},{"style":194},[757],{"type":54,"value":758}," dev",{"type":49,"tag":159,"props":760,"children":761},{"style":194},[762],{"type":54,"value":763}," --",{"type":49,"tag":159,"props":765,"children":766},{"style":182},[767],{"type":54,"value":768}," \u003C",{"type":49,"tag":159,"props":770,"children":771},{"style":194},[772],{"type":54,"value":773},"start-comman",{"type":49,"tag":159,"props":775,"children":776},{"style":176},[777],{"type":54,"value":778},"d",{"type":49,"tag":159,"props":780,"children":781},{"style":182},[782],{"type":54,"value":783},">\n",{"type":49,"tag":159,"props":785,"children":786},{"class":161,"line":172},[787],{"type":49,"tag":159,"props":788,"children":789},{"style":166},[790],{"type":54,"value":791},"# In another terminal:\n",{"type":49,"tag":159,"props":793,"children":794},{"class":161,"line":259},[795,799,803,808,813],{"type":49,"tag":159,"props":796,"children":797},{"style":188},[798],{"type":54,"value":14},{"type":49,"tag":159,"props":800,"children":801},{"style":194},[802],{"type":54,"value":630},{"type":49,"tag":159,"props":804,"children":805},{"style":194},[806],{"type":54,"value":807}," tasks",{"type":49,"tag":159,"props":809,"children":810},{"style":194},[811],{"type":54,"value":812}," list",{"type":49,"tag":159,"props":814,"children":815},{"style":194},[816],{"type":54,"value":817}," --local\n",{"type":49,"tag":57,"props":819,"children":820},{},[821,823,829],{"type":54,"value":822},"If the task doesn't appear, see ",{"type":49,"tag":344,"props":824,"children":826},{"href":825},"references\u002Ftroubleshooting.md#task-registration-issues",[827],{"type":54,"value":828},"Troubleshooting > Task Registration Issues",{"type":54,"value":510},{"type":49,"tag":488,"props":831,"children":833},{"id":832},"local-development",[834],{"type":54,"value":835},"Local Development",{"type":49,"tag":57,"props":837,"children":838},{},[839,841,846],{"type":54,"value":840},"See ",{"type":49,"tag":344,"props":842,"children":844},{"href":843},"references\u002Flocal-development.md",[845],{"type":54,"value":843},{"type":54,"value":847}," for starting the local task server, testing tasks, and configuring the SDK client for local use.",{"type":49,"tag":488,"props":849,"children":851},{"id":850},"deploy-to-render",[852],{"type":54,"value":853},"Deploy to Render",{"type":49,"tag":57,"props":855,"children":856},{},[857,859,864,866],{"type":54,"value":858},"Workflows are deployed as a ",{"type":49,"tag":66,"props":860,"children":861},{},[862],{"type":54,"value":863},"Workflow",{"type":54,"value":865}," service type in the Render Dashboard. ",{"type":49,"tag":66,"props":867,"children":868},{},[869],{"type":54,"value":870},"Blueprints (render.yaml) are not yet compatible with Workflows.",{"type":49,"tag":57,"props":872,"children":873},{},[874],{"type":49,"tag":66,"props":875,"children":876},{},[877],{"type":54,"value":878},"Deploy checklist:",{"type":49,"tag":551,"props":880,"children":883},{"className":881},[882],"contains-task-list",[884,897,920,929,951,960,977,991],{"type":49,"tag":76,"props":885,"children":888},{"className":886},[887],"task-list-item",[889,895],{"type":49,"tag":890,"props":891,"children":894},"input",{"disabled":892,"type":893},true,"checkbox",[],{"type":54,"value":896}," Code pushed to GitHub, GitLab, or Bitbucket",{"type":49,"tag":76,"props":898,"children":900},{"className":899},[887],[901,904,906,913,915],{"type":49,"tag":890,"props":902,"children":903},{"disabled":892,"type":893},[],{"type":54,"value":905}," In the ",{"type":49,"tag":344,"props":907,"children":910},{"href":908,"rel":909},"https:\u002F\u002Fdashboard.render.com",[348],[911],{"type":54,"value":912},"Render Dashboard",{"type":54,"value":914},", click ",{"type":49,"tag":66,"props":916,"children":917},{},[918],{"type":54,"value":919},"New > Workflow",{"type":49,"tag":76,"props":921,"children":923},{"className":922},[887],[924,927],{"type":49,"tag":890,"props":925,"children":926},{"disabled":892,"type":893},[],{"type":54,"value":928}," Link your repository",{"type":49,"tag":76,"props":930,"children":932},{"className":931},[887],[933,936,938,943,945],{"type":49,"tag":890,"props":934,"children":935},{"disabled":892,"type":893},[],{"type":54,"value":937}," Set ",{"type":49,"tag":66,"props":939,"children":940},{},[941],{"type":54,"value":942},"Root Directory",{"type":54,"value":944}," to ",{"type":49,"tag":155,"props":946,"children":948},{"className":947},[],[949],{"type":54,"value":950},"workflows\u002F",{"type":49,"tag":76,"props":952,"children":954},{"className":953},[887],[955,958],{"type":49,"tag":890,"props":956,"children":957},{"disabled":892,"type":893},[],{"type":54,"value":959}," Configure build and start commands (see table below)",{"type":49,"tag":76,"props":961,"children":963},{"className":962},[887],[964,967,969,975],{"type":49,"tag":890,"props":965,"children":966},{"disabled":892,"type":893},[],{"type":54,"value":968}," Add environment variables (e.g., ",{"type":49,"tag":155,"props":970,"children":972},{"className":971},[],[973],{"type":54,"value":974},"RENDER_API_KEY",{"type":54,"value":976}," for tasks that call other workflows)",{"type":49,"tag":76,"props":978,"children":980},{"className":979},[887],[981,984,986],{"type":49,"tag":890,"props":982,"children":983},{"disabled":892,"type":893},[],{"type":54,"value":985}," Click ",{"type":49,"tag":66,"props":987,"children":988},{},[989],{"type":54,"value":990},"Deploy Workflow",{"type":49,"tag":76,"props":992,"children":994},{"className":993},[887],[995,998],{"type":49,"tag":890,"props":996,"children":997},{"disabled":892,"type":893},[],{"type":54,"value":999}," Verify deployment: check the Dashboard for a successful deploy event",{"type":49,"tag":361,"props":1001,"children":1002},{},[1003,1022],{"type":49,"tag":365,"props":1004,"children":1005},{},[1006],{"type":49,"tag":369,"props":1007,"children":1008},{},[1009,1014,1018],{"type":49,"tag":373,"props":1010,"children":1011},{},[1012],{"type":54,"value":1013},"Field",{"type":49,"tag":373,"props":1015,"children":1016},{},[1017],{"type":54,"value":23},{"type":49,"tag":373,"props":1019,"children":1020},{},[1021],{"type":54,"value":17},{"type":49,"tag":387,"props":1023,"children":1024},{},[1025,1046,1075],{"type":49,"tag":369,"props":1026,"children":1027},{},[1028,1036,1041],{"type":49,"tag":394,"props":1029,"children":1030},{},[1031],{"type":49,"tag":66,"props":1032,"children":1033},{},[1034],{"type":54,"value":1035},"Language",{"type":49,"tag":394,"props":1037,"children":1038},{},[1039],{"type":54,"value":1040},"Python 3",{"type":49,"tag":394,"props":1042,"children":1043},{},[1044],{"type":54,"value":1045},"Node",{"type":49,"tag":369,"props":1047,"children":1048},{},[1049,1057,1066],{"type":49,"tag":394,"props":1050,"children":1051},{},[1052],{"type":49,"tag":66,"props":1053,"children":1054},{},[1055],{"type":54,"value":1056},"Build Command",{"type":49,"tag":394,"props":1058,"children":1059},{},[1060],{"type":49,"tag":155,"props":1061,"children":1063},{"className":1062},[],[1064],{"type":54,"value":1065},"pip install -r requirements.txt",{"type":49,"tag":394,"props":1067,"children":1068},{},[1069],{"type":49,"tag":155,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":54,"value":1074},"npm install && npm run build",{"type":49,"tag":369,"props":1076,"children":1077},{},[1078,1086,1095],{"type":49,"tag":394,"props":1079,"children":1080},{},[1081],{"type":49,"tag":66,"props":1082,"children":1083},{},[1084],{"type":54,"value":1085},"Start Command",{"type":49,"tag":394,"props":1087,"children":1088},{},[1089],{"type":49,"tag":155,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":54,"value":1094},"python main.py",{"type":49,"tag":394,"props":1096,"children":1097},{},[1098],{"type":49,"tag":155,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":54,"value":1103},"node dist\u002Fmain.js",{"type":49,"tag":57,"props":1105,"children":1106},{},[1107,1109,1115,1117,1122],{"type":54,"value":1108},"If the deploy fails, check the service logs in the Dashboard. For common deployment errors, see ",{"type":49,"tag":344,"props":1110,"children":1112},{"href":1111},"references\u002Ftroubleshooting.md",[1113],{"type":54,"value":1114},"Troubleshooting",{"type":54,"value":1116},". For general deploy debugging, use the ",{"type":49,"tag":66,"props":1118,"children":1119},{},[1120],{"type":54,"value":1121},"render-debug",{"type":54,"value":1123}," skill.",{"type":49,"tag":57,"props":1125,"children":1126},{},[1127],{"type":49,"tag":66,"props":1128,"children":1129},{},[1130],{"type":54,"value":1131},"Running tasks from other services:",{"type":49,"tag":57,"props":1133,"children":1134},{},[1135],{"type":54,"value":1136},"After deployment, trigger tasks from your other Render services using the SDK client.",{"type":49,"tag":57,"props":1138,"children":1139},{},[1140],{"type":54,"value":1141},"Python (synchronous):",{"type":49,"tag":147,"props":1143,"children":1146},{"className":1144,"code":1145,"language":24,"meta":152,"style":152},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from render_sdk import Render\n\nrender = Render()\nresult = render.workflows.run_task(\"my-workflow\u002Fhello\", [\"world\"])\nprint(result.results)\n",[1147],{"type":49,"tag":155,"props":1148,"children":1149},{"__ignoreMap":152},[1150,1158,1166,1174,1182],{"type":49,"tag":159,"props":1151,"children":1152},{"class":161,"line":162},[1153],{"type":49,"tag":159,"props":1154,"children":1155},{},[1156],{"type":54,"value":1157},"from render_sdk import Render\n",{"type":49,"tag":159,"props":1159,"children":1160},{"class":161,"line":172},[1161],{"type":49,"tag":159,"props":1162,"children":1163},{"emptyLinePlaceholder":892},[1164],{"type":54,"value":1165},"\n",{"type":49,"tag":159,"props":1167,"children":1168},{"class":161,"line":259},[1169],{"type":49,"tag":159,"props":1170,"children":1171},{},[1172],{"type":54,"value":1173},"render = Render()\n",{"type":49,"tag":159,"props":1175,"children":1176},{"class":161,"line":293},[1177],{"type":49,"tag":159,"props":1178,"children":1179},{},[1180],{"type":54,"value":1181},"result = render.workflows.run_task(\"my-workflow\u002Fhello\", [\"world\"])\n",{"type":49,"tag":159,"props":1183,"children":1184},{"class":161,"line":302},[1185],{"type":49,"tag":159,"props":1186,"children":1187},{},[1188],{"type":54,"value":1189},"print(result.results)\n",{"type":49,"tag":57,"props":1191,"children":1192},{},[1193],{"type":54,"value":1194},"Python (asynchronous):",{"type":49,"tag":147,"props":1196,"children":1198},{"className":1144,"code":1197,"language":24,"meta":152,"style":152},"from render_sdk import RenderAsync\n\nrender = RenderAsync()\nstarted = await render.workflows.start_task(\"my-workflow\u002Fhello\", [\"world\"])\nfinished = await started\nprint(finished.results)\n",[1199],{"type":49,"tag":155,"props":1200,"children":1201},{"__ignoreMap":152},[1202,1210,1217,1225,1233,1241],{"type":49,"tag":159,"props":1203,"children":1204},{"class":161,"line":162},[1205],{"type":49,"tag":159,"props":1206,"children":1207},{},[1208],{"type":54,"value":1209},"from render_sdk import RenderAsync\n",{"type":49,"tag":159,"props":1211,"children":1212},{"class":161,"line":172},[1213],{"type":49,"tag":159,"props":1214,"children":1215},{"emptyLinePlaceholder":892},[1216],{"type":54,"value":1165},{"type":49,"tag":159,"props":1218,"children":1219},{"class":161,"line":259},[1220],{"type":49,"tag":159,"props":1221,"children":1222},{},[1223],{"type":54,"value":1224},"render = RenderAsync()\n",{"type":49,"tag":159,"props":1226,"children":1227},{"class":161,"line":293},[1228],{"type":49,"tag":159,"props":1229,"children":1230},{},[1231],{"type":54,"value":1232},"started = await render.workflows.start_task(\"my-workflow\u002Fhello\", [\"world\"])\n",{"type":49,"tag":159,"props":1234,"children":1235},{"class":161,"line":302},[1236],{"type":49,"tag":159,"props":1237,"children":1238},{},[1239],{"type":54,"value":1240},"finished = await started\n",{"type":49,"tag":159,"props":1242,"children":1244},{"class":161,"line":1243},6,[1245],{"type":49,"tag":159,"props":1246,"children":1247},{},[1248],{"type":54,"value":1249},"print(finished.results)\n",{"type":49,"tag":57,"props":1251,"children":1252},{},[1253],{"type":54,"value":1254},"TypeScript:",{"type":49,"tag":147,"props":1256,"children":1259},{"className":1257,"code":1258,"language":18,"meta":152,"style":152},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Render } from \"@renderinc\u002Fsdk\";\n\nconst render = new Render();\nconst started = await render.workflows.startTask(\"my-workflow\u002Fhello\", [\"world\"]);\nconst finished = await started.get();\nconsole.log(finished.results);\n",[1260],{"type":49,"tag":155,"props":1261,"children":1262},{"__ignoreMap":152},[1263,1310,1317,1355,1448,1490],{"type":49,"tag":159,"props":1264,"children":1265},{"class":161,"line":162},[1266,1272,1277,1282,1287,1292,1296,1301,1305],{"type":49,"tag":159,"props":1267,"children":1269},{"style":1268},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1270],{"type":54,"value":1271},"import",{"type":49,"tag":159,"props":1273,"children":1274},{"style":182},[1275],{"type":54,"value":1276}," {",{"type":49,"tag":159,"props":1278,"children":1279},{"style":176},[1280],{"type":54,"value":1281}," Render",{"type":49,"tag":159,"props":1283,"children":1284},{"style":182},[1285],{"type":54,"value":1286}," }",{"type":49,"tag":159,"props":1288,"children":1289},{"style":1268},[1290],{"type":54,"value":1291}," from",{"type":49,"tag":159,"props":1293,"children":1294},{"style":182},[1295],{"type":54,"value":275},{"type":49,"tag":159,"props":1297,"children":1298},{"style":194},[1299],{"type":54,"value":1300},"@renderinc\u002Fsdk",{"type":49,"tag":159,"props":1302,"children":1303},{"style":182},[1304],{"type":54,"value":327},{"type":49,"tag":159,"props":1306,"children":1307},{"style":182},[1308],{"type":54,"value":1309},";\n",{"type":49,"tag":159,"props":1311,"children":1312},{"class":161,"line":172},[1313],{"type":49,"tag":159,"props":1314,"children":1315},{"emptyLinePlaceholder":892},[1316],{"type":54,"value":1165},{"type":49,"tag":159,"props":1318,"children":1319},{"class":161,"line":259},[1320,1326,1331,1336,1341,1346,1351],{"type":49,"tag":159,"props":1321,"children":1323},{"style":1322},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1324],{"type":54,"value":1325},"const",{"type":49,"tag":159,"props":1327,"children":1328},{"style":176},[1329],{"type":54,"value":1330}," render ",{"type":49,"tag":159,"props":1332,"children":1333},{"style":182},[1334],{"type":54,"value":1335},"=",{"type":49,"tag":159,"props":1337,"children":1338},{"style":182},[1339],{"type":54,"value":1340}," new",{"type":49,"tag":159,"props":1342,"children":1344},{"style":1343},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1345],{"type":54,"value":1281},{"type":49,"tag":159,"props":1347,"children":1348},{"style":176},[1349],{"type":54,"value":1350},"()",{"type":49,"tag":159,"props":1352,"children":1353},{"style":182},[1354],{"type":54,"value":1309},{"type":49,"tag":159,"props":1356,"children":1357},{"class":161,"line":293},[1358,1362,1367,1371,1376,1381,1385,1389,1393,1398,1403,1407,1412,1416,1421,1426,1430,1435,1439,1444],{"type":49,"tag":159,"props":1359,"children":1360},{"style":1322},[1361],{"type":54,"value":1325},{"type":49,"tag":159,"props":1363,"children":1364},{"style":176},[1365],{"type":54,"value":1366}," started ",{"type":49,"tag":159,"props":1368,"children":1369},{"style":182},[1370],{"type":54,"value":1335},{"type":49,"tag":159,"props":1372,"children":1373},{"style":1268},[1374],{"type":54,"value":1375}," await",{"type":49,"tag":159,"props":1377,"children":1378},{"style":176},[1379],{"type":54,"value":1380}," render",{"type":49,"tag":159,"props":1382,"children":1383},{"style":182},[1384],{"type":54,"value":510},{"type":49,"tag":159,"props":1386,"children":1387},{"style":176},[1388],{"type":54,"value":44},{"type":49,"tag":159,"props":1390,"children":1391},{"style":182},[1392],{"type":54,"value":510},{"type":49,"tag":159,"props":1394,"children":1395},{"style":1343},[1396],{"type":54,"value":1397},"startTask",{"type":49,"tag":159,"props":1399,"children":1400},{"style":176},[1401],{"type":54,"value":1402},"(",{"type":49,"tag":159,"props":1404,"children":1405},{"style":182},[1406],{"type":54,"value":327},{"type":49,"tag":159,"props":1408,"children":1409},{"style":194},[1410],{"type":54,"value":1411},"my-workflow\u002Fhello",{"type":49,"tag":159,"props":1413,"children":1414},{"style":182},[1415],{"type":54,"value":327},{"type":49,"tag":159,"props":1417,"children":1418},{"style":182},[1419],{"type":54,"value":1420},",",{"type":49,"tag":159,"props":1422,"children":1423},{"style":176},[1424],{"type":54,"value":1425}," [",{"type":49,"tag":159,"props":1427,"children":1428},{"style":182},[1429],{"type":54,"value":327},{"type":49,"tag":159,"props":1431,"children":1432},{"style":194},[1433],{"type":54,"value":1434},"world",{"type":49,"tag":159,"props":1436,"children":1437},{"style":182},[1438],{"type":54,"value":327},{"type":49,"tag":159,"props":1440,"children":1441},{"style":176},[1442],{"type":54,"value":1443},"])",{"type":49,"tag":159,"props":1445,"children":1446},{"style":182},[1447],{"type":54,"value":1309},{"type":49,"tag":159,"props":1449,"children":1450},{"class":161,"line":302},[1451,1455,1460,1464,1468,1473,1477,1482,1486],{"type":49,"tag":159,"props":1452,"children":1453},{"style":1322},[1454],{"type":54,"value":1325},{"type":49,"tag":159,"props":1456,"children":1457},{"style":176},[1458],{"type":54,"value":1459}," finished ",{"type":49,"tag":159,"props":1461,"children":1462},{"style":182},[1463],{"type":54,"value":1335},{"type":49,"tag":159,"props":1465,"children":1466},{"style":1268},[1467],{"type":54,"value":1375},{"type":49,"tag":159,"props":1469,"children":1470},{"style":176},[1471],{"type":54,"value":1472}," started",{"type":49,"tag":159,"props":1474,"children":1475},{"style":182},[1476],{"type":54,"value":510},{"type":49,"tag":159,"props":1478,"children":1479},{"style":1343},[1480],{"type":54,"value":1481},"get",{"type":49,"tag":159,"props":1483,"children":1484},{"style":176},[1485],{"type":54,"value":1350},{"type":49,"tag":159,"props":1487,"children":1488},{"style":182},[1489],{"type":54,"value":1309},{"type":49,"tag":159,"props":1491,"children":1492},{"class":161,"line":1243},[1493,1498,1502,1507,1512,1516,1521],{"type":49,"tag":159,"props":1494,"children":1495},{"style":176},[1496],{"type":54,"value":1497},"console",{"type":49,"tag":159,"props":1499,"children":1500},{"style":182},[1501],{"type":54,"value":510},{"type":49,"tag":159,"props":1503,"children":1504},{"style":1343},[1505],{"type":54,"value":1506},"log",{"type":49,"tag":159,"props":1508,"children":1509},{"style":176},[1510],{"type":54,"value":1511},"(finished",{"type":49,"tag":159,"props":1513,"children":1514},{"style":182},[1515],{"type":54,"value":510},{"type":49,"tag":159,"props":1517,"children":1518},{"style":176},[1519],{"type":54,"value":1520},"results)",{"type":49,"tag":159,"props":1522,"children":1523},{"style":182},[1524],{"type":54,"value":1309},{"type":49,"tag":57,"props":1526,"children":1527},{},[1528,1530,1536],{"type":54,"value":1529},"The task identifier format is ",{"type":49,"tag":155,"props":1531,"children":1533},{"className":1532},[],[1534],{"type":54,"value":1535},"{workflow-slug}\u002F{task-name}",{"type":54,"value":1537},", visible on the task's page in the Dashboard.",{"type":49,"tag":57,"props":1539,"children":1540},{},[1541,1543,1547],{"type":54,"value":1542},"Workflows do not have built-in scheduling. To trigger tasks on a schedule, use a Render cron job with the SDK client. For cron and cross-workflow examples, see ",{"type":49,"tag":344,"props":1544,"children":1545},{"href":722},[1546],{"type":54,"value":722},{"type":54,"value":510},{"type":49,"tag":484,"props":1549,"children":1550},{},[],{"type":49,"tag":488,"props":1552,"children":1554},{"id":1553},"constraints-and-limits",[1555],{"type":54,"value":1556},"Constraints and Limits",{"type":49,"tag":361,"props":1558,"children":1559},{},[1560,1581],{"type":49,"tag":365,"props":1561,"children":1562},{},[1563],{"type":49,"tag":369,"props":1564,"children":1565},{},[1566,1571,1576],{"type":49,"tag":373,"props":1567,"children":1568},{},[1569],{"type":54,"value":1570},"Constraint",{"type":49,"tag":373,"props":1572,"children":1573},{},[1574],{"type":54,"value":1575},"Limit",{"type":49,"tag":373,"props":1577,"children":1578},{},[1579],{"type":54,"value":1580},"Notes",{"type":49,"tag":387,"props":1582,"children":1583},{},[1584,1602,1620,1636,1654,1672],{"type":49,"tag":369,"props":1585,"children":1586},{},[1587,1592,1597],{"type":49,"tag":394,"props":1588,"children":1589},{},[1590],{"type":54,"value":1591},"Arguments and return values",{"type":49,"tag":394,"props":1593,"children":1594},{},[1595],{"type":54,"value":1596},"Must be JSON-serializable",{"type":49,"tag":394,"props":1598,"children":1599},{},[1600],{"type":54,"value":1601},"No class instances, functions, etc.",{"type":49,"tag":369,"props":1603,"children":1604},{},[1605,1610,1615],{"type":49,"tag":394,"props":1606,"children":1607},{},[1608],{"type":54,"value":1609},"Argument size",{"type":49,"tag":394,"props":1611,"children":1612},{},[1613],{"type":54,"value":1614},"4 MB max",{"type":49,"tag":394,"props":1616,"children":1617},{},[1618],{"type":54,"value":1619},"Per task invocation",{"type":49,"tag":369,"props":1621,"children":1622},{},[1623,1628,1633],{"type":49,"tag":394,"props":1624,"children":1625},{},[1626],{"type":54,"value":1627},"Task definitions",{"type":49,"tag":394,"props":1629,"children":1630},{},[1631],{"type":54,"value":1632},"500 per workflow service",{"type":49,"tag":394,"props":1634,"children":1635},{},[],{"type":49,"tag":369,"props":1637,"children":1638},{},[1639,1644,1649],{"type":49,"tag":394,"props":1640,"children":1641},{},[1642],{"type":54,"value":1643},"Concurrent runs",{"type":49,"tag":394,"props":1645,"children":1646},{},[1647],{"type":54,"value":1648},"20-100 base (plan-dependent)",{"type":49,"tag":394,"props":1650,"children":1651},{},[1652],{"type":54,"value":1653},"Max 200-300 with purchased concurrency",{"type":49,"tag":369,"props":1655,"children":1656},{},[1657,1662,1667],{"type":49,"tag":394,"props":1658,"children":1659},{},[1660],{"type":54,"value":1661},"Timeout range",{"type":49,"tag":394,"props":1663,"children":1664},{},[1665],{"type":54,"value":1666},"30-86,400 seconds",{"type":49,"tag":394,"props":1668,"children":1669},{},[1670],{"type":54,"value":1671},"Default: 2 hours (7,200s)",{"type":49,"tag":369,"props":1673,"children":1674},{},[1675,1680,1685],{"type":49,"tag":394,"props":1676,"children":1677},{},[1678],{"type":54,"value":1679},"Run duration",{"type":49,"tag":394,"props":1681,"children":1682},{},[1683],{"type":54,"value":1684},"Up to 24 hours",{"type":49,"tag":394,"props":1686,"children":1687},{},[],{"type":49,"tag":512,"props":1689,"children":1691},{"id":1690},"instance-types",[1692],{"type":54,"value":1693},"Instance Types",{"type":49,"tag":361,"props":1695,"children":1696},{},[1697,1713],{"type":49,"tag":365,"props":1698,"children":1699},{},[1700],{"type":49,"tag":369,"props":1701,"children":1702},{},[1703,1708],{"type":49,"tag":373,"props":1704,"children":1705},{},[1706],{"type":54,"value":1707},"Plan",{"type":49,"tag":373,"props":1709,"children":1710},{},[1711],{"type":54,"value":1712},"Specs",{"type":49,"tag":387,"props":1714,"children":1715},{},[1716,1733,1752,1769,1786,1803],{"type":49,"tag":369,"props":1717,"children":1718},{},[1719,1728],{"type":49,"tag":394,"props":1720,"children":1721},{},[1722],{"type":49,"tag":155,"props":1723,"children":1725},{"className":1724},[],[1726],{"type":54,"value":1727},"starter",{"type":49,"tag":394,"props":1729,"children":1730},{},[1731],{"type":54,"value":1732},"0.5 CPU \u002F 512 MB",{"type":49,"tag":369,"props":1734,"children":1735},{},[1736,1747],{"type":49,"tag":394,"props":1737,"children":1738},{},[1739,1745],{"type":49,"tag":155,"props":1740,"children":1742},{"className":1741},[],[1743],{"type":54,"value":1744},"standard",{"type":54,"value":1746}," (default)",{"type":49,"tag":394,"props":1748,"children":1749},{},[1750],{"type":54,"value":1751},"1 CPU \u002F 2 GB",{"type":49,"tag":369,"props":1753,"children":1754},{},[1755,1764],{"type":49,"tag":394,"props":1756,"children":1757},{},[1758],{"type":49,"tag":155,"props":1759,"children":1761},{"className":1760},[],[1762],{"type":54,"value":1763},"pro",{"type":49,"tag":394,"props":1765,"children":1766},{},[1767],{"type":54,"value":1768},"2 CPU \u002F 4 GB",{"type":49,"tag":369,"props":1770,"children":1771},{},[1772,1781],{"type":49,"tag":394,"props":1773,"children":1774},{},[1775],{"type":49,"tag":155,"props":1776,"children":1778},{"className":1777},[],[1779],{"type":54,"value":1780},"pro_plus",{"type":49,"tag":394,"props":1782,"children":1783},{},[1784],{"type":54,"value":1785},"4 CPU \u002F 8 GB",{"type":49,"tag":369,"props":1787,"children":1788},{},[1789,1798],{"type":49,"tag":394,"props":1790,"children":1791},{},[1792],{"type":49,"tag":155,"props":1793,"children":1795},{"className":1794},[],[1796],{"type":54,"value":1797},"pro_max",{"type":49,"tag":394,"props":1799,"children":1800},{},[1801],{"type":54,"value":1802},"8 CPU \u002F 16 GB",{"type":49,"tag":369,"props":1804,"children":1805},{},[1806,1815],{"type":49,"tag":394,"props":1807,"children":1808},{},[1809],{"type":49,"tag":155,"props":1810,"children":1812},{"className":1811},[],[1813],{"type":54,"value":1814},"pro_ultra",{"type":49,"tag":394,"props":1816,"children":1817},{},[1818],{"type":54,"value":1819},"16 CPU \u002F 32 GB",{"type":49,"tag":57,"props":1821,"children":1822},{},[1823,1828,1830,1835,1837,1842,1844,1850],{"type":49,"tag":155,"props":1824,"children":1826},{"className":1825},[],[1827],{"type":54,"value":1780},{"type":54,"value":1829},", ",{"type":49,"tag":155,"props":1831,"children":1833},{"className":1832},[],[1834],{"type":54,"value":1797},{"type":54,"value":1836},", and ",{"type":49,"tag":155,"props":1838,"children":1840},{"className":1839},[],[1841],{"type":54,"value":1814},{"type":54,"value":1843}," require requesting access. Set via the ",{"type":49,"tag":155,"props":1845,"children":1847},{"className":1846},[],[1848],{"type":54,"value":1849},"plan",{"type":54,"value":1851}," task option.",{"type":49,"tag":57,"props":1853,"children":1854},{},[1855,1857,1864],{"type":54,"value":1856},"For current pricing, see ",{"type":49,"tag":344,"props":1858,"children":1861},{"href":1859,"rel":1860},"https:\u002F\u002Frender.com\u002Fdocs\u002Fworkflows-limits",[348],[1862],{"type":54,"value":1863},"Limits and Pricing for Render Workflows",{"type":54,"value":510},{"type":49,"tag":484,"props":1866,"children":1867},{},[],{"type":49,"tag":488,"props":1869,"children":1871},{"id":1870},"references",[1872],{"type":54,"value":1873},"References",{"type":49,"tag":551,"props":1875,"children":1876},{},[1877,1892,1905,1918,1931,1944,1957,1973,1989],{"type":49,"tag":76,"props":1878,"children":1879},{},[1880,1885,1886,1890],{"type":49,"tag":66,"props":1881,"children":1882},{},[1883],{"type":54,"value":1884},"Quick-reference cheat sheet:",{"type":54,"value":342},{"type":49,"tag":344,"props":1887,"children":1888},{"href":477},[1889],{"type":54,"value":477},{"type":54,"value":1891}," (API surface, env vars, error types)",{"type":49,"tag":76,"props":1893,"children":1894},{},[1895,1900,1901],{"type":49,"tag":66,"props":1896,"children":1897},{},[1898],{"type":54,"value":1899},"Task patterns:",{"type":54,"value":342},{"type":49,"tag":344,"props":1902,"children":1903},{"href":722},[1904],{"type":54,"value":722},{"type":49,"tag":76,"props":1906,"children":1907},{},[1908,1913,1914],{"type":49,"tag":66,"props":1909,"children":1910},{},[1911],{"type":54,"value":1912},"Local development:",{"type":54,"value":342},{"type":49,"tag":344,"props":1915,"children":1916},{"href":843},[1917],{"type":54,"value":843},{"type":49,"tag":76,"props":1919,"children":1920},{},[1921,1926,1927],{"type":49,"tag":66,"props":1922,"children":1923},{},[1924],{"type":54,"value":1925},"Troubleshooting:",{"type":54,"value":342},{"type":49,"tag":344,"props":1928,"children":1929},{"href":1111},[1930],{"type":54,"value":1111},{"type":49,"tag":76,"props":1932,"children":1933},{},[1934,1939,1940],{"type":49,"tag":66,"props":1935,"children":1936},{},[1937],{"type":54,"value":1938},"Manual scaffolding (fallback):",{"type":54,"value":342},{"type":49,"tag":344,"props":1941,"children":1942},{"href":701},[1943],{"type":54,"value":701},{"type":49,"tag":76,"props":1945,"children":1946},{},[1947,1951,1952],{"type":49,"tag":66,"props":1948,"children":1949},{},[1950],{"type":54,"value":340},{"type":54,"value":342},{"type":49,"tag":344,"props":1953,"children":1955},{"href":346,"rel":1954},[348],[1956],{"type":54,"value":351},{"type":49,"tag":76,"props":1958,"children":1959},{},[1960,1965,1966],{"type":49,"tag":66,"props":1961,"children":1962},{},[1963],{"type":54,"value":1964},"Starter template (Python):",{"type":54,"value":342},{"type":49,"tag":344,"props":1967,"children":1970},{"href":1968,"rel":1969},"https:\u002F\u002Fgithub.com\u002Frender-examples\u002Fworkflows-template-python",[348],[1971],{"type":54,"value":1972},"render-examples\u002Fworkflows-template-python",{"type":49,"tag":76,"props":1974,"children":1975},{},[1976,1981,1982],{"type":49,"tag":66,"props":1977,"children":1978},{},[1979],{"type":54,"value":1980},"Starter template (TypeScript):",{"type":54,"value":342},{"type":49,"tag":344,"props":1983,"children":1986},{"href":1984,"rel":1985},"https:\u002F\u002Fgithub.com\u002Frender-examples\u002Fworkflows-template-ts",[348],[1987],{"type":54,"value":1988},"render-examples\u002Fworkflows-template-ts",{"type":49,"tag":76,"props":1990,"children":1991},{},[1992,1997,1998],{"type":49,"tag":66,"props":1993,"children":1994},{},[1995],{"type":54,"value":1996},"SDK repo:",{"type":54,"value":342},{"type":49,"tag":344,"props":1999,"children":2002},{"href":2000,"rel":2001},"https:\u002F\u002Fgithub.com\u002Frender-oss\u002Fsdk",[348],[2003],{"type":54,"value":2004},"github.com\u002Frender-oss\u002Fsdk",{"type":49,"tag":488,"props":2006,"children":2008},{"id":2007},"related-skills",[2009],{"type":54,"value":2010},"Related Skills",{"type":49,"tag":551,"props":2012,"children":2013},{},[2014,2024,2034],{"type":49,"tag":76,"props":2015,"children":2016},{},[2017,2022],{"type":49,"tag":66,"props":2018,"children":2019},{},[2020],{"type":54,"value":2021},"render-deploy:",{"type":54,"value":2023}," Deploy web services, static sites, and databases",{"type":49,"tag":76,"props":2025,"children":2026},{},[2027,2032],{"type":49,"tag":66,"props":2028,"children":2029},{},[2030],{"type":54,"value":2031},"render-debug:",{"type":54,"value":2033}," Debug failed deployments and runtime errors",{"type":49,"tag":76,"props":2035,"children":2036},{},[2037,2042],{"type":49,"tag":66,"props":2038,"children":2039},{},[2040],{"type":54,"value":2041},"render-monitor:",{"type":54,"value":2043}," Monitor service health and performance",{"type":49,"tag":2045,"props":2046,"children":2047},"style",{},[2048],{"type":54,"value":2049},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2051,"total":2171},[2052,2071,2087,2097,2117,2139,2159],{"slug":2053,"name":2053,"fn":2054,"description":2055,"org":2056,"tags":2057,"stars":28,"repoUrl":29,"updatedAt":2070},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2058,2061,2064,2067],{"name":2059,"slug":2060,"type":15},"Accessibility","accessibility",{"name":2062,"slug":2063,"type":15},"Charts","charts",{"name":2065,"slug":2066,"type":15},"Data Visualization","data-visualization",{"name":2068,"slug":2069,"type":15},"Design","design","2026-06-30T19:00:57.102",{"slug":2072,"name":2072,"fn":2073,"description":2074,"org":2075,"tags":2076,"stars":28,"repoUrl":29,"updatedAt":2086},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2077,2080,2083],{"name":2078,"slug":2079,"type":15},"Agents","agents",{"name":2081,"slug":2082,"type":15},"Browser Automation","browser-automation",{"name":2084,"slug":2085,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":2088,"name":2088,"fn":2089,"description":2090,"org":2091,"tags":2092,"stars":28,"repoUrl":29,"updatedAt":2096},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2093,2094,2095],{"name":2081,"slug":2082,"type":15},{"name":835,"slug":832,"type":15},{"name":2084,"slug":2085,"type":15},"2026-04-06T18:41:17.526867",{"slug":2098,"name":2098,"fn":2099,"description":2100,"org":2101,"tags":2102,"stars":28,"repoUrl":29,"updatedAt":2116},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2103,2104,2107,2110,2113],{"name":2078,"slug":2079,"type":15},{"name":2105,"slug":2106,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":2108,"slug":2109,"type":15},"SDK","sdk",{"name":2111,"slug":2112,"type":15},"Serverless","serverless",{"name":2114,"slug":2115,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":2118,"name":2118,"fn":2119,"description":2120,"org":2121,"tags":2122,"stars":28,"repoUrl":29,"updatedAt":2138},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2123,2126,2129,2132,2135],{"name":2124,"slug":2125,"type":15},"Frontend","frontend",{"name":2127,"slug":2128,"type":15},"React","react",{"name":2130,"slug":2131,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":2133,"slug":2134,"type":15},"UI Components","ui-components",{"name":2136,"slug":2137,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":2140,"name":2140,"fn":2141,"description":2142,"org":2143,"tags":2144,"stars":28,"repoUrl":29,"updatedAt":2158},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2145,2148,2151,2154,2157],{"name":2146,"slug":2147,"type":15},"AI Infrastructure","ai-infrastructure",{"name":2149,"slug":2150,"type":15},"Cost Optimization","cost-optimization",{"name":2152,"slug":2153,"type":15},"LLM","llm",{"name":2155,"slug":2156,"type":15},"Performance","performance",{"name":2136,"slug":2137,"type":15},"2026-04-06T18:40:44.377464",{"slug":2160,"name":2160,"fn":2161,"description":2162,"org":2163,"tags":2164,"stars":28,"repoUrl":29,"updatedAt":2170},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2165,2166,2169],{"name":2149,"slug":2150,"type":15},{"name":2167,"slug":2168,"type":15},"Database","database",{"name":2152,"slug":2153,"type":15},"2026-04-06T18:41:08.513425",600,{"items":2173,"total":2368},[2174,2195,2218,2235,2251,2266,2285,2297,2311,2325,2337,2352],{"slug":2175,"name":2175,"fn":2176,"description":2177,"org":2178,"tags":2179,"stars":2192,"repoUrl":2193,"updatedAt":2194},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2180,2183,2186,2189],{"name":2181,"slug":2182,"type":15},"Documents","documents",{"name":2184,"slug":2185,"type":15},"Healthcare","healthcare",{"name":2187,"slug":2188,"type":15},"Insurance","insurance",{"name":2190,"slug":2191,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":2196,"name":2196,"fn":2197,"description":2198,"org":2199,"tags":2200,"stars":2215,"repoUrl":2216,"updatedAt":2217},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2201,2204,2206,2209,2212],{"name":2202,"slug":2203,"type":15},".NET","dotnet",{"name":2205,"slug":2196,"type":15},"ASP.NET Core",{"name":2207,"slug":2208,"type":15},"Blazor","blazor",{"name":2210,"slug":2211,"type":15},"C#","csharp",{"name":2213,"slug":2214,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":2219,"name":2219,"fn":2220,"description":2221,"org":2222,"tags":2223,"stars":2215,"repoUrl":2216,"updatedAt":2234},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2224,2227,2230,2233],{"name":2225,"slug":2226,"type":15},"Apps SDK","apps-sdk",{"name":2228,"slug":2229,"type":15},"ChatGPT","chatgpt",{"name":2231,"slug":2232,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":2236,"name":2236,"fn":2237,"description":2238,"org":2239,"tags":2240,"stars":2215,"repoUrl":2216,"updatedAt":2250},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2241,2244,2247],{"name":2242,"slug":2243,"type":15},"API Development","api-development",{"name":2245,"slug":2246,"type":15},"CLI","cli",{"name":2248,"slug":2249,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":2252,"name":2252,"fn":2253,"description":2254,"org":2255,"tags":2256,"stars":2215,"repoUrl":2216,"updatedAt":2265},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2257,2260,2263,2264],{"name":2258,"slug":2259,"type":15},"Cloudflare","cloudflare",{"name":2261,"slug":2262,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":2105,"slug":2106,"type":15},{"name":20,"slug":21,"type":15},"2026-04-12T05:07:14.275118",{"slug":2267,"name":2267,"fn":2268,"description":2269,"org":2270,"tags":2271,"stars":2215,"repoUrl":2216,"updatedAt":2284},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2272,2275,2278,2281],{"name":2273,"slug":2274,"type":15},"Productivity","productivity",{"name":2276,"slug":2277,"type":15},"Project Management","project-management",{"name":2279,"slug":2280,"type":15},"Strategy","strategy",{"name":2282,"slug":2283,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":2286,"name":2286,"fn":2287,"description":2288,"org":2289,"tags":2290,"stars":2215,"repoUrl":2216,"updatedAt":2296},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2291,2292,2294,2295],{"name":2068,"slug":2069,"type":15},{"name":2293,"slug":2286,"type":15},"Figma",{"name":2124,"slug":2125,"type":15},{"name":2231,"slug":2232,"type":15},"2026-04-12T05:06:47.939943",{"slug":2298,"name":2298,"fn":2299,"description":2300,"org":2301,"tags":2302,"stars":2215,"repoUrl":2216,"updatedAt":2310},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2303,2304,2307,2308,2309],{"name":2068,"slug":2069,"type":15},{"name":2305,"slug":2306,"type":15},"Design System","design-system",{"name":2293,"slug":2286,"type":15},{"name":2124,"slug":2125,"type":15},{"name":2133,"slug":2134,"type":15},"2026-05-10T05:59:52.971881",{"slug":2312,"name":2312,"fn":2313,"description":2314,"org":2315,"tags":2316,"stars":2215,"repoUrl":2216,"updatedAt":2324},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2317,2318,2319,2322,2323],{"name":2068,"slug":2069,"type":15},{"name":2305,"slug":2306,"type":15},{"name":2320,"slug":2321,"type":15},"Documentation","documentation",{"name":2293,"slug":2286,"type":15},{"name":2124,"slug":2125,"type":15},"2026-05-16T06:07:47.821474",{"slug":2326,"name":2326,"fn":2327,"description":2328,"org":2329,"tags":2330,"stars":2215,"repoUrl":2216,"updatedAt":2336},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2331,2332,2333,2334,2335],{"name":2068,"slug":2069,"type":15},{"name":2293,"slug":2286,"type":15},{"name":2124,"slug":2125,"type":15},{"name":2133,"slug":2134,"type":15},{"name":2213,"slug":2214,"type":15},"2026-05-16T06:07:40.583615",{"slug":2338,"name":2338,"fn":2339,"description":2340,"org":2341,"tags":2342,"stars":2215,"repoUrl":2216,"updatedAt":2351},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2343,2346,2347,2350],{"name":2344,"slug":2345,"type":15},"Animation","animation",{"name":2248,"slug":2249,"type":15},{"name":2348,"slug":2349,"type":15},"Creative","creative",{"name":2068,"slug":2069,"type":15},"2026-05-02T05:31:48.48485",{"slug":2353,"name":2353,"fn":2354,"description":2355,"org":2356,"tags":2357,"stars":2215,"repoUrl":2216,"updatedAt":2367},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2358,2359,2360,2363,2366],{"name":2348,"slug":2349,"type":15},{"name":2068,"slug":2069,"type":15},{"name":2361,"slug":2362,"type":15},"Image Generation","image-generation",{"name":2364,"slug":2365,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]