Testing lint workflow
Skill gaelic-ghost/socket/plugins/android-dev-skills/skills/testing-lint-workflow
The Source for macOS Agent Workflows
npx -y skills add gaelic-ghost/socket --skill testing-lint-workflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Plan, run, filter, and triage Android tests and lint, including local unit tests, instrumentation and Compose UI test handoffs, Gradle variant tasks, lint configuration, lint baselines, failure explanations, emulator-aware validation routing, and readable next checks.
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.4 KB, 830 tokens by cl100k_base, as published. Nobody here has run it
Android Testing And Lint Workflow
Purpose
Run the narrowest useful Android tests and lint checks, explain failures clearly, and route emulator/device validation to the Android testing plugin.
The practical decision is which module, source set, variant, and task prove the work without turning every change into a full device run.
Source Check
Use repo-local Gradle files, test files, lint config, checked-out dependency sources, and Dash.app docsets opportunistically for exact Gradle or Java questions. Use official documentation as authority for Android-specific testing and lint behavior:
- Test apps on Android
- Android build documentation
- Android lint documentation
- Jetpack Compose testing documentation
- Gradle User Manual
Translate documentation into concrete test source sets, Gradle tasks, variants, and failure modes.
Inspection Workflow
- Identify test layout:
src/testsrc/androidTest- Compose UI test files
- fixture, fake, mock, and dependency-injection test support
- Identify lint setup:
lint.xml- lint baselines
- Gradle lint options
- CI lint commands
- Identify affected variants:
- debug versus release
- product flavors
- application versus library modules
- Identify validation level:
- local unit tests for JVM-only behavior
- instrumentation tests for Android runtime behavior
- Compose UI tests for UI semantics and interactions
- lint for resources, APIs, permissions, lifecycle, accessibility, and manifest issues
- emulator/device validation handoff when runtime proof is required
Command Selection
Start narrow, then widen:
./gradlew :app:testDebugUnitTest
./gradlew :app:lintDebug
./gradlew :app:connectedDebugAndroidTest
Use connected or managed-device tasks only when the user requested device validation or the change cannot be proved locally. If emulator operation is needed, hand off to the Android testing plugin instead of duplicating device-control steps here.
Run one Gradle command at a time.
Failure Triage
Classify failures by first concrete break:
- Gradle setup or dependency resolution
- compile, KSP, KAPT, or generated-source failure
- local unit test failure
- instrumentation setup failure
- instrumentation assertion failure
- Compose UI semantics, synchronization, or interaction failure
- lint configuration or baseline failure
- lint finding from changed code
- emulator/device availability issue
Report the command, module, variant, source set, first meaningful error, likely cause, and smallest next check.
Lint Policy
- Preserve existing baseline policy.
- Do not update a baseline just to hide a new issue.
- Treat accessibility, permissions, exported components, manifest, resource, and API-level findings as user-facing risk until understood.
- Keep suppressions local and justified when the repo already allows suppressions.
Output Shape
Return:
Test scope: module, source set, variant, unit, instrumentation, Compose UI, or lint.Commands: exact commands run or recommended.Result: pass, fail, or skipped with concrete reason.Failure mode: setup, compile, unit, instrumentation, Compose UI, lint config, lint finding, or emulator/device issue.Next check: smallest code, test, lint, Gradle, or Android testing plugin handoff.
Guardrails
- Do not run broad device tests first when unit tests or lint prove the change.
- Do not start emulator or device automation directly from this skill.
- Do not rewrite or remove lint baselines without explaining the policy impact.
- Do not weaken tests to match broken behavior.
- Do not run Gradle commands concurrently.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.