# graal

Guides GraalVM Native Image compilation and build-tool setup. Useful when configuring Maven, Gradle, or reflection metadata.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 375 installs · ★ 902
- Author: oracle
- License: UPL-1.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/oracle/skills/tree/HEAD/graal/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/graal

## What it does

This skill guides your coding assistant through compiling Java applications into standalone native binaries. It routes tasks across four guides covering the `native-image` CLI, Native Build Tools plugins, reachability metadata, and error diagnostics.

For structured projects, the skill favors build-tool plugins over raw command-line invocations. When native binaries fail, it directs the agent to inspect class initialization timings, heap limits, or missing reflection descriptors.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add oracle/skills --skill graal -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/graal/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/graal/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add oracle/skills --skill graal -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/graal/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add oracle/skills --skill graal -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/graal/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install oracle/skills graal
```

2. **Manually: put the files in place**
- File: `.github/skills/graal/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add oracle/skills --skill graal -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/oracle/skills --path graal
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/graal/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add oracle/skills --skill graal -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/oracle/skills/tree/HEAD/graal/SKILL.md

## When to use it
- Set up Maven or Gradle plugins for native compilation
- Populate `reachability-metadata.json` for reflection and dynamic proxies
- Resolve runtime exceptions caused by class initialization issues
- Pick CLI optimization and security flags for direct binary compilation

## Example prompts
- Configure native-maven-plugin in my pom.xml to generate an executable binary
- Find out why my GraalVM native binary throws a reflection error at runtime
- Compile a standalone Java file using the native-image CLI tool

## Similar
- [java-add-graalvm-native-image-support](https://affpapa.org/en/nevibecode/skills/java-add-graalvm-native-image-support.md) — skill · 8700 installs
- [java-development](https://affpapa.org/en/nevibecode/skills/java-development.md) — skill · 3 installs
- [java-migration](https://affpapa.org/en/nevibecode/skills/java-migration.md) — skill · 321 installs
- [unit-test-parameterized](https://affpapa.org/en/nevibecode/skills/unit-test-parameterized.md) — skill · 3800 installs
- [graalvm-native-image](https://affpapa.org/en/nevibecode/skills/graalvm-native-image.md) — skill · 3500 installs
- [quarkus](https://affpapa.org/en/nevibecode/skills/quarkus.md) — skill · 1000 installs

From the same set: [oracle/skills](https://affpapa.org/en/nevibecode/by/oracle/skills.md) — 4 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
