use-dom
Build Expo DOM Components
Expo teams often need web libraries inside native apps without rewriting them. This skill guides Claude, Codex, and Claude Code through safe DOM component patterns.
Install with my Agent
Copy this request to your Agent. It includes the canonical Skill page and manifest.
Review the Skillstore skill "use-dom" from https://skillstore.io/skills/expo-use-dom.md and its manifest at https://skillstore.io/api/skills/expo-use-dom/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.Your Agent should still show its plan and request any confirmation required by the security policy.
Agent-readable resources
Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.
Test it
Using "use-dom". User asks for a chart using a web-only charting library in Expo.
Expected outcome:
The assistant recommends a focused DOM component, typed serializable props, a height set through the dom prop, and native screen usage.
Using "use-dom". User needs route parameters inside a DOM component.
Expected outcome:
The assistant explains which router hooks need native access and recommends reading values in the parent screen before passing props.
Using "use-dom". User wants to move an entire screen into a WebView.
Expected outcome:
The assistant flags performance and navigation concerns, then suggests keeping native layout around smaller DOM components.
Security Audit
SafeThe static alerts are false positives in Markdown documentation examples. Dynamic import patterns are TypeScript type imports, backtick alerts are formatting, and the path traversal alert is a static bundled asset example. No prompt injection, data exfiltration, command execution, or host reconnaissance intent was found.
Risk Factors
โก Contains scripts (11)
โ๏ธ External commands (44)
๐ Filesystem access (1)
Share & cite this report
Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.
Copy report link
https://skillstore.io/skills/expo-use-dom/audits/4?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown badge
[](https://skillstore.io/skills/expo-use-dom?utm_source=security_passport_badge)HTML badge
<a href="https://skillstore.io/skills/expo-use-dom?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/expo-use-dom/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Embed card
<iframe src="https://skillstore.io/embed/skills/expo-use-dom.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Academic citations (APA ยท BibTeX ยท CFF)
APA citation
expo. (2026). use-dom security audit report (audit version 4) [Author version 1.0.0]. Skillstore. https://skillstore.io/skills/expo-use-dom/audits/4BibTeX citation
@techreport{expo-expo-use-dom-2026,
author = {expo},
title = {use-dom security audit report (audit version 4)},
institution = {Skillstore},
year = {2026},
number = {4},
url = {https://skillstore.io/skills/expo-use-dom/audits/4},
note = {Author version 1.0.0}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "use-dom security audit report (audit version 4)"
version: "1.0.0"
type: report
authors:
- name: "expo"
date-released: "2026-07-05"
url: "https://skillstore.io/skills/expo-use-dom/audits/4"
identifiers:
- type: other
value: "skillstore:expo-use-dom:audit:4"
description: "Skillstore immutable audit report identifier"
Skillstore Score
Why this score Evidence Confidence: HighWhat You Can Build
Embed Web Charts
Add charting libraries that depend on DOM APIs to an Expo app while keeping native screens around them.
Migrate React Web UI
Move existing React web components into a native Expo app in small, isolated steps.
Document DOM Boundaries
Create clear implementation guidance for routing, props, assets, and platform behavior before development starts.
Try These Prompts
Create an Expo DOM component for [web library or UI]. Include the use dom directive, typed DOMProps, serializable props, and native usage guidance.
Help migrate this React web component into an Expo DOM component. Identify prop changes, CSS handling, asset handling, and native screen integration.
Design a DOM component that receives async native actions as props. Keep inputs serializable and explain error handling across the WebView boundary.
Review this Expo DOM component plan for performance, routing, WebView sizing, platform differences, and cases where native components are better.
Best Practices
- Keep each DOM component focused on one web-only capability.
- Pass only serializable data and async functions across the native boundary.
- Test DOM components on iOS, Android, and web before release.
Avoid
- Do not use DOM components for simple UI that React Native can render efficiently.
- Do not place layout routes or whole navigation shells inside DOM components.
- Do not depend on direct shared state between native code and the WebView context.