Agent skill

Micronaut Sourcegen

by micronaut-projects in 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…

Apache-2.0Auto-check passedMobile

Install Micronaut Sourcegen

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

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

GitHub CLI
$ gh skill install micronaut-projects/micronaut-openapi micronaut-sourcegen --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/micronaut-sourcegen .claude/skills/micronaut-sourcegen && 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
micronaut-sourcegen
GitHub stars
114
Token cost
~3.3k tokens
SKILL.md length
1,309 words
Files
2 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

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…

  • Works in 7 steps: Identify the Consuming Module → Choose the Backend → Wire Dependencies → …
  • Tasks that involve Android development
  • SKILL.md covers Goal, Trigger Examples, Procedure and Backend Notes, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Micronaut Sourcegen is an agent skill from 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, StatementDef, and SourceGenerator APIs.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/sourcegen-cookbook.md`). Compatibility notes: Micronaut framework and library modules that use io.micronaut.sourcegen for compile-time generation

It sits in Mobile, covering Android development and OpenAPI specifications. It works with Java, Kotlin 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

  • Tasks that involve Android development
  • Tasks that involve OpenAPI specifications

Example prompts

  • “/micronaut-sourcegen”

Requirements

  • Compatibility (from SKILL.md): Micronaut framework and library modules that use io.micronaut.sourcegen for compile-time generation

Workflow steps

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

  1. Identify the Consuming Module
  2. Choose the Backend
  3. Wire Dependencies
  4. Build Models With Factories, Not Record Constructors
  5. Implement Visitors
  6. Model Generated Behavior
  7. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 4877fd7. 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 kotlin and java).

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

  • Network

    No URLs in SKILL.md.

    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 and library modules that use io.micronaut.sourcegen for compile-time generation

    From compatibility in the SKILL.md frontmatter.

Context cost

Micronaut Sourcegen loads about 3.3k tokens when it runs, and up to ~9.4k if it reads all its reference files. Until then it costs about 63 tokens; SKILL.md has 1,309 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.4k

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 4877fd7, republished under its Apache-2.0 licence (© micronaut-projects). 1,309 words, ~3,267 tokens.

Download SKILL.mdSave it as .claude/skills/micronaut-sourcegen/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
micronaut-sourcegen
description
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, StatementDef, and SourceGenerator APIs.
compatibility
Micronaut framework and library modules that use io.micronaut.sourcegen for compile-time generation
license
Apache-2.0
metadata.author
Denis Stepanov
metadata.version
1.0.0

Micronaut Sourcegen

Use this skill when a Micronaut module wants to generate types with Micronaut Sourcegen instead of handwritten source strings, reflection, JavaPoet/KotlinPoet calls in visitors, or ad hoc bytecode. The target module may emit Java source, Kotlin source, Groovy-compatible source, or bytecode, but the generation logic should model the type once with io.micronaut.sourcegen.model.

Goal

Help other modules adopt Micronaut Sourcegen safely: choose the right backend, wire the right processor dependencies, build language-neutral model definitions, and verify generated Java/Kotlin/bytecode behavior with targeted tests.

Trigger Examples

Should trigger:

  • "Use Micronaut Sourcegen in this module to generate a repository implementation."
  • "Generate bytecode instead of Java source for this visitor."
  • "Make this annotation processor generate Java and Kotlin outputs with Sourcegen."
  • "Replace handwritten generated-source strings with ClassDef and MethodDef."
  • "Add method bodies with switches, static calls, static field arguments, and constructor calls."

Should not trigger:

  • "Only edit user guide text."
  • "Only change Gradle publishing metadata."
  • "Only refactor backend writer internals without a module consuming Sourcegen."
  • "Explain Micronaut annotation processing without generated types."

Procedure

  1. Identify the consuming module and generation target.
  2. Choose one backend for each compilation path.
  3. Wire dependencies using the repository version catalogs and processor configurations.
  4. Implement generation in a visitor with Sourcegen model builders and helpers.
  5. Emit through SourceGenerator.write(...) or bytecode writer APIs as appropriate.
  6. Add cross-target tests for the generated contract.
  7. Run focused compile/test/style verification.
1) Identify the Consuming Module
  • Confirm whether the module is an annotation processor/generator module, an application/test-suite module consuming a generator, or a backend writer module.
  • Locate existing visitor registration under META-INF/services/io.micronaut.inject.visitor.TypeElementVisitor.
  • Identify source language paths:
    • Java annotation processing uses annotationProcessor.
    • Kotlin compilation usually uses ksp.
    • Bytecode generation runs during Java-language processing and writes class files directly.
  • Inspect existing generated-type tests before changing behavior.
2) Choose the Backend
  • Use sourcegen-generator-java when the module should emit .java source for VisitorContext.Language.JAVA; it also provides GroovyPoetSourceGenerator for GROOVY.
  • Use sourcegen-generator-kotlin when Kotlin/KSP processing should emit .kt source for VisitorContext.Language.KOTLIN.
  • Use sourcegen-generator-bytecode when Java-language processing should emit .class files directly through ByteCodeGenerator.
  • Do not put both Java-source and bytecode Sourcegen generators on the same Java annotation-processor path unless the module intentionally owns selection. Both advertise VisitorContext.Language.JAVA, and SourceGenerators.findByLanguage(JAVA) expects a single effective backend.
  • Use sourcegen-bytecode-writer directly only when implementing or testing bytecode writer behavior, not as the normal integration point for consuming annotation processors.
3) Wire Dependencies
  • In a generator/processor module, depend on sourcegen-generator for the model and service lookup APIs. Add sourcegen-annotations only when the module consumes Sourcegen annotations such as builders/wither support.
  • In a Java consumer/test module, add the chosen backend and the custom generator to annotationProcessor.
  • In a Kotlin consumer/test module, add the Kotlin backend and KSP-compatible custom generator to ksp.
  • In a bytecode consumer/test module, add sourcegen-generator-bytecode to annotationProcessor.
  • Use Gradle version catalogs and existing project accessors. Do not hardcode dependency coordinates or versions.

Example repository-local shapes:

kotlin
dependencies {
    implementation(projects.sourcegenGenerator)

    annotationProcessor(projects.sourcegenGeneratorJava)
    annotationProcessor(projects.myCustomGenerators)
}
kotlin
dependencies {
    ksp(projects.sourcegenGeneratorKotlin)
    ksp(projects.myCustomGeneratorsKotlin)
}
kotlin
dependencies {
    annotationProcessor(projects.sourcegenGeneratorBytecode)
    annotationProcessor(projects.myCustomGenerators)
}
4) Build Models With Factories, Not Record Constructors
  • Always create Sourcegen model elements through builders, factory methods, or helper methods: ClassDef.builder, InterfaceDef.builder, RecordDef.builder, EnumDef.builder, AnnotationObjectDef.builder, MethodDef.builder, MethodDef.constructor, FieldDef.builder, PropertyDef.builder, ParameterDef.builder, TypeDef.of, ClassTypeDef.of, TypeDef.parameterized, ExpressionDef.constant, StatementDef.multi, StatementDef.doTry, expr.returning, expr.invoke, type.invokeStatic, type.getStaticField, and switch/if helper methods.
  • Do not instantiate DSL records directly in consuming modules, for example avoid new ClassTypeDef.Parameterized(...), new TypeDef.Array(...), new ExpressionDef.Constant(...), new StatementDef.Switch(...), or other new ...record(...) forms.
  • If a construct has no public helper yet, add or use a small named helper/factory at the nearest appropriate level instead of spreading direct record construction through module code.
  • Keep model construction language-neutral. Do not call JavaPoet, KotlinPoet, ASM, or write source strings from a visitor unless the task is explicitly inside a backend writer.
5) Implement Visitors
  • Prefer TypeElementVisitor with VisitorKind.ISOLATING when generated output depends only on the visited element.
  • Resolve the backend through SourceGenerators.findByLanguage(context.getLanguage()).orElse(null) and return when none is available.
  • Build ObjectDef instances from Micronaut AST metadata (ClassElement, MethodElement, FieldElement, PropertyElement) when possible.
  • Emit with sourceGenerator.write(objectDef, context, originatingElement).
  • Use SourceGenerators.handleFatalException(...) when generation may postpone to a later round.

Minimal visitor shape:

java
SourceGenerator sourceGenerator = SourceGenerators.findByLanguage(context.getLanguage()).orElse(null);
if (sourceGenerator == null) {
    return;
}

ClassDef generated = ClassDef.builder(element.getPackageName() + ".Generated")
    .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
    .addMethod(MethodDef.builder("name")
        .addModifiers(Modifier.PUBLIC)
        .returns(TypeDef.STRING)
        .build((aThis, params) -> ExpressionDef.constant("generated").returning()))
    .build();

sourceGenerator.write(generated, context, element);
6) Model Generated Behavior
  • Use ClassDef, InterfaceDef, RecordDef, EnumDef, and AnnotationObjectDef for generated type kind.
  • Use TypeDef and ClassTypeDef for primitives, arrays, generics, generated class names, nullability, and static field owners.
  • Use MethodDef body builders for executable logic. Prefer explicit returns(...) for public or non-trivial generated methods.
  • When generated code reads or writes a field that the same generator defines, keep the FieldDef instance and reference it with aThis.field(fieldDef) or generatedType.getStaticField(fieldDef) instead of repeating the field name and type.
  • When generated code invokes a method that the same generator defines, keep the MethodDef instance and invoke it with receiver.invoke(methodDef, ...) or generatedType.invokeStatic(methodDef, ...) instead of repeating the method name, parameter types, and return type.
  • When generated code targets an existing method or field that is accessible reflectively and present on the annotation processor classpath, prefer a reflective handle from ReflectionUtils.getRequiredMethod(...) or ReflectionUtils.getRequiredField(...). Pass method handles to receiver.invoke(method, ...) or type.invokeStatic(method, ...); pass static field handles to type.getStaticField(field); for instance fields, centralize the field-name/type bridge in a helper fed by the reflective Field. This uses reflection only at generation time to describe a known member; it must not generate runtime reflection.
  • Use StatementDef.multi(...), expr.returning(), expr.newLocal(...), condition.doIf(...), expr.asExpressionSwitch(...), expr.asStatementSwitch(...), StatementDef.doTry(...), and invocation helpers to compose bodies.
  • Use ClassTypeDef.getStaticField("NAME", valueType) for enum constants, static constants, class literals, and static-field arguments passed to invocations.
  • String switches are supported. For string switch cases, use a TypeDef.STRING switch expression and ExpressionDef.constant("case") keys with asExpressionSwitch(...) or asStatementSwitch(...).
Show full SKILL.md (413 more words)Show less
7) Verify
  • Compile the generator module and the consuming test module.
  • Run targeted tests that load or compile generated types for each backend touched.
  • For Java source generation, verify generated .java behavior through Java test-suite tests.
  • For Kotlin source generation, verify KSP and Kotlin tests.
  • For bytecode generation, verify runtime behavior and bytecode writer tests when the model shape exercises bytecode-specific paths.
  • Finish source changes with the repository checks required by AGENTS.md: affected compile tasks, targeted tests, full affected module tests, ./gradlew -q cM, and ./gradlew -q spotlessCheck if new files were added.

Backend Notes

  • Java source backend: JavaPoetSourceGenerator writes Java source for VisitorContext.Language.JAVA.
  • Groovy-compatible source backend: GroovyPoetSourceGenerator reuses the Java source generator for GROOVY.
  • Kotlin source backend: KotlinPoetSourceGenerator writes Kotlin source for VisitorContext.Language.KOTLIN.
  • Bytecode backend: ByteCodeGenerator advertises JAVA and writes class files through context.visitClass(...); it does not support write(ObjectDef, Writer).

Cookbook

Use references/sourcegen-cookbook.md for adoption patterns covering:

  • Gradle dependency placement for generator modules and consumers,
  • backend selection for Java, Kotlin, Groovy-compatible source, and bytecode,
  • type/model construction using builders and helper methods,
  • generated classes, interfaces, records, enums, annotations, method bodies, switches, invocations, static fields, arrays, lambdas, and super constructors,
  • testing and validation across source and bytecode backends.

Guardrails

  • Do not instantiate Sourcegen DSL records directly in consuming modules; use builders, factories, or named helper methods.
  • Do not duplicate generated member metadata in generated code bodies; prefer the existing FieldDef or MethodDef instance when reading/writing generated fields or invoking generated methods.
  • Do not use string-based references for known existing classpath methods/static fields when a ReflectionUtils.getRequiredMethod(...) or ReflectionUtils.getRequiredField(...) handle can describe the member safely.
  • Do not generate source text with string concatenation when a Sourcegen model construct exists.
  • Do not place multiple JAVA Sourcegen backends on the same annotation-processor path unless selection is explicit and tested.
  • Do not use backend-specific JavaPoet/KotlinPoet/ASM APIs from normal visitors.
  • Do not use reflection for generation metadata when Micronaut AST elements are available.
  • Do not break public Sourcegen APIs without explicit approval and compatibility checks.

Validation Checklist

  • Skill folder name and name: frontmatter are micronaut-sourcegen.
  • Consuming module and target backend are identified.
  • Java/Kotlin/bytecode processor dependencies are scoped correctly.
  • Only one effective JAVA Sourcegen backend is present for a Java compilation path.
  • Model definitions use builders/factories/helpers, not direct DSL record constructors.
  • Generated fields/methods referenced from generated bodies are referenced through their FieldDef/MethodDef instances where available.
  • Generated sources/classes are emitted through SourceGenerator.write(...) or backend writer APIs where appropriate.
  • Targeted and full affected tests pass, or unrun checks are reported clearly.

References

  • references/sourcegen-cookbook.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

SKILL.md and 1 other file (references) in .agents/skills/micronaut-sourcegen of micronaut-projects/micronaut-openapi.

  • SKILL.md
  • references/sourcegen-cookbook.md

Open the folder on GitHubat commit 4877fd7

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

Micronaut Sourcegen 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.

Micronaut Sourcegen compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Micronaut Sourcegen this skillmicronaut-projects/micronaut-openapi114—~3.3kAutomated safety check: PassApache-2.0
Test Writeraxelixlabs/axelix148—~2.2kAutomated safety check: PassLGPL-3.0
Build Teaql Appteaql/teaql-agent-kit2.8k—~4.6kAutomated safety check: PassMIT
Android Maps Ktxgooglemaps/android-maps-ktx360—~897Automated safety check: PassApache-2.0
Code StyleJetBrains/intellij-community21k—~795Automated safety check: PassCustom licence
Android Audio E2Ehyochan/react-native-nitro-sound961—~814Automated safety check: PassMIT

Similar skills

  • Test Writer

    axelixlabs/axelix

    Writes new tests for Axelix source code (Java, Kotlin, TypeScript, JavaScript) that follow the project's testing standards — public-API contract coverage, test isolation, given/when/then structure…

    148 GitHub stars~2.2k tokensUpdated yesterday
    MobileAuto-check passed
  • Build Teaql App

    teaql/teaql-agent-kit

    Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.

    2.8k GitHub stars~4.6k tokensUpdated 11 days ago
    MobileAuto-check passed
  • Android Maps Ktx

    googlemaps/android-maps-ktx

    Provides idiomatic Kotlin extension (KTX) patterns, reactive Flow event streams, and multi-subscriber shareIn rules for Google Maps SDK for Android and its Utility Library.

    360 GitHub stars~897 tokensUpdated yesterday
    MobileAuto-check passed
  • Code Style

    JetBrains/intellij-community

    Official

    Apply IntelliJ Kotlin and Java code style when writing or reviewing.

    21k GitHub stars~795 tokensUpdated today
    MobileAuto-check passed
  • Android Audio E2E

    hyochan/react-native-nitro-sound

    Build and run device-backed Android end-to-end checks for react-native-nitro-sound permissions, recording, playback, listeners, pause/resume, seek, speed, audio focus, lifecycle behavior, and rapid…

    961 GitHub stars~814 tokensUpdated 9 days ago
    MobileAuto-check passed
  • Stabilizing Compose Types

    rosuH/EasyWatermark

    A skill your agent uses to fix unstable Jetpack Compose types once a stability diagnosis has identified them.

    1.9k GitHub starsUsed in 1 repo~4.4k tokens
    MobileAuto-check passed

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
  • Coding

    micronaut-projects/micronaut-openapi

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

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

Questions about Micronaut Sourcegen

What does Micronaut Sourcegen do?

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…. Micronaut Sourcegen is an agent skill from 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, StatementDef, and SourceGenerator APIs.

When should I use Micronaut Sourcegen?

Micronaut Sourcegen fits situations like: tasks that involve Android development; tasks that involve OpenAPI specifications.

How do I install Micronaut Sourcegen in Claude Code?

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

How do I install Micronaut Sourcegen in Codex?

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

Can I use Micronaut Sourcegen 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 micronaut-sourcegen -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/micronaut-sourcegen, .gemini/skills/micronaut-sourcegen, .github/skills/micronaut-sourcegen and .opencode/skills/micronaut-sourcegen in your project.

What does Micronaut Sourcegen need to run?

SKILL.md names no scripts, command-line tools or credentials: Micronaut Sourcegen is instructions for the agent only. Compatibility (from SKILL.md): Micronaut framework and library modules that use io.micronaut.sourcegen for compile-time generation.

Does Micronaut Sourcegen access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Micronaut Sourcegen 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 Micronaut Sourcegen use?

Micronaut Sourcegen 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 Micronaut Sourcegen use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.2k tokens, read only when the agent opens those files.

What are the alternatives to Micronaut Sourcegen?

Skills that share tags, products or a category with Micronaut Sourcegen: Test Writer (axelixlabs/axelix, 148 stars), Build Teaql App (teaql/teaql-agent-kit, 2.8k stars), Android Maps Ktx (googlemaps/android-maps-ktx, 360 stars) and Code Style (JetBrains/intellij-community, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Micronaut Sourcegen?

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 8, 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.