CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

authoring-java-sdk-tasks

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.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, dense API-authoring skill: fully executable Java examples for both the annotation and interface APIs, exact API tables, and clearly signaled navigation to sibling skills. The only weaknesses are minor — slight duplication between the Python recap, the XCom section, and the pitfalls checklist, no explicit setup-verification step, and everything inlined in one file with no reference bundle to offload detail.

DimensionReasoningScore

Conciseness

The body is dense and efficient — complete code examples, compact API tables, and terse prose with essentially no explanation of concepts Claude already knows. Minor trim opportunities exist: the "Recap: the Python side" section duplicates content it itself defers to authoring-language-sdk-tasks ("Full rules are in authoring-language-sdk-tasks; the minimal shape:"), and the XCom type-mismatch rule is stated both in the XCom section ("A mismatch (e.g. declaring int when the value is a String) fails the task") and again in pitfalls — fitting anchor 4 rather than the every-token-earns-its-place anchor 5.

4 / 5

Actionability

Fully executable, copy-paste-ready guidance: complete Java classes for both APIs (SalesPipeline with annotations, ExtractTask/MyBundle via interfaces), the Main entry point with Server.create(args).serve(...), a Client call table with exact signatures and return types, the JSON-to-Java type mapping table, and named logging artifacts (airflow-sdk-jpl, airflow-sdk-slf4j, airflow-sdk-log4j2, airflow-sdk-jul). Specific examples cover the common cases; nothing is pseudocode.

5 / 5

Workflow Clarity

Section order mirrors the authoring workflow (Python stub recap → Java task APIs → entry point → Client/Context → XCom types → logging → worked example → pitfalls) with repeated correctness checkpoints ("must match the Python dag_id", "must match the Python @task.stub name") and a pointer to a runnable example. Not anchor 5 because there is no explicit verification/feedback step for one's own setup (e.g., validating the bundle runs); the sequence is implied by section order rather than framed as steps.

4 / 5

Progressive Disclosure

No bundle files exist, so all content lives in SKILL.md, but it is well organized with clear sections, compact inline reference tables (annotation reference, Client calls, type mapping) that reasonably belong in the main file, and clearly signaled one-level pointers to sibling skills (deploying-java-sdk-bundles, configuring-airflow-language-sdks, authoring-language-sdk-tasks) and a shipped runnable example. This fits anchor 4 — good structure with minor organization gaps (a ~220-line single file where some detail could be split out) rather than the ideal split of anchor 5.

4 / 5

Total

17

/

20

Passed

Description

95%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An excellent description: it states the skill's concrete capability in third person, gives an explicit and thorough "Use when" trigger clause covering natural terms and exact API names, and cleanly delineates its scope from three related skills. The only minor weakness is that the what-clause is a single action whose breadth comes from the trigger list rather than multiple distinct stated actions.

DimensionReasoningScore

Specificity

"Writes Airflow task logic in Java, Kotlin, or any JVM language using the Airflow Java SDK" names the domain, and the description enumerates several concrete capabilities ("@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"). It lists several specific capabilities but the what-clause is a single action with minor coverage gaps, fitting anchor 4 rather than the comprehensive multi-action anchor 5.

4 / 5

Completeness

It explicitly answers both questions: what ("Writes Airflow task logic in Java, Kotlin, or any JVM language using the Airflow Java SDK") and when ("Use when the user wants to implement Airflow tasks in Java/JVM, asks about...") with concrete trigger phrases, exactly matching the anchor-5 pattern; voice is third-person ("Writes"), so no penalty applies.

5 / 5

Trigger Term Quality

"Use when the user wants to implement Airflow tasks in Java/JVM, asks about @Builder.Dag/@Builder.Task/@Builder.XCom ... reading connections/variables/XComs from Java ... logging from Java tasks" covers natural terms comprehensively with synonyms (Java, JVM, Kotlin) and exact annotation/interface names a user would paste verbatim; nothing natural is missing for this domain.

5 / 5

Distinctiveness Conflict Risk

"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" carves out a clear niche with distinct Java/JVM triggers and explicitly disambiguates the three closest sibling skills, minimizing conflict risk.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

astronomer/agents

Path

skills/authoring-java-sdk-tasks/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.