java-distiller

A Java code-refactoring skill simplifies and modernizes Java code, targeting clean Java 25 style. It applies changes such as newer syntax, upgraded APIs, records, pattern matching, and clearer functional code.

In plain words
What is it for?
Use it to clean up, modernize, upgrade, refactor, or beautify Java code.
Why use it?
It reduces unnecessary verbosity and legacy patterns while preserving the code's intended behavior.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/adambien/airails/java-distiller
Any agent
npx skills add AdamBien/airails --skill java-distiller
Clone the repo
git clone --depth 1 https://github.com/AdamBien/airails

Made for: Claude Code, Codex.

Per session 133 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 664 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00133 $0.00664
Opus 5 $0.00067 $0.00332
Sonnet 5 $0.00027 $0.00133
Haiku 4.5 $0.00013 $0.00066

Measured 2d ago against content hash 4de7b75154a1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

java-distiller scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

java/java-distiller/SKILL.md · 65 lines

How it starts

The opening of the file, as written. The whole thing — 65 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Java Distiller

Transform Java code into its cleanest, most modern, idiomatic form. Distill away verbosity, legacy patterns, and accidental complexity — keep only the essence.

Philosophy

  • Distill, don't decorate — remove complexity, don't add abstractions
  • Modern Java first — use Java 25 features wherever they simplify the code
  • Functional over imperative — prefer streams, lambdas, and declarative style when clearer
  • Less code, more meaning — every remaining line should earn its place

Workflow

  1. Read the input code carefully
  2. Identify transformation opportunities (see references/transformations.md)
  3. Apply transformations — prioritize those with the highest impact-to-risk ratio
  4. Present the distilled code with a brief explanation of what changed and why

Transformation Priority

Apply in this order — high-impact, low-risk first:

  1. Syntax modernization — var, text blocks, switch expressions, module imports
  2. API upgrades — java.time, java.nio.file, HttpClient, List.of/Map.of
  3. Pattern adoption — records, sealed interfaces, pattern matching
  4. Functional style — streams over loops, lambdas over anonymous classes
  5. Concurrency modernization — virtual threads, structured concurrency, scoped values
  6. Structural simplification — flatten hierarchies, inline trivial methods, remove dead code

Output Format

## Distilled

```java
// transformed code
```

### Changes
- <what changed> — <why it's better>
- ...

Rules

  • Preserve behavior exactly — distilling is refactoring, not rewriting
  • Do not add comments, javadoc, or logging that wasn't there
  • Do not add error handling beyond what exists unless the original code has a bug
  • Do not introduce new dependencies
  • Remove unnecessary blank lines, redundant modifiers, and dead imports
  • Use var where the type is obvious from the right-hand side
  • Use module imports (import module java.net.http;) over individual type imports
  • Prefer void main() over public static void main(String[] args) when appropriate
  • When multiple transformations compete, choose the one that produces fewer lines
  • If the code is already clean and modern, say so — don't force changes

Read the full file on GitHub · 65 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 65 lines · 133 tokens per session scan A 4de7b75154a1

Subscribe to this mod's changes

java-distiller is a skill published in the GitHub repository AdamBien/airails (47 stars, last pushed 13d ago), licensed MIT. It adds 133 tokens to every session and 664 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

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…

astronomer/agents · 152 tokens

jackson-3-migration

Migrer Jackson 2.x til Jackson 3.x (tools.jackson) i Kotlin/Java-prosjekter — automatisert OpenRewrite-pass pluss manuell Kotlin-spesifikk opprydding og verifisering.

navikt/copilot · 53 tokens

deploying-java-sdk-bundles

Builds and deploys compiled Airflow Java SDK bundles so workers can run them. Use when the user wants to package a JVM task bundle into a JAR, asks about the org.apache.airflow.sdk Gradle plugin, ./gradlew bundle, the Maven shade/BOM setup, fat vs thin JARs, the logging integration artifacts (JPL, SLF4J, Log4j 2…

astronomer/agents · 146 tokens

azure-communication-chat-java

Build real-time chat applications with Azure Communication Services Chat Java SDK. Use when implementing chat threads, messaging, participants, read receipts, typing notifications, or real-time chat features.

microsoft/skills · 41 tokens

azure-ai-projects-java

Azure AI Projects SDK for Java. High-level SDK for Azure AI Foundry project management including connections, datasets, indexes, and evaluations. Triggers: "AIProjectClient java", "azure ai projects java", "Foundry project java", "ConnectionsClient", "DatasetsClient", "IndexesClient".

microsoft/skills · 66 tokens

azure-ai-agents-persistent-java

Azure AI Agents Persistent SDK for Java. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Triggers: "PersistentAgentsClient", "persistent agents java", "agent threads java", "agent runs java", "streaming agents java".

microsoft/skills · 63 tokens