501-frameworks-micronaut-core — Claude Code skill for Micronaut
A skill that reviews and fixes Micronaut Java code: beans, configuration, @Requires, scheduling and blocking I/O.
npx skills add jabrena/plinth --skill 501-frameworks-micronaut-core -a claude-codeWhat 501-frameworks-micronaut-core does
The skill covers Micronaut core: a thin main calling Micronaut.run(Application.class, args), bean scopes (@Singleton, @Prototype), constructor injection with jakarta.inject.Inject, @Factory for beans you build yourself, and @ConfigurationProperties for grouped settings instead of scattered @Property entries. @Requires and environments get their own section, so environment branching stays out of domain code.
HTTP and operations are covered too: thin @Controller types delegating to @Singleton services, @Scheduled with visible failures, @ExecuteOn(TaskExecutors.BLOCKING) to push blocking I/O off the event loop, Netty graceful shutdown properties, and AOP interceptors for cross-cutting concerns. The work runs off references/501-frameworks-micronaut-core.md, which holds the rules plus good and bad code examples, and follows four steps: read the reference, pick the smallest safe set of changes, apply them, verify.
One hard rule: the project has to compile before anything is touched. The skill asks for ./mvnw compile or mvn compile first and stops on failure, treating a broken build as a blocking condition. Afterwards it runs ./mvnw clean verify or mvn clean verify. A Gradle project will not fit here — the commands assume Maven.
What it helps with
- sort beans into the right scopes and drop an unjustified request scope
- move settings into @ConfigurationProperties instead of scattered @Property
- replace environment branching with @Requires conditions
- move blocking I/O off the event loop with @ExecuteOn
- check the @Controller and service split before a review
Example prompts for the agent
- Review the Micronaut application structure and bean scopes in this module
- Set up @Requires conditions for environments instead of checks in domain code
- Look at scheduling and graceful shutdown in the Micronaut services
How to install 501-frameworks-micronaut-core
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 501-frameworks-micronaut-core -a claude-code2Manually: put the files in place
~/.claude/skills/501-frameworks-micronaut-core/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/501-frameworks-micronaut-core/
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 501-frameworks-micronaut-core -a codex2Manually: put the files in place
.agents/skills/501-frameworks-micronaut-core/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 501-frameworks-micronaut-core -a cursor2Manually: put the files in place
.cursor/skills/501-frameworks-micronaut-core/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install jabrena/plinth 501-frameworks-micronaut-core2Manually: put the files in place
.github/skills/501-frameworks-micronaut-core/SKILL.md1Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 501-frameworks-micronaut-core -a gemini-cli2Platform CLI
gemini skills install https://github.com/jabrena/plinth --path skills/501-frameworks-micronaut-coreManually: put the files in place
.devin/skills/501-frameworks-micronaut-core/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 501-frameworks-micronaut-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 501-frameworks-micronaut-core
How do I install 501-frameworks-micronaut-core in Claude?
Run npx skills add jabrena/plinth --skill 501-frameworks-micronaut-core -a claude-code. The skill then lives at ~/.claude/skills/501-frameworks-micronaut-core/SKILL.md.
What does 501-frameworks-micronaut-core do?
It gives the agent Micronaut core rules: dependency injection, factories, configuration, @Requires, controllers, scheduling and blocking work. The agent works from a reference with code examples rather than general advice.
What does the skill need to run?
A Maven build. The skill runs ./mvnw compile or mvn compile before changes and stops if compilation fails, then verifies with ./mvnw clean verify or mvn clean verify.
Source text
SKILL.md · Apache-2.0
--- name: 501-frameworks-micronaut-core description: Use when building or reviewing Micronaut applications — Micronaut.run bootstrap, @Singleton/@Prototype, @Factory beans, @ConfigurationProperties, environments, @Requires, @Controller vs services, @Scheduled, graceful shutdown, @ExecuteOn for blocking work, and Jakarta-consistent APIs. This should trigger for requests such as Review Java code for Micronaut application structure and beans; Apply best practices for Micronaut configuration, @Requires, and factories; Improve scheduling, shutdown, or threading in Micronaut services. ; Review Micronaut dependency injection scopes and factories; Configure Micronaut @Requires conditions for environments. Part of Plinth Toolkit license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.19.0 --- # Micronaut Core Guidelines Apply Micronaut core guidelines for DI, configuration, HTTP adapters, and operations. **What is covered in this Skill?** - Thin `main` with `Micronaut.run(Application.class, args)` - Bean scopes: @Singleton, @Prototype; request scope only when justified - Constructor injection with `jakarta.inject.Inject` - @Factory for third-party or explicit bean construction - @ConfigurationProperties (grouped settings) vs scattered @Property - @Requires and environments instead of env branching in domain code - Thin @Controller types delegating to @Singleton services - @Scheduled with explicit failure visibility - @ExecuteOn(TaskExecutors.BLOCKING) (or virtual-thread executors) for blocking I/O off the event loop - Netty graceful shutdown properties - AOP interceptors for cross-cutting concerns **Scope:** Apply recommendations based on the reference rules and good/bad code examples. ## Constraints Before applying Micronaut 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 Micronaut core improvements - **SAFETY**: If compilation fails, stop immediately — compilation failure is a blocking condition - **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 Micronaut application structure and beans - Apply best practices for Micronaut configuration, @Requires, and factories - Improve scheduling, shutdown, or threading in Micronaut services - Review Micronaut dependency injection scopes and factories - Configure Micronaut @Requires conditions for environments ## Workflow 1. **Read reference and assess project context** Read `references/501-frameworks-micronaut-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/501-frameworks-micronaut-core.md](references/501-frameworks-micronaut-core.md).
© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth