Runs Maven clean, install, and verify commands with consistent flags for unit and integration testing.

Install

mkdir -p .claude/skills/mvnf && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9019" && unzip -o skill.zip -d .claude/skills/mvnf && rm skill.zip

Installs to .claude/skills/mvnf

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Run Maven tests in this repo with a consistent workflow (module clean, root -Pquick clean install to refresh .m2_repo, then module verify or a single test class/method). Use when asked to run tests/verify in the rdf4j multi-module build or when the user says mvnf.
264 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Cleans stale test artifacts for specific modules
  • Refreshes local maven repositories using quick install
  • Executes unit and integration tests with consistent flags
  • Provides failure pointers and log management

How it works

The skill automates the Maven lifecycle by cleaning target directories, running a root install to refresh the local repository, and executing specific test phases.

Inputs & outputs

You give it
Maven test command or module path
You get back
Test execution results and build logs

When to use mvnf

  • Run a specific Maven test class
  • Execute integration tests in RDF4J
  • Refresh local maven repositories for a module

About this skill

mvnf

Run Maven tests with repeatable commands and useful failure pointers.

Quick start

  • Run a module's full test suite:
    • python3 .codex/skills/mvnf/scripts/mvnf.py core/sail/shacl
  • Run a unit test class or method (module auto-detected):
    • python3 .codex/skills/mvnf/scripts/mvnf.py ShaclSailTest
    • python3 .codex/skills/mvnf/scripts/mvnf.py ShaclSailTest#testSomething
  • Run an integration test (Failsafe):
    • python3 .codex/skills/mvnf/scripts/mvnf.py --it ShaclSailIT#testSomething

What it does

  1. Deletes stale target/surefire* and target/failsafe* artifacts for the selected module.
  2. mvn -B -ntp -Dmaven.compiler.showWarnings=false -T 1C -o -Dmaven.repo.local=.m2_repo -Pquick install
  3. mvn -o -Dmaven.repo.local=.m2_repo -pl <module> verify (optionally with -DskipITs -Dtest=... for unit tests or -PskipUnitTests -Dit.test=... for Failsafe ITs)

Root install output is stored in maven-build.log. On success, mvnf prints one root-install summary line with BUILD SUCCESS and the log path. Verify logs use logs/mvnf/*-verify.log when retained or when tests fail. By default, successful Maven phases do not print their output tail; mvnf prints compact Surefire/Failsafe report totals and report paths instead. Failed phases still print the retained Maven tail plus compact report failure details.

For manual root clean installs, keep full output in maven-build.log and print only errors plus the reactor summary:

mvn -B -ntp \
  -Dmaven.compiler.showWarnings=false \
  -T 1C -o -Dmaven.repo.local=.m2_repo -Pquick clean install 2>&1 \
  | tee maven-build.log \
  | awk '
     /\[WARNING\]/ { next }
      /\[ERROR\]/ { print; next }

      /Reactor Summary/ { summary=1 }
      summary { print }
    '

For install without clean, replace clean install with install. For a module install, add -pl <module> -am before -Pquick. Keep the 2>&1 | tee maven-build.log | awk ... tail on every install variant.

If the test run fails, it prints the list of Surefire/Failsafe report files under the module's target/*-reports/ directories. For a handoff-ready block from retained reports, run python3 scripts/agent-evidence.py <module>/target/surefire-reports <module>/target/failsafe-reports.

Options

  • --module <path>: Force the module when the test class name exists in multiple modules.
  • --it: Treat the selector as an integration test and pass it via -Dit.test=....
  • --no-offline: Run Maven commands without -o (useful if offline resolution fails).
  • --stream: Stream verify output live for hang/no-progress debugging; install output is filtered to errors plus the reactor summary while the full install log is kept in maven-build.log.
  • --tail-on-success: Print Maven output tails on successful phases too (old verbose behavior).
  • --retain-logs: Keep verify logs on success.
  • --allow-concurrent: Override the same-repo mvnf concurrency guard after verifying the active-run warning is a false positive or safe to ignore.
  • -- <maven args>: Append extra Maven flags/profiles to the verify command while preserving selector behavior.

LMDB regression speedup note

For LMDB theme regression/snapshot tests, enable persistent prepared stores to skip repeated dataset rebuilds:

  • -Drdf4j.lmdb.themeRegression.persistentStore.enabled=true
  • Optional root override: -Drdf4j.lmdb.themeRegression.persistentStore.root=persistent-lmdb-theme-store

Pass extra Maven flags after --, for example:

  • python3 .codex/skills/mvnf/scripts/mvnf.py LmdbThemeQueryRegressionTest#socialMediaFiveCycleInterleavesValuesWithFollowsEdges --module core/sail/lmdb -- -Drdf4j.lmdb.themeRegression.persistentStore.enabled=true

When not to use it

  • When working outside of the RDF4J multi-module build
  • When a full clean install is not required

Limitations

  • Requires RDF4J repository structure
  • Depends on Python 3 for script execution

How it compares

It standardizes the test execution workflow with consistent flags and automated cleanup, reducing manual configuration errors.

Compared to similar skills

mvnf side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
mvnf (this skill)06moReviewIntermediate
e2e-testing-patterns82moNo flagsIntermediate
testing-workflow169moReviewIntermediate
perf-lighthouse135moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

Search skills

Search the agent skills registry