mira-webview

Embeds a live website full-bleed inside a Mira presentation slide via iframe.

Updated Sep 2, 2026
One-click install
npx skills add https://github.com/mayconspirlandelli/slides-podcast-ia-home-office --skill mira-webview-mayconspirlandelli
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mira-webview
Source: https://github.com/mayconspirlandelli/slides-podcast-ia-home-office/tree/main/.agents/skills/mira-webview
Command: npx skills add https://github.com/mayconspirlandelli/slides-podcast-ia-home-office --skill mira-webview-mayconspirlandelli

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Embedding a website inside a slide deck breaks in two ways: the iframe steals keyboard focus so arrow keys stop navigating the deck, and many sites refuse embedding via X-Frame-Options or CSP frame-ancestors, showing a blank error page. This Skill generates a full-bleed webview slide that solves both problems. ## Core Features & Use Cases - Interaction guard: the site stays visible but non-clickable until the presenter clicks; pressing Esc returns keyboard control to the deck, with a keyboard bridge so Esc/E/P keep working even when focus is inside the iframe. - Embed-block handling: checks the domain at authoring time with curl, promotes a fallback layer with an "open in new tab" link above the iframe via a data-blocked attribute, and supports downloading the site to assets/webview/<slug>/ for offline file:// playback. - Full-bleed composition: the section uses padding 0 and 100vh height so the site fills the slide edge to edge, with an optional fake address bar and an orange breathing-border animation only on the guard layer. - Use Case: During a product pitch, embed the live product demo or landing page as a slide, click to interact with it on stage, then press Esc to continue the deck without losing navigation. ## Quick Start Use the mira-webview skill to add a slide showing the live site https://example.com filling the entire slide of my deck.

Frequently Asked Questions about mira-webview

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

FAQPage Schema
How do I embed a live website inside a presentation slide?▼

Add a full-bleed section with an iframe set to inset 0, 100% width and height, and border 0. This Skill generates that slide with an interaction guard so the iframe does not steal keyboard navigation from the deck.

How do I stop an iframe from stealing keyboard focus in a slide deck?▼

Place a transparent guard layer over the iframe with pointer-events disabled on the frame until the presenter clicks. Pressing Esc removes the interaction state and returns focus to the deck, and a keyboard bridge keeps Esc working when focus is inside the iframe.

Why does my embedded site show a blank page or refused to connect error?▼

The site sends X-Frame-Options or CSP frame-ancestors headers blocking embedding, and browsers show an opaque error page. Check headers at authoring time with curl -sI, then show a fallback link or download the site locally instead.

Can I embed a website in a slide for an offline presentation?▼

Yes. Download the page and its assets into assets/webview/<slug>/ and point the iframe src at the local index.html. Local copies are never blocked by X-Frame-Options and run over the file:// protocol without network access.

Can iframe embedding blocking be detected at runtime in JavaScript?▼

No. A blocked iframe and a healthy cross-origin iframe throw the same SecurityError when accessing contentDocument, so runtime detection is unreliable. The block must be checked at authoring time by inspecting response headers.