CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

android-navigation-type-safe

Implement type-safe Jetpack Navigation Compose routes using Kotlin serialization. Use only when defining typed Compose destinations and arguments; defer XML navigation, deep links, animations, and generic auth or bottom-navigation work.

57

Quality

72%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/android/android-navigation-type-safe/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

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

The body delivers concrete, correctly-scoped guidance with a real one-level reference, but is diluted by an empty header, duplicated anti-pattern restatements, and a cryptic "Canonical response anchors" section that serves no instructional purpose. Sequencing the guidance into an ordered workflow and pruning the padding would lift it substantially.

Suggestions

Delete the empty "Priority: P0 (CRITICAL)" header and the "Canonical response anchors" section, which duplicates the route example without adding instructional value.

Merge the Anti-Patterns section into Implementation Guidelines (string routes and hoisting are each stated twice) to remove redundant tokens.

Sequence the guidance as an ordered workflow (define @Serializable routes → build nested graphs with navigation extensions → hoist navigation events as callbacks → retrieve arguments with toRoute<T>()) instead of scattered declarative sections.

Label the reference accurately (e.g., "Route definitions and NavHost setup") so readers know the full executable example lives there.

DimensionReasoningScore

Conciseness

Bullets are lean and assume Compose competence, but the empty "Priority: P0 (CRITICAL)" header, guidance duplicated between Implementation Guidelines and Anti-Patterns, a version pin ("Navigation Compose 2.8.0+") outside any old-patterns section, and the cryptic "Canonical response anchors" section add unnecessary tokens — anchor 3, not 4.

3 / 5

Actionability

Concrete directives use real API names (".toRoute<T>()", "navigation extension functions", "onNavigateToX" callbacks) plus a concrete route example ("@Serializable data class ProductDetail(val productId: Long)"), with full executable code one level deep in references; the minor gap is no complete NavHost snippet inline — anchor 4, not 5.

4 / 5

Workflow Clarity

The implied order (define routes, split graphs, hoist events, retrieve args) is scattered across four sections with no sequencing, and the empty Priority and unexplained anchors sections add noise; each instruction is individually clear but checkpoints/ordering are absent — anchor 3, not 2.

3 / 5

Progressive Disclosure

The body is under 50 lines with labeled sections and a single one-level-deep reference that exists (references/implementation.md) and is properly linked; minor gaps are the underselling "Route Definitions" link label (the file also contains NavHost setup) and the unexplained "Canonical response anchors" section — anchor 4, not 5.

4 / 5

Total

14

/

20

Passed

Description

73%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, distinct description with an explicit use-when clause and effective negative triggers that reduce conflict risk. Its main weakness is limited action coverage and missing common trigger vocabulary such as NavHost or navigation graph.

Suggestions

Add 1-2 more concrete capabilities to the what-clause (e.g., splitting nested navigation graphs, hoisting navigation events) to raise specificity beyond 1-2 actions.

Broaden trigger terms with natural user phrasings such as "NavHost", "navigation graph", or "route arguments" to improve keyword coverage.

Make the when-clause slightly more concrete, e.g., "Use when the user mentions NavHost, type-safe routes, or passing typed arguments between Compose screens."

DimensionReasoningScore

Specificity

"Implement type-safe Jetpack Navigation Compose routes using Kotlin serialization" names the domain with 1-2 concrete actions (typed destinations, arguments), but does not enumerate several specific capabilities, matching anchor 3 rather than 4.

3 / 5

Completeness

Both what ("Implement type-safe … routes using Kotlin serialization") and when ("Use only when defining typed Compose destinations and arguments") are explicit, but the when-clause is narrow and lacks the varied concrete trigger phrases of a 5.

4 / 5

Trigger Term Quality

Natural terms like "Jetpack Navigation Compose", "Kotlin serialization", and "deep links" are present, but common user phrasings such as NavHost, navController, navigation graph, or route arguments are missing, matching anchor 4.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche (type-safe Navigation Compose) and explicitly defers adjacent domains ("XML navigation, deep links, animations, and generic auth or bottom-navigation"), minimizing overlap risk — a clean anchor 5 match.

5 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

HoangNguyen0403/agent-skills-standard

Path

skills/android/android-navigation-type-safe/SKILL.md

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.