Graalvm expert
Skill kinhluan/rules-quarkus-skills/.agent-skills/graalvm-expert
Expert knowledge for GraalVM, Native Image (AOT), Polyglot runtime, and reflection/resource configuration. Use for native compilation and multi-language JVM questions.From its SKILL.md
npx -y skills add kinhluan/rules-quarkus-skills --skill graalvm-expertAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- fetches URLsInstructs the agent to fetch 4 URLs, including https://www.graalvm.org/latest/reference-manual/native-image/metadata/AutomaticMetadataCollection/ and 3 more.
SKILL.md
3.8 KB, 798 tokens by cl100k_base, as published. Nobody here has run it
graalvm-expert
Keyword: graalvm | Platforms: gemini,claude,codex
High-Performance Polyglot & Native VM Expert Skill - Specialized in GraalVM AOT (Ahead-of-Time) compilation.
Core Mandates
- AOT Mindset: Understand that Native Image has a "Closed-world assumption" (all bytecode must be known at build time).
- Reflection Discipline: Mandate
reflection-config.jsonfor any dynamic class loading or reflection usage. - Initialization Policy: Differentiate between Build-time initialization (faster startup, smaller image) and Runtime initialization (safer for classes with side effects).
- Polyglot Strategy: Leverage GraalVM SDK for high-performance interoperability between Java, JS, Python, and Ruby.
Native Image Mastery
- Native Image Agent: Using
java -agentlib:native-image-agentto automatically generate configuration files. - Resource Management: Config for
resource-config.jsonto include static assets in the native binary. - Dynamic Proxy: Configuring
proxy-config.jsonfor Java dynamic proxies. - Substrate VM: Understanding memory management and GC options (G1 vs Serial) in native binaries.
GraalVM + Build Systems
- Maven/Gradle: Using the GraalVM Native Build Tools plugins.
- Bazel Integration: Configuring
rules_graalvmand toolchains for hermetic native builds. - Quarkus Native: Troubleshooting Quarkus-specific native image failures (often related to extensions or transitive libraries).
Optimization & Performance
- PGO (Profile-Guided Optimization): Collecting profiles from JIT runs to optimize AOT binaries.
- Graal JIT: Using Graal as a replacement for C2 compiler in standard JVM mode for better performance in modern Java.
- Static Analysis: Interpreting GraalVM build-time reports (reachability analysis).
Expert Tips
- Always check
reflect-config.jsonif you getClassNotFoundExceptionin a native binary. - Prefer
quarkus.native.additional-build-argsfor passing low-level GraalVM flags. - Use
--trace-class-initializationto debug complex initialization order issues.
🌐 GraalVM Deep Dives
Directive: Use
web_fetchto find specific configuration flags or reflection-config.json syntax if a native build fails or requires optimization.
- Native Image Agent: GraalVM Agent Guide - Automating metadata collection.
- Reflection Config: Reflection Config Reference - Manual reflection configuration.
- Dynamic Proxy: Dynamic Proxy metadata - Handling interface-based proxies.
- Static vs Runtime Init: Class Initialization in Native Image - Debugging --initialize-at-build-time.
References
Skill Interoperability
The graalvm-expert 🚀 skill provides the native runtime and AOT compilation expertise for:
- quarkus-expert ⚡: Enables building Native Images for Quarkus applications. It depends on java-expert ☕ for understanding reflection and resource configuration.
What ships with it: 1 file
1.1 KB alongside SKILL.md
- SKILL.toon1.1 KB