Best for
- Add Maven plugins in pom.xml
- Improve Maven plugins in pom.xml
- Configure Maven quality plugins in pom.xml
jabrena/plinth/skills/112-java-maven-plugins/SKILL.md
Use when you need to add or configure Maven plugins in your pom.xml — including quality tools (enforcer, surefire, failsafe, jacoco, pitest, spotbugs, pmd), security scanning (OWASP), code formatting (Spotless), version management, container image build (Jib), build information tracking, and benchmarking (JMH) — through a consultative, modular step-by-step approach that only adds what you actually need. This should trigger for requests such as Add Maven plugins in pom.xml; Improve Maven plugins
Decision brief
Configure Maven plugins and profiles in pom.xml using a structured, question-driven process that preserves existing configuration. This is an interactive SKILL.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/jabrena/plinth --skill "skills/112-java-maven-plugins"Inspect the Agent Skill "112-java-maven-plugins" from https://github.com/jabrena/plinth/blob/fdaf68ccf0ffc4fb6147dc4ab805c34841ffaf33/skills/112-java-maven-plugins/SKILL.md at commit fdaf68ccf0ffc4fb6147dc4ab805c34841ffaf33. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Validate project before plugin changes
Before applying plugin recommendations, ensure the project is in a valid state. Use a structured, question-driven process that preserves existing configuration and adds only what the user selects.
Add Maven plugins in pom.xml
Permission review
The documentation asks the agent to create, modify, or delete local files.
*Note**: When "Cyclomatic Complexity" is selected, Step 20 will create a PMD ruleset file and profile. The ruleset location depends on project structure: `src/main/pmd/pmd-cyclomatic-complexity.xml` (mono-module) or `pmd/pmd-cyclomatic-compEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 83/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 423 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Configure Maven plugins and profiles in pom.xml using a structured, question-driven process that preserves existing configuration. This is an interactive SKILL.
What is covered in this Skill?
Maven plugins:
Maven profiles:
Before applying plugin recommendations, ensure the project is in a valid state. Use a structured, question-driven process that preserves existing configuration and adds only what the user selects.
./mvnw validate or mvn validate before applying any plugin recommendationsRun ./mvnw validate or mvn validate and stop if validation fails.
Before making any changes to pom.xml:
Scan existing plugins in <build><plugins>, <build><pluginManagement>, and <reporting><plugins>.
Scan existing properties in <properties>.
Scan existing profiles in <profiles>.
Identify conflicts between existing configuration and possible additions.
Preserve all existing plugins, properties, and profiles.
Ask the user before enhancing any existing plugin, property, reporting entry, support file, or profile.
Skip duplicate additions unless the user explicitly requests an enhancement.
Check Maven Wrapper before plugin changes
Check for Maven Wrapper files in the project root:
mvnw and mvnw.cmd.mvn/wrapper/maven-wrapper.propertiesIf Maven Wrapper is not present, stop and ask:
"I notice this project doesn't have Maven Wrapper configured. The Maven Wrapper ensures everyone uses the same Maven version, improving build consistency across different environments. Would you like me to install it? (y/n)"
Wait for the user's response before asking any other question. If the user says "y", install it:
mvn wrapper:wrapper
Run this XML-included question flow before reading any plugin/profile implementation reference. Ask one question at a time, wait for the user's answer, and record selected plugins, profiles, and conditional values before continuing.
Question 1: What type of Java project is this?
Options:
Question 2: Which Java version does your project target?
Options:
Question 3: What build and quality aspects are important for your project?
Options:
Note: When "Cyclomatic Complexity" is selected, Step 20 will create a PMD ruleset file and profile. The ruleset location depends on project structure: src/main/pmd/pmd-cyclomatic-complexity.xml (mono-module) or pmd/pmd-cyclomatic-complexity.xml (multi-module).
Question 3.1 (conditional): What is your target container image for Jib?
Note: This question is only asked if "Container image build (Jib)" was selected in question 3.
gcr.io/my-project/my-app, docker.io/username/myimage, or myimage for local Docker<to><image> configurationQuestion 4: What is your target coverage threshold?
Options:
Note: This question is only asked if "Code coverage reporting (JaCoCo)" was selected in question 3.
Question 5: Do you want to configure Sonar/SonarCloud integration?** (y/n)
Note: This question is only asked if "Static code analysis (SpotBugs, Sonar)" was selected in question 3.
If yes, please provide the following information:
Question 5.1: What is your Sonar organization identifier?
my-github-user or my-company-orgQuestion 5.2: What is your Sonar project key?
GITHUB_USER_REPOSITORY_NAME (e.g., john-doe_my-java-project)john-doe_awesome-java-libQuestion 5.3: What is your Sonar project display name?
Awesome Java Library or My Microservice APIQuestion 5.4: Which Sonar service are you using? (conditional)
Note: This question is only asked if Sonar configuration was enabled in question 5.
Options:
If SonarQube Server: Please provide your SonarQube server URL (e.g., https://sonar.mycompany.com)
After all applicable questions are answered, confirm the selections and map them to references:
references/112-java-maven-plugins-maven-compiler-plugin.md.references/112-java-maven-plugins-maven-enforcer-plugin.md.references/112-java-maven-plugins-maven-surefire-plugin.md.references/112-java-maven-plugins-maven-failsafe-plugin.md.references/112-java-maven-plugins-maven-surefire-report-plugin.md and references/112-java-maven-plugins-maven-jxr-plugin.md.references/112-java-maven-plugins-spotless-maven-plugin.md.references/112-java-maven-plugins-versions-maven-plugin.md.references/112-java-maven-plugins-git-commit-id-maven-plugin.md.references/112-java-maven-plugins-flatten-maven-plugin.md.references/112-java-maven-plugins-jib-maven-plugin.md.references/112-java-maven-plugins-maven-dependency-plugin.md.references/112-java-maven-plugins-profile-jacoco.md.references/112-java-maven-plugins-profile-pitest.md.references/112-java-maven-plugins-profile-security.md.references/112-java-maven-plugins-profile-static-analysis.md.references/112-java-maven-plugins-profile-sonar.md.references/112-java-maven-plugins-profile-jmh.md.references/112-java-maven-plugins-profile-cyclomatic-complexity.md.Add selected plugins and profiles without removing existing ones, preserving project structure and compatibility. Add only the Maven properties, plugin configuration, profile configuration, reporting plugins, and support files required by the selected references.
Report added plugins/profiles, rationale, and recommended follow-up commands or checks.
For detailed guidance, examples, and constraints, see:
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
HKUDS/Vibe-Trading
Create, modify, and optimize quantitative trading strategies, then backtest and evaluate them.
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.