kestra-io/agent-skills

kestra-flow

Generate, modify, or debug Kestra Flow YAML by fetching the live flow schema and applying the same guardrails used by the Kestra AI Copilot.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/kestra-io/agent-skills --skill kestra-flow

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Kestra Flow Skill

Use this skill to generate production-ready Kestra Flow YAML grounded in the live schema.

When to use

Use this skill when the request includes:

  • Generating a new Kestra flow from scratch
  • Modifying, extending, or debugging an existing flow
  • Translating a workflow description into valid Kestra YAML

Required inputs

  • A description of the desired flow behavior
  • Namespace (and tenant ID if applicable)
  • Existing flow YAML if the request is a modification

Workflow

Step 1 — Fetch the flow schema

Fetch the full schema with curl and read it directly — do not pipe it through any interpreter:

bash
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.

Step 2 — Collect context

Identify from the user message or conversation:

  • id — flow identifier (preserve if provided)
  • namespace — target namespace (preserve if provided)
  • Existing flow YAML (for modification requests)
  • Whether this is an addition / deletion / modification or a full rewrite

Step 3 — Generate the YAML

Apply all generation rules below, then output raw YAML only.

Generation rules

Schema compliance

  • Use only task types and properties explicitly defined in the fetched schema. Never invent or guess types or property names.
  • Property keys must be unique within each task or block.

Structural preservation

  • Always preserve root-level id and namespace if provided.
  • For modification requests, touch only the relevant part. Do not restructure or rewrite unrelated sections.
  • Avoid duplicating existing intent (e.g., replace a log message rather than adding a second one).

Triggers

  • Include at least one trigger if execution should start based on an event or schedule.
  • Do NOT add a Schedule trigger unless a regular occurrence is explicitly requested.
  • Trigger outputs are accessed via {{ trigger.outputName }}; only use variables defined in the trigger's declared outputs.

Looping

  • Use ForEach for repeated actions over a collection.
  • Use LoopUntil for condition-based looping.

Flow outputs

  • Only include flow-level outputs if the user explicitly requests returning a value from the execution.

State tracking between executions

  • For state-change detection, use KV tasks (io.kestra.plugin.core.kv.Set / io.kestra.plugin.core.kv.Get) to store and compare state across executions.

JDBC plugin

  • Always set fetchType: STORE when using JDBC tasks.

Date manipulation in Pebble

  • Use dateAdd and date filters for date arithmetic.
  • Apply | number before numeric comparisons.

Credentials and secrets

  • Never embed secrets or hardcoded credentials.
  • Use flow inputs of type SECRET or Pebble expressions (e.g., {{ secret('MY_SECRET') }}).

APIs and connectivity

  • Prefer public/unauthenticated APIs unless the user specifies otherwise.
  • Never assume a local port; use remote URLs.

Quoting

  • Prefer double quotes; use single quotes inside double-quoted strings when needed.

Error handling

  • If the request cannot be fulfilled using only schema-defined types and properties, output exactly:
  I cannot generate a valid Kestra Flow YAML for this request based on the available schema.

Output format

  • Raw YAML only — no prose, no markdown fences, no explanations outside the YAML.
  • Use # comments at the top of the output for any caveats, assumptions, or warnings.
  • The output must be ready to paste directly into the Kestra UI or deploy via kestractl.

Example prompts

  • "Write a Kestra flow that fetches a public API every hour and stores the result in KV store."
  • "Add a Slack notification task to this existing flow when any task fails."
  • "Generate a flow in namespace prod.data that reads from a Postgres table and writes the result to S3."
  • "Debug this flow YAML — it has a trigger variable reference that doesn't exist."

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills
kestra-io
커뮤니티

kestra-flow-hardening

Audit one or more existing Kestra flows and add production-hardening controls — retries, timeouts, concurrency limits, error/finally/afterExecution handlers, SLAs, checks, and idempotency guards. Produces a severity-ranked findings report, then applies confirmed edits. Use when users ask to harden, audit, review, or make a flow more production-ready, resilient, or idempotent — not for authoring new flows (use kestra-flow).

설치 수
1
GitHub Stars
18
업데이트
9월 21일
kestra-io
커뮤니티

kestra-ops

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.

설치 수
1
GitHub Stars
18
업데이트
9월 21일
kestra-io
커뮤니티

migrate-airflow-kestra

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.

설치 수
1
GitHub Stars
18
업데이트
9월 21일
kestra-io
커뮤니티

migrate-kestra-2

Migrate a Kestra 1.3 instance and its flows to Kestra 2.0: pre-flight audit with readiness report and complexity rating, server upgrade (database migrations, Docker/Helm), CLI-first flow migration with kestra-migrate, and guided rewrites of the patterns the CLI cannot automate (ForEach/ForEachItem → Loop, trigger conditions → when/dependsOn, pluginDefaults → Policies). Use when users want to upgrade or migrate to Kestra 2.0, ask if their instance is ready for 2.0, mention kestra-migrate or its w

설치 수
1
GitHub Stars
18
업데이트
9월 21일