Optimize Android app startup, UI rendering, and frame stability with Baseline Profiles and lazy initialization. Use when reducing startup time, diagnosing jank, or improving UI rendering performance. (triggers: **/*Benchmark.kt, **/*Initializer.kt, BaselineProfile, JankStats, recomposition)
69
61%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/android/android-performance/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong, well-crafted skill description that clearly defines its scope around Android performance optimization. It effectively combines natural language triggers ('startup time', 'jank') with specific technical identifiers (file patterns, library names), making it both discoverable and distinctive. The description is concise yet comprehensive, covering what the skill does, when to use it, and providing explicit trigger patterns.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'optimize Android app startup, UI rendering, and frame stability' along with specific techniques like 'Baseline Profiles and lazy initialization'. These are concrete, actionable capabilities. | 3 / 3 |
Completeness | Clearly answers both 'what' (optimize Android app startup, UI rendering, frame stability with Baseline Profiles and lazy initialization) and 'when' (reducing startup time, diagnosing jank, improving UI rendering performance) with explicit trigger terms and file patterns. | 3 / 3 |
Trigger Term Quality | Includes excellent natural keywords users would say: 'startup time', 'jank', 'UI rendering performance', plus specific technical triggers like 'BaselineProfile', 'JankStats', 'recomposition', and file patterns like '**/*Benchmark.kt'. Good coverage of both natural language and technical terms. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive niche focused specifically on Android performance optimization with unique triggers like BaselineProfile, JankStats, Benchmark.kt files, and recomposition. Unlikely to conflict with general Android development or other performance skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
22%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides a reasonable high-level overview of Android performance optimization areas but lacks the concrete, executable guidance needed to be truly actionable. It reads more like a checklist of best practices than a skill that teaches Claude how to perform specific tasks. The redundancy between sections 2/3 and the Anti-Patterns section wastes tokens, and the absence of any code examples, commands, or validation steps significantly limits its utility.
Suggestions
Add executable code examples for key tasks: a Baseline Profile generator class, an App Startup Initializer implementation, and a properly-keyed LazyColumn example.
Define a clear workflow for diagnosing and fixing performance issues, e.g.: 1. Run macrobenchmark → 2. Identify bottleneck → 3. Apply fix → 4. Re-benchmark to validate improvement.
Remove the Anti-Patterns section since it duplicates content from sections 2 and 3, or consolidate into a single location.
Add concrete commands for generating and installing baseline profiles (e.g., gradle task invocations, adb commands for verifying compilation).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient but has some redundancy — the 'Anti-Patterns' section repeats points already made in sections 2 and 3 (nested weights and Activity context in Singletons). Some guidance like 'Use Layout Inspector to find unnecessary recompositions' is somewhat generic knowledge Claude already possesses. | 2 / 3 |
Actionability | No executable code, no concrete commands, no specific examples. Guidance is directional ('use Baseline Profiles', 'defer heavy SDK init', 'use key') but lacks copy-paste-ready code snippets, benchmark commands, or configuration examples. The skill describes rather than instructs. | 1 / 3 |
Workflow Clarity | No clear sequenced workflow for any of the multi-step processes involved (generating baseline profiles, diagnosing jank, optimizing startup). Steps are listed as bullet points without ordering, validation checkpoints, or feedback loops for verifying improvements. | 1 / 3 |
Progressive Disclosure | References to implementation.md are present and one-level deep, which is good. However, the same link is used twice with different anchor text descriptions pointing to the same file, and the overview content itself is thin — it delegates to a reference file without providing enough actionable quick-start content inline. | 2 / 3 |
Total | 6 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
19a1140
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.