401-frameworks-quarkus-core — Claude Code skill for Quarkus CDI
A skill that reviews and fixes the core of a Quarkus app: CDI beans, profiles, interceptors, virtual threads. Useful once the Java project already compiles.
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a claude-codeWhat 401-frameworks-quarkus-core does
The skill walks through Quarkus core piece by piece: CDI scopes (@ApplicationScoped, @Singleton, @Dependent), bean disambiguation with @Default, @Alternative and @Named, constructor injection via @Inject. Then interceptors with @InterceptorBinding, events through @Observes and @ObservesAsync, and programmatic lookup with Instance<T> when the bean has to be picked at runtime.
Configuration is the other half. @ConfigMapping with structured settings and @Valid checks, profile-specific properties (%dev, %test, %prod), @IfBuildProfile, plus startup and shutdown observers (@Startup, @PreDestroy). There is a section on virtual threads with @RunOnVirtualThread and one on native-image safety: @RegisterForReflection, @DisabledOnNativeImage.
Before touching anything, the skill insists the project compiles: it runs ./mvnw compile or mvn compile first, and a failing build stops the work until a human fixes it. Verification afterwards is ./mvnw clean verify. On a broken branch the skill will not start editing, which is the behaviour you want.
What it helps with
- sort beans into the right CDI scopes and remove ambiguous injection
- move settings to
@ConfigMappingwith validation on the values - split properties across dev, test and prod profiles
- add an interceptor for cross-cutting logic instead of copies in every method
- turn on virtual threads for blocking calls
Example prompts for the agent
- review the Quarkus application structure and CDI scopes in this module
- rewrite the configuration with
@ConfigMappingand validate it via@Valid - add an interceptor that logs calls to the service layer
How to install 401-frameworks-quarkus-core
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a claude-code2Manually: put the files in place
~/.claude/skills/401-frameworks-quarkus-core/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/401-frameworks-quarkus-core/
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a codex2Manually: put the files in place
.agents/skills/401-frameworks-quarkus-core/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a cursor2Manually: put the files in place
.cursor/skills/401-frameworks-quarkus-core/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install jabrena/plinth 401-frameworks-quarkus-core2Manually: put the files in place
.github/skills/401-frameworks-quarkus-core/SKILL.md1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a gemini-cli2Platform CLI
gemini skills install https://github.com/jabrena/plinth --path skills/401-frameworks-quarkus-coreManually: put the files in place
.devin/skills/401-frameworks-quarkus-core/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about 401-frameworks-quarkus-core
How do I install 401-frameworks-quarkus-core in Claude?
Run npx skills add jabrena/plinth --skill 401-frameworks-quarkus-core -a claude-code. The skill file then lands at ~/.claude/skills/401-frameworks-quarkus-core/SKILL.md.
What does 401-frameworks-quarkus-core do?
It reviews and refactors the core of a Quarkus application: CDI scopes, dependency injection, interceptors, events, profile-based configuration and virtual threads. It follows a reference with good and bad code examples.
What does the skill need before it runs?
A project that compiles: it runs ./mvnw compile or mvn compile before any change and stops on a build failure. Virtual threads need Java 21 or newer.
Source text
SKILL.md · Apache-2.0
--- name: 401-frameworks-quarkus-core description: Use when building or reviewing core Quarkus applications with CDI beans and scopes, SmallRye Config and profiles, lifecycle, interceptors and events, virtual threads, and test-friendly design. This should trigger for requests such as Review Java code for Quarkus application structure and CDI; Apply best practices for Quarkus configuration and beans; Improve CDI interceptors, events, or programmatic injection in Quarkus; Add virtual-thread configuration or tune CDI lifecycle. ; Review Quarkus CDI bean lifecycle and configuration. Part of Plinth Toolkit license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.19.0 --- # Quarkus Core Guidelines Apply Quarkus core guidelines for CDI beans, configuration, profiles, and lifecycle. **What is covered in this Skill?** - @QuarkusMain and application entry (when custom main is needed) - CDI scopes: @ApplicationScoped, @Singleton, @Dependent; bean disambiguation (@Default, @Alternative, @Named) - Constructor injection with @Inject - CDI interceptors (@Interceptor, @InterceptorBinding) for cross-cutting concerns - CDI events: @Observes StartupEvent / ShutdownEvent, @ObservesAsync for async dispatch - Programmatic injection with Instance<T> for dynamic bean selection - @ConfigMapping and structured configuration with Bean Validation (@Valid) - Profile-specific properties (%dev, %test, %prod) and @IfBuildProfile - Startup and shutdown observers (@Startup, @PreDestroy) - Virtual threads with @RunOnVirtualThread (Java 21+) - Native-image safety: @RegisterForReflection, @DisabledOnNativeImage **Scope:** Apply recommendations based on the reference rules and good/bad code examples. ## Constraints Before applying any Quarkus changes, ensure the project compiles. If compilation fails, stop immediately. After applying improvements, run full verification. - **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change - **PREREQUISITE**: Project must compile successfully before applying Quarkus core improvements - **SAFETY**: If compilation fails, stop immediately — compilation failure is a blocking condition - **BLOCKING CONDITION**: Compilation errors must be resolved by the user before proceeding - **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements - **BEFORE APPLYING**: Read the reference for detailed rules, good/bad patterns, and constraints ## When to use this skill - Review Java code for Quarkus application structure and CDI - Apply best practices for Quarkus configuration and beans - Improve CDI interceptors, events, or programmatic injection in Quarkus - Add virtual-thread configuration or tune CDI lifecycle - Review Quarkus CDI bean lifecycle and configuration ## Workflow 1. **Read reference and assess project context** Read `references/401-frameworks-quarkus-core.md` and inspect the current project setup before proposing changes. 2. **Gather scope and decide target improvements** Identify requested outcomes, constraints, and the minimum safe set of changes to apply. 3. **Apply framework-aligned changes** Implement or refactor configuration/code following the reference patterns and project conventions. 4. **Run verification and report results** Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions. ## Reference For detailed guidance, examples, and constraints, see [references/401-frameworks-quarkus-core.md](references/401-frameworks-quarkus-core.md).
© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth