software-android-native

software-android-native is a skill for Claude Code, Codex from vasilyu1983/AI-Agents-public. It costs 38 tokens per session (5,366 once invoked), scanned A, original, MIT.

A guide to building native Android apps with Kotlin, Jetpack Compose, and traditional Android Views when needed. It covers app state, asynchronous work, and automated tests.

In plain words
What is it for?
Use it to build or review Android screens, ViewModels, Kotlin coroutines and flows, Compose tests, and connections between Compose and older Views.
Why use it?
It gives developers practical choices for structuring modern Android code and handling common issues such as duplicate submissions and changing UI state.

Skill for Claude CodeCodex

Written for Claude Code and Codex: shipped in a Claude Code plugin, but also agents/openai.yaml present. Also seen: mentions CLAUDE.md; mentions Claude Code; mentions AGENTS.md.

Part of the ai-agents plugin — 144 skills shipped together

Good fit Use it to build or review Android screens, ViewModels, Kotlin coroutines and flows, Compose tests, and connections between Compose and older Views.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/vasilyu1983/ai-agents-public/software-android-native
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add vasilyu1983/AI-Agents-public --skill software-android-native
Clone the repo
git clone --depth 1 https://github.com/vasilyu1983/AI-Agents-public

Made for: Claude Code, Codex.

Or install ai-agents, the plugin that ships this one along with the rest of its 144 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for software-android-native

README.md
[![agentmods](https://agentmods.dev/badge/skills/vasilyu1983/ai-agents-public/software-android-native/github.svg)](https://agentmods.dev/skills/vasilyu1983/ai-agents-public/software-android-native)
Your own site
<a href="https://agentmods.dev/skills/vasilyu1983/ai-agents-public/software-android-native"><img src="https://agentmods.dev/badge/skills/vasilyu1983/ai-agents-public/software-android-native/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for software-android-native

Your own site · 80×15
<a href="https://agentmods.dev/skills/vasilyu1983/ai-agents-public/software-android-native"><img src="https://agentmods.dev/badge/skills/vasilyu1983/ai-agents-public/software-android-native.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,366 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00038 $0.05366
Opus 5.5 $0.00015 $0.02146
Sonnet 5.5 $0.00008 $0.01073
Haiku 4.5 $0.00004 $0.00537

Measured 22d ago against content hash 830562dc6b47, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

software-android-native scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/universal/software-android-native/SKILL.md · 214 lines

How it starts

The opening of the file, as written. The whole thing — 214 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Native Android Development

Use this skill for native Android work only. It is the default shared-skill entrypoint for Compose-first Android apps targeting API 28+, bounded rewrites from older codebases, and agent-assisted workflows in Android Studio, Codex, and Claude Code.

Quick Reference

Task Default Picks Notes
State & UI
New UI screens Jetpack Compose Views interop only where existing mature flows or third-party SDKs require it
Observable state ViewModel + StateFlow (Kotlin 2.x) Replaces LiveData for new code
Async work Kotlin Coroutines + Flow Dispatchers.IO for blocking, Dispatchers.Default for CPU; structured concurrency preferred
Unit/integration tests JUnit 4 + Turbine Android-supported default; JUnit 5 requires verified community integration
UI tests Compose Testing APIs (ComposeTestRule) Espresso only for Views interop or legacy screens
State machine discipline
Submit guard if (_uiState.value is Loading) return Prevents double-tap duplicate submissions in ViewModel
Transient completion One-shot UI effect or explicit acknowledgement Do not reset durable state on an arbitrary timer; cancel or supersede stale work
Minimal sealed classes Remove states that can't happen anymore Dead sealed subclasses produce dead when branches and mislead future readers
Networking & resilience
Network reachability ConnectivityManager + NetworkCallback wrapped in StateFlow Publish isConnected; disable submit buttons when offline; observe in collectAsStateWithLifecycle
DI & architecture
Dependency injection Hilt @HiltViewModel, @Inject constructor, @Module + @InstallIn
Local persistence Room + KSP Prefer @Upsert over separate insert/update; KSP replaces KAPT
Background work WorkManager + CoroutineWorker Deferrable, constraint-aware background processing
Runtime tool selection and device proof software-android-runtime-debugging Use its tool checks before implementation; build-loop details are in Android Studio workflows
Compose, billing, adaptive, auth & push See Quick Picks LazyColumn keys, side effects, Play Billing acknowledgement, WindowSizeClass, Credential Manager, FCM, deep links
collectAsStateWithLifecycle stateFlow.collectAsStateWithLifecycle() Lifecycle-aware collection; prevents updates when app is backgrounded
Strong Skipping (Kotlin 2.x)
UI state instance identity Inspect stability/recompositions before splitting state Unstable parameters use identity, stable ones equality; StateFlow conflates equal values
LazyListScope lambdas Distinguish the non-composable DSL from composable item content Strong Skipping memoizes lambdas in composable item content; hoist callbacks into the enclosing composable only when a non-composable DSL allocation matters
Concurrent state updates Use MutableStateFlow.update { } for read-modify-write; keep Compose snapshot-state (mutableStateOf) writes on the main thread by convention MutableStateFlow.value assignment is itself thread-safe — the real hazard is a non-atomic value = value.copy() race under concurrent writers

Read the full file on GitHub · 214 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 22d ago Changed · -131 lines 830562dc6b47
  2. 1mo ago Changed · +5 lines 9256fead6a90
  3. 1mo ago First seen · 340 lines · 38 tokens per session scan A 99764796a310

Subscribe to this mod's changes

software-android-native is a skill published in the GitHub repository vasilyu1983/AI-Agents-public (101 stars, last pushed 12d ago), licensed MIT. It adds 38 tokens to every session and 5,366 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

kotlin-android

Use when building or fixing a native Android app in Kotlin and Jetpack Compose on the UDF layered architecture — ViewModel/StateFlow, Hilt, Room, Retrofit, coroutines, type-safe Navigation, and the Gradle/AGP surface. NOT shared Android and iOS UI from one Kotlin codebase (that is compose-multiplatform).

ericrisco/rsc-harness · 78 tokens

compose-multiplatform

Use when building one shared Compose UI in Kotlin across Android, iOS, and desktop — commonMain @Composables, expect/actual, source-set placement, native interop, multiplatform ViewModel/navigation/Koin. NOT a single-platform native build (that is kotlin-android / swift-ios), and NOT Dart/Flutter cross-platform UI…

ericrisco/rsc-harness · 80 tokens

kotlin-patterns

Kotlin: coroutines, Flow, sealed/data classes, null safety, Ktor, Compose, KMP. Triggers: Kotlin, coroutine, Flow, suspend, Ktor, Jetpack Compose, KMP, kotlinx.

softspark/ai-toolkit · 51 tokens

swift-patterns

Swift/iOS: SwiftUI, Combine, async/await, actors, SPM, Core Data, UIKit interop. Triggers: Swift, SwiftUI, Combine, iOS, Xcode, actor, Core Data, @MainActor, @State.

softspark/ai-toolkit · 57 tokens

kotlin-android

Build and upgrade native Android applications with Kotlin, Compose/View UI and lifecycle-aware work. Use when implementing Android screens, navigation, permissions or background jobs; coordinate Kotlin, Gradle, AGP and SDK compatibility.

WrongStack/WrongStack · 47 tokens

swift-ios

Build and upgrade native iOS applications with Swift, SwiftUI/UIKit and correct lifecycle/concurrency ownership. Use when implementing native screens, platform integrations or Swift migrations; verify toolchain, deployment target and device behavior separately.

WrongStack/WrongStack · 46 tokens