Test Metro Ide Locally
ZacSweers/metro
Run Metro's IDE plugin from source in a sandboxed local IDE against a consumer project.
A skill your agent uses when planning to execute Gradle through gradle, ./gradlew, or a custom gradlew wrapper script, or diagnosing a Gradle build, compact workflow ledger, repeated failure…
$ npx skills add chrisbanes/skills --skill gradle-run -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install chrisbanes/skills gradle-run --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/chrisbanes/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gradle-run .claude/skills/gradle-run && rm -rf skills-srcUse ~/.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/
Install the "gradle-run" agent skill from https://github.com/chrisbanes/skills/tree/main/skills/gradle-run into .claude/skills/gradle-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gradle-run", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/chrisbanes/skills/tree/main/skills/gradle-runType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add chrisbanes/skills --skill gradle-run -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install chrisbanes/skills gradle-run --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chrisbanes/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gradle-run .agents/skills/gradle-run && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gradle-run" agent skill from https://github.com/chrisbanes/skills/tree/main/skills/gradle-run into .agents/skills/gradle-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gradle-run", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chrisbanes/skills --skill gradle-run -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install chrisbanes/skills gradle-run --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chrisbanes/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gradle-run .cursor/skills/gradle-run && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gradle-run" agent skill from https://github.com/chrisbanes/skills/tree/main/skills/gradle-run into .cursor/skills/gradle-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gradle-run", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/chrisbanes/skills.git --path skills/gradle-run--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add chrisbanes/skills --skill gradle-run -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install chrisbanes/skills gradle-run --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chrisbanes/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gradle-run .gemini/skills/gradle-run && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gradle-run" agent skill from https://github.com/chrisbanes/skills/tree/main/skills/gradle-run into .gemini/skills/gradle-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gradle-run", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install chrisbanes/skills gradle-runInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add chrisbanes/skills --skill gradle-run -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/chrisbanes/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gradle-run .github/skills/gradle-run && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gradle-run" agent skill from https://github.com/chrisbanes/skills/tree/main/skills/gradle-run into .github/skills/gradle-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gradle-run", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chrisbanes/skills --skill gradle-run -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install chrisbanes/skills gradle-run --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chrisbanes/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gradle-run .opencode/skills/gradle-run && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gradle-run" agent skill from https://github.com/chrisbanes/skills/tree/main/skills/gradle-run into .opencode/skills/gradle-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gradle-run", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gradle-runA skill your agent uses when planning to execute Gradle through gradle, ./gradlew, or a custom gradlew wrapper script, or diagnosing a Gradle build, compact workflow ledger, repeated failure…
Gradle Run is an agent skill from chrisbanes/skills. 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.
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/subagent-selection.md` and `scripts/gradle_run.py`).
It sits in Mobile. It works with Gradle. The repository describes itself as: Skills for Kotlin, Jetpack Compose, and Android development. The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 037aab9. It shows what the files ask for, not the result of running them.
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.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Gradle Run loads about 1.2k tokens when it runs, and up to ~2.6k if it reads all its reference files. Until then it costs about 71 tokens; SKILL.md has 569 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from chrisbanes/skills at commit 037aab9, republished under its Apache-2.0 licence (© chrisbanes). 569 words, ~1,193 tokens.
.claude/skills/gradle-run/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.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.
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 createRun 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 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. A workflow is busy result is an
ownership violation: wait for the owner or correct ownership; do not start
or finish concurrently.
For incidental validation, stay in the current agent and run the narrowest task that answers a non-empty verification question:
python3 <skill-dir>/scripts/gradle_run.py run \
--workflow <id> --scope targeted \
--question "Does :module:test pass after this change?" -- \
./gradlew :module:testDo not substitute compilation for requested fixture tests. Read only the bounded JSON summary; report both the managed wrapper and nested Gradle task, the question, and its bounded answer.
For Gradle-centered work, keep diagnosis, repository edits, and wrapper execution with the current implementation owner by default. Delegate a bounded read-only investigation only when it offers useful independent analysis. Select and brief an optional helper using the shared selection and handoff reference. Keep one wrapper execution owner at a time; a helper reports evidence and recommendations to that owner. Continue directly when no helper is available.
Reuse actionable summaries, group warnings/failures by fingerprint, and return source/line evidence plus the narrowest next command. Run broad only for an aggregate question that targeted evidence cannot answer. On a repeated primary source/compiler fingerprint, stop rebuilding; inspect the cited source line and nearby declaration, import, or receiver context before revising the diagnosis. Verify each source change with the same wrapper and narrowest applicable task. In the final diagnosis, name the focused inspection as the next action; do not claim a source fix before it. A new question does not permit a blind repeat.
Treat the full log as raw sensitive material even though summaries and ledgers redact common credentials. Never expose it in model-visible context. On interruption, use the wrapper's recorded signal and bounded partial diagnostics; it owns process-group/process-tree cleanup and durable ledger updates. Only logs still represented by the bounded recent-run ledger remain.
Finish after the last requested validation (targeted or broad) passes, or
report unresolved fingerprints and why validation cannot continue. In the
final response, quote each non-empty --question and give its bounded
answer; command history is not a substitute for reported evidence. Then run:
python3 <skill-dir>/scripts/gradle_run.py finish --workflow <id>Report that finish removed only wrapper-owned logs. A finished known ID is idempotent; an unknown ID or active workflow fails closed and leaves files in place. This skill does not constrain unrelated review, implementation, or subagents.
© chrisbanes, 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
SKILL.md and 4 other files (scripts, references) in skills/gradle-run of chrisbanes/skills.
Open the folder on GitHubat commit 037aab9
Gradle Run 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Gradle Run this skillchrisbanes/skills | 1.1k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Test Metro Ide LocallyZacSweers/metro | 1.4k | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Gradle Buildchampionswimmer/TwoFac | 130 | — | ~1.2k | Automated safety check: Pass | None | |
| Kuikly Multi Module ConfigTencent-TDS/KuiklyUI-AI | 130 | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Configuring Test Dependenciesskydoves/android-testing-skills | 334 | — | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| Android API Diffgkd-kit/gkd | 43k | — | ~796 | Automated safety check: Pass | GPL-3.0 |
ZacSweers/metro
Run Metro's IDE plugin from source in a sandboxed local IDE against a consumer project.
championswimmer/TwoFac
Use Gradle commands to build and run the app by platform. An agent skill from championswimmer/TwoFac.
Tencent-TDS/KuiklyUI-AI
Kuikly 多模块工程配置助手。指导如何创建 Kuikly 子模块、配置多模块。当用户需要创建新 Kuikly 子模块、配置多模块参数、解决 KuiklyCoreEntry 入口类冲突时使用。
skydoves/android-testing-skills
A skill your agent uses to wire the correct Gradle dependency matrix for Jetpack Compose UI tests.
gkd-kit/gkd
Looks up Android framework Java and AIDL APIs across versions with the android-api-diff CLI: signatures, availability, source files and hidden-API access code.
dpconde/claude-android-skill
Create production-quality Android applications following Google's official architecture guidance and NowInAndroid best practices.
chrisbanes/skills
A skill your agent uses when writing or reviewing Jetpack Compose motion: visibility enter/exit, animating one property toward a target, color or size transitions, multiple properties from one…
chrisbanes/skills
A skill your agent uses when writing or reviewing Jetpack Compose UI tests, screenshot tests or baseline-recording evidence, previews, semantics assertions, fake image loading, keyboard input, focus…
chrisbanes/skills
A skill your agent uses when preparing, publishing, or checking readiness for a Kotlin library release, including verifying its gradle-maven-publish-plugin prerequisite, reconciling changelogs and…
chrisbanes/skills
A skill your agent uses when asked to set up, review, or operate a repository's GitHub Project workflow, including ready claims, role-labelled human work, unknown remote mutation outcomes, Todo…
chrisbanes/skills
A skill your agent uses when designing or reviewing reusable Jetpack Compose component APIs with modifier parameters, root layout placement, caller-provided variable content, primitive content…
chrisbanes/skills
A skill your agent uses when writing or reviewing Jetpack Compose UI for TV, keyboard, desktop, accessibility focus, D-pad navigation, FocusRequester, focusProperties, key events, or initial focus…
Works with
Categories
A skill your agent uses when planning to execute Gradle through gradle, ./gradlew, or a custom gradlew wrapper script, or diagnosing a Gradle build, compact workflow ledger, repeated failure…. Gradle Run is an agent skill from chrisbanes/skills./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 fits situations like: planning to execute Gradle through gradle; A custom gradlew wrapper script; diagnosing a Gradle build; compact workflow ledger.
Run `npx skills add chrisbanes/skills --skill gradle-run -a claude-code`. Or copy the skill folder (skills/gradle-run in chrisbanes/skills) into .claude/skills/gradle-run in your project. Claude Code loads it when a task matches its description.
Run `npx skills add chrisbanes/skills --skill gradle-run -a codex`. Or copy the skill folder (skills/gradle-run in chrisbanes/skills) into .agents/skills/gradle-run in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add chrisbanes/skills --skill gradle-run -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gradle-run, .gemini/skills/gradle-run, .github/skills/gradle-run and .opencode/skills/gradle-run in your project.
Going by SKILL.md and its folder, Gradle Run needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
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.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Gradle Run is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Gradle Run: Test Metro Ide Locally (ZacSweers/metro, 1.4k stars), Gradle Build (championswimmer/TwoFac, 130 stars), Kuikly Multi Module Config (Tencent-TDS/KuiklyUI-AI, 130 stars) and Configuring Test Dependencies (skydoves/android-testing-skills, 334 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
chrisbanes (a GitHub user) maintains it in chrisbanes/skills, which has 1,093 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 9, 2026.
Source: chrisbanes/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.