From java
Dry-run configured OpenRewrite recipes, count and rank violations, and optionally run one selected recipe without committing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/java:openrewrite-analyze-recipesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Inspect the repository before choosing commands. Follow the Maven CLI skill whenever invoking Maven.
Inspect the repository before choosing commands. Follow the Maven CLI skill whenever invoking Maven.
rewrite-maven-plugin configuration and record <activeRecipes> and <activeStyles>.just recipes when they configure profiles, dependencies, or toolchains.mise exec -- when the repository uses mise, and trust the checked-in config first when required.Create .llm/ when needed and capture the complete output rather than only the terminal tail. Use the repository command or the equivalent Maven goal:
mvn rewrite:dryRun 2>&1 | tee .llm/rewrite-dryrun.log
Treat OpenRewrite's "Applying recipes would make changes" result as a successful violation report. If the run fails with a RocksdbMavenPomCache serialization error, rerun with -Drewrite.pomCacheEnabled=false; clearing the cache alone does not prevent recurrence.
Copy target/rewrite/rewrite.patch to .llm/rewrite-dryrun.patch when the patch exists.
Parse the recipe tree associated with every changed file. Count the most specific named leaf recipe in each branch. Prefer a named wrapper over a raw parameterized child recipe because a child displayed with inline options cannot be activated by name alone.
Save a two-column count and fully qualified recipe report in .llm/rewrite-violations-per-rule.txt. Report:
Mark composite recipes only when the log provides enough tree context to distinguish them reliably.
Present the highest-ranked leaf recipes and ask the user which recipe, if any, to apply. Before applying it, require a clean working tree; do not stash or discard changes.
Run only the selected recipe. The active-recipes property overrides the POM configuration:
mvn rewrite:run -Drewrite.activeRecipes=<fully-qualified-recipe>
Preserve any repository-specific mise, just, profile, and pom-cache flags discovered earlier. Show git diff --stat and representative diffs afterward. Do not commit the changes.
npx claudepluginhub motlin/claude-code-plugins --plugin javaApplies each configured OpenRewrite recipe with violations as a separate commit on a dedicated branch, then verifies the cumulative result.
Applies small, well-specified changes (audit-finding fixes, codemods, convention enforcement, mechanical migrations) using reusable fix recipes. Use when the WHAT is already known and the blast radius is small.
Scans source code for bad smells (code smells) and generates a badsmells.md report. Supports Python, Java, and TypeScript. Part of the OpenMole workflow for change management and refactoring.