Content
63%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The body is a highly actionable Expo networking cookbook with executable code for every major scenario, clear decision routing, and a well-integrated single reference file. It is held back by significant boilerplate that re-teaches standard fetch/React Query patterns Claude already knows and by inlining advanced material (auth, env vars, offline) that the progressive-disclosure structure should split into reference files.
Suggestions
Cut or drastically compress the sections that re-teach standard knowledge — basic fetch usage, React Query provider setup and useQuery/useMutation basics, and exponential-backoff retry — keeping only Expo-specific deltas like the expo/fetch preference, SecureStore, and loader routing.
Move the Authentication, Environment Variables, and Offline Support sections into separate files under references/ (e.g., references/auth.md, references/env-vars.md), keeping a short summary and pointer in SKILL.md alongside the existing expo-router-loaders.md entry.
Make the code examples fully self-contained by defining `isTokenExpired()` and `refreshToken()` (or noting them as user-provided stubs), and remove the comment-only "With React Query (automatic)" block and the redundant Example Invocations section.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body re-teaches patterns Claude already knows — basic fetch with `response.ok` checks, standard React Query provider setup and mutations, and exponential-backoff retry — and includes padded sections like the comment-only "With React Query (automatic)" block and an "Example Invocations" section that largely duplicates the Decision Tree. Genuine Expo-specific material (EXPO_PUBLIC_ semantics, SecureStore, loader routing) does earn its place, so this is anchor 3 (mostly efficient, some unnecessary explanation) rather than 2. | 3 / 5 |
Actionability | Nearly all guidance is executable, copy-paste-ready code: the authFetch wrapper, the typed ApiError class with retry, the apiClient with env config, and the NetInfo/onlineManager sync. Minor gaps keep it from anchor 5 — `isTokenExpired()` and `refreshToken()` are called in the token-refresh example but never defined. | 4 / 5 |
Workflow Clarity | The Decision Tree provides a coherent routing sequence across all seven topic areas, and Common Mistakes offers explicit wrong/right contrasts that function as checkpoints. It is not anchor 5 because guidance like "Parse response, throw typed errors" ends without any verification or feedback step, though the topic carries no destructive or batch operations that would cap the score. | 4 / 5 |
Progressive Disclosure | The single bundle reference (references/expo-router-loaders.md) exists on disk, is clearly signaled in a dedicated References section, and is correctly one level deep with in-context pointers from the Decision Tree. However, ~500 lines of auth, environment-variable, offline, and React Query cookbook content that plausibly belongs in separate reference files are inlined monolithically in SKILL.md, matching anchor 3 (content that should be separate is inline) rather than 4. | 3 / 5 |
Total | 14 / 20 Passed |