AI Blocks › Build and ship software
Quarkus feature builder
Share your Quarkus code and feature brief. Check versions, make a scoped change and run tests when the tools are available.
Share a Quarkus project and feature brief. Get scoped code changes and an honest check report.
Free · No account · MIT licence · Made by github · Tested · Updated 28 Oct 2026
What you get
What goes in
- Your existing Quarkus project (its build file and code)
- A short brief of the feature: what it should do and any limits
- Your Quarkus and Java versions (optional, your AI can read them from the build file)
Before you start
- An AI that can read your project files and run commands such as ./mvnw verify
- Docker running, if the feature uses a database, Kafka or Keycloak in dev and test
What comes out
- Code changes: A small, scoped change to your project: resource, service, config and any new extensions, in the style you already use.
- Configuration: New settings added to application.properties, with secrets kept out of source and set by environment variables.
- Tests: A @QuarkusTest for the new feature, written to match the behavior in your brief.
- Verification report: Each check that ran with pass or fail, then each check not run and why, such as no Docker.
Is it for you?
Use it when
- You want to build a Quarkus application feature.
Skip it when
- You need a brand new project: use create-quarkus-project, or generate one at code.quarkus.io.
- You want to set up Dev Services or write tests only: use quarkus-dev-services-and-testing.
- You want native builds or container images: use quarkus-native-and-container.
Fill it in
Add what this task works from, then copy the request.
- An existing Quarkus project and the feature’s required behavior and constraints.
Run it
Download the complete instructions and supporting files. Add them to Claude, ChatGPT or Gemini once, then ask for it by name in any chat. Pasting the instructions into a chat works too.
Before and after this skill
Choose the steps you need. Bring your own material when you have it.
Before
Bring the material listed under Fill it in.
After
- Pull request writer
Use it if you have the test report and code change.
- Slack agent message router builder
Use it if you have the code change.
- API spec writer
Use it if you have the test report.
Details
From github. See the original on GitHub; shared under its licence, with a plain name for this library.
What it does
Share your Quarkus code and feature brief. Check versions, make a scoped change and run tests when the tools are available.
What goes in and out
You give it
- An existing Quarkus project and the feature’s required behavior and constraints.
You get
- Scoped application changes with configuration, relevant tests and an honest verification report.
More for Build and ship software
Every build and ship software skill
How the task works
- Inspect versions and extensions. Read the build files and preserve the project’s platform, Java target and existing conventions.
- Implement the feature. Select documented REST, configuration, persistence or integration patterns and keep secrets outside source.
- Verify behavior. Run the applicable project checks when available and report missing infrastructure or unexecuted checks.
Full instructions
- Open your AI tool in a way that lets it read your Quarkus project files. It also needs to run commands for the test step.
- Add the skill, or paste its instructions into the chat.
- Describe the feature: what it should do and any limits. Example: add a POST endpoint that checks its input and saves a record.
- Say yes or no when your AI asks about new extensions. It must ask before adding Kafka, OIDC or Keycloak.
- Read the changed files and the verification report. Check which tests ran and which did not.
- Run ./mvnw verify yourself if the report says a check was skipped.
Full instruction file
Quarkus Application Development
Scope: application code inside an existing Quarkus project. Project creation is create-quarkus-project; Dev Services and tests are quarkus-dev-services-and-testing; native and container images are quarkus-native-and-container; core JPA mapping and query design can use the optional java-hibernate-jpa skill if installed (otherwise see the Hibernate ORM guide, https://quarkus.io/guides/hibernate-orm, and the Jakarta Persistence docs).
Before you start
Use the material below to do this job. If facts or tool access are missing, explain what you can finish and what must wait.
What you need (use your own material or the linked skill):
- A codebase (yours): a project's code, in a folder or repo the AI can open.
- Your question (yours): the decision or problem, and what a good outcome looks like.
How to start:
- Look first. Use what they've already attached, pasted or put in their about-me note. In a coding assistant with file access, look in the project too for these by name.
- Check what's missing. Look for a codebase, your question. They can attach files, paste the details, or share a file path your assistant can read. Ask only for missing facts that change the result. If they ask you to start with what they have, complete the parts you can and mark the gaps.
- Do the job. Follow the skill below with the facts and tools you have. Mark each gap with
MISSING:where it belongs and never invent a fact to fill it.
Agent rules
- Detect first: read
pom.xml/build.gradleforquarkus.platform.version, the Java release, and the extensions already present. Keep the version; use what the project already uses (for examplequarkus-resteasy*stays if present). - Add extensions with
quarkus extension add <name>or./mvnw quarkus:add-extension -Dextensions=<name>; never guess artifact ids or versions by hand (the platform BOM manages them). List candidates withquarkus extension list --installable --search=<text>. - Ask the user before adding Kafka, OIDC/Keycloak or any new infrastructure dependency (they start containers in dev/test and change deployment needs).
- Never use the Spring compatibility extensions (
quarkus-spring-*) unless the project already does. - Verify with dev mode (
./mvnw quarkus:dev, then/q/dev-ui) and./mvnw verify; write a@QuarkusTestper feature. Do not claim something works without running it. - Use
jakarta.*imports, records for DTOs, thin resources delegating to services. - Never hard-code secrets or add credentials to
application.properties; seereferences/config-cdi.md.
Quick decisions
| Need | Use | Details |
|---|---|---|
| JSON REST API | quarkus-rest-jackson, quarkus-hibernate-validator, quarkus-smallrye-openapi |
references/rest.md |
| Typed config | @ConfigMapping; @ConfigProperty for single values |
references/config-cdi.md |
| Beans | @ApplicationScoped (default), @Singleton only for plain stateless holders |
references/config-cdi.md |
| Database | quarkus-hibernate-orm-panache + JDBC driver, repository pattern |
references/persistence.md |
| Async / blocking | Imperative by default; @RunOnVirtualThread or Uni when needed |
references/reactive-messaging.md |
| Messaging | quarkus-messaging-kafka (SmallRye Reactive Messaging) |
references/reactive-messaging.md |
| AuthN/AuthZ | quarkus-oidc, @RolesAllowed |
references/security-oidc.md |
| Ops | quarkus-smallrye-health, quarkus-micrometer-registry-prometheus, quarkus-opentelemetry, quarkus-smallrye-fault-tolerance |
references/observability-resilience.md |
| Outbound HTTP, scheduling, caching | quarkus-rest-client-jackson, quarkus-scheduler, quarkus-cache |
references/observability-resilience.md |
Pitfalls that cost time
- Quarkus resolves CDI at build time: an unused bean may be removed. Beans only looked up programmatically need
@Unremovable. - Do not read or write public fields of a normal-scoped bean (
@ApplicationScoped) from another bean or test: you hit the client proxy, not the instance (verified: a counter field read through the proxy returned 0). Use methods. - Do not block on the event loop (
@NonBlockingmethods,Uni/Multireturn types running on I/O threads). Remove any existing@NonBlockingfrom the method (combining it with@Blockingor@RunOnVirtualThreadfails the build), then add@Blockingor@RunOnVirtualThread(seereferences/reactive-messaging.md). - Changes to build-time properties need a rebuild; run-time properties can be overridden by env vars (
QUARKUS_DATASOURCE_JDBC_URL). - Do not configure URLs for databases/brokers/Keycloak in
%dev/%test: that disables Dev Services. drop-and-createschema management is for dev/test only; use Flyway or Liquibase for production.
Verified on Quarkus 3.40.1 and 3.27.6 (Java 21 target, Maven) with a scaffolded app and mvn verify (15 tests: REST+validation+mapper, OpenAPI, config mapping, Panache on PostgreSQL Dev Services, Kafka Dev Service round trip, Keycloak Dev Service tokens, health, metrics, fault tolerance, cache, scheduler). Re-check names against the project's version.
After this
When you've handed it back, suggest what they could do next in one short question. It's a suggestion: if they're done, that's fine. Offer these, and say they can type their own:
- The Pull request writer. It takes the test report and code change.
- The Slack agent message router builder. It takes the code change.
- The API spec writer. It takes the test report.
- The Code change test coverage reviewer. It takes the test report and code change.
- The Bug root cause finder. It takes the test report and code change. If they pick one and that skill is added here, carry straight on with what you just made. If not, give the link and say what to bring.