Implement and review Java code changes for Micronaut framework repositories using maintainer standards, including JSpecify null-safety conventions.

Apache-2.0Auto-check passedBackend & APIs

Install Coding

skills CLI
$ npx skills add micronaut-projects/micronaut-openapi --skill coding -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install micronaut-projects/micronaut-openapi coding --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/micronaut-projects/micronaut-openapi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/coding .claude/skills/coding && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
coding
GitHub stars
114
Token cost
~2.6k tokens
SKILL.md length
1,158 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Implement and review Java code changes for Micronaut framework repositories using maintainer standards, including JSpecify null-safety conventions.

  • Works in 6 steps: Establish scope and API impact → Implement Java with Micronaut maintainer… → Enforce API boundaries and compatibility → …
  • Users ask to add
  • SKILL.md covers Goal, Trigger Examples, Procedure and Guardrails, plus 3 more sections
  • Reaches semver.org

What it does

Coding is an agent skill from micronaut-projects/micronaut-openapi. Implement and review Java code changes for Micronaut framework repositories using maintainer standards, including JSpecify null-safety conventions. Use when users ask to add or refactor Java code, fix framework bugs, evolve internal APIs, or prepare committer-ready changes with tests and verification.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Micronaut framework repositories in micronaut-projects generated from micronaut-project-template

It sits in Backend & APIs, covering OpenAPI specifications and Refactoring. It works with Java, Gradle and OpenAPI. The repository describes itself as: Generates OpenAPI / Swagger Documentation for Micronaut projects. The licence is Apache-2.0.

When your agent uses it

  • Users ask to add
  • Refactor Java code
  • Fix framework bugs
  • Evolve internal APIs

Example prompts

  • “/coding”

Requirements

  • Compatibility (from SKILL.md): Micronaut framework repositories in micronaut-projects generated from micronaut-project-template

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Establish scope and API impact
  2. Implement Java with Micronaut maintainer conventions
  3. Enforce API boundaries and compatibility
  4. Document Java APIs and implementation intent
  5. Keep Gradle/build changes convention-aligned
  6. Verify before completion

What it can do on your machine

Read from SKILL.md and the folder at commit 3d2ce62. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • semver.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Micronaut framework repositories in micronaut-projects generated from micronaut-project-template

    From compatibility in the SKILL.md frontmatter.

Context cost

Coding loads about 2.6k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 1,158 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~77
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from micronaut-projects/micronaut-openapi at commit 3d2ce62, republished under its Apache-2.0 licence (© micronaut-projects). 1,158 words, ~2,598 tokens.

Download SKILL.mdSave it as .claude/skills/coding/SKILL.md (or your agent's skills folder).
name
coding
description
Implement and review Java code changes for Micronaut framework repositories using maintainer standards, including JSpecify null-safety conventions. Use when users ask to add or refactor Java code, fix framework bugs, evolve internal APIs, or prepare committer-ready changes with tests and verification.
compatibility
Micronaut framework repositories in micronaut-projects generated from micronaut-project-template
license
Apache-2.0
metadata.author
Álvaro Sánchez-Mariscal
metadata.version
1.0.0

Coding (Micronaut Committer)

Use this skill for maintainer-facing Java implementation work in Micronaut repositories. Do not default to end-user application shortcuts.

Goal

Deliver minimal, source-backed Java changes that preserve framework quality: binary compatibility, JSpecify null-safety, reflection-free behavior, and full Gradle verification (check, docs, and compatibility checks when API-facing).

Trigger Examples

Should trigger:

  • "Implement this Micronaut Java feature in src/main/java and keep API compatibility."
  • "Refactor this module internals and mark non-public APIs correctly."
  • "Fix failing framework tests and prepare committer-ready validation output."
  • "Add configuration support using Micronaut conventions, not app-level shortcuts."

Should not trigger:

  • "Explain Micronaut basics to a beginner."
  • "Create an end-user sample app from scratch."
  • "Only edit release notes/changelog text."

Procedure

  1. Establish scope and API impact.
  2. Implement Java code with Micronaut maintainer conventions.
  3. Enforce API boundaries and binary compatibility.
  4. Document Java APIs and implementation intent.
  5. Keep Gradle/build changes aligned with repository conventions.
  6. Verify with maintainer-grade checks before completion.
1) Establish scope and API impact
  • Identify affected modules and whether any change is public API or internal-only.
  • Inspect existing package patterns before editing (imports, nullability style, tests, naming).
  • For API-facing edits, plan compatibility checks up front (japiCmp).
  • Keep change surface minimal; avoid opportunistic refactors unless required.
2) Implement Java with Micronaut maintainer conventions
  • Prefer modern Java idioms where they improve clarity (records, sealed types, pattern matching, var for local inference), but only when supported by the repository toolchain/target level.
  • Do not use fully qualified class names unless import conflicts force it.
  • Micronaut Java code uses JSpecify nullness annotations from org.jspecify.annotations; use JSpecify for new or modified nullability contracts.
  • New Java packages must include package-info.java with @NullMarked and import org.jspecify.annotations.NullMarked; when touching an existing package without @NullMarked, add it unless the local code has an explicit exception.
  • Use org.jspecify.annotations.Nullable for nullable values, including nullable parameters, return values, fields, array/component positions such as String @Nullable [], nullable collection elements such as List<@Nullable T>, and nullable type bounds such as <T extends @Nullable Object>.
  • Preserve existing nullability intent when editing older code. Use JSpecify for new or modified contracts, but do not rewrite deliberate compatibility annotations such as io.micronaut.core.annotation.Nullable or jakarta.annotation.Nullable unless the task is specifically a nullability migration and compatibility impact has been checked.
  • Avoid reflection-oriented implementations in framework code paths; prefer Micronaut compile-time/introspection mechanisms.
  • Use jakarta.inject APIs for DI, not javax.inject.
  • Prefer constructor injection and immutable state over field injection.
  • For configuration models, prefer @ConfigurationProperties over scattered @Value usage.
3) Enforce API boundaries and compatibility
  • Treat all public-facing changes through a Semantic Versioning lens (https://semver.org/) before implementation.
  • Classify impact explicitly: patch for backward-compatible fixes, minor for backward-compatible feature additions, major for breaking API/behavioral changes.
  • Keep public API binary compatible unless a major-version change explicitly allows breaks.
  • Prefer non-breaking API evolution first: deprecate existing methods and add replacement variants/overloads instead of deleting methods or changing signatures in place.
  • When using the deprecate-and-add path, keep deprecated APIs functional, point to replacements in Javadoc, and schedule removals only for the next major version.
  • If breaking public-facing changes are explicitly allowed, document them in the user guide under src/main/docs/guide with migration notes, and update toc.yml when adding new guide sections.
  • Mark non-user-facing APIs with @io.micronaut.core.annotation.Internal.
  • Mark unstable public APIs with @io.micronaut.core.annotation.Experimental and avoid presenting them as stable contracts.
  • Mark members directly called by generated code with @io.micronaut.core.annotation.UsedByGeneratedCode; preserve those signatures unless the generated-code callers are updated in the same change.
  • Keep visibility as narrow as possible for non-public internals.
  • When deprecating API, provide migration-friendly Javadoc and avoid silent behavioral breaks.
4) Document Java APIs and implementation intent
  • All public Java types and public methods must have Javadoc. Include public constructors when they are part of the user-facing API.
  • All new public Java types, methods, and user-facing constructors must include an @since Javadoc tag for the version where the PR will debut.
  • Determine the @since version from the approved target branch, not from guesswork. Inspect that branch's gradle.properties (projectVersion) and use the corresponding release version; for example, 4.9.0-SNAPSHOT means the new API debuts in 4.9.0.
  • If the PR is retargeted during follow-through, re-check the target branch's gradle.properties and update any newly added @since tags when the debut version changes.
  • Do not add @since tags to internal-only APIs annotated with @Internal unless the repository already does so for that internal package.
  • Internal and package-private methods should include maintainer-focused Javadoc when the implementation contract, lifecycle, invariants, or generated-code interaction is not obvious from the signature.
  • Complex new code should include focused inline comments that explain implementation decisions or invariants; do not narrate straightforward control flow.
Show full SKILL.md (406 more words)Show less
5) Keep Gradle/build changes convention-aligned
  • Use ./gradlew for all Gradle execution.
  • Use Gradle version catalogs (gradle/libs.versions.toml) instead of hard-coded dependency versions.
  • Use appropriate scopes (api, implementation, compileOnly, runtimeOnly) based on API exposure.
  • Do not add custom build logic directly in module build files when it belongs in convention plugins.
  • When uncertain about module paths, use ./gradlew projects and prefer canonical micronaut-* project names.
6) Verify before completion

First confirm canonical verification tasks from CONTRIBUTING.md and existing CI/build files, then run the repository equivalents from root.

Common sequence in Micronaut repositories:

bash
./gradlew :<module>:compileTestJava
# If module includes Groovy tests:
./gradlew :<module>:compileTestGroovy
./gradlew :<module>:test --tests 'pkg.ClassTest'
./gradlew :<module>:test
# If repository documents cM alias/checkstyle aggregate task:
./gradlew -q cM
./gradlew -q spotlessCheck
./gradlew check
./gradlew docs

For API-affecting changes, also run if configured in the repository:

bash
./gradlew japiCmp

If Spotless fails, run ./gradlew -q spotlessApply and re-run spotlessCheck.

Guardrails

  • Do not introduce javax.inject usage.
  • Do not introduce legacy or third-party nullability annotations for new or modified Micronaut Java contracts when JSpecify is available, except for deliberate compatibility annotations whose impact has been checked.
  • Do not hard-code dependency versions in module build files.
  • Do not break public APIs without explicit major-version intent.
  • Do not skip tests or docs verification for code changes.
  • Do not use reflection as a convenience in framework internals.

Delivery Contract

When finishing implementation work, report:

  1. Exactly which files changed and why.
  2. Whether the change is API-facing or internal-only.
  3. Semantic Versioning impact classification (patch/minor/major) for any public-facing change.
  4. For deprecate-and-add API evolution, which elements were deprecated and which replacement variants were introduced.
  5. For breaking public-facing changes, which user guide files were updated and what migration guidance was added.
  6. For new public Java APIs, the @since version used and how it was derived from the target branch's gradle.properties.
  7. Commands executed for verification and outcomes.
  8. Any follow-up risk (for example compatibility implications).

Validation Checklist

  • SKILL.md frontmatter is valid and name matches directory (coding).
  • Guidance is maintainer-focused (not end-user app guidance).
  • Java conventions include JSpecify nullability (@NullMarked, @Nullable), DI, and reflection-free guidance.
  • API boundary guidance includes @Internal, @Experimental, @UsedByGeneratedCode, and compatibility checks.
  • Public Java types and methods require Javadoc.
  • New public Java APIs require @since tags derived from the approved target branch's gradle.properties.
  • Internal/package-private methods and complex new code include maintainer-focused Javadoc or inline comments when implementation intent is not obvious.
  • For public API evolution without breaking changes, deprecations include clear replacement guidance and functional compatibility is preserved.
  • If breaking changes are allowed, user guide docs in src/main/docs/guide are updated with migration notes.
  • Verification includes tests, style checks, check, and docs.

References

  • CONTRIBUTING.md
  • MAINTAINING.md
  • .agents/skills/gradle/SKILL.md
  • .agents/skills/docs/SKILL.md
  • .agents/skills/skill-creator/references/spec-checklist.md

© micronaut-projects, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/coding of micronaut-projects/micronaut-openapi.

Open the folder on GitHubat commit 3d2ce62

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in micronaut-projects/micronaut-openapi, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Coding next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Coding compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Coding this skillmicronaut-projects/micronaut-openapi114—~2.6kAutomated safety check: PassApache-2.0
Sap API Stylesecondsky/sap-skills460—~4.4kAutomated safety check: PassGPL-3.0
Eng Contract Codegen Coshipcompozy/compozy2.8k—~664Automated safety check: PassMIT
Oryxos Initoryx-labs/oryxos187—~1.6kAutomated safety check: PassApache-2.0
Tiger Brokers Java SDKqusong0627/QuantMind1.7k—~1.2kAutomated safety check: PassApache-2.0
API Coverage Checkforefy/reburp116—~213Automated safety check: PassMIT

Similar skills

  • Sap API Style

    secondsky/sap-skills

    This skill provides comprehensive guidance for documenting SAP APIs following the SAP API Style Guide standards.

    460 GitHub stars~4.4k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Contract co-ship for Compozy wire changes. An agent skill from compozy/compozy.

    2.8k GitHub stars~664 tokensUpdated today
    Backend & APIsAuto-check passed
  • Oryxos Init

    oryx-labs/oryxos

    初始化 OryxOS(或同类 JDK 21 + Spring Boot 3.x 企业级单体)的工程地基:Maven 多模块骨架、 结构化日志、Actuator + Prometheus 监控、Spring MVC + 虚拟线程、springdoc OpenAPI、 统一响应体与全局异常/错误码、Google 格式 + 阿里编码规约(Spotless + 阿里 P3C +…

    187 GitHub stars~1.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Tiger Brokers Java SDK

    qusong0627/QuantMind

    Reference guides for the Tiger Brokers OpenAPI Java SDK: setup, market data, stock, futures and options trading, real-time push, account queries and strategy examples.

    1.7k GitHub stars~1.2k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • API Coverage Check

    forefy/reburp

    Check reburp's Montoya API coverage and detect when a Burp/Montoya upgrade added or changed APIs.

    116 GitHub stars~213 tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Springboot Init Skill

    jiushiwon/wg-skills

    Spring Boot 项目一键初始化技能。面向零基础小白,提供环境探测、自动安装、完整 Web 骨架生成、SSE 流式框架、JWT 鉴权、统一响应封装、文件上传接口、一键启动/重启脚本、Swagger 文档,内置 MySQL(默认)/ PostgreSQL / MongoDB 数据库选择。用户只需说"帮我搭一个 Spring Boot…

    110 GitHub stars~2.2k tokensUpdated 3 days ago
    Backend & APIsAuto-check: notes

More from micronaut-projects/micronaut-openapi

  • Agent Md Refactor

    micronaut-projects/micronaut-openapi

    Refactor oversized agent instruction files into a progressive-disclosure structure.

    114 GitHub stars~766 tokensUpdated today
    Auto-check passed
  • Docs

    micronaut-projects/micronaut-openapi

    Write and maintain Micronaut Framework module guides for micronaut-projects repositories.

    114 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Gradle

    micronaut-projects/micronaut-openapi

    Execute Gradle maintainer operations for Micronaut repositories using micronaut-build internals and modern Gradle best practices.

    114 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Guides

    micronaut-projects/micronaut-openapi

    Create or update standalone Micronaut Guides in micronaut-projects/micronaut-guides, including topic discovery, guide authoring, validation, PDF export, and pull request handoff.

    114 GitHub stars~1.9k tokensUpdated today
    Auto-check: notes
  • Skill Creator

    micronaut-projects/micronaut-openapi

    Create new Agent Skills or improve existing ones in an agent-agnostic way.

    114 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Micronaut Sourcegen

    micronaut-projects/micronaut-openapi

    Add, integrate, or review Micronaut Sourcegen usage in modules that generate Java source, Kotlin source, Groovy-compatible source, or bytecode from ObjectDef, TypeDef, MethodDef, ExpressionDef…

    114 GitHub stars~3.3k tokensUpdated today
    Auto-check passed

Questions about Coding

What does Coding do?

Implement and review Java code changes for Micronaut framework repositories using maintainer standards, including JSpecify null-safety conventions. Coding is an agent skill from micronaut-projects/micronaut-openapi. Implement and review Java code changes for Micronaut framework repositories using maintainer standards, including JSpecify null-safety conventions.

When should I use Coding?

Coding fits situations like: users ask to add; refactor Java code; fix framework bugs; evolve internal APIs.

How do I install Coding in Claude Code?

Run `npx skills add micronaut-projects/micronaut-openapi --skill coding -a claude-code`. Or copy the skill folder (.agents/skills/coding in micronaut-projects/micronaut-openapi) into .claude/skills/coding in your project. Claude Code loads it when a task matches its description.

How do I install Coding in Codex?

Run `npx skills add micronaut-projects/micronaut-openapi --skill coding -a codex`. Or copy the skill folder (.agents/skills/coding in micronaut-projects/micronaut-openapi) into .agents/skills/coding in your project. Codex loads it when a task matches its description.

Can I use Coding in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add micronaut-projects/micronaut-openapi --skill coding -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/coding, .gemini/skills/coding, .github/skills/coding and .opencode/skills/coding in your project.

What does Coding need to run?

SKILL.md names no scripts, command-line tools or credentials: Coding is instructions for the agent only. Compatibility (from SKILL.md): Micronaut framework repositories in micronaut-projects generated from micronaut-project-template.

Does Coding access the network?

SKILL.md names 1 domain. In commands or code: semver.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Coding safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Coding use?

Coding is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Coding use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Coding?

Skills that share tags, products or a category with Coding: Sap API Style (secondsky/sap-skills, 460 stars), Eng Contract Codegen Coship (compozy/compozy, 2.8k stars), Oryxos Init (oryx-labs/oryxos, 187 stars) and Tiger Brokers Java SDK (qusong0627/QuantMind, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Coding?

micronaut-projects (a GitHub organization) maintains it in micronaut-projects/micronaut-openapi, which has 114 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: micronaut-projects/micronaut-openapi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.