Java android workflow
Skill gaelic-ghost/socket/plugins/android-dev-skills/skills/java-android-workflow
Maintain Java-only Android projects and Kotlin/Java interoperability inside Android apps or libraries, including Java source sets, AndroidX Java APIs, annotations, nullability, SAM boundaries, generated bytecode expectations, public API compatibility, tests, lint, and migration guardrails.From its SKILL.md
npx -y skills add gaelic-ghost/socket --skill java-android-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 file declares
Copied from the file, not written here
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.3 KB, 758 tokens by cl100k_base, as published. Nobody here has run it
Java Android Workflow
Purpose
Preserve Java Android codebases and make Kotlin/Java boundaries explicit when Android modules are mixed-language.
The practical decision is whether to stay Java-only, add Kotlin interop carefully, or route implementation to Kotlin-first guidance without forcing a migration.
Source Check
Use repo-local Java, Kotlin, Gradle, and Android files first. Use Dash.app Java or Gradle docsets opportunistically for installed local reference. Use official documentation as authority for Android-specific APIs, Kotlin Java interop, AndroidX behavior, and version-sensitive rules:
- Android Developers documentation
- Java documentation
- Kotlin Java interoperability documentation
- AndroidX documentation
- Android build documentation
Translate documentation into concrete API, annotation, source-set, or validation choices.
Inspection Workflow
- Inspect source ownership:
src/main/javasrc/main/kotlin- generated sources
- public Android library APIs
- Java callers of Kotlin code and Kotlin callers of Java code
- Identify interop boundaries:
- nullability annotations
@JvmName,@JvmOverloads,@JvmStatic,@JvmField, or@Throws- SAM conversions and functional interfaces
- checked exceptions and callback APIs
- data classes, sealed classes, objects, companion objects, and generated bytecode as seen from Java
- Preserve Java-only projects:
- keep Java examples and implementation idiomatic for the existing codebase
- do not add Kotlin plugin or Kotlin sources without user approval
- keep AndroidX and Java language level aligned with repo configuration
- Maintain mixed projects:
- keep public APIs friendly from both languages when they already cross the boundary
- use annotations for nullability and threading where the repo already does
- keep generated binding, Room, Hilt, KSP, KAPT, or annotation processing behavior explicit
- Validate:
- compile or assemble the affected module
- run unit tests that exercise the Java/Kotlin boundary
- run lint when annotations, threading, lifecycle, resources, or Android APIs changed
Implementation Guidance
- Prefer Java implementation in Java-dominant Android modules.
- Prefer Kotlin implementation in Kotlin-dominant modules unless Java API compatibility owns the change.
- Keep Android callbacks, listeners, and lifecycle methods readable from the language that owns the file.
- Preserve binary and source compatibility for Android libraries unless the user approves a breaking change.
- Document migration decisions in repo-facing docs only when the task changes project policy.
Output Shape
Return:
Language owner: Java-only, Kotlin-first, mixed, or migration decision needed.Interop boundary: APIs, annotations, generated code, callbacks, nullability, or bytecode concerns.Affected modules: module, source set, public APIs, tests, and generated sources.Validation path: exact Gradle commands.Risk: migration, binary compatibility, annotation processing, nullability, or public API risk.
Guardrails
- Do not rewrite Java Android code to Kotlin just because Kotlin is preferred for new Android work.
- Do not add Kotlin to a Java-only project without an explicit user decision.
- Do not expose awkward Kotlin APIs to Java callers when public interop matters.
- Do not drop nullability, threading, or lifecycle annotations casually.
- Do not route backend Java services through this skill.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.