# Gradle Run

Use when planning to execute Gradle through `gradle`, `./gradlew`, or a custom...

- Repository: https://github.com/chrisbanes/skills (1135 stars)
- Category: Testing
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add chrisbanes/skills --skill gradle-run -g -a claude-code -y`
Codex: `npx skills add chrisbanes/skills --skill gradle-run -g -a codex -y`
Cursor: `npx skills add chrisbanes/skills --skill gradle-run -g -a cursor -y`
Gemini CLI: `npx skills add chrisbanes/skills --skill gradle-run -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add chrisbanes/skills`

## Description

Use when planning to execute Gradle through `gradle`, `./gradlew`, or a custom `gradlew*` wrapper script, or diagnosing a Gradle build, recovering a workflow's status, compact workflow ledger, repeated failure fingerprint, check, test, lint, warning, or failure even when no new Gradle run is appropriate.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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`, `status`, 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

1. 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.
2. Resolve this skill directory. If `python3` or `scripts/gradle_run.py` is
   unavailable (a failing standalone `create` shows this), stop and report that
   prerequisite; never run Gradle directly as a fallback. Invoke the project's
   designated entrypoint (normally `./gradlew`) as provided; do not read its
   source to second-guess it or substitute another launcher script.
3. Create one workflow before its first command and retain its opaque ID:

   ```sh
   python3 <skill-dir>/scripts/gradle_run.py create
   ```

   Run `create`, each `run`, and `finish` as standalone shell commands. Do not
   combine one with `ls`, `test`, variable setup, `git`, `rg`, `&&`, `;`, a
   pipe, or a newline containing another command. If `create` fails, retry a fresh
   standalone `create` before any `run`. Use the wrapper exclusively; it
   supplies `--console=plain` and `--no-scan` unless console behavior was
   selected or the user authorized `--scan`. Add `--warning-mode all` only for
   warning discovery or an explicit request. If `run` or `finish` reports
   `workflow is busy`, inspect status and wait for the owner; keep one execution
   owner and avoid a duplicate build.

The rest: https://github.com/chrisbanes/skills/blob/HEAD/skills/gradle-run/SKILL.md
