CtrlK
BlogDocsLog inGet started
Tessl Logo

android-viewsystem-foundations

Handle XML layouts, ConstraintLayout, Fragments, ViewBinding, DataBinding, and classic Android UI lifecycle patterns.

56

Quality

46%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./.github/skills/android-viewsystem-foundations/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

57%

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 excels at listing specific Android UI technologies and uses natural developer terminology that would serve as effective trigger terms. However, it critically lacks a 'Use when...' clause, which significantly hurts its completeness and makes it harder for Claude to know exactly when to select this skill over others. Adding explicit trigger guidance would substantially improve this description.

Suggestions

Add a 'Use when...' clause such as 'Use when the user asks about Android XML layouts, ConstraintLayout configuration, Fragment lifecycle, ViewBinding setup, or DataBinding expressions.'

Clarify the scope by specifying this covers traditional Android View-based UI (as opposed to Jetpack Compose) to reduce potential overlap with other Android UI skills.

Change 'Handle' to a more descriptive verb phrase like 'Creates, debugs, and refactors' to better convey the range of actions supported.

DimensionReasoningScore

Specificity

Lists multiple specific concrete technologies and actions: XML layouts, ConstraintLayout, Fragments, ViewBinding, DataBinding, and Android UI lifecycle patterns. These are concrete, identifiable capabilities.

3 / 3

Completeness

The description answers 'what does this do' reasonably well but completely lacks a 'Use when...' clause or any explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'when' is entirely absent, this scores a 1.

1 / 3

Trigger Term Quality

Includes strong natural keywords that Android developers would actually use: 'XML layouts', 'ConstraintLayout', 'Fragments', 'ViewBinding', 'DataBinding', 'Android UI', 'lifecycle'. These are terms developers naturally mention when seeking help.

3 / 3

Distinctiveness Conflict Risk

The Android-specific terms like ConstraintLayout, ViewBinding, DataBinding, and Fragments create a fairly distinct niche, but 'XML layouts' and 'UI lifecycle patterns' could overlap with other Android or general UI skills. Without explicit scoping, there's moderate conflict risk.

2 / 3

Total

9

/

12

Passed

Implementation

35%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill reads more like a high-level process guide than an actionable skill file. It correctly identifies the domain scope and provides reasonable guardrails and anti-patterns, but critically lacks any concrete code examples—no XML layout snippets, no ViewBinding patterns, no Fragment lifecycle code. The workflow is abstract and descriptive rather than instructive, making it difficult for Claude to derive specific implementation guidance.

Suggestions

Add concrete, executable code examples for key patterns: ViewBinding setup in a Fragment (including clearing binding in onDestroyView), a ConstraintLayout XML snippet, and RecyclerView adapter with DiffUtil.

Replace the abstract workflow steps with specific, copy-paste-ready patterns showing the correct lifecycle handling, e.g., a Fragment with proper binding lifecycle management.

Add validation checkpoints to the workflow, such as 'verify binding is null after onDestroyView' or 'run lint checks for accessibility issues' with specific commands.

Include at least one complete before/after example showing a common anti-pattern (e.g., stale binding reference) and its fix with actual code.

DimensionReasoningScore

Conciseness

The content is reasonably structured but includes some verbose guidance that Claude would already know (e.g., 'Respect accessibility semantics, contrast, focus order' and general Android development principles). The workflow steps are somewhat abstract and could be tightened.

2 / 3

Actionability

The skill lacks any concrete, executable code examples. There are no XML snippets, no ViewBinding setup code, no Fragment lifecycle code patterns. The 'Examples' section only provides gradle commands without showing actual implementation patterns. The workflow steps describe what to do abstractly rather than showing how.

1 / 3

Workflow Clarity

The workflow has a clear sequence of 5 steps, and the done checklist provides some validation. However, there are no explicit validation checkpoints or feedback loops for error recovery within the steps themselves. For a skill involving Fragment lifecycle and view binding cleanup (which can be destructive/error-prone), the lack of concrete verification steps is a gap.

2 / 3

Progressive Disclosure

The content has good section organization and mentions handoff skills. However, it doesn't reference any supplementary files for detailed patterns, and the official references are just external links. The anti-patterns and guardrails sections contain content that could benefit from linked detailed guides rather than brief bullet points.

2 / 3

Total

7

/

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

10

/

11

Passed

Repository
krutikJain/android-agent-skills
Reviewed

Table of Contents

Is this your skill?

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.