Agent skill

Grails Violation Fixer

by apache in apache/grails-core

Guide to running, reading and fixing code style and analysis violations in grails-core with CodeNarc, Checkstyle, PMD, SpotBugs, Spotless and JaCoCo through Gradle.

Apache-2.0Auto-check passedDevelopment

Install Grails Violation Fixer

skills CLI
$ npx skills add apache/grails-core --skill violation-fixer -a claude-code

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

GitHub CLI
$ gh skill install apache/grails-core violation-fixer --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/apache/grails-core.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/violation-fixer .claude/skills/violation-fixer && 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
violation-fixer
GitHub stars
2.9k
Token cost
~3.9k tokens
SKILL.md length
1,397 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guide to running, reading and fixing code style and analysis violations in grails-core with CodeNarc, Checkstyle, PMD, SpotBugs, Spotless and JaCoCo through Gradle.

  • Works in 6 steps: Run ./gradlew aggregateViolations… → Open… → For CodeNarc, run ./gradlew codenarcFix… → …
  • Running aggregateViolations and working through the generated violation reports
  • SKILL.md covers What I Do, When to Use Me, Plugin Overview and Key Tasks, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

The skill explains how three Gradle plugins enforce code quality across the 60+ modules of grails-core. The code style plugin applies Checkstyle and CodeNarc to every subproject, the code analysis plugin applies PMD and SpotBugs, which are opt-in, and a JaCoCo plugin runs a coverage report after each test task. A root-only violation aggregation plugin adds tasks that collect results and write Markdown summaries under build/reports/violations.

Key tasks are listed with their scope. `./gradlew codeStyle` and `./gradlew codeAnalysis` run per project, `./gradlew aggregateViolations` runs every check across all modules and writes the *_VIOLATIONS.md files, and `./gradlew validateRepositoryConventions` checks skill metadata, AGENTS paths, GitHub Action pins and message keys, with RAT provenance handled by a separate rat task. It also covers which tools are always on or opt-in, how to configure them with Gradle properties and which violations can be fixed automatically. Plugin output must be clean before a commit is merged.

When your agent uses it

  • Running aggregateViolations and working through the generated violation reports
  • Fixing CodeNarc, Checkstyle, PMD, SpotBugs or Spotless findings in grails-core
  • Enabling, disabling or tuning style and analysis tools across the repository

Example prompts

  • “Run aggregateViolations and fix the Checkstyle problems in the grails-web module.”
  • “Explain which of the style and analysis tools are on by default and how to turn on PMD.”
  • “Clean up the Spotless and CodeNarc violations before I commit.”

Requirements

  • A checkout of grails-core
  • The Gradle wrapper that ships with the repository

Workflow steps

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

  1. Run ./gradlew aggregateViolations -Pgrails.code-style.ignoreFailures=true -Pgrails.code-analysis.ignoreFailures=true
  2. Open build/reports/violations/CODENARC_VIOLATIONS.md and build/reports/violations/CHECKSTYLE_VIOLATIONS.md to see all issues by module
  3. For CodeNarc, run ./gradlew codenarcFix to auto-fix what it can
  4. Fix remaining violations manually using the table above
  5. Re-run ./gradlew aggregateViolations and confirm files contain No violations found! 🎉
  6. The reports are inside build/ and do not need to be deleted before committing

What it can do on your machine

Read from SKILL.md and the folder at commit 3d6db18. 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 (its code samples are bash and groovy).

    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

Grails Violation Fixer loads about 3.9k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 1,397 words of instructions outside code blocks.

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

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 apache/grails-core at commit 3d6db18, republished under its Apache-2.0 licence (© apache). 1,397 words, ~3,886 tokens.

Download SKILL.mdSave it as .claude/skills/violation-fixer/SKILL.md (or your agent's skills folder).
name
violation-fixer
description
Guide for running, interpreting, and fixing code style and analysis violations in grails-core using GrailsCodeStylePlugin, GrailsCodeAnalysisPlugin, and GrailsViolationAggregationPlugin - covering CodeNarc, Checkstyle, PMD, SpotBugs, and JaCoCo
license
Apache-2.0
<!--
SPDX-License-Identifier: Apache-2.0

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0. 
-->

What I Do

  • Explain how GrailsCodeStylePlugin, GrailsCodeAnalysisPlugin, and GrailsViolationAggregationPlugin enforce code quality across all 60+ modules.
  • Guide you through running style and analysis checks, interpreting the per-tool Markdown violation reports, and fixing each class of violation.
  • Describe which tools are always-on vs. opt-in, how to configure them via Gradle properties, and which violations can be auto-fixed.

When to Use Me

Activate this skill when:

  • Running ./gradlew aggregateViolations and interpreting the resulting *_VIOLATIONS.md files.
  • Fixing CodeNarc, Checkstyle, PMD, SpotBugs, or Spotless violations reported in those files.
  • Configuring code style or analysis tools across the repo (enabling/disabling tools or adjusting rule files).
  • Preparing a commit - the plugin output must be clean before merging.

Plugin Overview

PluginApplied toResponsibility
org.apache.grails.gradle.grails-code-styleEvery subprojectApplies Checkstyle, CodeNarc, and code analysis; registers per-project codeStyle task; redirects XML reports to root build/reports/code-style/
org.apache.grails.gradle.grails-code-analysisEvery subprojectApplies PMD and SpotBugs (both opt-in); registers per-project codeAnalysis task; redirects XML reports to root build/reports/code-analysis/
org.apache.grails.gradle.grails-jacocoEvery subprojectApplies JaCoCo; wires jacocoTestReport to run after each test task
org.apache.grails.gradle.grails-violation-aggregationRoot project onlyRegisters aggregateViolations and aggregateJacocoCoverage tasks; writes Markdown summaries to build/reports/violations/

Key Tasks

TaskScopeDescription
./gradlew codeStyleper-projectRuns Checkstyle and CodeNarc for that project
./gradlew codeAnalysisper-projectRuns PMD and/or SpotBugs for that project (when enabled)
./gradlew aggregateViolationsrootRuns all checks across every module, then writes *_VIOLATIONS.md to build/reports/violations/
./gradlew validateRepositoryConventionsrootValidates canonical skill metadata, AGENTS paths, GitHub Action pins, and message keys. RAT provenance is the separate rat task, which aggregateViolations runs
./gradlew cleanViolationReportsrootDeletes analyzer XML reports, their markers, and the aggregate Markdown so the next aggregate run re-analyzes every module. The root clean runs it
./gradlew aggregateJacocoCoveragerootRuns JaCoCo reports across every module, then writes JACOCO_COVERAGE.md to build/reports/violations/
./gradlew codenarcFixper-projectAuto-fixes a subset of CodeNarc violations
Quick commands
bash
# Check a single module (style only)
./gradlew :grails-core:codeStyle

# Check a single module (analysis - enable through the module extension or an override)
./gradlew :grails-core:codeAnalysis -Pgrails.code-analysis.enabled.pmd=true

# Full multi-module check + report (use --continue so the reports are written even when an analyzer fails)
./gradlew aggregateViolations --continue

# Force every module to be re-analyzed instead of reusing UP-TO-DATE analyzer results
./gradlew cleanViolationReports aggregateViolations --continue

# Repository conventions only
./gradlew validateRepositoryConventions

# Include test sources in style checks
./gradlew aggregateViolations -Pgrails.code-style.enabled.tests=true

# Include test sources in analysis
./gradlew aggregateViolations -Pgrails.code-analysis.enabled.tests=true

# Ignore failures (collect reports without failing the build)
./gradlew aggregateViolations -Pgrails.code-style.ignoreFailures=true -Pgrails.code-analysis.ignoreFailures=true

# Auto-fix some CodeNarc violations before running checks
./gradlew codenarcFix codeStyle

# JaCoCo coverage report
./gradlew aggregateJacocoCoverage

Output Files

After running aggregateViolations, these files appear under build/reports/violations/ in the root project build directory:

FileToolAlways generated
build/reports/violations/CODENARC_VIOLATIONS.mdCodeNarcYes
build/reports/violations/CHECKSTYLE_VIOLATIONS.mdCheckstyleYes
build/reports/violations/PMD_VIOLATIONS.mdPMDYes - reports PMD is disabled. when PMD is disabled
build/reports/violations/SPOTBUGS_VIOLATIONS.mdSpotBugsYes - reports SpotBugs is disabled. when SpotBugs is disabled
build/reports/violations/REPOSITORY_CONVENTIONS.mdRepository conventionsYes - lists skill, Action, or message-key failures. Ordered after rat in the aggregateViolations lane

After running aggregateJacocoCoverage:

FileToolGenerated
build/reports/violations/JACOCO_COVERAGE.mdJaCoCoOnly when at least one subproject has a JaCoCo CSV report

All reports are inside build/ and are excluded from version control via .gitignore. A clean run produces No violations found! 🎉 in each style file. The build must be clean before committing.

Each aggregated style or analysis report begins with Modules analyzed:, which names only modules that contributed data. Each file is a Markdown table grouped by module, with columns: Class, Tool, Violation, Line, Message.

Only the aggregate lane (aggregateViolations, aggregateStyleViolations, aggregateAnalysisViolations) writes these Markdown files. Running an analyzer task directly, such as ./gradlew :grails-core:checkstyleMain, produces only that task's own XML report and deliberately leaves the aggregate Markdown untouched, so a partial run can never overwrite an authoritative full-repository report. Because the writer is part of that lane rather than a per-task finalizer, pass --continue when you expect violations, otherwise the failing analyzer stops the build before the report explaining the failure is written. Analyzers for unchanged modules stay UP-TO-DATE between aggregate runs and their previous results are aggregated; run cleanViolationReports (or the root clean) first to force a full re-analysis.

Repository Conventions

Run ./gradlew validateRepositoryConventions to write build/reports/violations/REPOSITORY_CONVENTIONS.md. Fix the reported source rather than suppressing the validation.

FindingFix
SkillStart SKILL.md with YAML front matter, supply string name, description, and license values, use a valid directory name that matches name, and keep names unique. Every skill path that AGENTS.md references must exist, but AGENTS.md is not required to index every skill.
GitHub ActionPin third-party references to one lowercase 40-hex immutable reference for that action across workflows and repository-local action.yml or action.yaml manifests. A 40-hex value may be a commit or annotated-tag object SHA. actions/* must use the full tag of a release (vX.Y.Z) and apache/* a version or branch reference, never a 40-hex SHA, and local ./... uses are permitted. Pin Docker uses, Docker action runs.image, and workflow job/service container images to literal immutable name@sha256:<digest> values.
Message keyRemove or rename the duplicate logical key in the reported grails-app/i18n/**/*.properties file, preserving escaped separators and continuation semantics.

Tool Details

CodeNarc (Groovy - always enabled)

Rule file: build/code-style/codenarc/codenarc.groovy (generated by the plugin during setup; not intended to be edited directly).

Most common violations and how to fix them:

RuleFix
UnnecessaryGStringReplace "plain string" with 'plain string'
UnnecessarySemicolonRemove trailing ;
SpaceBeforeOpeningBraceAdd space before { → method() {
SpaceAroundMapEntryColon[key: value] not [key:value]
ConsecutiveBlankLinesCollapse 3+ blank lines to 2
ClassStartsWithBlankLineRemove blank line right after class Foo {
NoWildcardImportsExpand import org.foo.* to explicit imports
UnusedImportRemove imports not referenced in the file
MethodNameMethod names must be camelCase (not snake_case)
VariableNameVariable names must be camelCase
LineLengthKeep lines ≤ 200 chars (default)

Auto-fixable via codenarcFix: ClassStartsWithBlankLine, SpaceAroundMapEntryColon, UnnecessaryGString, UnnecessarySemicolon, SpaceBeforeOpeningBrace, ConsecutiveBlankLines.

Show full SKILL.md (577 more words)Show less
Checkstyle (Java - always enabled)

Rule file: build/code-style/checkstyle/checkstyle.xml.

Common violations:

RuleFix
ImportOrderRe-order imports: `java
AvoidStarImportUse explicit class imports
UnusedImportsRemove unused imports
WhitespaceAroundAdd spaces around operators and keywords
NeedBracesAdd {} to single-statement if/for/while
FileTabCharacterReplace tabs with 4 spaces
NewlineAtEndOfFileEnsure file ends with \n
PMD (Java/Groovy - opt-in)

Enable PMD in each clean module's build.gradle with grailsCodeAnalysis { enablePmd() }. Use -Pgrails.code-analysis.enabled.pmd.projects=:project-a,:project-b to also enable selected project paths for a baseline run. Use -Pgrails.code-analysis.enabled.pmd=true or =false to switch PMD on or off for every project; when set, it wins over both the module opt-ins and the .projects list. PMD excludes sources under each project's configured build directory.

enablePmd() configures PMD immediately, so customize the pmd* tasks directly after it, for example tasks.named('pmdMain') { ... }.

Rule file: build/code-analysis/pmd/pmd.xml.

SpotBugs (Java bytecode - opt-in)

Enable SpotBugs in each clean module's build.gradle with grailsCodeAnalysis { enableSpotbugs() }. Use -Pgrails.code-analysis.enabled.spotbugs.projects=:project-a,:project-b to also enable selected project paths for a baseline run. Use -Pgrails.code-analysis.enabled.spotbugs=true or =false to switch SpotBugs on or off for every project; when set, it wins over both the module opt-ins and the .projects list.

enableSpotbugs() configures SpotBugs immediately, so customize the spotbugs* tasks directly after it, for example tasks.named('spotbugsMain') { ... }.

Runs at Effort.MAX / Confidence.HIGH. Only high-confidence bugs are reported.

Spotless (Java auto-formatting - opt-in)

Enable: -Pgrails.code-style.enabled.spotless=true

Uses Palantir Java Format. Can auto-fix by running:

bash
./gradlew spotlessApply

Configuration Properties

All properties can be set in gradle.properties or passed as -P flags:

grails-code-style plugin (Checkstyle + CodeNarc)
PropertyDefaultDescription
grails.code-style.enabled.checkstyletrueEnable Checkstyle
grails.code-style.enabled.codenarctrueEnable CodeNarc
grails.code-style.enabled.spotlessfalseEnable Spotless
grails.code-style.enabled.testsfalseAlso check test source sets
grails.code-style.ignoreFailuresfalseCollect reports without failing build
grails.code-style.codenarc.fixfalseRun codenarcFix before CodeNarc tasks
grails.codestyle.dir.checkstyle(auto)Custom path to Checkstyle config dir
grails.codestyle.dir.codenarc(auto)Custom path to CodeNarc config dir
skipCodeStyleunsetIf present, every static check is skipped: CodeNarc and Checkstyle, and PMD and SpotBugs as well. The aggregate reports say the tools were skipped
grails-code-analysis plugin (PMD + SpotBugs)

Enable PMD and SpotBugs primarily in each module's build.gradle:

groovy
grailsCodeAnalysis {
    enablePmd()
    enableSpotbugs()
}

The Gradle properties below are all-project or selected-project overrides for baseline runs.

PropertyDefaultDescription
grails.code-analysis.enabled.pmdunsetWhen set, true or false overrides PMD for every project, including enablePmd() opt-ins and the .projects list
grails.code-analysis.enabled.pmd.projectsunsetAlso enable PMD for comma-separated project paths, unless the all-project property is set
grails.code-analysis.enabled.spotbugsunsetWhen set, true or false overrides SpotBugs for every project, including enableSpotbugs() opt-ins and the .projects list
grails.code-analysis.enabled.spotbugs.projectsunsetAlso enable SpotBugs for comma-separated project paths, unless the all-project property is set
grails.code-analysis.enabled.testsfalseAlso analyse test source sets
grails.code-analysis.ignoreFailuresfalseCollect ordinary findings without failing the build; missing expected XML always fails
grails.code-analysis.dir.pmd(auto)Custom path to PMD config dir
skipCodeAnalysisunsetIf present, PMD and SpotBugs are skipped while CodeNarc and Checkstyle still run. skipCodeStyle also skips them

Fixing Violations Workflow

  1. Run ./gradlew aggregateViolations -Pgrails.code-style.ignoreFailures=true -Pgrails.code-analysis.ignoreFailures=true
  2. Open build/reports/violations/CODENARC_VIOLATIONS.md and build/reports/violations/CHECKSTYLE_VIOLATIONS.md to see all issues by module
  3. For CodeNarc, run ./gradlew codenarcFix to auto-fix what it can
  4. Fix remaining violations manually using the table above
  5. Re-run ./gradlew aggregateViolations and confirm files contain No violations found! 🎉
  6. The reports are inside build/ and do not need to be deleted before committing

Reports Directory Structure

All XML reports are consolidated at:

build/reports/code-style/        ← XML inputs for style aggregation
├── checkstyle/
│   ├── <hex-project-path>-checkstyleMain.xml
│   ├── <hex-project-path>-checkstyleCli.xml
│   └── ...
└── codenarc/
    ├── <hex-project-path>-codenarcMain.xml
    └── ...

build/reports/code-analysis/     ← XML inputs for analysis aggregation (if enabled)
├── pmd/
└── spotbugs/

build/reports/violations/       ← Markdown summaries written by aggregateViolations
├── CODENARC_VIOLATIONS.md
├── CHECKSTYLE_VIOLATIONS.md
├── PMD_VIOLATIONS.md
├── SPOTBUGS_VIOLATIONS.md
├── REPOSITORY_CONVENTIONS.md
└── JACOCO_COVERAGE.md          ← written by aggregateJacocoCoverage

The filename prefix is the UTF-8 hexadecimal encoding of the full Gradle project path. Aggregation decodes it back to paths such as :grails-core, preventing nested projects with the same leaf name from colliding.

© apache, 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/violation-fixer of apache/grails-core.

Open the folder on GitHubat commit 3d6db18

Compare with similar skills

Grails Violation Fixer 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.

Grails Violation Fixer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Grails Violation Fixer this skillapache/grails-core2.9k—~3.9kAutomated safety check: PassApache-2.0
Convex Doctorwaynesutton/markdown-site628—~1.9kAutomated safety check: PassMIT
Code Qualitybonny/WordPress-Simple-History317—~519Automated safety check: NotesNone
Code QualityBlackBeltTechnology/pi-agent-dashboard316—~1.3kAutomated safety check: PassMIT
Dx Code Analyzer Runforcedotcom/sf-skills1.1k—~6.3kAutomated safety check: PassApache-2.0
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.2k—~2.2kAutomated safety check: PassMIT

Similar skills

  • Convex Doctor

    waynesutton/markdown-site

    Run convex-doctor static analysis, interpret findings, and fix issues across security, performance, correctness, schema, and architecture categories.

    628 GitHub stars~1.9k tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Code Quality

    bonny/WordPress-Simple-History

    Runs linting and static analysis on PHP/CSS/JS using phpcs, phpstan, and rector.

    317 GitHub stars~519 tokensUpdated 3 days ago
    DevelopmentAuto-check: notes
  • Code Quality

    BlackBeltTechnology/pi-agent-dashboard

    Drive static-analysis code quality in pi-agent-dashboard with Biome (analyze → fix → test), in changed-files or whole-repo mode.

    316 GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dx Code Analyzer Run

    forcedotcom/sf-skills

    Run Salesforce Code Analyzer to scan code for security, performance, best practice, and code style violations.

    1.1k GitHub stars~6.3k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.2k GitHub stars~2.2k tokensUpdated 27 days ago
    DevelopmentAuto-check passed
  • Checklist for wiring a new linter into Opik's Code Quality pipeline: the four files to edit, the silent-failure gotchas and the pass/fail verification loop.

    22k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed

More from apache/grails-core

All 9 skills in this repo
  • Grails Developer Guide

    apache/grails-core

    Guides building Grails web applications and REST APIs with GORM, controllers, services, views, plugins and Spock and Geb testing.

    2.9k GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Groovy 5 Developer Guide

    apache/grails-core

    Guidance for Groovy 5 work in Grails projects: syntax, closures, traits, DSLs, metaprogramming, Spock tests, static compilation and Java 21 integration.

    2.9k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Guides changes to the grails-data-hibernate7 module, covering domain binding, Hibernate 5 to 7 migration work, generators and integration specs.

    2.9k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • 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.

    2.9k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Grails Test Fixer

    apache/grails-core

    Guides running, reviewing and fixing test failures across grails-core modules with Gradle, including targeted runs and the aggregate HTML and Markdown reports.

    2.9k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Grails Gradle Developer

    apache/grails-core

    Guides Gradle 9 build changes in apache/grails-core on the 8.0.x line, favoring the repo's convention plugins, BOM platforms and patterns over generic Gradle advice.

    2.9k GitHub stars~11k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Grails Violation Fixer

What does Grails Violation Fixer do?

Guide to running, reading and fixing code style and analysis violations in grails-core with CodeNarc, Checkstyle, PMD, SpotBugs, Spotless and JaCoCo through Gradle. The skill explains how three Gradle plugins enforce code quality across the 60+ modules of grails-core. The code style plugin applies Checkstyle and CodeNarc to every subproject, the code analysis plugin applies PMD and SpotBugs, which are opt-in, and a JaCoCo plugin runs a coverage report after each test task.

When should I use Grails Violation Fixer?

Grails Violation Fixer fits situations like: running aggregateViolations and working through the generated violation reports; fixing CodeNarc, Checkstyle, PMD, SpotBugs or Spotless findings in grails-core; enabling, disabling or tuning style and analysis tools across the repository.

How do I install Grails Violation Fixer in Claude Code?

Run `npx skills add apache/grails-core --skill violation-fixer -a claude-code`. Or copy the skill folder (.agents/skills/violation-fixer in apache/grails-core) into .claude/skills/violation-fixer in your project. Claude Code loads it when a task matches its description.

How do I install Grails Violation Fixer in Codex?

Run `npx skills add apache/grails-core --skill violation-fixer -a codex`. Or copy the skill folder (.agents/skills/violation-fixer in apache/grails-core) into .agents/skills/violation-fixer in your project. Codex loads it when a task matches its description.

Can I use Grails Violation Fixer 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 apache/grails-core --skill violation-fixer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/violation-fixer, .gemini/skills/violation-fixer, .github/skills/violation-fixer and .opencode/skills/violation-fixer in your project.

What does Grails Violation Fixer need to run?

SKILL.md names no scripts, command-line tools or credentials: Grails Violation Fixer is instructions for the agent only. Our summary lists: A checkout of grails-core; The Gradle wrapper that ships with the repository.

Does Grails Violation Fixer 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 Grails Violation Fixer 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 Grails Violation Fixer use?

Grails Violation Fixer is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Grails Violation Fixer use?

About 3.9k tokens (SKILL.md is roughly 16k 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 Grails Violation Fixer?

Skills that share tags, products or a category with Grails Violation Fixer: Convex Doctor (waynesutton/markdown-site, 628 stars), Code Quality (bonny/WordPress-Simple-History, 317 stars), Code Quality (BlackBeltTechnology/pi-agent-dashboard, 316 stars) and Dx Code Analyzer Run (forcedotcom/sf-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Grails Violation Fixer?

apache (a GitHub organization) maintains it in apache/grails-core, which has 2,934 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.

Source: apache/grails-core on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.