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).
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.
$ npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Lomray-Software/vite-ssr-boost ssr-boost-migrate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "ssr-boost-migrate" agent skill from https://github.com/Lomray-Software/vite-ssr-boost/tree/prod/skills/ssr-boost-migrate into .claude/skills/ssr-boost-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ssr-boost-migrate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Lomray-Software/vite-ssr-boost/tree/prod/skills/ssr-boost-migrateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Lomray-Software/vite-ssr-boost ssr-boost-migrate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lomray-Software/vite-ssr-boost.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ssr-boost-migrate .agents/skills/ssr-boost-migrate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ssr-boost-migrate" agent skill from https://github.com/Lomray-Software/vite-ssr-boost/tree/prod/skills/ssr-boost-migrate into .agents/skills/ssr-boost-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ssr-boost-migrate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Lomray-Software/vite-ssr-boost ssr-boost-migrate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lomray-Software/vite-ssr-boost.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ssr-boost-migrate .cursor/skills/ssr-boost-migrate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ssr-boost-migrate" agent skill from https://github.com/Lomray-Software/vite-ssr-boost/tree/prod/skills/ssr-boost-migrate into .cursor/skills/ssr-boost-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ssr-boost-migrate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Lomray-Software/vite-ssr-boost.git --path skills/ssr-boost-migrate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Lomray-Software/vite-ssr-boost ssr-boost-migrate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lomray-Software/vite-ssr-boost.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ssr-boost-migrate .gemini/skills/ssr-boost-migrate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ssr-boost-migrate" agent skill from https://github.com/Lomray-Software/vite-ssr-boost/tree/prod/skills/ssr-boost-migrate into .gemini/skills/ssr-boost-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ssr-boost-migrate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Lomray-Software/vite-ssr-boost ssr-boost-migrateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Lomray-Software/vite-ssr-boost.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ssr-boost-migrate .github/skills/ssr-boost-migrate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ssr-boost-migrate" agent skill from https://github.com/Lomray-Software/vite-ssr-boost/tree/prod/skills/ssr-boost-migrate into .github/skills/ssr-boost-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ssr-boost-migrate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lomray-Software/vite-ssr-boost --skill ssr-boost-migrate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Lomray-Software/vite-ssr-boost ssr-boost-migrate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lomray-Software/vite-ssr-boost.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ssr-boost-migrate .opencode/skills/ssr-boost-migrate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ssr-boost-migrate" agent skill from https://github.com/Lomray-Software/vite-ssr-boost/tree/prod/skills/ssr-boost-migrate into .opencode/skills/ssr-boost-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ssr-boost-migrate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ssr-boost-migrateMigrate 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.
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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ad91d46. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (JavaScript and Shell), which the agent can run.
Shell commands in SKILL.md call:
npxnpmbashtscFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
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.
.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.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.
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.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.base. Automatic init deliberately refuses ambiguous startup code; preserve it with the manual entry shapes and migration guide.Run from the application root:
npx @lomray/vite-ssr-boost init --dry-runWith 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:
npx @lomray/vite-ssr-boost init --apply
npm install
npx ssr-boost doctor --jsonInit 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.
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.
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.
| Diagnostic | Fix |
|---|---|
SSR_BOOST_LOADER_NOT_SERIALIZABLE | Replace functions, unsupported classes and cycles with explicit route data. Streamed promises and documented rich router values are supported. |
SSR_BOOST_STATE_NOT_SERIALIZABLE | Return a plain JSON snapshot from getState; await custom state, convert dates and collections, rebuild stores inside client init. |
SSR_BOOST_OUTLET_MISSING | Preserve exactly one <!--ssr-outlet--> inside the root; validate Fetch shells with loadHtmlShell. |
SSR_BOOST_HYDRATION_STATE_MISSING | Preserve generated state scripts and flush retained footer HTML on the final onResponse call. |
SSR_BOOST_DUPLICATE_OUTPUT | Emit each retained chunk once; inject head contents into the existing head. |
SSR_BOOST_ONRESPONSE_INVALID_RETURN | Make the hook synchronous; return string, undefined (keep) or '' (withhold), never a promise. |
SSR_BOOST_STREAM_PROMISE_ABORTED | Bound/cancel loader I/O, handle rejection UI, and review abortDelay for legitimately slow work. |
SSR_BOOST_DEPRECATED_REQ_RES | Use context.request and context.response in render hooks; early Express onRequest(req, res) is unchanged. |
SSR_BOOST_SSR_POLICY | Inspect the selected URL policy and pattern spelling when a page unexpectedly mounts as SPA. |
SSR_BOOST_CACHE_PRIVATE_LEAK | Restore 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.
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:
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:browserThere 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
SKILL.md and 9 other files (scripts, references, assets) in skills/ssr-boost-migrate of Lomray-Software/vite-ssr-boost.
Open the folder on GitHubat commit ad91d46
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ssr Boost Migrate this skillLomray-Software/vite-ssr-boost | 118 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Using Docs Kitlobehub/lobe-ui | 2.2k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Clerk React Patternsgeekskai/blog | 103 | 1 repos | ~1k | Automated safety check: Notes | MIT | |
| React Best Practicesryokun6/ryos | 1.3k | — | ~2k | Automated safety check: Pass | MIT | |
| Nextjsericrisco/rsc-harness | 174 | — | ~5.1k | Automated safety check: Pass | MIT | |
| React Router Developmentremix-run/react-router | 57k | 1 repos | ~1.5k | Automated safety check: Pass | MIT |
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).
geekskai/blog
React SPA auth patterns with @clerk/react for Vite/CRA - ClerkProvider setup, useAuth/useUser/useClerk hooks, React Router protected routes, custom sign-in flows.
ryokun6/ryos
React performance optimization guidelines from Vercel Engineering (vercel-labs/agent-skills).
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…
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.
lobehub/lobe-ui
Local browser verification for the lobe-ui component library and documentation site.
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…
Works with
Categories
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.
Ssr Boost Migrate fits situations like: tasks that involve Web performance.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.