graalvm — скилл для Claude Code: что делает и как установить
Помогает компилировать Java-сервисы в нативные бинарники GraalVM, настраивать рефлексию и готовить сборки на Quarkus или Micronaut.
npx skills add Mindrally/skills --skill graalvm -a claude-codeЧто делает graalvm
Скилл даёт правила компиляции Java-кода в нативный исполняемый файл через GraalVM Native Image. Он задаёт шаблоны конфигурации для закрытого мира (closed-world assumption): подготовку reflect-config.json, регистрацию ресурсов в resource-config.json и генерацию динамических прокси.
Внутри собраны рекомендации под Quarkus, Micronaut и Spring Native с учётом переноса инициализации на этап сборки. Есть правила для тестов через @QuarkusTest и интеграции с Testcontainers, а также диагностика сборок флагом -H:+ReportExceptionStackTraces и агентом трассировки.
Без готовых метаданных рефлексии или запуска tracing agent нативная компиляция сторонних библиотек завершится с ошибкой во время исполнения.
Какие задачи решает
- Сконфигурировать
reflect-config.jsonиresource-config.jsonдля сборки бинарника - Настроить многоэтапный Dockerfile приложения на базе дистрибутива distroless
- Перенести инициализацию классов на фазу компиляции для ускорения старта
- Найти причину сбоя нативной сборки с помощью флагов отладки и tracing agent
Примеры запросов агенту
- Сгенерируй многоэтапный Dockerfile на базе дистрибутива distroless для нативного образа Quarkus.
- Помоги настроить
reflect-config.jsonдля вызова методов через рефлексию в нативном режиме. - Как настроить tracing agent в Maven, чтобы собрать метаданные для GraalVM?
Как установить graalvm
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill graalvm -a claude-code2Вручную: положить файлы
~/.claude/skills/graalvm/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/graalvm/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill graalvm -a codex2Вручную: положить файлы
.agents/skills/graalvm/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill graalvm -a cursor2Вручную: положить файлы
.cursor/skills/graalvm/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills graalvm2Вручную: положить файлы
.github/skills/graalvm/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill graalvm -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path graalvmВручную: положить файлы
.devin/skills/graalvm/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill graalvm -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о graalvm
Как установить graalvm в Claude Code?
Выполните команду npx skills add Mindrally/skills --skill graalvm -a claude-code. Файл настроек сохранится по пути ~/.claude/skills/graalvm/SKILL.md.
Для каких фреймворков подходит скилл?
Инструкции охватывают Quarkus, Micronaut и Spring Native, а также приложения на базе Vert.x, Jakarta EE и MicroProfile.
Что нужно для обнаружения скрытых вызовов рефлексии?
Скилл рекомендует прогонять тесты с запущенным tracing agent, который перехватывает вызовы во время работы JVM и формирует JSON-файлы конфигурации.
Исходный текст
SKILL.md · Apache-2.0
--- name: graalvm description: Expert guidance for GraalVM native image development with Java frameworks, build optimization, and high-performance application deployment metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # 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
© Mindrally · Apache-2.0 · Mindrally/skills