rspress-best-practices — Claude Code skill for Rspress v2 sites
A skill that gives the agent rules for Rspress v2 sites: config, navigation, MDX, assets, search and deployment. Useful once the docs exist and the agent edits them.
npx skills add rstackjs/agent-skills --skill rspress-best-practices -a claude-codeWhat rspress-best-practices does
The skill covers how to write and review Rspress v2 sites. Config lives in rspress.config.ts with defineConfig from @rspress/core, and site-wide settings such as title, logo, base and lang stay in config instead of being repeated per page. Sidebar labels and order come from _meta.json or _nav.json, not from filenames.
Rules are grouped by area: CLI (rspress dev, build, preview, eject), docs structure, frontmatter, MDX and components, theme and styling, i18n, search, assets, plugins. For theming it tells you to reach for CSS variables and Layout slots first, and keep eject for cases where neither works. Interactive demos and API tables are pointed at @rspress/plugin-preview and @rspress/plugin-api-docgen.
One rule stands out: validate both rspress dev and rspress build, because a page that renders in dev can still fail during static generation. Broken links, missing assets and wrong base handling are worth catching before deployment. For exact option names the skill points to the Rspress docs.
What it helps with
- group docs pages by topic and set sidebar order
- move shared site settings into config instead of repeating them
- restyle the theme with CSS variables before ejecting components
- pick local or hosted search for the size of the site
- catch broken links and wrong
basebefore deploying
Example prompts for the agent
- review my
rspress.config.tsagainst Rspress v2 best practices - why does this page work in
rspress devbut fail onrspress build? - set up the sidebar with
_meta.jsonfor the guides section
How to install rspress-best-practices
1Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rspress-best-practices -a claude-code2Manually: put the files in place
~/.claude/skills/rspress-best-practices/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/rspress-best-practices/
1Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rspress-best-practices -a codex2Manually: put the files in place
.agents/skills/rspress-best-practices/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rspress-best-practices -a cursor2Manually: put the files in place
.cursor/skills/rspress-best-practices/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install rstackjs/agent-skills rspress-best-practices2Manually: put the files in place
.github/skills/rspress-best-practices/SKILL.md1Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rspress-best-practices -a gemini-cli2Platform CLI
gemini skills install https://github.com/rstackjs/agent-skills --path skills/rspress-best-practicesManually: put the files in place
.devin/skills/rspress-best-practices/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add rstackjs/agent-skills --skill rspress-best-practices -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about rspress-best-practices
How do I install rspress-best-practices in Claude?
Run npx skills add rstackjs/agent-skills --skill rspress-best-practices -a claude-code. The skill file then sits at ~/.claude/skills/rspress-best-practices/SKILL.md.
What does rspress-best-practices do?
It gives the agent rules for Rspress v2 sites: configuration, docs structure and navigation, frontmatter, MDX, theme, i18n, search, assets, plugins, build and deployment.
Which other platforms can run this skill?
Besides Claude it installs into Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode, each with its own install command and SKILL.md path.
Source text
SKILL.md · MIT
--- name: rspress-best-practices description: Configure, review, or troubleshoot Rspress v2 sites, including content conventions, navigation, MDX, assets, search, and deployment. --- # Rspress best practices Apply these rules when writing or reviewing Rspress (v2) sites. ## Configuration - Use `rspress.config.ts` and `defineConfig` from `@rspress/core` - Set `root` explicitly when docs are not under the default `docs/` directory - Keep site-wide settings such as `title`, `description`, `icon`, `logo`, `base`, and `lang` in config instead of repeating them in page files - Prefer first-class Rspress options before custom theme code or low-level bundler overrides - Keep custom theme code in a top-level `theme/` directory and import original theme pieces from `@rspress/core/theme-original` ## CLI - Use `rspress dev` for local development - Use `rspress build` for production output - Use `rspress preview` only for local preview of the built site - Use `rspress eject` only when CSS variables, class overrides, or layout wrapping cannot solve the customization ## Docs structure and navigation - Keep docs content under one clear docs root and group pages by topic or workflow, not by team ownership - Use `_meta.json` or `_nav.json` to control sidebar and navigation labels/order instead of encoding order in filenames - Put reusable MDX snippets or shared components in shared files instead of duplicating them across pages - Keep landing pages concise and link to deeper task-oriented guides from them ## Writing and frontmatter - Add clear `title` and `description` frontmatter, and set `sidebar`, `outline`, `navbar`, or `footer` only when page defaults are not enough - Use `pageType: home`, `doc`, `doc-wide`, `custom`, or `blank` intentionally based on layout needs - Write task-first headings and short intros; avoid marketing-heavy copy in technical docs - Prefer one topic per page and split overly long pages by workflow or feature area - Keep code examples minimal, runnable, and version-accurate ## MDX and components - Use MDX for interactive docs and embedded components, but keep the main narrative understandable as plain markdown - Prefer documented Rspress theme/runtime APIs over importing from internal source paths - For app-wide UI or providers, use `globalUIComponents` or theme overrides instead of repeating imports in each page ## Theme and styling - Prefer CSS variables for brand colors, spacing, and surface styling - Prefer BEM class overrides or `Layout` slots before ejecting built-in components - In `theme/` files, keep `export * from '@rspress/core/theme-original'` unless intentionally replacing a named export - Avoid full component ejection unless config, CSS, and wrapping cannot meet the requirement ## I18n, Search, And AI - For multilingual sites, organize locale content under per-language directories and keep navigation mirrored where practical - Keep descriptions and other frontmatter text in the same language as the page content - Configure search intentionally: use local search for small or medium sites, and hosted search when scale or cross-version indexing requires it - Enable `llms` or `ssgMd` only when the site benefits from machine-readable outputs, and keep descriptions accurate because those outputs surface page summaries ## Assets and public files - Import source-managed images and components from docs/theme source when they belong to the content - Use `public/` only for assets that must keep stable URL paths, such as favicons, social images, or download files - Reference public assets by absolute site path and make sure they still work when `base` is set ## Plugins and integration - Prefer official Rspress plugins for search, preview, and API-doc scenarios before building custom solutions - For component or library docs, use `@rspress/plugin-preview` and `@rspress/plugin-api-docgen` when interactive demos or API tables are needed - Keep plugin usage explicit in config and remove unused plugins to reduce maintenance cost ## Build, Deploy, And debugging - Validate both `rspress dev` and `rspress build`; a page that works in dev can still fail during static generation - Verify broken links, missing assets, and wrong `base` handling before deployment - Keep generated output out of source control unless the hosting workflow explicitly requires committed artifacts - When debugging content issues, inspect the resolved docs root, frontmatter, and theme overrides before assuming a bundler problem ## Documentation - For the latest Rspress docs, read https://rspress.rs/llms.txt - Use the config and API docs when checking exact option names or current behavior
© rstackjs · MIT · rstackjs/agent-skills