Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
61
52%
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 ./config/claude/skills/building-native-ui/SKILL.mdQuality
Discovery
32%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 identifies its domain (Expo Router) but reads more like a table of contents than a skill description. It lacks concrete actions, explicit trigger guidance ('Use when...'), and sufficient natural keywords that users would employ when needing this skill. The broad topic categories create potential overlap with other frontend/mobile development skills.
Suggestions
Add an explicit 'Use when...' clause with trigger scenarios, e.g., 'Use when the user asks about Expo Router, file-based routing in React Native, tab navigation setup, or building mobile apps with Expo.'
Replace category listings with specific concrete actions, e.g., 'Sets up file-based routing, configures native tab bars, implements stack navigation, creates animated screen transitions, and applies consistent styling patterns.'
Include common natural language variations users might say, such as 'React Native', 'mobile app', 'screen navigation', 'tab bar', 'stack navigator', and 'Expo SDK'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Expo Router apps) and lists several topic areas (styling, components, navigation, animations, patterns, native tabs), but these are categories rather than concrete actions. It doesn't describe specific actions like 'configure tab navigation', 'implement animated transitions', or 'set up file-based routing'. | 2 / 3 |
Completeness | It describes 'what' at a high level (building apps with Expo Router covering various topics), but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also fairly weak, so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'Expo Router', 'navigation', 'animations', 'native tabs', and 'styling' that users might mention. However, it's missing common variations and natural phrases users would say such as 'React Native', 'mobile app', 'screen transitions', 'stack navigator', 'file-based routing', or '.tsx'. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Expo Router' specifically provides some distinctiveness, but broad terms like 'styling', 'components', 'animations', and 'patterns' could easily overlap with general React Native skills, CSS/styling skills, or animation-focused skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
72%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-structured skill with strong progressive disclosure and highly actionable code examples. The reference architecture is excellent, with clear one-level-deep pointers to detailed guides. Main weaknesses are some verbosity in the Expo Go section and lack of validation/verification workflows for route restructuring and navigation changes.
Suggestions
Trim the 'When Expo Go Works' and 'When Custom Builds Are Required' sections — Claude knows what Expo Go supports; a brief bullet list of custom-build triggers is sufficient.
Add a validation step or checklist for route restructuring (e.g., 'After moving routes: verify _layout.tsx references match, check no orphaned files, test navigation paths').
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient but has some unnecessary explanation (e.g., the 'When Expo Go Works' section listing things Claude already knows, and some verbose justifications like 'Creating custom builds adds complexity, slower iteration'). The library preferences section is admirably terse. | 2 / 3 |
Actionability | Provides concrete, executable code examples throughout — context menus, link previews, sheet configuration, stack layouts, shadow syntax, and a complete route structure with real TSX. Commands like `npx expo start` are specific and copy-paste ready. | 3 / 3 |
Workflow Clarity | The 'Running the App' section has a clear sequence (try Expo Go first → check features → custom build only if needed), but there are no validation checkpoints or error recovery steps. For a skill covering app building with navigation restructuring and route changes, there's no verification workflow for ensuring routes are correct after changes. | 2 / 3 |
Progressive Disclosure | Excellent structure with a clear references section at the top pointing to 11 separate reference files (one level deep, well-signaled with descriptions). The main file serves as an overview covering fundamentals while deferring detailed topics like animations, storage, and tabs to dedicated files. | 3 / 3 |
Total | 10 / 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 |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
2c6f6e8
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.