Skip to content
Skillpedia
APIs & servers (backend)40k · #5198

java-helidon

Lets your agent use best practices with Helidon 4 in Java. It helps with routing, database, configuration, and security for modern applications.

What it does

This agent helps you write code for Helidon, a Java framework, by following best practices. It ensures your code is up-to-date with the latest version (Helidon 4) and well-organized.

When to use it

  • ✓When starting a new project with Helidon 4.
  • ✓When migrating an old project to Helidon 4.
  • ✓When you need code examples following best practices.

Example of what to ask your AI

“How do I set up a Helidon 4 project using Maven?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/java-helidon/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/java-helidon/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It compares your code against the latest Helidon 4 rules, suggesting the best ways to organize your project, configure dependencies, and write code so it works well.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill java-helidon

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/java-helidon/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Helidon Best Practices

Your goal is to help me write high-quality Helidon applications by following established best practices.

Helidon 3 → 4 API changes

Helidon 4 renamed or resignatured APIs that appear widely in their Helidon 3 form. The left column does not compile on Helidon 4. Check generated code against this table before returning it.

Do not use (Helidon 3) Use (Helidon 4)
io.helidon.common.http.Http.Status io.helidon.http.Status
io.helidon.webserver.Service io.helidon.webserver.http.HttpService
Routing.Rules, update(Routing.Rules) HttpRules, routing(HttpRules)
request.path().param("id") request.path().pathParameters().get("id")
String s = column.as(String.class) column.getString() or column.get(String.class)
dbClient.execute(exec -> ...) returning Single/Multi dbClient.execute() returning Optional<DbRow> / Stream<DbRow>
javax.* jakarta.*
helidon-microprofile-tests-junit5 helidon-microprofile-testing-junit5

Value.as(Class) in Helidon 4 returns OptionalValue<T>, not T. This is the single most common Helidon 4 compile error in generated code.

Project Setup & Structure

  • Programming Model: Determine whether the project uses Helidon SE or Helidon MP before generating code. Do not mix the two programming models unless explicitly required.
  • Java Version: Use Java 21 or later for Helidon 4 applications.
  • Build Tool: Use Maven (pom.xml) or Gradle (build.gradle) for dependency management.
  • Dependency Management: Use the Helidon BOM or platform to keep Helidon module versions aligned.
  • Package Structure: Organize code by feature or domain, such as com.example.app.order and com.example.app.customer, rather than only by technical layer.

Helidon SE

  • Explicit Composition: Construct services and dependencies explicitly in the application bootstrap layer.
  • Constructor Injection: Pass required dependencies through constructors and declare dependency fields as private final.
  • HTTP Services: Group related routes in focused HttpService implementations.
  • Business Logic: Keep business logic outside route handlers.
  • Virtual Threads: Prefer straightforward blocking code with Helidon 4 virtual-thread-based request handling. Do not introduce reactive complexity without a clear reason. Helidon 4 is not reactive; do not generate Single, Multi, or CompletionStage chains.

Helidon MP

  • Jakarta and MicroProfile: Prefer standard Jakarta EE and Eclipse MicroProfile APIs when available.
  • Dependency Injection: Use CDI with constructor injection for required dependencies.
  • Bean Scopes: Use CDI scopes such as @ApplicationScoped and @RequestScoped intentionally.
  • Normal-Scoped Beans: Add a non-private no-argument constructor to normal-scoped beans that use constructor injection, so the CDI client proxy can be created portably.
  • Business Logic: Keep Jakarta REST resource classes thin and delegate business operations to service classes.
  • Portability: Prefer portable Jakarta and MicroProfile APIs over Helidon-specific APIs when portability is important.

Configuration

  • Externalized Configuration: Store non-secret configuration in application.yaml or application.properties.
  • Helidon SE Configuration: Use Helidon Config and pass configuration values or typed configuration objects to components.
  • Helidon MP Configuration: Use MicroProfile Config for injected application settings.
  • Environment Overrides: Use environment variables or deployment-specific configuration sources for environment-dependent values.
  • Secrets Management: Never hardcode credentials, API keys, tokens, or private certificates.

Web Layer

…

FAQ

What's the difference between Helidon SE and Helidon MP?

Helidon SE (Standard Edition) is more basic and flexible, while Helidon MP (MicroProfile) uses more established standards like CDI and JAX-RS for building applications.

Why is it important to use Helidon 4 APIs?

Helidon 4 APIs have been updated to be more efficient and secure. Using them avoids common errors and ensures compatibility with new versions.

What are 'best practices'?

These are the recommended and most efficient ways to write code, making the program easier to understand, maintain, and less prone to errors.

Details

Original description by the author

Get best practices for developing applications with Helidon 4 (SE and MP). Use when working with Helidon SE or Helidon MP, HttpService routing, Helidon DB Client, MicroProfile Config, Helidon Security, or Helidon testing in Java 21+ projects.

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5198
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills