micronaut — Claude Code skill: Micronaut framework conventions
Tells the agent how to write Micronaut code: compile-time DI, GraalVM native builds, reactive services. Useful when your Java project should follow the framework instead of generic advice.
npx skills add Mindrally/skills --skill micronaut -a claude-codeWhat micronaut does
This skill turns the assistant into a Micronaut specialist. It carries a rule set: package layout (controllers, services, repositories, domain, configuration), class and method naming, and proper use of @Controller, @Singleton, @Inject, @Value. Expect constructor injection over field injection, @Factory for complex beans, and @Requires for conditional loading.
Separate sections cover configuration in application.yml, dev/test/prod environments, JUnit 5 tests with @MicronautTest and Testcontainers, security through Micronaut Security and JWT, Micrometer metrics, and tracing with Zipkin or Jaeger. There is also Micronaut Data with compile-time query generation, Flyway or Liquibase migrations, multi-stage Docker builds, and GraalVM native images.
The rules assume Java 17 or later, so on an older JDK some advice will not apply. Installation runs through npx skills add with an agent flag, and the file lands in that platform's skills directory.
What it helps with
- lay out code across controllers, services and repositories
- switch field injection to constructor injection
- set up dev, test and prod profiles in
application.yml - add integration tests with
@MicronautTestand Testcontainers - build a GraalVM native image with the right configuration
Example prompts for the agent
- Create a Micronaut controller for orders with constructor injection of the service
- Rewrite this class as
@Singletonwith@Requiresfor the prod profile - Add an integration test with
@MicronautTestand Testcontainers for the repository
How to install micronaut
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill micronaut -a claude-code2Manually: put the files in place
~/.claude/skills/micronaut/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/micronaut/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill micronaut -a codex2Manually: put the files in place
.agents/skills/micronaut/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill micronaut -a cursor2Manually: put the files in place
.cursor/skills/micronaut/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills micronaut2Manually: put the files in place
.github/skills/micronaut/SKILL.md1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill micronaut -a gemini-cli2Platform CLI
gemini skills install https://github.com/Mindrally/skills --path micronautManually: put the files in place
.devin/skills/micronaut/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Mindrally/skills --skill micronaut -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 micronaut
How do I install micronaut in Claude?
Run npx skills add Mindrally/skills --skill micronaut -a claude-code. The skill ends up at ~/.claude/skills/micronaut/SKILL.md.
What does the micronaut skill do?
It gives the agent Micronaut conventions: project structure, DI annotations, configuration, testing, security, and native image builds. The assistant starts proposing framework-style solutions.
Which Java version does it target?
The rules target Java 17 and later, including records, sealed classes and pattern matching. On an older JDK that advice does not apply.
Source text
SKILL.md · Apache-2.0
--- name: micronaut description: Expert guidance for Micronaut framework development with compile-time dependency injection, GraalVM native builds, and cloud-native microservices metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # Micronaut You are an expert in Java programming, Micronaut framework, GraalVM native builds, reactive programming, Maven/Gradle, JUnit, and related Java technologies. ## Code Style and Structure - Write clean, efficient, and well-documented Java code using Micronaut best practices - Follow Micronaut conventions for package organization and naming - Use descriptive method and variable names following camelCase convention - Structure your application with consistent organization (controllers, services, repositories, domain, configuration) ## Micronaut Specifics - Leverage Micronaut's compile-time dependency injection for fast startup - Use Micronaut annotations (@Controller, @Singleton, @Inject, @Value) effectively - Implement ahead-of-time (AOT) compilation optimizations - Configure native builds with GraalVM for optimal performance and minimal memory footprint ## Naming Conventions - Use PascalCase for class names (e.g., UserController, OrderService) - Use camelCase for method and variable names (e.g., findUserById, isOrderValid) - Use ALL_CAPS for constants (e.g., MAX_RETRY_ATTEMPTS, DEFAULT_PAGE_SIZE) ## Java and Micronaut Usage - Use Java 17 or later features when applicable (e.g., records, sealed classes, pattern matching) - Utilize Micronaut BOM for dependency management - Integrate Micronaut's built-in features (HTTP client, serialization, validation) - Use Micronaut's reactive support with Project Reactor or RxJava ## Configuration and Properties - Store configuration in application.yml or application.properties - Use @Value or @ConfigurationProperties for type-safe configuration injection - Rely on Micronaut environments (dev, test, prod) for environment-specific configurations - Leverage Micronaut's configuration server integrations (Consul, AWS Parameter Store) ## Dependency Injection and IoC - Use Micronaut's compile-time DI annotations (@Inject, @Singleton, @Prototype) - Prefer constructor injection for better testability and immutability - Leverage @Factory for complex bean creation - Use @Requires for conditional bean loading ## Testing - Write unit tests using JUnit 5 and Micronaut Test - Use @MicronautTest for integration testing with embedded server - Implement @MockBean for mocking dependencies - Use Testcontainers for database and service integration testing ## Performance and Scalability - Optimize for native image creation using GraalVM configuration - Use @Cacheable and @CacheInvalidate for caching strategies - Implement reactive patterns with Micronaut's reactive HTTP client - Employ database indexing and query optimization techniques - Leverage Micronaut's low memory footprint for high-density deployments ## Security - Use Micronaut Security for authentication and authorization - Implement JWT-based security with Micronaut JWT - Configure OAuth2/OIDC integration for external identity providers - Handle CORS configuration via application configuration - Implement proper input validation with Jakarta Validation ## Logging and Monitoring - Use SLF4J with Logback for structured logging - Implement Micronaut Management for health checks and metrics - Use Micronaut Micrometer for application metrics export - Integrate distributed tracing with Zipkin or Jaeger - Use proper log levels (ERROR, WARN, INFO, DEBUG) ## API Documentation - Use Micronaut OpenAPI for automatic API documentation generation - Provide detailed OpenAPI annotations for controllers and operations - Generate interactive documentation with Swagger UI ## Data Access and ORM - Use Micronaut Data for simplified data access with compile-time query generation - Implement Micronaut Data JPA or Micronaut Data JDBC based on requirements - Use proper entity relationships and cascading - Implement database migrations with Flyway or Liquibase ## Build and Deployment - Use Maven or Gradle with Micronaut plugins - Configure multi-stage Docker builds for optimized container images - Use Micronaut's GraalVM support for native image builds - Employ proper profiles and environment variables for different deployment targets - Leverage Micronaut's cloud integrations (AWS, GCP, Azure) ## General Best Practices - Follow RESTful API design principles - Leverage Micronaut for microservices architecture with fast startup and minimal memory - Implement asynchronous and reactive processing for efficient resource usage - Adhere to SOLID principles for high cohesion and low coupling - Design for cloud-native deployment (Kubernetes, serverless) - Use Micronaut's service discovery and distributed configuration features
© Mindrally · Apache-2.0 · Mindrally/skills