Agent skill

Ssr Boost Migrate

by Lomray-Software in Lomray-Software/vite-ssr-boost

Migrate an existing Vite and React Router SPA to vite-ssr-boost SSR in Data mode, preserving route objects and checking streaming, hydration, bundle size, and deployment readiness.

MITAuto-check passedFrontend & Design

Install Ssr Boost Migrate

skills CLI
$ npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Lomray-Software/vite-ssr-boost ssr-boost-migrate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Lomray-Software/vite-ssr-boost.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ssr-boost-migrate .claude/skills/ssr-boost-migrate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ssr-boost-migrate
GitHub stars
118
Token cost
~2.3k tokens
SKILL.md length
1,090 words
Files
10 (incl. scripts, references, assets)
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Migrate an existing Vite and React Router SPA to vite-ssr-boost SSR in Data mode, preserving route objects and checking streaming, hydration, bundle size, and deployment readiness.

  • Works in 5 steps: Establish the baseline → Preview, review, apply → Complete request state and data loading → …
  • Tasks that involve Web performance
  • SKILL.md covers 1. Establish the baseline, 2. Preview, review, apply, 3. Complete request state and… and 4. Diagnose until green, plus 1 more section
  • Runs JavaScript and Shell scripts from its folder; calls npx, npm and bash

What it does

Ssr Boost Migrate is an agent skill from Lomray-Software/vite-ssr-boost. Migrate an existing Vite and React Router SPA to vite-ssr-boost SSR in Data mode, preserving route objects and checking streaming, hydration, bundle size, and deployment readiness.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts, reference files and assets (for example `references/deployment.md`, `references/entries.md` and `references/routes.md`).

It sits in Frontend & Design, covering Web performance. It works with Vite, React Router and React. The repository describes itself as: Super easy, based on Vite for create awesome SSR or SPA applications on React and React Router. The licence is MIT.

When your agent uses it

  • Tasks that involve Web performance

Example prompts

  • “/ssr-boost-migrate”

Requirements

  • Node.js
  • A Bash shell
  • Docker

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Establish the baseline
  2. Preview, review, apply
  3. Complete request state and data loading
  4. Diagnose until green
  5. Verify and roll out

What it can do on your machine

Read from SKILL.md and the folder at commit ad91d46. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript and Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • npx
    • npm
    • bash
    • tsc

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ssr Boost Migrate loads about 2.3k tokens when it runs, and up to ~8.9k if it reads all its reference files. Until then it costs about 50 tokens; SKILL.md has 1,090 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~50
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Lomray-Software/vite-ssr-boost at commit ad91d46, republished under its MIT licence (© Lomray-Software). 1,090 words, ~2,331 tokens.

Download SKILL.mdSave it as .claude/skills/ssr-boost-migrate/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
ssr-boost-migrate
description
Migrate an existing Vite and React Router SPA to vite-ssr-boost SSR in Data mode, preserving route objects and checking streaming, hydration, bundle size, and deployment readiness.

Migrate a Vite SPA

Use this procedure in the application repository. Read its instructions and preserve its package manager, providers, routes and unrelated changes. The API examples target vite-ssr-boost 8.x; read the installed version before changing imports. Documentation links point to the upstream repository so they work when this skill is copied on its own.

The testing kit, incremental SSR policy and Worker helper require a release containing those APIs; the stable 8.3.0 template dependency predates them. For a prerelease evaluation, the published 8.4.0-beta.4 was used for these workflows. Check installed exports and the project's release policy before adopting a prerelease; do not silently use one for a stable-only production rollout.

1. Establish the baseline

  • Inspect package.json, the lockfile, Vite config, HTML module script, browser entry, route definitions and deployment target. Run existing checks and record the current client JavaScript size before editing.
  • The migration baseline is Vite 6/7, matching React/React DOM 18/19, and react-router 7 Data mode. Tested combinations include React 18.2.0 + Router 7.18.3 + Vite 6.4.3 and React 19.2.8 + Router 7.18.3 + Vite 7.3.6. Node must satisfy the installed packages' engines (SSR Boost requires >=22.12.0). See compatibility. Newer templates also use the separately tested React 19 / Router 8 / Vite 8 row; peer ranges alone are not proof of compatibility.
  • If the SPA uses JSX BrowserRouter/Routes, first migrate it to one createBrowserRouter(routes) and RouterProvider. Preserve nested layouts, error boundaries and provider order. Route and loader shapes include a minimal before entry. Verify the SPA still works before adding SSR. Do not move to React Router Framework mode.
  • Record browser-only imports, module-scope state reads, custom router options, multiple roots and non-root Vite base. Automatic init deliberately refuses ambiguous startup code; preserve it with the manual entry shapes and migration guide.

2. Preview, review, apply

Run from the application root:

sh
npx @lomray/vite-ssr-boost init --dry-run

With no flag, init also defaults to a dry run. Review the complete diff: existing Vite plugins remain, exactly one outlet is inside #root, client and server share routes and the same wrapper tree, and scripts/dependencies are correct. Then apply the reviewed plan:

sh
npx @lomray/vite-ssr-boost init --apply
npm install
npx ssr-boost doctor --json

Init does not install packages. It preserves the original browser filename (often src/main.tsx), creates src/server.ts, and sets clientFile/serverFile relative to the Vite root. It can extract inline routes into routes.ssr.tsx. Do not rename files just to match examples. Review the changed build script: init replaces tsc -b && vite build, so retain type checking as a separate ts:check script. A second apply should report no changes.

For explicit paths use --root <project> --entry <browser-file> --routes <exported-route-module>; the file overrides are relative to the project, not the Vite root. If analysis fails, use the reported file/line and the manual guide; do not repeatedly apply or delete custom code to force acceptance.

3. Complete request state and data loading

Read entries and createHandler options before editing either entry. Use browser/entry and adapters/express/entry; node/entry was removed in v8. Keep the managed CLI unless the chosen target requires an application-owned transport.

Move getServerState reads and store construction into the browser entry's async init, after SSR state is ready. Use isSSRMode for the SPA fallback. Create server stores and head managers per request in onRequest; return JSON snapshots from getState. Keep browser globals in effects or client-only boundaries, and preserve equivalent first-render data on both sides.

Use streamed loader/action shapes: return an object with a slow promise, then consume it with Suspense and <Await> (or React 19 use). Keep Data mode loaders/actions browser-compatible for navigation; server-only I/O belongs behind an API. Forward request.signal. Keep footer hydration unless early shell interaction is required; early mode needs an async module script and all custom state at shell readiness. See streaming.

Show full SKILL.md (489 more words)Show less

4. Diagnose until green

Run npx ssr-boost doctor --json after dependency, entry, route, config or script changes. Fix every error and rerun until there are none. Inspect compatibility warnings against the tested matrix; an exit code of zero does not mean every check was ok. Robots and size checks are informational; doctor does not measure bundle size or execute hydration. It statically checks the managed Express entry even for apps with an additional Worker entry.

DiagnosticFix
SSR_BOOST_LOADER_NOT_SERIALIZABLEReplace functions, unsupported classes and cycles with explicit route data. Streamed promises and documented rich router values are supported.
SSR_BOOST_STATE_NOT_SERIALIZABLEReturn a plain JSON snapshot from getState; await custom state, convert dates and collections, rebuild stores inside client init.
SSR_BOOST_OUTLET_MISSINGPreserve exactly one <!--ssr-outlet--> inside the root; validate Fetch shells with loadHtmlShell.
SSR_BOOST_HYDRATION_STATE_MISSINGPreserve generated state scripts and flush retained footer HTML on the final onResponse call.
SSR_BOOST_DUPLICATE_OUTPUTEmit each retained chunk once; inject head contents into the existing head.
SSR_BOOST_ONRESPONSE_INVALID_RETURNMake the hook synchronous; return string, undefined (keep) or '' (withhold), never a promise.
SSR_BOOST_STREAM_PROMISE_ABORTEDBound/cancel loader I/O, handle rejection UI, and review abortDelay for legitimately slow work.
SSR_BOOST_DEPRECATED_REQ_RESUse context.request and context.response in render hooks; early Express onRequest(req, res) is unchanged.
SSR_BOOST_SSR_POLICYInspect the selected URL policy and pattern spelling when a page unexpectedly mounts as SPA.
SSR_BOOST_CACHE_PRIVATE_LEAKRestore private/no-store handling and bypass shared cache reads and writes for personalized pages.

See diagnostics and v8 upgrades. Hydration mismatches also require comparing dates, randomness, locale and browser-dependent branches in the initial render; do not suppress them.

5. Verify and roll out

Set up HTTP smoke, size, SSR and browser checks, then run this skill's verification script from the app root using its installed absolute path:

sh
bash /path/to/ssr-boost-migrate/scripts/verify.sh --help
bash /path/to/ssr-boost-migrate/scripts/verify.sh --dry-run .
bash /path/to/ssr-boost-migrate/scripts/verify.sh .
npm run test:ssr
npm run test:browser

There is no ssr-boost smoke subcommand: npm run smoke is an application script. The verifier runs doctor, build, the application's enforced size budget and smoke checks, then restores the SSR build because the template smoke ends with SPA output. Compare the new gzip total to the pre-migration baseline; investigate changed chunks before intentionally setting the reviewed budget. Do not copy the library's own budget into an app or automatically raise a failing budget.

For a large app, use incremental SSR: add ssr: { mode: 'include', routes: ['/', '/articles/:slug'] } beside init in the managed entry (or beside getHtml for Fetch). Widen the allow-list after direct-load, client navigation and hydration checks. Crawlers receive SSR by default, even outside the allow-list; use bots: 'policy' only when intended. Restart with SSR_BOOST_SSR_ROUTES='!/details' for a route rollback. SPA-selected requests skip server loaders/actions, so keep authentication and HTTP redirects in onRequest.

Read deployment choices for Docker/Node, Vercel, Amplify or Cloudflare Workers. Before declaring done, require green existing lint/types/tests, doctor review, enforced size budget, SSR and SPA smoke, streamed data and buffered bot checks, real browser hydration with a working counter, lazy CSS/navigation, redirects/404s, and a build/preview for the selected target. Record commands, outcomes and any unavailable checks explicitly; an unrun browser check is still outstanding.

© Lomray-Software, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts, references, assets) in skills/ssr-boost-migrate of Lomray-Software/vite-ssr-boost.

  • SKILL.md
  • assets/hydration.spec.ts.txt
  • assets/playwright.config.ts.txt
  • assets/size-budget.mjs
  • assets/smoke.mjs
  • references/deployment.md
  • references/entries.md
  • references/routes.md
  • references/verification.md
  • scripts/verify.sh

Open the folder on GitHubat commit ad91d46

Compare with similar skills

Ssr Boost Migrate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ssr Boost Migrate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ssr Boost Migrate this skillLomray-Software/vite-ssr-boost118—~2.3kAutomated safety check: PassMIT
Using Docs Kitlobehub/lobe-ui2.2k—~2.8kAutomated safety check: PassMIT
Clerk React Patternsgeekskai/blog1031 repos~1kAutomated safety check: NotesMIT
React Best Practicesryokun6/ryos1.3k—~2kAutomated safety check: PassMIT
Nextjsericrisco/rsc-harness174—~5.1kAutomated safety check: PassMIT
React Router Developmentremix-run/react-router57k1 repos~1.5kAutomated safety check: PassMIT

Similar skills

  • Using Docs Kit

    lobehub/lobe-ui

    Set up and author a documentation site with @lobehub/docs-kit (the lobedocs CLI, React Router + Vite static docs used by ui.lobehub.com).

    2.2k GitHub stars~2.8k tokensUpdated today
    Frontend & DesignAuto-check passed
  • React SPA auth patterns with @clerk/react for Vite/CRA - ClerkProvider setup, useAuth/useUser/useClerk hooks, React Router protected routes, custom sign-in flows.

    103 GitHub starsUsed in 1 repo~1k tokens
    Frontend & DesignAuto-check: notes
  • React performance optimization guidelines from Vercel Engineering (vercel-labs/agent-skills).

    1.3k GitHub stars~2k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Nextjs

    ericrisco/rsc-harness

    A skill your agent uses when building, reviewing, testing, securing, or optimizing a Next.js App Router app: Server vs Client boundaries, use server actions, route handlers, the v15 vs v16 use cache…

    174 GitHub stars~5.1k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • React Router Development

    remix-run/react-router

    Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.

    57k GitHub starsUsed in 1 repo~1.5k tokens
    Frontend & DesignAuto-check passed
  • Local Testing

    lobehub/lobe-ui

    Local browser verification for the lobe-ui component library and documentation site.

    2.2k GitHub stars~2.1k tokensUpdated today
    Frontend & DesignAuto-check passed

More from Lomray-Software/vite-ssr-boost

  • Ssr Boost New App

    Lomray-Software/vite-ssr-boost

    Create and roll out a new Vite React Router Data mode application with the published create-ssr-app templates, including streamed data, request state, tests, CI, size checks, and target-specific…

    118 GitHub stars~2.4k tokensUpdated 16 days ago
    Auto-check: notes

Questions about Ssr Boost Migrate

What does Ssr Boost Migrate do?

Migrate an existing Vite and React Router SPA to vite-ssr-boost SSR in Data mode, preserving route objects and checking streaming, hydration, bundle size, and deployment readiness. Ssr Boost Migrate is an agent skill from Lomray-Software/vite-ssr-boost. Migrate an existing Vite and React Router SPA to vite-ssr-boost SSR in Data mode, preserving route objects and checking streaming, hydration, bundle size, and deployment readiness.

When should I use Ssr Boost Migrate?

Ssr Boost Migrate fits situations like: tasks that involve Web performance.

How do I install Ssr Boost Migrate in Claude Code?

Run `npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a claude-code`. Or copy the skill folder (skills/ssr-boost-migrate in Lomray-Software/vite-ssr-boost) into .claude/skills/ssr-boost-migrate in your project. Claude Code loads it when a task matches its description.

How do I install Ssr Boost Migrate in Codex?

Run `npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a codex`. Or copy the skill folder (skills/ssr-boost-migrate in Lomray-Software/vite-ssr-boost) into .agents/skills/ssr-boost-migrate in your project. Codex loads it when a task matches its description.

Can I use Ssr Boost Migrate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ssr-boost-migrate, .gemini/skills/ssr-boost-migrate, .github/skills/ssr-boost-migrate and .opencode/skills/ssr-boost-migrate in your project.

What does Ssr Boost Migrate need to run?

Going by SKILL.md and its folder, Ssr Boost Migrate needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (npx, npm, bash and tsc). Our summary lists: Node.js; A Bash shell; Docker.

Does Ssr Boost Migrate access the network?

SKILL.md contains no URLs. Its commands use npx and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ssr Boost Migrate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Ssr Boost Migrate use?

Ssr Boost Migrate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ssr Boost Migrate use?

About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.5k tokens, read only when the agent opens those files.

What are the alternatives to Ssr Boost Migrate?

Skills that share tags, products or a category with Ssr Boost Migrate: Using Docs Kit (lobehub/lobe-ui, 2.2k stars), Clerk React Patterns (geekskai/blog, 103 stars), React Best Practices (ryokun6/ryos, 1.3k stars) and Nextjs (ericrisco/rsc-harness, 174 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ssr Boost Migrate?

Lomray-Software (a GitHub organization) maintains it in Lomray-Software/vite-ssr-boost, which has 118 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 22, 2026.

Source: Lomray-Software/vite-ssr-boost on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.