Bring very old Android projects to a current supported baseline with staged upgrades, deprecated API replacement, 16 KB alignment checks, and explicit handoff to specialized skills.
69
62%
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 ./.github/skills/android-modernization-upgrade/SKILL.mdQuality
Discovery
67%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is strong in specificity and distinctiveness, clearly carving out a niche for legacy Android project modernization with concrete actions listed. However, it lacks an explicit 'Use when...' clause and could benefit from more natural trigger terms that users would actually type when seeking help with outdated Android projects.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user wants to migrate, modernize, or update a legacy/outdated Android project to current SDK and Gradle versions.'
Include more natural trigger terms users would say, such as 'migrate', 'update Gradle', 'AGP upgrade', 'targetSdk', 'compileSdk', 'legacy Android app', 'modernize Android project'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'staged upgrades', 'deprecated API replacement', '16 KB alignment checks', and 'explicit handoff to specialized skills'. These are concrete, actionable capabilities. | 3 / 3 |
Completeness | The 'what' is well covered (staged upgrades, deprecated API replacement, alignment checks, handoff). However, there is no explicit 'Use when...' clause or equivalent trigger guidance, which per the rubric caps completeness at 2. | 2 / 3 |
Trigger Term Quality | Includes some relevant terms like 'Android projects', 'deprecated API', 'upgrades', and '16 KB alignment', but misses common user phrases like 'migrate', 'update Gradle', 'AGP', 'compileSdk', 'targetSdk', 'legacy Android app', or 'modernize'. Users might not naturally say 'bring very old Android projects to a current supported baseline'. | 2 / 3 |
Distinctiveness Conflict Risk | The description targets a very specific niche: modernizing old Android projects with staged upgrades and 16 KB alignment checks. This is unlikely to conflict with general Android development skills or other migration tools due to its specificity around legacy Android modernization. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-organized orchestration skill with good progressive disclosure and clear handoff points to specialized skills. Its main weaknesses are the lack of concrete, executable examples (no actual code showing deprecated API replacements or Gradle config changes) and somewhat verbose/redundant sections. The workflow would benefit from explicit validation commands and error recovery loops rather than abstract descriptions.
Suggestions
Add at least one concrete before/after code example showing a deprecated API replacement (e.g., replacing `android.support.v7.app.AppCompatActivity` with `androidx.appcompat.app.AppCompatActivity`) to improve actionability.
Show example output from the scripts (e.g., what `scan_project.py` emits as a diagnosis report) so Claude knows the expected format and can verify correctness.
Add explicit validation commands in the workflow steps (e.g., `./gradlew assembleDebug && ./gradlew test`) with a clear retry/rollback loop when a staged upgrade breaks the build.
Consolidate the 'When To Use' section to remove redundant trigger descriptions — the trigger language, purpose, and primary outcome lines largely repeat each other.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is moderately verbose with sections like 'When To Use' containing redundant trigger descriptions and the 'Responsibilities' section restating workflow concepts. Several sections (Anti-Patterns, Guardrails) overlap conceptually. However, it avoids explaining basic Android concepts Claude already knows. | 2 / 3 |
Actionability | The skill references specific scripts and commands (e.g., `python3 skills/.../scan_project.py`), which is good, but provides no executable code snippets, no example output, no concrete Gradle/build.gradle changes, and no actual deprecated-class replacement examples. The guidance remains at the process level rather than showing concrete transformations. | 2 / 3 |
Workflow Clarity | The 5-step workflow is clearly sequenced and mentions build/test/lint validation after each stage, which is good. However, the validation checkpoints are implicit ('rerun build, test, and lint') rather than explicit commands, and there's no feedback loop for what to do when a staged upgrade fails beyond routing to another skill. For a destructive/batch operation like repo-wide upgrades, this lacks the explicit validate-fix-retry loop needed for a score of 3. | 2 / 3 |
Progressive Disclosure | The skill is well-structured as an overview with clear references to external files (9 reference documents, 5 scripts, 6 handoff skills). Navigation is one level deep and clearly signaled. The content is appropriately split between the overview skill and supporting materials. | 3 / 3 |
Total | 9 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 10 / 11 Passed | |
c5bf673
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.