CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

upgrading-expo

Guidelines for upgrading Expo SDK versions and fixing dependency issues

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 ./plugins/expo/skills/upgrading-expo/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%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.

This is a strong, lean, highly actionable reference: copy-paste commands, concrete config edits, a deprecated-package table, and a clean one-level reference structure that matches the actual bundle. Its main weakness is workflow orchestration — the step-by-step upgrade process covers only the first three steps, the many checklist sections are never sequenced relative to it, and there is no guidance on what to do when expo-doctor fails or when destructive cache-clearing/prebuild steps go wrong.

Suggestions

Extend the Step-by-Step Upgrade Process into a full ordered workflow that slots the later sections (prebuild, housekeeping, deprecated-package migration, metro/postcss cleanup) into the sequence, so the checklists aren't a floating unordered list.

Add an error-recovery loop after "Run diagnostics: npx expo-doctor" — e.g. what to do when the doctor reports version mismatches or missing peer dependencies (fix, then re-run until clean).

Add a post-check after the destructive steps (rm -rf node_modules .expo, prebuild --clean), such as reinstalling with the package manager used by the project and verifying the app builds/starts before proceeding.

DimensionReasoningScore

Conciseness

The body is a dense, checklist-style document with essentially no explanation of concepts Claude already knows, but it has minor fat: the prebuild section repeats the CNG/bare-workflow caveat already stated in bold above it, and a few items are generic ("Test all camera, audio, and video features"). Version-specific facts are mostly confined to dedicated sections (Deprecated Packages, Metro), which keeps it above anchor 3 but short of 'every token earns its place'.

4 / 5

Actionability

Nearly every instruction is a copy-paste-ready command or concrete edit — "npx expo install expo@latest", "npx expo install --fix", "npx expo-doctor", "npx expo prebuild --clean", "cd ios && pod install --repo-update", "cd android && ./gradlew clean" — plus a deprecated-package mapping table and an exact JSON snippet for expo.install.exclude. This matches 'Fully executable; copy-paste ready code or commands'.

5 / 5

Workflow Clarity

A real 3-step sequence exists (upgrade, run expo-doctor, clear caches) but the many subsequent sections (Prebuild, Housekeeping, Deprecated Packages, Postcss, Metro, etc.) are unordered checklists never integrated into that sequence, and there is no error-recovery loop — nothing says what to do when expo-doctor reports problems. Destructive commands ("rm -rf node_modules .expo", "prebuild --clean") lack post-validation, which caps this dimension at 3 per the judging guidelines.

3 / 5

Progressive Disclosure

A top-of-file References section lists all six reference files with one-line when-to-use descriptions (e.g. "SDK +54: React 19 changes"), every listed path exists in references/ as real one-level-deep markdown, and content is appropriately split — the working checklist stays inline while detailed migration guides live in references. This matches 'Clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation'.

5 / 5

Total

17

/

20

Passed

Description

53%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.

The description is concise and names a clear, specific niche, but it is what-only: it lacks any 'Use when...' trigger guidance and undersells the skill's actual coverage (diagnostics, prebuild, deprecated-package migration). Adding trigger phrases and one or two more concrete actions would move it firmly into the top anchors.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user wants to upgrade or migrate an Expo app to a newer SDK version, or when expo-doctor or dependency install errors appear after an upgrade."

Mention 1-2 more concrete capabilities currently only in the body — e.g. running expo-doctor, regenerating native projects with prebuild, or migrating deprecated packages like expo-av.

Include natural synonyms users would say ("update Expo", "migrate to SDK 55", "new Expo version") to improve trigger-term coverage.

DimensionReasoningScore

Specificity

Names the domain and two concrete actions ("upgrading Expo SDK versions", "fixing dependency issues") but stops there — it omits other capabilities the skill body actually covers (running diagnostics, prebuild, deprecated-package migration), so it matches 'Names domain and 1-2 concrete actions, but not comprehensive'.

3 / 5

Completeness

It clearly answers 'what' (guidelines for upgrading Expo SDK and fixing dependency issues) but contains no 'Use when...' clause or any trigger guidance, so per the judging guidelines completeness is capped at 3.

3 / 5

Trigger Term Quality

"upgrading", "Expo SDK", and "dependency issues" are relevant keywords, but common natural phrasings users would actually say ("update Expo", "migrate to SDK 55", "expo-doctor") and their variations are missing, matching 'Some relevant keywords but missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

"Expo SDK" pins a clear niche, keeping conflict risk low, but without explicit trigger phrasing it could still overlap with generic package-upgrade or dependency-management help — 'Mostly distinct; minor overlap risk with closely related skills'.

4 / 5

Total

13

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

openai/plugins

Path

plugins/expo/skills/upgrading-expo/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.