android-agent-skills
Production-ready Agent Skills framework for Android Kotlin development. Provides Clean Architecture patterns, Jetpack Compose best practices, validation DSL, MVI state management, error handling, and AI-powered code generation. Use when building Android apps with quality standards, generating ViewModels, Repositories, UseCases, Compose screens, or writing pure Kotlin Agent Skills.
Best use case
android-agent-skills is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Production-ready Agent Skills framework for Android Kotlin development. Provides Clean Architecture patterns, Jetpack Compose best practices, validation DSL, MVI state management, error handling, and AI-powered code generation. Use when building Android apps with quality standards, generating ViewModels, Repositories, UseCases, Compose screens, or writing pure Kotlin Agent Skills.
Teams using android-agent-skills should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/android-agent-skills/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How android-agent-skills Compares
| Feature / Agent | android-agent-skills | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Production-ready Agent Skills framework for Android Kotlin development. Provides Clean Architecture patterns, Jetpack Compose best practices, validation DSL, MVI state management, error handling, and AI-powered code generation. Use when building Android apps with quality standards, generating ViewModels, Repositories, UseCases, Compose screens, or writing pure Kotlin Agent Skills.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Android Agent Skills
> A production-ready Agent Skill framework for Android Kotlin development with Clean Architecture, Jetpack Compose, and AI-powered code generation.
## When to use this skill
Use this skill when:
- Building Android apps with Kotlin
- Implementing Clean Architecture (ViewModel → UseCase → Repository)
- Creating Jetpack Compose UIs with proper stability
- Generating ViewModels, Repositories, UseCases, or Compose Screens
- Writing Agent Skills (pure Kotlin modules)
- Implementing validation, error handling, or state management
- Reviewing code for architecture compliance
## Quick Start
1. **Read context first**: [skills/AI_CONTEXT.md](skills/AI_CONTEXT.md)
2. **Use generation commands**: `@gen-viewmodel`, `@gen-skill`, `@gen-screen`
3. **Follow templates**: [skills/templates/](skills/templates/)
4. **Check quality**: `@analyze-skill`, `@review`
## Available Commands
### Code Generation
| Command | Description |
|---------|-------------|
| `@gen-viewmodel [name]` | Generate MVI ViewModel with StateFlow |
| `@gen-skill [name]` | Generate pure Kotlin Agent Skill |
| `@gen-screen [name]` | Generate Compose Screen (Route + Screen) |
| `@gen-repository [name]` | Generate Repository with offline-first |
| `@gen-usecase [name]` | Generate UseCase with Result<T> |
| `@gen-pipeline [name]` | Generate skill pipeline |
| `@gen-test [component]` | Generate tests (auto-detect type) |
### Analysis & Review
| Command | Description |
|---------|-------------|
| `@analyze-skill` | Analyze skill quality (aim for 90+) |
| `@review [file]` | Review code for rule compliance |
| `@review-changes` | Review git changes for violations |
### Quick Access
| Command | Description |
|---------|-------------|
| `/context` | Load AI_CONTEXT.md |
| `/summary` | Load AGENT_SUMMARY.md (core rules) |
| `/decision` | Pattern selection decision tree |
| `/validate` | Validation DSL patterns |
| `/help` | Show all commands (English) |
| `/help-vi` | Hiển thị trợ giúp (Tiếng Việt) |
## Critical Rules (Never Break)
```kotlin
// 1. ALWAYS rethrow CancellationException
catch (e: CancellationException) { throw e }
// 2. State: private mutable, public immutable
private val _state = MutableStateFlow(UiState())
val state: StateFlow<UiState> = _state.asStateFlow()
// 3. Events use Channel, NOT SharedFlow
private val _events = Channel<Event>()
// 4. Mark all state classes @Immutable
@Immutable data class UiState(...)
// 5. Architecture: ViewModel → UseCase → Repository
// NEVER: ViewModel → Repository directly
```
## Key References
| Need | Reference |
|------|-----------|
| Quick context | [skills/AI_CONTEXT.md](skills/AI_CONTEXT.md) |
| Core rules | [skills/AGENT_SUMMARY.md](skills/AGENT_SUMMARY.md) |
| Decision tree | [skills/guides/00-decision-tree.md](skills/guides/00-decision-tree.md) |
| All prompts | [skills/AI_PROMPTS.md](skills/AI_PROMPTS.md) |
| Validation | [VALIDATION_CHEAT_SHEET.md](VALIDATION_CHEAT_SHEET.md) |
| Error handling | [ERROR_HANDLING_CHEAT_SHEET.md](ERROR_HANDLING_CHEAT_SHEET.md) |
| Testing | [TESTING_CHEAT_SHEET.md](TESTING_CHEAT_SHEET.md) |
| Compose | [COMPOSE_CHEAT_SHEET.md](COMPOSE_CHEAT_SHEET.md) |
## Templates
| Component | Template Location |
|-----------|-------------------|
| Skill | [skills/templates/examples/DomainSkillGuide.kt](skills/templates/examples/DomainSkillGuide.kt) |
| ViewModel | [skills/templates/examples/UseCaseViewModelExample.kt](skills/templates/examples/UseCaseViewModelExample.kt) |
| Repository | [skills/templates/examples/UserRepositoryImpl.kt](skills/templates/examples/UserRepositoryImpl.kt) |
| Compose | [skills/templates/compose/ComposeExample.kt](skills/templates/compose/ComposeExample.kt) |
| Pipeline | [skills/templates/examples/PipelineExamples.kt](skills/templates/examples/PipelineExamples.kt) |
| Tests | [skills/templates/testing/](skills/templates/testing/) |
## Architecture Overview
```
┌─────────────────────────────────────────────────────┐
│ UI Layer │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Screen │ │ Route │ │ ViewModel │ │
│ │ (Stateless) │◄─│ (Stateful) │◄─│ (MVI) │ │
│ └─────────────┘ └─────────────┘ └──────┬──────┘ │
└───────────────────────────────────────────┼─────────┘
│
┌───────────────────────────────────────────┼─────────┐
│ Domain Layer │ │
│ ┌─────────────┐ ┌─────────────┐ ┌──────▼──────┐ │
│ │ Skill │ │ UseCase │◄─│ Interface │ │
│ │ (Pure Kotlin)│ │ invoke() │ │ Repository │ │
│ └─────────────┘ └─────────────┘ └──────┬──────┘ │
└───────────────────────────────────────────┼─────────┘
│
┌───────────────────────────────────────────┼─────────┐
│ Data Layer │ │
│ ┌─────────────┐ ┌─────────────┐ ┌──────▼──────┐ │
│ │ Remote │ │ Local │ │ Repository │ │
│ │ DataSource │ │ DataSource │◄─│ Impl │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────┘
```
## Guides (35 available)
All guides in [skills/guides/](skills/guides/):
| Guide | Topic |
|-------|-------|
| 01-architecture.md | Clean Architecture |
| 02-coding-conventions.md | Kotlin style |
| 05-jetpack-compose.md | Compose basics |
| 07-state-management.md | MVI, StateFlow |
| 10-error-handling.md | Result pattern |
| 11-testing.md | Unit/UI tests |
| 24-validation-rules.md | Validation DSL |
| 30-skill-analysis.md | Skill quality |
| 31-pipeline-patterns.md | Skill pipelines |
| 32-modern-kotlin-features.md | Kotlin 2.0+, K2 compiler |
| 33-agent-feedback-loop.md | Feedback tracking, metrics |
| 34-logging-analytics.md | Timber, analytics, crash reporting |
| 35-gradle-optimization.md | Build optimization, convention plugins |
## Validation Quick Reference
```kotlin
// Top 5 validation functions
requireNotBlank(input.name, "name")
requireValidEmail(input.email, "email")
requireInRange(input.age, 13..150, "age")
requireNotEmpty(input.items, "items")
require(a < b) { "a must be < b" }
```
## File Structure
```
android-agent-skills/
├── SKILL.md # This file - entry point
├── skills/
│ ├── AI_CONTEXT.md # Quick reference (read first)
│ ├── AGENT_SUMMARY.md # Core rules & patterns
│ ├── AI_PROMPTS.md # All @gen-* prompts
│ ├── guides/ # 35 detailed guides
│ └── templates/ # Code templates & examples
├── *_CHEAT_SHEET.md # Quick reference sheets
└── README.md # GitHub documentation
```Related Skills
implementing-android-code
This skill should be used when implementing Android code in Bitwarden. Covers critical patterns, gotchas, and anti-patterns unique to this codebase. Triggered by "How do I implement a ViewModel?", "Create a new screen", "Add navigation", "Write a repository", "BaseViewModel pattern", "State-Action-Event", "type-safe navigation", "@Serializable route", "SavedStateHandle persistence", "process death recovery", "handleAction", "sendAction", "Hilt module", "Repository pattern", "implementing a screen", "adding a data source", "handling navigation", "encrypted storage", "security patterns", "Clock injection", "DataState", or any questions about implementing features, screens, ViewModels, data sources, or navigation in the Bitwarden Android app.
find-skills
Find and install agent skills with `npx playbooks find skill` and `npx playbooks add skill`. Use whenever a skill needs to be discovered or installed.
fenxi-skills
分析指定skills的工作流程,通过中文图文结合方式让使用者了解目标skills的工作方式
dozu-ui-service-skills
Index of AI agent skills and how to use them when implementing features in this repo.
criador-skills
Helper skill to create new agent skills following the standard structure. Use this when you want to define a new capability or workflow for the agent.
creating-skills
Expert knowledge on creating Agent Skills for Claude Code. Use when designing or creating SKILL.md files, understanding Skill structure, or implementing progressive disclosure patterns.
creating-agent-skills
Use when creating Agent Skills packages (SKILL.md format) for Codex CLI, GitHub Copilot, or Amp - provides the agentskills.io specification with frontmatter constraints, directory structure, and validation rules
clawdhub-find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. Uses reskill as the package manager.
audit-and-add-project-skills
Audits project skills in .agent/skills/ and Codex skills for Cursor compatibility, then helps add compatible skills to .cursor/skills/. Use when the user wants to migrate project skills to Cursor, check if skills work with Cursor, or add existing skills to Cursor.
agent-memory-skills
Self-improving agent architecture using ChromaDB for continuous learning, self-evaluation, and improvement storage. Agents maintain separate memory collections for learned patterns, performance metrics, and self-assessments without modifying their static .md configuration.
01-meta-chain-of-skills-150
[01] META. Сканирует доступные skills, создает план выполнения и идет шаг за шагом с подтверждением каждого этапа. Triggers on complex tasks, multi-step work, or when structured execution is needed.
videodb-skills
Upload, stream, search, edit, transcribe, and generate AI video and audio using the VideoDB SDK.