java-add-graalvm-native-image-support Skill (awesome-copilot): Native Images for Java
Adds GraalVM Native Image support to a Java project, builds the executable and fixes errors until it runs.
- Installs
- 8.7K
- on skills.sh
- Stars
- 40.7K
- on GitHub
- Files
- 6
- besides SKILL.md
- Updated
- Oct 2026
- last repo commit
This skill has your assistant add GraalVM Native Image to a Java project, then build, read errors and fix them in a loop. It detects Maven or Gradle and the framework, and covers Spring Boot, Micronaut and plain Java. Quarkus goes to another skill.
It runs your normal JVM build and tests first, and it asks before upgrading versions or changing CI. It needs a GraalVM JDK with native-image. The folder has 7 files and bundles no scripts.
Good for
- Java developers who want a faster-starting native executable
- Spring Boot and Micronaut teams adding a native build
- Developers stuck on reflection or resource errors in a native build
Install java-add-graalvm-native-image-support
Claude Code
- 1
Download the skill folder from https://github.com/github/awesome-copilot/tree/HEAD/skills/java-add-graalvm-native-image-support.
- 2
Put it at ~/.claude/skills/java-add-graalvm-native-image-support/ so that SKILL.md sits directly inside.
- 3
Start a new session; the skill loads when its description matches the task.
Requires A GraalVM JDK with native-image, Maven or Gradle.
Keep the references folder with SKILL.md. The skill runs Maven or Gradle builds and the native-image tool in your project, so there is no Claude app upload route.
Built from the package data we hold. Not yet tested by us.
What's in the skill
When it loads
GraalVM Native Image skill for Spring Boot, Micronaut and plain Java: detects the build tool and framework, adds native image support, builds the executable, analyzes errors, and iterates until the native build succeeds and the binary runs correctly. For Quarkus projects it only dispatches to the quarkus-native-and-container skill.
Sections in SKILL.md
- Step 1: Analyze the project
- Scope and JVM baseline
- Step 2: Get a GraalVM toolchain
- Step 3: Add native support
- Step 4: Build
- Step 5: Iterate until the build succeeds
- Step 6: Verify the executable
- Pitfalls
- References
- Upstream sources (read before upgrading GraalVM or native config)
Key facts
- License
- MIT
- Installs on skills.sh
- 8,724 (Nov 2, 2026)
- Last repo commit
- Oct 30, 2026
- Audits on skills.sh
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: pass
What it includes
Detects Maven or Gradle, the framework, existing native config and the toolchain.
It runs java -version and native-image --version. Quarkus projects are handed off to quarkus-native-and-container.
Runs code ·
Step 1: Analyze the projectRuns your normal JVM build and tests first; asks before any version or CI change.
Adding native support does not authorize a JDK, framework, library or build-tool upgrade.
Runs code ·
Scope and JVM baselineOracle GraalVM or Community Edition, installed with SDKMAN, a download or a CI action.
Linux needs build-essential and zlib1g-dev, macOS needs Xcode command line tools, Windows needs Visual Studio Build Tools.
Runs code ·
Step 2: Get a GraalVM toolchainPer framework: Spring Boot plugins, Micronaut built in, plain Java adds the plugin.
The plugin version is looked up at run time on Maven Central or the Gradle Plugin Portal.
Write ·
Step 3: Add native support./mvnw -Pnative native:compile, ./gradlew nativeCompile, or the framework's command.
Native builds are slow and need several GB of RAM.
Runs code ·
Step 4: BuildReads the first real error, fixes the smallest cause, rebuilds, in a set order.
Order: library upgrade (with approval), framework hints, tracing agent, hand-written metadata, then initialization settings.
Runs code ·
Step 5: Iterate until it buildsRuns the binary, exercises main paths, runs native tests, reports exact commands.
A successful build is not enough; many problems appear only at runtime.
Runs code ·
Step 6: Verify the executableSix files: build tools, Micronaut, Quarkus, reachability metadata, Spring Boot, errors.
The tracing agent runs your app on the JVM and writes reflection and resource metadata into src/main/resources/META-INF/native-image/.
References
From the official docs
Permissions
Medium risk
It edits your build files, runs long builds and runs your app to collect metadata. Commit first and review the diff.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It edits your build files and runs your app
It changes build config, runs long native builds and runs the app with the tracing agent to collect metadata. Commit first and review the diff. github.com
It can install a GraalVM JDK
Step 2 suggests SDKMAN (sdk install java), a vendor download or a CI action. Check what it installs and where. github.com
Version and CI changes need your approval
The SKILL.md says to ask before upgrading versions or changing CI. Say no if you do not want that. github.com
Technical details
| Turning on read-only | No read-only mode. The skill edits build files and runs builds. |
|---|---|
| Talks to | Maven Central and the Gradle Plugin Portal (dependency and plugin lookups). The SDKMAN or GraalVM download sites if you install a JDK |
| Scopes |
|
Questions
What does java-add-graalvm-native-image-support do?
It makes your assistant add GraalVM Native Image support to a Java project, build the native executable, read build errors and fix them until the binary builds and runs correctly. It covers Spring Boot, Micronaut and plain Java, and hands Quarkus projects to another skill.
What do I need?
A Maven or Gradle project and a GraalVM JDK that includes native-image. Native builds need several GB of RAM. On Linux that means build-essential and zlib1g-dev, on macOS the Xcode command line tools, and on Windows Visual Studio Build Tools.
How do I install it?
Use the install box above. Keep the references folder with SKILL.md, because the skill loads those files as needed.
Will it upgrade my Spring Boot, JDK or libraries?
Not on its own. The SKILL.md says native support does not authorize upgrades and tells it to ask before changing versions. It also asks before creating or changing CI workflows.
What about Quarkus?
For Quarkus it stops and hands off to a skill named quarkus-native-and-container. The Quarkus reference says that skill is the source of truth, and gives a docs link if it is not installed.
Is it safe?
It bundles no scripts, but it edits your build files, runs long builds and, with the tracing agent, runs your application. It can also install a GraalVM JDK with SDKMAN. Commit first, and read the diff.
Information
updated Nov 2, 2026
- Repository
- github/awesome-copilot
- Folder
skills/java-add-graalvm-native-image-support
Sources
Docs, issue trackers and discussions this page is built from.
Show all 8Hide
- java-add-graalvm-native-image-support SKILL.md · github.com
- references/reachability-metadata.md · github.com
- references/build-tools.md · github.com
- LICENSE · github.com
- spring-boot.md · github.com
- micronaut.md · github.com
- troubleshooting.md · github.com
- quarkus.md · github.com