streaming-ssr

Stream shell-first MerJS page content with renderStream and skeleton placeholders.

354|17|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/justrach/merjs --skill streaming-ssr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: streaming-ssr
Source: https://github.com/justrach/merjs/tree/main/.claude/skills/streaming-ssr
Command: npx skills add https://github.com/justrach/merjs --skill streaming-ssr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Conventional SSR delivers content only after data has loaded, leading to longer wait times and janky user experiences. Streaming SSR solves this by streaming a shell, rendering skeleton placeholders, and resolving content in parallel as data arrives, improving perceived performance on MerJS pages.

Core Features & Use Cases

  • Shell-first rendering with immediate content
  • Skeleton placeholders and progressive content replacement
  • Parallel data fetching across multiple endpoints to speed up renders

Quick Start

Create or update app/$ARGUMENTS.zig to use renderStream, then run zig build serve and visit the route to see skeletons resolve

Frequently Asked Questions about streaming-ssr

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

FAQPage Schema
How does streaming SSR improve perceived web performance?

Streaming SSR improves perceived web performance by sending a page shell and skeleton placeholders first, then progressively replacing them with content as parallel data fetching resolves.

How do I implement skeleton placeholders and progressive content replacement in MerJS?

To implement skeleton placeholders in MerJS, you use the renderStream API to establish a shell-first render, then leverage the placeholder and resolve lifecycle to swap skeleton elements with live content as your two-phase fetch coordination completes.

Can I use streaming SSR with Cloudflare Workers and MerJS routes?

Yes, streaming SSR works with Cloudflare Workers and MerJS routes. The shell-first rendering and parallel data fetching mechanisms are designed to operate seamlessly across MerJS routes and edge environments to speed up content delivery.

Why does conventional SSR cause longer wait times compared to shell-first rendering?

Conventional SSR causes longer wait times because it blocks content delivery until all data has fully loaded, whereas shell-first rendering immediately streams the structural shell and uses skeletons to keep users engaged during parallel data fetching.

What is the best way to coordinate parallel data fetching for streaming SSR?

The best way to coordinate parallel data fetching for streaming SSR is using two-phase fetch coordination alongside the renderStream API, which manages multiple endpoints simultaneously to guarantee seamless skeleton-to-content transitions.