{
  "markdown": "# Android & KMP Claude Code Playbook\n\nA Claude Code plugin for Android and Kotlin Multiplatform (KMP) projects — 16 skills, 8 sub-agents, and 1 command that enforce Clean Architecture, Compose best practices, KMP patterns, TDD, and more.\n\n## Install as a plugin\n\n```\n/plugin marketplace add rezaiyan/android-kmp-claude-playbook\n```\n\nThat's it. Skills and agents load automatically based on what you're working on.\n\n## Manual install (copy-paste)\n\nIf you prefer not to use the plugin system:\n\n1. Copy `.claude/` and `CLAUDE.md` into the root of your Android/KMP project.\n2. Open the project in Claude Code — rules and skills load automatically.\n\n## What's included\n\n```\n.claude/\n├── agents/       # Sub-agents for specialized autonomous tasks\n├── skills/       # Topic-specific reference skills (loaded on demand)\n└── commands/     # Custom slash commands\n.claude-plugin/\n├── plugin.json       # Plugin manifest\n└── marketplace.json  # Marketplace metadata\nCLAUDE.md             # Project instructions Claude reads automatically\n```\n\n## Skills\n\nSkills are Markdown files Claude reads when relevant context is detected, or when you invoke them with `/skill <name>`.\n\n| Skill | Topic |\n|---|---|\n| `clean-code` | Kotlin naming, null safety, scope functions, sealed interfaces |\n| `clean-architecture` | Layer diagram, domain models, use cases, mappers |\n| `jetpack-compose` | Stateless composables, state hoisting, slot API, side effects |\n| `compose-stability` | @Stable/@Immutable, ImmutableList, strong skipping, compiler metrics |\n| `kmp-patterns` | Source sets, expect/actual, SQLDelight, Ktor, kotlinx.datetime, SKIE |\n| `coroutines-flow` | Structured concurrency, Flow operators, StateFlow, SharedFlow |\n| `dependency-injection` | Koin 4.x modules, viewModel {}, scopes, Hilt patterns |\n| `solid-android` | SOLID + YAGNI/DRY/KISS applied to Kotlin/Android |\n| `tdd-android` | Red-Green-Refactor, Turbine, FakeRepository, MockEngine |\n| `database-migration` | Room AutoMigration, manual Migration, SQLDelight .sqm |\n| `ci-cd-android` | GitHub Actions, Gradle caching, signing, Play Store, Kover |\n| `modularization` | Feature module graph, convention plugins, boundary rules |\n| `wear-os` | Tiles, complications, Horologist, Health Services, ambient mode |\n| `tv-os` | Compose for TV, D-pad focus, TvLazyRow/Column, 10-foot UX |\n| `xr-development` | Jetpack XR, Subspace, SpatialPanel, Orbiter, GltfModel, gaze |\n| `widget-development` | Glance API, GlanceAppWidget, state, lazy lists, click actions |\n\n## Agents\n\nSub-agents handle specialized tasks autonomously. Claude triggers them automatically based on what you're working on.\n\n| Agent | Purpose | Triggered when |\n|---|---|---|\n| `compose-reviewer` | Reviews Compose code for recomposition, stability, Modifier order, accessibility | Writing/modifying Compose UI |\n| `tdd-enforcer` | Writes failing tests first, then implementation; enforces coverage | Before/during feature implementation |\n| `migration-expert` | Designs and implements Room/SQLDelight migrations with tests | Any database schema change |\n| `wear-os-specialist` | Implements Wear OS screens, tiles, complications, Health Services | Wear OS feature work |\n| `tv-developer` | Implements Android TV screens with D-pad focus and 10-foot UX | Android TV feature work |\n| `ci-cd-optimizer` | Builds/improves GitHub Actions pipelines — cache, signing, Play Store | CI/CD setup or optimization |\n| `xr-specialist` | Implements Android XR features — Subspace, SpatialPanel, Orbiter, 3D | Android XR feature work |\n| `module-graph-auditor` | Detects illegal cross-module deps, missing convention plugins, layer violations | Adding modules or reviewing dependency graph |\n\n## Commands\n\n| Command | What it does |\n|---|---|\n| `/migrate` | Plans and implements a Room or SQLDelight database migration |\n\n## Universal rules\n\nThese rules are always active via `CLAUDE.md`:\n\n- Kotlin idioms over Java patterns. No `!!` without justification.\n- Coroutines over callbacks. `Flow` over `LiveData`.\n- State flows down, events flow up (event sink pattern).\n- No business logic in `@Composable` functions.\n- No `try-catch` for control flow — use `Flow.catch {}` or `Try<T>`.\n- Clean Architecture layer boundaries strictly enforced.\n- `ImmutableList<T>` over `List<T>` in Compose parameters.\n- `fakes` over `mocks` in tests.\n\n## License\n\nMIT",
  "bytes": 4345,
  "sha": "ec2f96af09a6ded93dc116429e241ade133b6f7517dae0b873941b1532c8f5ab",
  "repo_slug": "rezaiyan/android-kmp-claude-playbook",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_rezaiyan_android_kmp_claude_playbook_and_60640dee/readme"
}