# authoring-java-sdk-tasks

> Claude/Codex skill by [@astronomer](https://omgskills.com/library/astronomer/index.md) · 456 stars · Updated 2026-10-14

Writes Airflow task logic in Java, Kotlin, or any JVM language using the Airflow Java SDK. Use when the user wants to implement Airflow tasks in Java/JVM, asks about \`@Builder.Dag\`/\`@Builder.Task\`/\`@Builder.XCom\`, the \`Task\`/\`BundleBuilder\` interfaces, reading connections/variables/XComs from Java, the JSON-to-Java type mapping, or logging from Java tasks. This skill covers the Java-specific native API; the shared Python-stub pattern and conceptual model live in authoring-language-sdk-tasks. For building/shipping the bundle see deploying-java-sdk-bundles; for coordinator config see configuring-airflow-language-sdks.

Tags: agentic-workflow, agents, ai, ai-agents, airflow, apache-airflow, claude, cursor, dag, data-engineering, data-pipelines, dbt, llm, mcp, orchestrator, skills, workflow-automation, workflow-management, workflow-orchestration, workflows

## Install

```sh
git clone https://github.com/astronomer/agents /tmp/agents && ln -s /tmp/agents/skills/authoring-java-sdk-tasks ~/.claude/skills/authoring-java-sdk-tasks
```

## From README

Authoring Java SDK Tasks The Airflow Java SDK implements the language-SDK model for the JVM: your DAG stays in Python, and each task instance runs in a short-lived JVM subprocess. This skill covers the Java-specific native API. The shared model — the Python @task.stub pattern, ID matching, and the XCom-as-JSON contract — lives in authoring-language-sdk-tasks; read that first if you're new to language SDKs. Experimental. The Java SDK is in preview. Artifact coordinates and APIs may change. Related skills: authoring-language-sdk-tasks (shared Python stub + concepts), configuring-airflow-language-sdks (route the queue to JavaCoordinator), deploying-java-sdk-bundles (compile and ship the JAR). --- Recap: the Python side Java tasks are paired with Python stubs that carry no logic — they declare the task, queue, dependency graph, and retries. IDs must match the Java annotations exactly, and an upstream argument on a stub only declares the dependency (the value is fetched in Java).

## Links

- HTML page: https://omgskills.com/library/astronomer/agents/skills/authoring-java-sdk-tasks/
- GitHub: https://github.com/astronomer/agents
- Author: [@astronomer](https://omgskills.com/library/astronomer/index.md)

## More from this repo

- [airflow-adapter](https://omgskills.com/library/astronomer/agents/astro-airflow-mcp/dot-claude/skills/airflow-adapter/index.md) — Airflow adapter pattern for v2/v3 API compatibility.
   - [@astronomer](https://omgskills.com/library/astronomer/index.md) · 459 stars
- [airflow-plugins](https://omgskills.com/library/astronomer/agents/skills/airflow-plugins/index.md) — Builds Airflow 3.1+ plugins that embed FastAPI apps, custom UI pages, React components, middleware, macros, and...
   - [@astronomer](https://omgskills.com/library/astronomer/index.md) · 459 stars
- [analyzing-data](https://omgskills.com/library/astronomer/agents/skills/analyzing-data/index.md) — Queries the data warehouse with SQL and answers business questions about data.
   - [@astronomer](https://omgskills.com/library/astronomer/index.md) · 459 stars
