Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
48
52%
Does it follow best practices?
Impact
—
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) and lists broad topic categories but lacks concrete actions and explicit trigger guidance. It reads more like a table of contents than a skill description optimized for selection. The absence of a 'Use when...' clause and missing natural user trigger terms significantly weaken its effectiveness for skill selection among many candidates.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Expo Router, React Native navigation, file-based routing, or building mobile apps with Expo.'
Replace broad category names with specific concrete actions, e.g., 'Configure file-based routing with Expo Router, implement native tab bars, set up stack navigation, create animated screen transitions.'
Include additional natural trigger terms users would say, such as 'React Native', 'mobile app', 'file-based routing', 'screen transitions', 'tab bar', 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 the skill covers (building apps with Expo Router across several topics) but completely lacks any 'Use when...' clause or 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' portion is also somewhat weak (listing topic areas rather than concrete capabilities), 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 the 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 that effectively serves as a comprehensive guide for Expo Router development. Its greatest strengths are the highly actionable code examples and excellent progressive disclosure through well-organized reference files. The main weaknesses are some verbosity in the Expo Go section and missing validation/verification steps for multi-step operations like navigation restructuring.
Suggestions
Trim the 'When Expo Go Works' and 'When Custom Builds Are Required' sections into a concise decision table or short bullet list rather than lengthy prose
Remove guidance Claude already knows (e.g., 'Always use import statements at the top of the file', 'Never use special characters in file names')
Add a verification step after navigation restructuring operations (e.g., 'After moving routes, verify no broken imports by running the app and checking all navigation paths')
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient with good use of bullet points and code examples, but includes some unnecessary explanation (e.g., the lengthy Expo Go vs custom builds section explaining when each works, and some guidance Claude would already know like 'always use import statements at the top of the file'). The 'When Expo Go Works' section listing obvious features is somewhat redundant. | 2 / 3 |
Actionability | Provides fully executable, copy-paste ready code examples for navigation, context menus, link previews, sheets, modals, and route structures. Specific library preferences are clearly stated with concrete alternatives. The common route structure section is particularly actionable with complete file-by-file examples. | 3 / 3 |
Workflow Clarity | The Expo Go workflow (try first, then custom build) is clearly sequenced, and the common route structure provides a clear pattern. However, there are no validation checkpoints for the multi-step processes like restructuring navigation or setting up tabs. Missing feedback loops for operations like 'always remove old route files when moving or restructuring navigation' — no verification step is provided. | 2 / 3 |
Progressive Disclosure | Excellent progressive disclosure with a clear references section at the top pointing to 11 well-organized reference files covering specific topics (route structure, tabs, icons, controls, etc.). The main SKILL.md serves as a concise overview with essential patterns inline, while detailed topics are appropriately delegated to one-level-deep reference files with clear descriptions. | 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 | |
3974caa
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.