Incremental Java Programmer
ArabelaTso/Skills-4-SE
Incrementally implement new features in Java repositories from natural language descriptions.
Converts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests.
$ npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DataDog/dd-trace-java migrate-groovy-to-java --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/migrate-groovy-to-java .claude/skills/migrate-groovy-to-java && rm -rf skills-srcUse ~/.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/
Install the "migrate-groovy-to-java" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/migrate-groovy-to-java into .claude/skills/migrate-groovy-to-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-groovy-to-java", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/migrate-groovy-to-javaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DataDog/dd-trace-java migrate-groovy-to-java --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/migrate-groovy-to-java .agents/skills/migrate-groovy-to-java && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "migrate-groovy-to-java" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/migrate-groovy-to-java into .agents/skills/migrate-groovy-to-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-groovy-to-java", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DataDog/dd-trace-java migrate-groovy-to-java --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/migrate-groovy-to-java .cursor/skills/migrate-groovy-to-java && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "migrate-groovy-to-java" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/migrate-groovy-to-java into .cursor/skills/migrate-groovy-to-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-groovy-to-java", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DataDog/dd-trace-java.git --path .agents/skills/migrate-groovy-to-java--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DataDog/dd-trace-java migrate-groovy-to-java --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/migrate-groovy-to-java .gemini/skills/migrate-groovy-to-java && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "migrate-groovy-to-java" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/migrate-groovy-to-java into .gemini/skills/migrate-groovy-to-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-groovy-to-java", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DataDog/dd-trace-java migrate-groovy-to-javaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/migrate-groovy-to-java .github/skills/migrate-groovy-to-java && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "migrate-groovy-to-java" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/migrate-groovy-to-java into .github/skills/migrate-groovy-to-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-groovy-to-java", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DataDog/dd-trace-java migrate-groovy-to-java --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DataDog/dd-trace-java.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/migrate-groovy-to-java .opencode/skills/migrate-groovy-to-java && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "migrate-groovy-to-java" agent skill from https://github.com/DataDog/dd-trace-java/tree/master/.agents/skills/migrate-groovy-to-java into .opencode/skills/migrate-groovy-to-java/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "migrate-groovy-to-java", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
migrate-groovy-to-javaConverts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests.
Migrate Groovy To Java is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization. Converts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests. Use when asked to "migrate groovy", "convert groovy to java", "g2j", or when a module has .groovy test files that need to be replaced with .java equivalents.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `QUALITY_RULES.md`).
It sits in Testing & QA. It works with Java, JUnit, Datadog and Gradle. The repository describes itself as: Datadog APM client for Java. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3eed707. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Migrate Groovy To Java loads about 1.3k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 668 words of instructions outside code blocks.
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.
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.
The full file from DataDog/dd-trace-java at commit 3eed707, republished under its Apache-2.0 licence (© DataDog). 668 words, ~1,335 tokens.
.claude/skills/migrate-groovy-to-java/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Migrate test Groovy files to Java using JUnit 5
When converting Groovy code to Java code, make sure that:
@TableTest for data rows that are naturally tabular. See detailed guidance in the "TableTest usage" section.@TableTest and @MethodSource may be combined on the same @ParameterizedTest when most cases are tabular but a few cases require programmatic setup.@TableTest, and put only non-tabular/complex cases in @MethodSource.@TableTest is not viable for the test at all, use @MethodSource only.@TableTest was successfully used and if the @ParameterizedTest is not used to specify the test name, @ParameterizedTest can then be removed as @TableTest replace it fully.@MethodSource, name the arguments method <testMethodName>Arguments (camelCase, e.g. testMethodArguments) and return Stream<Arguments> using Stream.of(...) and arguments(...) with static import.Arguments.arguments(...) value or index the test caseassertTrue(a.equals(b)) or assertFalse(a.equals(b)), use assertEquals(expected, actual) and assertNotEquals(unexpected, actual)finalMock(...) usage, use libs.bundles.mockito instead of writing manual recording/stub implementationsinjectSysConfig(key, value) calls with @WithConfig when the key and value are static literals. Put it on the test method for per-test config, or on the class when every test needs it. The dd. prefix is added automatically — use the bare key (e.g. "trace.scope.strict.mode", not "dd.trace.scope.strict.mode"). For dynamic or parameterized values, keep the imperative WithConfigExtension.injectSysConfig(key, value) call.asMap() / asLong() / asList(), check whether json-unit-assertj (libs.json.unit.assertj) is already in the module's build file. If it is, add a method that returns the raw JSON string and use assertThatJson(json).node("some.nested.field").isEqualTo(value) directly instead of the map traversal.[key: val] map literals use a LinkedHashMap. When the test doesn't care about insertion order, use singletonMap for a single entry or HashMap for two or more. If a helper method builds these maps, add a two-arg overload rather than scattering new LinkedHashMap<>() constructions through test bodies.clean: section needs to wrap the unit test with a try...finally block to respect the behavior.TableTest usage
Import: import org.tabletest.junit.TableTest;
JDK 8 rules:
- No text blocks.
- @TableTest must use String[] annotation array syntax:
@TableTest({ "a | b", "1 | 2" })
Spock where: → @TableTest:
- First row = header (column names = method parameters).
- Add scenario column as first column (display name, not a method parameter).
- Use | delimiter; align columns so pipes line up vertically.
- Prefer single quotes for strings with special chars (e.g., 'a|b', '[]').
- Blank cell = null (object types); '' = empty string.
- Collections: [a, b] = List/array, {a, b} = Set, [k: v] = Map.
Mixed eligibility:
- Prefer combining @TableTest + @MethodSource on one @ParameterizedTest when only some cases are complex.
- Use @MethodSource only when tabular representation is not practical for the test.
Do NOT use @TableTest when: - Majority of rows require complex objects or custom converters.
Before writing any Java output, read .claude/skills/migrate-groovy-to-java/QUALITY_RULES.md in full.
Apply all BLOCKER rules unconditionally.
Apply WARNING rules unless they require creating utility classes that do not yet exist.
Apply STYLE rules where they improve clarity without added complexity.
© DataDog, 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
SKILL.md and 1 other file in .agents/skills/migrate-groovy-to-java of DataDog/dd-trace-java.
Open the folder on GitHubat commit 3eed707
Migrate Groovy To Java 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Migrate Groovy To Java this skillDataDog/dd-trace-java | 736 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Incremental Java ProgrammerArabelaTso/Skills-4-SE | 253 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Java 21 Developer Guide for Grailsapache/grails-core | 2.9k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Java ArchitectJeffallan/claude-skills | 12k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Jvm Helpershepherdjerred/monorepo | 112 | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| Java Rulessoftspark/ai-toolkit | 179 | — | ~3.1k | Automated safety check: Pass | Apache-2.0 |
ArabelaTso/Skills-4-SE
Incrementally implement new features in Java repositories from natural language descriptions.
apache/grails-core
Guide for writing modern Java 21 in a Grails and Groovy codebase: records, sealed classes, pattern matching, text blocks and how Java works alongside Groovy.
Jeffallan/claude-skills
Builds Spring Boot 3.x services on Java 21 with domain-driven design, WebFlux, JPA tuning and Spring Security using OAuth2 and JWT, verified by Maven or Gradle builds.
shepherdjerred/monorepo
Current Java, Kotlin, Gradle, Maven, JUnit, JVM diagnostics, packaging, and performance guidance.
softspark/ai-toolkit
Java coding rules: style, patterns, security, testing. An agent skill from softspark/ai-toolkit.
DataDog/jmxfetch
Add integration tests to TestGCMetrics.java for new GC collector support added to new-gc-default-jmx-metrics.yaml.
DataDog/dd-trace-java
Write a new library instrumentation end-to-end. An agent skill from DataDog/dd-trace-java.
DataDog/dd-trace-java
Performance-overhead review of a code diff / branch / PR for the dd-trace-java tracer.
DataDog/dd-trace-java
Diagnose and resolve dd-trace-java CI failures from a module's muzzle task or the runMuzzle aggregate.
DataDog/dd-trace-java
Diagnose and fix scope or continuation lifecycle failures in dd-trace-java instrumentation tests.
DataDog/dd-trace-java
Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code.
DataDog/dd-trace-java
Clarify or review Java Javadocs, Javadoc tags, and explanatory code comments for legibility, accuracy, and source alignment.
Categories
Converts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests. Migrate Groovy To Java is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization. Converts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests.
Migrate Groovy To Java fits situations like: asked to migrate groovy; convert groovy to java; A module has .groovy test files that need to be replaced with .java equivalents.
Run `npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a claude-code`. Or copy the skill folder (.agents/skills/migrate-groovy-to-java in DataDog/dd-trace-java) into .claude/skills/migrate-groovy-to-java in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a codex`. Or copy the skill folder (.agents/skills/migrate-groovy-to-java in DataDog/dd-trace-java) into .agents/skills/migrate-groovy-to-java in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DataDog/dd-trace-java --skill migrate-groovy-to-java -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/migrate-groovy-to-java, .gemini/skills/migrate-groovy-to-java, .github/skills/migrate-groovy-to-java and .opencode/skills/migrate-groovy-to-java in your project.
SKILL.md names no scripts, command-line tools or credentials: Migrate Groovy To Java is instructions for the agent only.
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.
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.
Migrate Groovy To Java is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Migrate Groovy To Java: Incremental Java Programmer (ArabelaTso/Skills-4-SE, 253 stars), Java 21 Developer Guide for Grails (apache/grails-core, 2.9k stars), Java Architect (Jeffallan/claude-skills, 12k stars) and Jvm Helper (shepherdjerred/monorepo, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DataDog (a GitHub organization, an official publisher) maintains it in DataDog/dd-trace-java, which has 736 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.
Source: DataDog/dd-trace-java on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.