---
name: docs-website
description: "Use this skill FIRST for any task whose output lives in the `Website/` directory — the VRCQuestTools user manual / docs site (Docusaurus, bilingual en/ja). That means: editing or writing any manual page (intro.md, tutorial, component reference pages like \"Avatar Converter Settings\", menu reference, troubleshooting) — adding an entry, documenting a new or changed option, or rewriting an explanation that users found unclear (説明の追記・書き直し・わかりにくい); translating pages between en and ja; fixing sidebar ordering, theme, or site config; and diagnosing Docusaurus build failures such as broken links/anchors or locale (ja) issues. A request counts even if it never says \"docs\": mentioning マニュアル, マニュアルページ, ドキュメント, サイドバー, Website, a docs filename, or \"add/fix X on the website\" is enough, as is naming a plugin feature when the deliverable is its manual page. Read this skill before touching any file under Website/, because it defines required workflow (Japanese-first writing, URL compatibility, build verification)."
---

# Documentation Website (`Website/`)

Docusaurus site with English as the default locale and a Japanese translation. The
website is for end users: keep technical explanations minimal and write plain,
easy-to-understand text.

## Commands

| Command | Description |
|---------|-------------|
| `cd Website && pnpm install --frozen-lockfile` | Install docs dependencies |
| `cd Website && pnpm run build` | Build documentation site (Docusaurus) |

## Workflow

- **Japanese first:** Update the Japanese docs first, then port the changes to the English pages. English is the default locale (`Website/docs/`); Japanese translations live in `Website/i18n/ja/docusaurus-plugin-content-docs/current/` and must mirror the same file paths, frontmatter (slugs), and explicit heading anchors (`{#id}`).
- **Writing skills:** Always apply the `japanese-tech-writing` skill when writing or revising Japanese pages. On pages meant to be read from start to finish (intro, getting-started), additionally apply the `cognitive-rhythm-writing` skill on top of it, but keep the procedural skeleton (headings, numbered steps, anchors, admonitions) intact and put the pacing in the connecting prose; each page must still work for readers who land on it directly. Reference pages (components, troubleshooting, menu-reference) must stay scannable, so use `japanese-tech-writing` alone there. The English pages port the resulting content and structure in plain natural English; do not translate the Japanese rhythm devices word for word.
- **UI labels:** Quote UI strings from the .po files (`Editor/I18n/ja-JP.po` for Japanese, `en-US.po` for English). Do not invent labels.
- **Source of truth:** Verify every statement against the source code (components, inspectors, menus, i18n messages) so the manual stays trustworthy. Do not document behavior you have not confirmed.
- **Verification:** Run `cd Website && pnpm run build` and make sure both locales build without broken links or anchors.

## Conventions

- **Ordering:** List components in dictionary order. Component pages have no `sidebar_position` (the autogenerated sidebar sorts by file name); keep tables and lists sorted the same way.
- **Terminology:** The docs call the Android and iOS versions of VRChat collectively "Mobile" (defined in intro.md). Match the current UI wording (Mobile/PC); do not write "Quest" except for device names.
- **Links:** Use file-relative Markdown links (`./page.md`) so they resolve within each locale. Give any heading that is linked from elsewhere an explicit ID (`{#id}`), because auto-generated anchors differ between Japanese and English headings.
- **Images:** Screenshots live in `Website/static/img/` and are shared by both locales. Reuse existing images only when they still match the current UI; otherwise use a screenshot placeholder ("Screenshot placeholder" / 「スクリーンショット準備中」 info admonition). Use the `docs-screenshots` skill to capture or update screenshots.
- **New components:** When adding a component, create its reference page at `/docs/references/components/<kebab-case-name>` (en + ja) and set the matching `[HelpURL]` attribute on the component class (with the `?lang=auto` suffix).
- **Structure notes:** `docs/changelog.md` and its ja counterpart are dummy files replaced by CI with `CHANGELOG.md` / `CHANGELOG_JP.md`. Category labels in `_category_.json` are English; their Japanese translations go in `i18n/ja/docusaurus-plugin-content-docs/current.json`.

## Compatibility constraints

- **URL compatibility:** Do not break URLs referenced by `[HelpURL]` attributes and `package.json`: `/docs/references/components/*`, `/docs/changelog`, `/docs/tutorial/set-up-environment`. They are pinned with explicit `slug:` frontmatter. The `?lang=auto` redirect in `src/theme/Root.tsx` must keep working.
- **Deployment:** GitHub Pages builds the site from the `latest-docs` branch and overlays only `docs/` and `i18n/ja/.../current/` from master (`.github/workflows/deploy-pages.yml`). Changes to `docusaurus.config.js`, `src/`, `sidebars.ts`, or `static/` do not go live until `latest-docs` is updated. Versioned docs snapshots are created at release time with `docs:version`.
