| name | gradle-run |
| description | Use when planning to execute Gradle through `gradle`, `./gradlew`, or a custom `gradlew*` wrapper script, or diagnosing a Gradle build, compact workflow ledger, repeated failure fingerprint, check, test, lint, warning, or failure even when no new Gradle run is appropriate. |
Gradle run
Core principle
Treat complete Gradle output as a temporary, sensitive artifact. Every
agent-initiated Gradle command runs through the compact-output wrapper; never
stream, tee, paste, or reopen a full build log.
Every create, run, and finish invocation is the entire shell command for
that tool call. Prefixes, assignments, conditionals, pipes, command chains, and
follow-up inspection invalidate lifecycle evidence even when Gradle succeeds.
Procedure
-
Classify the request. Reuse a current successful result when unchanged
source and inputs already answer the question. A focused task that validates
another change is incidental; build/check/warning/failure work is a
Gradle-centered workflow.
-
Resolve this skill directory and confirm python3 plus
scripts/gradle_run.py. If either is unavailable, stop and report that
prerequisite; never run Gradle directly as a fallback.
-
Create one workflow before its first command and retain its opaque ID:
python3 <skill-dir>/scripts/gradle_run.py create
Run create, each run, and finish as standalone shell commands. Do not
combine one with test, variable setup, git, rg, &&, ;, a pipe, or a
newline containing another command. If create fails, retry a fresh
standalone before any . Use the wrapper exclusively; it
supplies and unless console behavior was
selected or the user authorized . Add only for
warning discovery or an explicit request. A result is an
ownership violation: wait for the owner or correct ownership; do not start
or finish concurrently.