Skills use-dom
๐Ÿ“ฆ

use-dom

v1.0.0 Content revision r1 Safe โšก Contains scriptsโš™๏ธ External commands๐Ÿ“ Filesystem access

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.

Supports: Claude Codex Code(CC)
๐Ÿฅˆ 80 Silver

Install with my Agent

Copy this request to your Agent. It includes the canonical Skill page and manifest.

Agent request
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

Safe
v4 โ€ข 7/5/2026 Open versioned report

The 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.

1
Files scanned
418
Lines analyzed
0
Review items
0
False positives ignored
No confirmed security findings were detected by the latest completed static and semantic audit. This does not prove the skill has no side effects.
Audited by: codex View Audit History โ†’
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.

Open versioned report
Security Assessment

Copy report link

https://skillstore.io/skills/expo-use-dom/audits/4?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdown badge

[![Skillstore security assessment](https://skillstore.io/badges/skills/expo-use-dom/security.svg)](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/4

BibTeX 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: High
55
Architecture
100
Maintainability
87
Content
69
Community
83
Spec Compliance

What 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 a Basic DOM Component
Create an Expo DOM component for [web library or UI]. Include the use dom directive, typed DOMProps, serializable props, and native usage guidance.
Migrate a Web Component
Help migrate this React web component into an Expo DOM component. Identify prop changes, CSS handling, asset handling, and native screen integration.
Wire Native Actions
Design a DOM component that receives async native actions as props. Keep inputs serializable and explain error handling across the WebView boundary.
Review a DOM Integration Plan
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.

Frequently Asked Questions

What does this skill help build?
It helps build Expo DOM components that run web code in native WebViews and render directly on web.
Does it replace React Native components?
No. It is best for web-only libraries, complex HTML layouts, embeds, canvas, and WebGL.
Can DOM components use web libraries?
Yes. The skill shows patterns for libraries that need DOM APIs, such as charts or syntax highlighters.
How are native actions exposed?
Native screens can pass async functions as props, and DOM components can call those functions from the WebView.
Can router hooks run inside DOM components?
Some router APIs work directly. State hooks that need native routing data should run in the native parent.
Is it suitable for production apps?
Yes, when components are scoped, props are serializable, performance is profiled, and all target platforms are tested.

Developer Details

Author

expo

License

MIT

Author version

v1.0.0

Skillstore revision

r1

Ref

30c73eac2afe762f6aa9c4553158769369d47351

Maintenance freshness

7/18/2026

Usage

4 downloads ยท 143 views

File structure

๐Ÿ“„ SKILL.md