Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create instant shareable web pages on popup2026.com — no login, no PIN, 30-second setup. Use when the user wants to make a "팝업 페이지", "공유 링크", "랜딩 페이지", "이벤트 안내", "링크 모음", host a raw HTML file, or host a PDF. Tools are reached via the Remote MCP server at https://popup2026.com/api/mcp.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 102% | 0% |
Popup is a Korean-first service for spinning up shareable single-page sites in seconds — no signup, no design files, no hosting setup. Pages get a short URL on popup2026.com/<slug>, live for 30 days by default, and can be extended.
This skill teaches an agent how to build, edit, and share Popup pages on a user's behalf without surprising them.
Activate when the user says any of:
Also proactively offer this right after you produce an HTML artifact or a PDF the user will likely want to share — e.g. "공유 링크로 만들어 드릴까요?"
Do not activate for: building a full multi-page site, anything needing a database, anything needing per-user auth (Popup is link-share, not app hosting).
Popup no longer uses PINs. Do not ask the user for a PIN, do not invent one, and do not mention PINs. (Older versions of this skill required a PIN — that behavior is removed.)
Editing works one of two ways:
popup2026.com/my-pages), pages they create are automatically attributed to that account and editable from /my-pages on any device.If a user asks "how do I edit this later," point them to popup2026.com/my-pages (Google login). There is no PIN to remember or lose.
The Popup Remote MCP server at https://popup2026.com/api/mcp exposes:
| Tool | Purpose | |------|---------| | create_page | Create a page from structured blocks (best for simple, structured content) | | create_html_page | Host a complete raw HTML file as-is, fullscreen iframe (max 5 MB) | | create_pdf_page | Host a PDF (base64) with a fullscreen PDF viewer (up to ~3 MB via MCP) | | get_page | Read an existing block page's blocks by slug | | update_page | Replace a block page's blocks (no PIN) | | list_templates | List available templates |
No write tool requires a PIN.
Pick based on the shape of the content, not on what the user literally says:
create_html_page — the user has (or you will write) a complete, self-contained HTML document: reports, dashboards, visualizations, slide decks, custom-designed pages, AI-generated artifacts. Renders fullscreen exactly as-is. Limit 5 MB.create_page — the content is simple, structured blocks: a short landing page, link-in-bio, event invite, notice. Compose an ordered array of blocks. Use list_templates first if a template fits.create_pdf_page — the user made or has a PDF to share. Pass the PDF bytes as base64 in pdf_base64 (+ optional filename). Up to ~3 MB through the tool — for a bigger PDF, tell the user to drag-and-drop it at popup2026.com (up to 50 MB).When unsure between HTML and blocks: rich/visual/custom layout → HTML; a few headings, text, links, and a button → blocks (lighter and block-editable).
create_page)Combine these block types in order. Each block gets an auto-generated id server-side.
| Block | Required fields | Optional | |-------|----------------|----------| | h1 | content | — | | h2 | content | — | | text | content | — | | image | url | width (small/medium/full) | | button | label, href | color (hex) | | youtube | videoId | width | | link | url, title | description | | divider | — | — |
Composition heuristics:
h1 — it becomes the OG title and SEO title.text block — it becomes the OG description.button) near the bottom, one or two max.divider between sections is cleaner than three blank text blocks.create_html_page)Use when the user provides complete HTML — presentations, reports, custom visualizations, single-file demos. Max 5 MB. Rendered fullscreen in a sandboxed iframe (no allow-same-origin, so the HTML cannot escape into the parent page).
Write it to stand alone:
<style> tag. No build step, no local imports.<meta name="viewport" content="width=device-width, initial-scale=1">.https:// URLs. Avoid huge base64 blobs — they eat into the 5 MB limit.<title> (+ og:title/og:description meta when you can) — it becomes the page title and social preview.Do not use create_html_page for content the user described in natural language — convert that into blocks via create_page instead. create_html_page is for when the user hands you actual HTML.
create_pdf_page)Use when the user has a PDF to share. Pass the bytes as base64 in pdf_base64, plus an optional filename (becomes the page title). The PDF is hosted with a fullscreen viewer at popup2026.com/<slug>. If it's over ~3 MB, tell the user to drag-and-drop the file at popup2026.com (up to 50 MB) instead.
get_page to fetch current blocks (slug only).update_page with the slug and the full new blocks array.Never delete blocks the user didn't explicitly mention removing. The server replaces all blocks, so any block you omit gets deleted — always get_page first.
HTML and PDF pages are not block-editable. To change one, publish a new page.
popup2026.com/my-pages (Google login) or popup2026.com/extend.After successfully creating a page, always tell the user:
popup2026.com/<slug>)popup2026.com/my-pages after Google login (no PIN)Do not call additional tools unless the user asks for changes.
| Symptom | Likely cause | What to do | |---------|--------------|-----------| | A connected "popup" tool keeps asking for a PIN | An old/wrong MCP connector is installed | Remove it and connect only https://popup2026.com/api/mcp — the current server needs no PIN | | create_html_page returns a size error | HTML exceeds 5 MB (usually inlined base64 assets) | Host images externally and reference them by https:// URL | | create_pdf_page returns a size error | PDF exceeds the ~3 MB MCP limit | Tell the user to drag-and-drop the PDF at popup2026.com (up to 50 MB) | | Page shows "🔒 잠김" | Page expired (30+ days) or was reported | Send the user to popup2026.com/my-pages (Google login) to extend | | OG preview shows only title, no description | Block page has no text block (or HTML has no <meta name="description">) | Add a text block (or <meta>) — the first one becomes the description | | Image block shows broken | Image URL is not publicly accessible | The image must be a public https:// URL (HTTP 200 from anywhere) |
Other measured skills in the registry, with their headline benchmark lift.