skills/kestra-flow/SKILL.md
Generate, modify, or debug Kestra Flow YAML by fetching the live flow schema and applying the same guardrails used by the Kestra AI Copilot. Use when users ask to create, write, update, or fix a Kestra flow.
npx skillsauth add kestra-io/agent-skills kestra-flowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to generate production-ready Kestra Flow YAML grounded in the live schema.
Use this skill when the request includes:
Fetch the full schema with curl and read it directly — do not pipe it through any interpreter:
curl -s https://api.kestra.io/v1/plugins/schemas/flow
Read the raw JSON output to validate every type, property name, and structure used in the output. Do not generate anything before the schema is available.
Identify from the user message or conversation:
id — flow identifier (preserve if provided)namespace — target namespace (preserve if provided)Apply all generation rules below, then output raw YAML only.
Schema compliance
Structural preservation
id and namespace if provided.Triggers
Schedule trigger unless a regular occurrence is explicitly requested.{{ trigger.outputName }}; only use variables defined in the trigger's declared outputs.Looping
ForEach for repeated actions over a collection.LoopUntil for condition-based looping.Flow outputs
outputs if the user explicitly requests returning a value from the execution.State tracking between executions
io.kestra.plugin.core.kv.Set / io.kestra.plugin.core.kv.Get) to store and compare state across executions.JDBC plugin
fetchType: STORE when using JDBC tasks.Date manipulation in Pebble
dateAdd and date filters for date arithmetic.| number before numeric comparisons.Credentials and secrets
inputs of type SECRET or Pebble expressions (e.g., {{ secret('MY_SECRET') }}).APIs and connectivity
Quoting
Error handling
I cannot generate a valid Kestra Flow YAML for this request based on the available schema.
# comments at the top of the output for any caveats, assumptions, or warnings.kestractl.prod.data that reads from a Postgres table and writes the result to S3."development
Migrate an Airflow DAG to a production-ready Kestra flow. Extracts Python task logic into namespace files, maps DAG dependencies to Kestra tasks, and preserves parallel execution structure.
tools
Operate Kestra environments using kestractl for context setup, flow inspection, flow validation and deployment, execution monitoring, namespace operations, and namespace file management. Use when users request Kestra operational CLI tasks in dev, staging, or production.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.