CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

expo-ui-jetpack-compose

`@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.

56

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/expo/skills/expo-ui-jetpack-compose/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

86%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 is a tight, highly actionable reference: concrete install commands, verification-oriented instructions (read the .d.ts, fetch docs per component), a working example, and high-value component guidance. Its only weaknesses are the time-sensitive version pinning scattered through the text and bullet-style rather than sequenced workflow presentation.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's intelligence ("Expo UI's API mirrors Jetpack Compose's API") with every section earning its place, matching 'Efficient; minor instances that could be trimmed'. It misses 5 because of the time-sensitive SDK 55 version note and hardcoded v55.0.0 doc URLs, which the guidelines penalize unless isolated in a deprecated/old-patterns section, plus slightly padded Icon instructions.

4 / 5

Actionability

Fully executable guidance throughout: `npx expo install @expo/ui`, a `node -e` command to locate the package, concrete doc URL patterns, a copy-paste-ready Host/Column/Button example with real modifiers, and exact `<Icon source={require('./icon.xml')} size={24} />` usage — matching 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The sequence is clear and includes validation checkpoints: install → native rebuild note → always read the `.d.ts` types to confirm the API → fetch component docs before use → wrap trees in Host. It is not 5 because steps are unordered bullets rather than an explicit sequence, and there is no error-recovery guidance if the API check fails.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/ directories), and the skill is under 50 lines with well-organized sections (Installation, Instructions, Key Components), so the simple-skill exception applies: well-organized sections alone merit 5. External detail is pushed to clearly signaled one-level-deep sources (per-component doc URLs and the package's own .d.ts files) rather than inlined.

5 / 5

Total

18

/

20

Passed

Description

43%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 clearly identifies a niche package but reads as a bare capability statement: it tells what the package does without any guidance on when to reach for the skill, and uses second-person voice that further weakens it. Trigger terms are adequate but lack natural synonyms a user would say.

Suggestions

Rewrite in third person and enumerate concrete actions, e.g. "Build native Android UIs in Expo apps using Jetpack Compose Views and modifiers via `@expo-ui/jetpack-compose`."

Add an explicit trigger clause: "Use when the user wants native Jetpack Compose / Material 3 components in an Expo app, or mentions @expo/ui, Compose Views, or Compose modifiers."

Include natural synonyms users would say (Expo UI, native Android views, Material 3) to broaden trigger-term coverage beyond the technical package name.

DimensionReasoningScore

Specificity

The description names the domain but the action is generic: "lets you use Jetpack Compose Views and modifiers in your app" offers only 'use X', matching the anchor 'Names the domain but actions are minimal or generic' (score 2). The rubric's voice guideline penalizes second person ('lets you use') by reducing specificity by 1, bringing it to 1.

1 / 5

Completeness

The 'what' is stated (use Jetpack Compose Views and modifiers in your app) but the 'when' is entirely absent — there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is not 4 because 'when' is not even weakly implied; it is not lower because the 'what' is clear.

3 / 5

Trigger Term Quality

Relevant keywords are present — "@expo-ui/jetpack-compose", "Jetpack Compose Views", "modifiers" — but common variations users would naturally say (e.g. 'Expo UI', 'native Android components', 'Android UI') are missing, matching 'Some relevant keywords but missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

The package path `@expo-ui/jetpack-compose` carves out a clear, distinct niche with minimal conflict risk against other skills. It falls short of 5 because distinctiveness rests solely on the technical package name rather than natural trigger phrases, leaving minor overlap risk with general React Native / Expo UI guidance.

4 / 5

Total

11

/

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

referenced_paths_exist

Referenced path issues: 1 missing, 1 deeper-than-1-level

Warning

Total

15

/

16

Passed

Repository

openai/plugins

Path

plugins/expo/skills/expo-ui-jetpack-compose/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.