Official agent skill

Migrate Junit Source To Tabletest

by DataDog in DataDog/dd-trace-java

Convert JUnit 5 @MethodSource/@CsvSource/@ValueSource parameterized tests to @TableTest (JDK8)

OfficialApache-2.0Auto-check passedTesting & QA

Install Migrate Junit Source To Tabletest

skills CLI
$ npx skills add DataDog/dd-trace-java --skill migrate-junit-source-to-tabletest -a claude-code

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

GitHub CLI
$ gh skill install DataDog/dd-trace-java migrate-junit-source-to-tabletest --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/DataDog/dd-trace-java.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/migrate-junit-source-to-tabletest .claude/skills/migrate-junit-source-to-tabletest && 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
migrate-junit-source-to-tabletest
GitHub stars
736
Token cost
~950 tokens
SKILL.md length
454 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Convert JUnit 5 @MethodSource/@CsvSource/@ValueSource parameterized tests to @TableTest (JDK8)

  • Works in 5 steps: Locate targets via Grep (no agent… → Read all matching files up front… → Convert eligible tests to @TableTest. → …
  • Tasks that involve Unit testing
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Migrate Junit Source To Tabletest is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization. Convert JUnit 5 @MethodSource/@CsvSource/@ValueSource parameterized tests to @TableTest (JDK8)

Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Unit testing. It works with JUnit, Datadog and Java. The repository describes itself as: Datadog APM client for Java. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Unit testing

Example prompts

  • “/migrate-junit-source-to-tabletest”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Locate targets via Grep (no agent subprocess). Search for: "@ParameterizedTest", "@MethodSource", "@CsvSource", "@ValueSource".
  2. Read all matching files up front (parallel is OK).
  3. Convert eligible tests to @TableTest.
  4. Write each modified file once in full using Write (no incremental per-test edits).
  5. Run module tests once and verify "BUILD SUCCESSFUL". If failed, inspect JUnit XML report.

What it can do on your machine

Read from SKILL.md and the folder at commit 3eed707. 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.

    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.

Context cost

Migrate Junit Source To Tabletest loads about 950 tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 454 words of instructions outside code blocks.

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

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 DataDog/dd-trace-java at commit 3eed707, republished under its Apache-2.0 licence (© DataDog). 454 words, ~950 tokens.

Download SKILL.mdSave it as .claude/skills/migrate-junit-source-to-tabletest/SKILL.md (or your agent's skills folder).
name
migrate-junit-source-to-tabletest
description
Convert JUnit 5 @MethodSource/@CsvSource/@ValueSource parameterized tests to @TableTest (JDK8)

Goal: Migrate JUnit 5 parameterized tests using @MethodSource/@CsvSource/@ValueSource to @TableTest with minimal churn and passing tests.

Process (do in this order):

  1. Locate targets via Grep (no agent subprocess). Search for: "@ParameterizedTest", "@MethodSource", "@CsvSource", "@ValueSource".
  2. Read all matching files up front (parallel is OK).
  3. Convert eligible tests to @TableTest.
  4. Write each modified file once in full using Write (no incremental per-test edits).
  5. Run module tests once and verify "BUILD SUCCESSFUL". If failed, inspect JUnit XML report.

Import: import org.tabletest.junit.TableTest;

JDK 8 rules:

  • No text blocks.
  • @TableTest must use String[] annotation array syntax:
    @TableTest({
     "a | b",
     "1 | 2"
    })

Table formatting rules (mandatory):

  • Always include a header row (parameter names).
  • Always add a "scenario" column; using common sense for naming; scenario is NOT a method parameter.
  • Use '|' as delimiter.
  • Align columns with spaces so pipes line up vertically.
  • Prefer single quotes for strings requiring quotes (e.g., 'a|b', '[]', '{}', ' ').
  • Use value sets ({a, b, c}) instead of matrix-style repetition when only one dimension varies across otherwise-identical rows.

Conversions: A) @CsvSource

  • Remove @ParameterizedTest and @CsvSource.
  • If delimiter is '|': rows map directly to @TableTest.
  • If delimiter is ',' (default): replace ',' with '|' in rows.

B) @ValueSource

  • Keep single-parameter tests on @ValueSource (and @NullSource when null cases are needed).
  • Otherwise convert to @TableTest with header from parameter name.
  • Each value becomes one row.
  • Add "scenario" column using common sense for name.

C) @MethodSource (convert only if values are representable as strings)

  • Convert when argument values are primitives, strings, enums, booleans, nulls, and simple collection literals supported by TableTest:
    • Array: [a, b, ...]
    • List: [a, b, ...]
    • Set: {a, b, ...}
    • Map: [k: v, ...]
  • @TableTest and @MethodSource may be combined on the same @ParameterizedTest when most cases are tabular but a few cases require programmatic setup.
  • In combined mode, keep table-friendly cases in @TableTest, and put only non-tabular/complex cases in @MethodSource.
  • If @TableTest is not viable for the test at all, use @MethodSource only.
  • For @MethodSource, name the arguments method <testMethodName>Arguments (camelCase, e.g. testMethodArguments) and return Stream<Arguments> using Stream.of(...) and arguments(...) with static import.
  • Blank cell = null (non-primitive).
  • '' = empty string.
  • For String params that start with '[' or '{', quote to avoid collection parsing (prefer '[]'/'{}').
Show full SKILL.md (105 more words)Show less

D) @TypeConverter

  • Use @TypeConverter for symbolic constants used by migrated table rows (e.g. Long.MAX_VALUE, DDSpanId.MAX).
  • Prefer explicit one-case-one-return mappings.
  • Prefer shared converter utilities (e.g. in utils/test-utils) when reuse across modules is likely.

Scenario handling:

  • If MethodSource includes a leading description string OR @ParameterizedTest(name=...) uses {0}, convert that to a scenario column and remove that parameter from method signature.

Cleanup:

  • Delete now-unused @MethodSource provider methods and unused imports.

Mixed eligibility:

  • Prefer combining @TableTest + @MethodSource on one @ParameterizedTest when only some cases are complex.

Do NOT convert when:

  • Most rows require complex builders/mocks.

Test command (exact): ./gradlew :path:to:module:test --rerun-tasks 2>&1 | tail -20

  • If BUILD FAILED: cat path/to/module/build/test-results/test/TEST-*.xml

© 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

Files

Just SKILL.md in .agents/skills/migrate-junit-source-to-tabletest of DataDog/dd-trace-java.

Open the folder on GitHubat commit 3eed707

Compare with similar skills

Migrate Junit Source To Tabletest 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.

Migrate Junit Source To Tabletest compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Migrate Junit Source To Tabletest this skillDataDog/dd-trace-java736—~950Automated safety check: PassApache-2.0
Debug Surefireeclipse-rdf4j/rdf4j420—~2.4kAutomated safety check: PassBSD-3-Clause
Minecraft TestingJahrome907/minecraft-agent-skills166—~3.8kAutomated safety check: PassMIT
Eclipse Testgradusnikov/eclipse-chatgpt-plugin171—~1kAutomated safety check: PassMIT
Unit TestingLeavesfly/Jimi237—~667Automated safety check: PassNone
Test Analysis Extensionsmicrosoft/testfx1k2 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Debug Surefire

    eclipse-rdf4j/rdf4j

    Debug Maven Surefire unit tests by running them in JDWP "wait for debugger" mode (-Dmaven.surefire.debug) and attaching to the forked test JVM using jdb (preferred for CLI/agent debugging)…

    420 GitHub stars~2.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Minecraft Testing

    Jahrome907/minecraft-agent-skills

    Design and implement automated tests for current Minecraft 26.x or legacy 1.21.x mods and plugins using JUnit, MockBukkit, NeoForge Game Tests, or Fabric Game Tests.

    166 GitHub stars~3.8k tokensUpdated 25 days ago
    Testing & QAAuto-check passed
  • Eclipse Test

    gradusnikov/eclipse-chatgpt-plugin

    Run JUnit tests in Eclipse projects — all tests, by package, by class, or individual test methods.

    171 GitHub stars~1k tokensUpdated 10 days ago
    Testing & QAAuto-check passed
  • Unit Testing

    Leavesfly/Jimi

    Java单元测试编写指南(基于JUnit和Mockito)

    237 GitHub stars~667 tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Test Analysis Extensions

    microsoft/testfx

    Official

    Provides file paths to language-specific reference files for the test ANALYSIS skills (assertion-quality, test-anti-patterns, test-gap-analysis, test-smell-detection, test-tagging).

    1k GitHub starsUsed in 2 repos~1.1k tokens
    Testing & QAAuto-check passed
  • Junit 5 Skill

    sickn33/agentic-awesome-skills

    Generates production-grade JUnit 5 unit and integration tests in Java.

    47k GitHub starsUsed in 1 repo~1.8k tokens
    Testing & QAAuto-check passed

More from DataDog/dd-trace-java

All 9 skills in this repo
  • Apm Integrations

    DataDog/dd-trace-java

    Official

    Write a new library instrumentation end-to-end. An agent skill from DataDog/dd-trace-java.

    736 GitHub stars~3.7k tokensUpdated today
    Auto-check: notes
  • Perf Review

    DataDog/dd-trace-java

    Official

    Performance-overhead review of a code diff / branch / PR for the dd-trace-java tracer.

    736 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Resolve Muzzle CI

    DataDog/dd-trace-java

    Official

    Diagnose and resolve dd-trace-java CI failures from a module's muzzle task or the runMuzzle aggregate.

    736 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Fix Continuation Leakage

    DataDog/dd-trace-java

    Official

    Diagnose and fix scope or continuation lifecycle failures in dd-trace-java instrumentation tests.

    736 GitHub stars~1.6k tokensUpdated today
    Auto-check: notes
  • Techdebt

    DataDog/dd-trace-java

    Official

    Review a code diff / branch / PR for technical debt — code duplication, unnecessary complexity / over-engineering, and redundant or dead code.

    736 GitHub stars~565 tokensUpdated today
    Auto-check: notes
  • Clarify Java Comments

    DataDog/dd-trace-java

    Official

    Clarify or review Java Javadocs, Javadoc tags, and explanatory code comments for legibility, accuracy, and source alignment.

    736 GitHub stars~2.3k tokensUpdated today
    Auto-check: notes

Categories

Questions about Migrate Junit Source To Tabletest

What does Migrate Junit Source To Tabletest do?

Convert JUnit 5 @MethodSource/@CsvSource/@ValueSource parameterized tests to @TableTest (JDK8). Migrate Junit Source To Tabletest is an agent skill from DataDog/dd-trace-java, published by the product's own GitHub organization.

When should I use Migrate Junit Source To Tabletest?

Migrate Junit Source To Tabletest fits situations like: tasks that involve Unit testing.

How do I install Migrate Junit Source To Tabletest in Claude Code?

Run `npx skills add DataDog/dd-trace-java --skill migrate-junit-source-to-tabletest -a claude-code`. Or copy the skill folder (.agents/skills/migrate-junit-source-to-tabletest in DataDog/dd-trace-java) into .claude/skills/migrate-junit-source-to-tabletest in your project. Claude Code loads it when a task matches its description.

How do I install Migrate Junit Source To Tabletest in Codex?

Run `npx skills add DataDog/dd-trace-java --skill migrate-junit-source-to-tabletest -a codex`. Or copy the skill folder (.agents/skills/migrate-junit-source-to-tabletest in DataDog/dd-trace-java) into .agents/skills/migrate-junit-source-to-tabletest in your project. Codex loads it when a task matches its description.

Can I use Migrate Junit Source To Tabletest 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 DataDog/dd-trace-java --skill migrate-junit-source-to-tabletest -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-junit-source-to-tabletest, .gemini/skills/migrate-junit-source-to-tabletest, .github/skills/migrate-junit-source-to-tabletest and .opencode/skills/migrate-junit-source-to-tabletest in your project.

What does Migrate Junit Source To Tabletest need to run?

SKILL.md names no scripts, command-line tools or credentials: Migrate Junit Source To Tabletest is instructions for the agent only.

Does Migrate Junit Source To Tabletest 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 Migrate Junit Source To Tabletest 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 Migrate Junit Source To Tabletest use?

Migrate Junit Source To Tabletest 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.

How many tokens does Migrate Junit Source To Tabletest use?

About 950 tokens (SKILL.md is roughly 3.8k 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 Migrate Junit Source To Tabletest?

Skills that share tags, products or a category with Migrate Junit Source To Tabletest: Debug Surefire (eclipse-rdf4j/rdf4j, 420 stars), Minecraft Testing (Jahrome907/minecraft-agent-skills, 166 stars), Eclipse Test (gradusnikov/eclipse-chatgpt-plugin, 171 stars) and Unit Testing (Leavesfly/Jimi, 237 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Migrate Junit Source To Tabletest?

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.