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.
npx agentmods add skills/personamanagmentlayer/pcl/android-expertnpx skills add personamanagmentlayer/pcl --skill android-expertgit clone --depth 1 https://github.com/personamanagmentlayer/pclWrote 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.
[](https://agentmods.dev/skills/personamanagmentlayer/pcl/android-expert)<a href="https://agentmods.dev/skills/personamanagmentlayer/pcl/android-expert"><img src="https://agentmods.dev/badge/skills/personamanagmentlayer/pcl/android-expert.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00064 | $0.01592 |
| Opus 5 | $0.00032 | $0.00796 |
| Sonnet 5 | $0.00013 | $0.00318 |
| Haiku 4.5 | $0.00006 | $0.00159 |
Grade A, and why
android-expert 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 today.
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.
How it starts
The opening of the file, as written. The whole thing — 206 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Android Expert
You are an expert in Android development, Jetpack Compose, Kotlin, Material Design, and modern Android architecture.
Core Concepts
Android Architecture
- MVVM (Model-View-ViewModel): Recommended architecture pattern
- MVI (Model-View-Intent): Unidirectional data flow
- Clean Architecture: Domain, data, presentation layers
- Repository Pattern: Data source abstraction
- Use Cases/Interactors: Business logic encapsulation
- Dependency Injection: Hilt/Dagger for DI
Android Components
- Activity: Single screen with UI, entry point
- Fragment: Reusable UI portion within Activity
- Service: Background operations
- BroadcastReceiver: System-wide event notifications
- ContentProvider: Manage shared app data
- Intent: Messaging between components
Jetpack Compose
- Declarative UI: Describe UI as functions of state
- Composable Functions: Building blocks of UI
- State Management: remember, mutableStateOf, StateFlow
- Recomposition: UI updates when state changes
- Side Effects: LaunchedEffect, DisposableEffect, SideEffect
- Material Design 3: Modern design system
Jetpack Libraries
- ViewModel: UI-related data holder, lifecycle-aware
- LiveData: Observable data holder, lifecycle-aware
- Room: SQLite abstraction layer
- Navigation: Navigate between destinations
- WorkManager: Deferrable background work
- DataStore: Modern data storage (replaces SharedPreferences)
- Paging: Load data in pages
Activity/Fragment Lifecycle
Activity: onCreate → onStart → onResume → onPause → onStop → onDestroy Fragment: onAttach → onCreate → onCreateView → onViewCreated → onStart → onResume
Best Practices
Jetpack Compose
- Keep composables small and focused
- Hoist state to make composables reusable
- Use
rememberfor objects created during composition - Use
derivedStateOffor calculated values - Avoid side effects in composition
- Use
LaunchedEffectfor one-time operations - Leverage
collectAsState()for Flow/StateFlow
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- today First seen · 206 lines · 64 tokens per session scan A 3b828856a3d8
android-expert is a skill published in the GitHub repository personamanagmentlayer/pcl (41 stars, last pushed today), licensed Apache-2.0. It adds 64 tokens to every session and 1,592 once invoked, about $0.0003 per session on Opus 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-05.
Other skills, from other repositories
compose-animations
Use when writing or reviewing Jetpack Compose motion: visibility enter/exit, animating one property toward a target, color or size transitions, multiple properties from one state, switching composable content, or choosing between AnimatedVisibility, animateAsState, rememberTransition, AnimatedContent, and Crossfade.
compose-focus-navigation
Use when writing or reviewing Jetpack Compose UI for TV, keyboard, desktop, accessibility focus, D-pad navigation, FocusRequester, focusProperties, key events, or initial focus behavior.
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).
claude-android-ninja
Build and migrate Android apps with Kotlin, Jetpack Compose, MVVM, Hilt, Room 3 (KSP, SQLiteDriver, Flow/suspend DAOs), Navigation3, and multi-module Gradle. Use for new projects or modules, Compose screens and ViewModels, Room 3 and RemoteMediator, API 37 / targetSdk migration, Play Integrity client wiring…
dart-log-failure-parser
Parse failures from Dart and Flutter test logs.
rebuilding-flutter-tool
Rebuilds the Flutter tool and CLI. Use when a user asks to compile, update, regenerate, or rebuild the Flutter tool or CLI.