CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

expo-ui-swift-ui

expo-ui-swift-ui

Quality

62%

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

Quality

Content

81%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 strong, lean usage guide: concrete install/rebuild commands, exact import paths, a per-component doc-verification loop, a working Host/RNHostView example, and a clearly signaled extension path with a user-confirmation checkpoint. The main defects are mechanical — a duplicate frontmatter block at the top of the body and an import path typo in the code example that contradicts the stated package path. Fixing those two items would make this an exemplary short skill.

Suggestions

Fix the import in the code example to "@expo/ui/swift-ui" so it matches the stated component import path ('Components are imported from `@expo/ui/swift-ui`').

Delete the duplicate second frontmatter block (lines 8-11) from the body, keeping a single frontmatter with the real description.

Replace the JSX `// ...` comments in the example with `{/* ... */}` so the snippet is copy-paste valid.

DimensionReasoningScore

Conciseness

The body is lean: every bullet delivers non-obvious information ('Components are imported from `@expo/ui/swift-ui`, modifiers from `@expo/ui/swift-ui/modifiers`', 'Every SwiftUI tree must be wrapped in `Host`') and assumes Claude's competence. Minor waste keeps it below 5: the duplicate frontmatter/header block at the top of the body is redundant tokens, and the 'SDK 55 only' version banner is time-sensitive content not placed in a deprecated/old-patterns section.

4 / 5

Actionability

Mostly executable guidance: 'npx expo install @expo/ui', exact import specifiers, a doc-fetch URL pattern ('https://docs.expo.dev/versions/v55.0.0/sdk/ui/swift-ui/{component-name}/index.md'), and a concrete Host/RNHostView JSX example. It falls short of 5 because the example's import reads "from \"@expo-ui/swift-ui\"" (should be "@expo/ui/swift-ui", contradicting the stated import path) and the JSX `//` comments make the snippet not copy-paste valid as-is.

4 / 5

Workflow Clarity

A simple single-purpose skill with an unambiguous flow: install, native rebuild ('A native rebuild is required after installation (`npx expo run:ios`)'), then build UIs — plus a built-in verification loop ('When about to use a component, fetch its docs to confirm the API') and a confirm-with-user checkpoint before extending. Per the simple-skill exception, this scores 5; no destructive or batch operations are involved.

5 / 5

Progressive Disclosure

The skill is under 50 lines, has no bundle files, needs no internal references, and is organized into clear sections (Installation, Instructions) with well-signaled external doc URLs. It misses 5 because of the stray duplicate frontmatter block at the top of the body, which is a structural artifact that mildly harms navigation and wastes header space.

4 / 5

Total

17

/

20

Passed

Description

28%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 operative frontmatter description is just the bare skill name 'expo-ui-swift-ui', which conveys no actions, no use-case triggers, and nothing a skill matcher can act on. A well-written description sentence exists in the file but only inside a duplicate frontmatter block in the body, so it is not surfaced where descriptions are read. Fixing this is a one-line change with large effect on triggerability.

Suggestions

Set the frontmatter description to the informative sentence currently duplicated in the body: '`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your Expo app.'

Add an explicit trigger clause, e.g. 'Use when building iOS UI in Expo/React Native with SwiftUI-style views and modifiers, or when the user mentions @expo/ui or SwiftUI components.'

Remove the duplicate second frontmatter block from the body so the file has a single valid frontmatter containing the real description.

DimensionReasoningScore

Specificity

The effective frontmatter description is just 'expo-ui-swift-ui' — the skill name repeated verbatim. It names the domain (the @expo/ui SwiftUI package) but contains no action verbs or capability statements, matching 'names the domain but actions are minimal or generic'. It is above a 1 because it is a concrete package name rather than pure abstract language.

2 / 5

Completeness

There is a vague 'what' at best (a package name with no statement of what it does) and no 'when' guidance whatsoever, matching 'has a vague what and no when'. Note that a genuinely informative description ('`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app') exists only in a duplicate frontmatter block inside the body, not in the operative description field.

2 / 5

Trigger Term Quality

The only text is the technical identifier 'expo-ui-swift-ui'; there are no natural phrases a user would say such as 'SwiftUI in Expo' or 'native iOS views'. It sits between 'no natural keywords; only technical jargon' (1) and the anchor it matches — one generic keyword ('swift-ui') present, common phrasings missing (2).

2 / 5

Distinctiveness Conflict Risk

The package name itself is fairly unique, so outright conflicts are limited, but the description provides no trigger guidance and sibling skills in the same family (e.g., other @expo/ui or Expo native-UI skills) could plausibly overlap, matching 'somewhat specific but could still overlap with similar skills'.

3 / 5

Total

9

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

description_field

'description' is very short (16 chars), consider making it more detailed

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/expo-ui-swift-ui/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.