Android Ai Skills banner
RanaNadeemAslam RanaNadeemAslam

Android Ai Skills

AI community

Description

Production-grade Android best practices for AI coding assistants. Works with Cursor, Claude Code, GitHub Copilot, OpenAI Codex, and Windsurf.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Android AI Skills

**Production-grade Android rules for AI coding assistants.**

[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)

Works with **Cursor** | **Claude Code** | **GitHub Copilot** | **OpenAI Codex** | **Windsurf**


The Problem

AI coding assistants generate Android code that works but isn't production-ready. Without guidance, they default to:

  • GlobalScope.launch instead of viewModelScope
  • MutableLiveData exposed directly instead of StateFlow with sealed UI state
  • Hardcoded strings, colors, and inline styling instead of resources and Material theme tokens
  • NavController passed through the composable tree instead of callback lambdas
  • No offline support, no caching — direct API calls from ViewModel
  • SharedPreferences instead of DataStore, KAPT instead of KSP, Gson instead of Kotlin Serialization
  • No test structure, no fakes, no separation of concerns

This compounds fast. By the time you notice, your codebase has architectural debt baked into every file the AI touched.

What This Solves

**Android AI Skills** is a set of rule files you drop into your Android project. Your AI assistant reads them and generates code that follows official Google/Android architecture guidance — automatically, on every prompt.

**What changes in your project:**

  • Architecture — Layered architecture with proper UDF. ViewModels expose immutable StateFlow, business logic lives in UseCases, data flows through Repositories. No shortcuts.
  • Compose UI — Every screen follows the Route + Screen pattern: stateful Route connects ViewModel, stateless Screen is testable and previewable. State hoisted correctly, collectAsStateWithLifecycle() used everywhere.
  • Data layer — Offline-first by default. Room as source of truth, separate models per layer (Network, Entity, Domain), DataStore for preferences. Your app wor