TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/AmolPardeshi99/android-performance-skills/llms.txt
Use this file to discover all available pages before exploring further.
SKILL.md standard is an open format supported across all major AI coding agents. On startup, the agent reads only the name and description fields from each installed skill — roughly 100 tokens per skill. The full skill body is loaded only when the user’s task matches the skill’s description. This keeps the agent’s context window lean during unrelated work while making exhaustive domain knowledge available exactly when it is needed.
How a skill activates
Agent starts up and reads skill metadata
When your AI coding agent launches, it scans the skills directory and reads the
name and description field from each SKILL.md file. This costs about 100 tokens per skill and takes no meaningful context space.You start a task involving Android performance
You ask your agent to review a coroutine, fix a memory leak, audit a
BroadcastReceiver, or investigate why your app is freezing. The agent evaluates your request against the skill descriptions it loaded on startup.Agent detects the task matches a skill
The agent identifies that your task matches one of the installed skills — for example, a question about
withContext or runBlocking matches the ANR and jank prevention skill, while a question about onDestroyView or ViewBinding matches the memory leak prevention skill.Project structure
The repository contains two skill directories, each with a singleSKILL.md file:
SKILL.md (uppercase). Most agents pick up new skills without a restart.
Skills activate automatically
You do not need to invoke these skills manually or include them in your prompts. The agent handles detection and loading on its own. When you are working on unrelated code, the skills stay out of the context window entirely.Which tasks trigger each skill
Which tasks trigger the ANR & jank prevention skill?
Which tasks trigger the ANR & jank prevention skill?
The ANR and jank prevention skill activates whenever your task involves:
- Coroutines or threading —
Dispatchers,withContext,runBlocking,GlobalScope,Mutex,synchronized - Android component lifecycles —
Activity,Fragment,Service,BroadcastReceiver,JobService,ContentProvider - Jetpack Compose recomposition or state —
remember,derivedStateOf,LazyColumn,Modifier, stability - RecyclerView or Adapter code —
onBindViewHolder,DiffUtil,ListAdapter - Binder IPC or system service calls —
PackageManager,ContentResolver,AccountManager SharedPreferencesorDataStore- Custom views or
onDraw - Background work —
WorkManager, coroutine scopes,JobScheduler - Any mention of ANR, frozen frames, jank, performance, StrictMode, Perfetto, or Android Vitals
- ANR log analysis, thread traces, CPU usage in bugreports, or distinguishing app-side ANRs from system-induced ones
Which tasks trigger the memory leak prevention skill?
Which tasks trigger the memory leak prevention skill?
The memory leak prevention skill activates whenever your task involves:
- Fragment or Activity lifecycle and
ViewBinding—onDestroyView, nulling_binding Contextusage in singletons or long-lived objects —applicationContextvsActivitycontext- Static fields or
companion objects holding views or activities - Listeners, observers, or
BroadcastReceivers without symmetric unregistration LiveDataorFlowcollection in Fragments —viewLifecycleOwner,repeatOnLifecycleViewModelholding UI references or callbacks- Coroutine scopes —
GlobalScope,CoroutineScope,viewModelScope,lifecycleScope - Resource management —
Cursor,InputStream,MediaPlayer,Bitmap,SQLite - Custom views —
onDetachedFromWindow, animators, bitmaps HandlerandRunnablewithpostDelayedWebViewlifecycle- Hilt or DI scope alignment
- Jetpack Compose memory concerns —
remember,DisposableEffect,LaunchedEffect,rememberCoroutineScope,RememberObserver,LocalContext, composable lambdas in ViewModels - Detection and tooling — LeakCanary setup, Android Studio Memory Profiler, heapprofd, Perfetto heap graphs,
ApplicationExitInfoOOM detection
applicationContext here”, “how do I clean up in onDestroyView”, or “my Activity is leaking”.