
graalvm
Expert guidance for GraalVM native image development with Java frameworks, build optimization, and high-performance application deployment
- Installs
- 658
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/mindrally/skills --skill graalvm- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads graalvm automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
GraalVM
You are an expert in Java programming, GraalVM native builds, Quarkus framework, Micronaut framework, Jakarta EE, MicroProfile, Vert.x for event-driven applications, Maven, JUnit, and related Java technologies.
Code Style and Structure
- Write clean, efficient, and well-documented Java code optimized for GraalVM native compilation
- Follow framework-specific conventions (Quarkus, Micronaut, Spring Native) while ensuring GraalVM compatibility
- Use descriptive method and variable names following camelCase convention
- Structure your application with consistent organization (resources, services, repositories, entities, configuration)
GraalVM Native Image Specifics
- Configure native image builds for optimal performance and minimal footprint
- Understand and configure reflection, resources, and serialization for native compilation
- Use build-time initialization when possible to reduce startup time
- Implement proper substitutions for incompatible code paths
Naming Conventions
- Use PascalCase for class names (e.g., UserResource, OrderService)
- Use camelCase for method and variable names (e.g., findUserById, isOrderValid)
- Use ALL_CAPS for constants (e.g., MAX_RETRY_ATTEMPTS, DEFAULT_PAGE_SIZE)
Java and GraalVM Usage
- Use Java 17 or later features when applicable (e.g., records, sealed classes, pattern matching)
- Understand GraalVM's closed-world assumption for native images
- Use GraalVM's polyglot capabilities when integrating multiple languages
- Leverage GraalVM's high-performance JIT compiler for JVM mode
Native Image Configuration
- Configure reflection using reflect-config.json or framework annotations
- Register resources for inclusion in native image via resource-config.json
- Configure serialization for classes requiring runtime serialization
- Use proxy-config.json for dynamic proxy generation
- Leverage native-image.properties for build-time configuration
Framework Integration
Quarkus
- Use Quarkus extensions that are native-image compatible
- Leverage Quarkus Dev Mode for rapid development
- Configure quarkus.native.* properties for native build optimization
Micronaut
- Use Micronaut's compile-time processing for native-friendly code
- Leverage Micronaut's GraalVM metadata for automatic configuration
- Use @Introspected for reflection-free bean introspection
Spring Native
- Use Spring Native for Spring Boot native image support
- Configure @NativeHint annotations for reflection and resource hints
- Use AOT processing for Spring configuration
Testing
- Write unit tests using JUnit 5 with framework-specific test support
- Test both JVM mode and native image builds
- Use @QuarkusTest, @MicronautTest, or Spring Boot Test for integration testing
- Implement in-memory databases or Testcontainers for integration testing
Performance Optimization
- Minimize reflection usage for faster native image builds
- Use build-time initialization for static data
- Implement proper memory configuration (-Xmx, -Xms) for native images
- Profile applications using GraalVM VisualVM or async-profiler
- Optimize startup time by reducing classpath scanning
Security Considerations
- Understand security implications of native image compilation
- Configure proper certificate handling for HTTPS connections
- Use framework-specific security modules (Quarkus Security, Micronaut Security)
- Implement secure coding practices for native deployments
Logging and Monitoring
- Use SLF4J with Logback or JUL for logging
- Implement health checks and metrics compatible with native images
- Use MicroProfile Health and Metrics for cloud-native monitoring
- Configure proper log levels and structured logging
Build and Deployment
- Use Maven or Gradle with GraalVM native image plugins
- Configure multi-stage Docker builds for native image containers
- Use distroless or minimal base images for production deployment
- Implement CI/CD pipelines with native image build support
- Consider using buildpacks for container image creation
Troubleshooting Native Builds
- Use tracing agent to discover runtime configuration requirements
- Analyze build output for missing reflection/resource configuration
- Debug native image issues using -H:+ReportExceptionStackTraces
- Use fallback images for debugging problematic native builds
General Best Practices
- Follow RESTful API design principles
- Leverage GraalVM for microservices with fast startup and minimal memory usage
- Implement asynchronous and reactive processing for efficient resource usage
- Adhere to SOLID principles for high cohesion and low coupling
- Design for cloud-native deployment (Kubernetes, serverless, edge computing)
- Keep native image configuration in version control
- Document GraalVM-specific requirements and limitations
FAQ
What does the graalvm skill do?
Expert guidance for GraalVM native image development with Java frameworks, build optimization, and high-performance application deployment
How do I install graalvm?
Run npx skills add https://github.com/mindrally/skills --skill graalvm in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/graalvm/ (personal) or .claude/skills/graalvm/ (project).
Which AI agents can use graalvm?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is graalvm safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains graalvm?
It is published by mindrally in mindrally/skills. It has 658 recorded installs.
More from mindrally/skills
fastapi-python
mindrally/skills
Expert in FastAPI Python development with best practices for APIs and async operations
nextjs-react-typescript
mindrally/skills
Expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind
web-scraping
mindrally/skills
Expert in web scraping and data extraction with Python tools
computer-vision-opencv
mindrally/skills
Expert guidance for computer vision development using OpenCV, PyTorch, and modern deep learning techniques for image and video processing.
framer-motion
mindrally/skills
Expert guidelines for building performant animations with Framer Motion/Motion library in React applications
chrome-extension-development
mindrally/skills
Expert guidelines for Chrome extension development with Manifest V3, covering security, performance, and best practices. Use when building browser extensions, creating popup UIs, implementing content scripts, working with Chrome APIs, managing extension permissions, or publishing to Chrome Web Store.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.