use-dom

Run web UI code inside native Expo apps via DOM components.

3|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/ravnhq/typescript-blueprint --skill use-dom-ravnhq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: use-dom
Source: https://github.com/ravnhq/typescript-blueprint/tree/main/.agents/skills/use-dom
Command: npx skills add https://github.com/ravnhq/typescript-blueprint --skill use-dom-ravnhq

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers often need to reuse web UI code inside native Expo apps while preserving web behavior, enabling incremental migration without rewriting components.

Core Features & Use Cases

  • Run web UI code inside native apps via DOM components while rendering unchanged on web
  • Migrate web code incrementally with DOMProps typing and isolated webview contexts
  • Use popular web libraries (charts, syntax highlighters, embeds) inside native while retaining native performance constraints

Quick Start

Enable running web UI code inside a native Expo app using DOM components and migrate to native incrementally.

Frequently Asked Questions about use-dom

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run web UI code inside a native Expo app?

You can run web UI code inside a native Expo app by using DOM components with the 'use dom' directive and expo/dom DOMProps typing to ensure safe, isolated webview execution across iOS, Android, and Web.

What is the best way to migrate web code incrementally to React Native?

Incremental web migration to React Native is achieved by using DOM components to run existing web UI code inside native apps via isolated webviews while rendering unchanged on web, avoiding full rewrites.

Can I use web libraries that rely on DOM APIs in React Native?

Yes, web libraries relying on DOM APIs like interactive charts, syntax highlighters, and embeds can run inside native Expo apps through DOM components while respecting native performance constraints.

Does the 'use dom' directive work on both iOS and Android?

The 'use dom' directive works across iOS, Android, and Web by rendering web UI code inside isolated webview contexts within the native Expo application while maintaining standard web rendering.

Why do I need DOMProps typing for web components in Expo?

You need DOMProps typing from expo/dom to ensure safe, isolated webview execution when running web UI code inside native Expo apps via DOM components during incremental migration.

What are the limitations of using DOM components for web migration?

DOM components run web UI in isolated webviews within native apps, meaning they are subject to native performance constraints and require the 'use dom' directive and DOMProps typing for safe execution across platforms.