Use when publishing, updating, moving, or removing DeepSeek Harness documentation website pages; editing website/docs.ts mappings or navigation; diagnosing a page missing from the VitePress site; fixing projected documentation links; or running the docs:dev, docs:check, and doc-sync workflow after website-content changes.
98%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
The canonical home for this skill is dsh-doc-site-sync in river666/deepseek-harness-enterprise
Keep repository Markdown as the only editable content source. Treat the website as a tested projection: website/docs.ts selects public pages, scripts/project-doc-site.ts rewrites them into the disposable website/.generated/ tree, and VitePress builds that tree.
Repository translations follow the sibling pairing contract: English foo.md, Chinese foo.zh.md, and foo.i18n.yaml live together. Never create zh-CN/ or other locale directories for website content. The site route trees are independent of that source layout: foo.zh.md projects to the root route and foo.md projects to the matching /en/ route.
DocsPage type and entries in website/docs.ts before changing the manifest; do not rely on a remembered field set.docs/ tier, then add one manifest entry.docs:check rejects missing sources.docs/ file, but change its generator or source metadata rather than editing the catalog by hand.Never edit or commit website/.generated/, website/.cache/, or website/.dist/. Except for website/AGENTS.md, never add Markdown under website/; locale and route directories such as website/zh-CN/, website/en/, and website/api/ are invalid source layouts. Keep generated catalogs under docs/, freshness-gate them there, and publish them through the manifest.
Set every DocsPage field deliberately:
source: repository-relative canonical Markdown path. For a complete bilingual pair, add the English .md path through pairedPages(); it derives the sibling .zh.md, the content locales, and counterpart aliases.route: public VitePress path including the .md suffix.label: sidebar label, not necessarily the document H1.sidebar: reuse zh-guide, zh-develop, or en-docs unless the information architecture genuinely needs another collection.section: reuse an existing section when possible. If adding one, also place it in sectionOrder in the VitePress config.order: stable order within the section.sourceAliases: optional additional repository paths that should resolve to this page when links are projected. It does not create another public route.Use mirroredPages() only for a source that intentionally falls back to the same available language in both route trees. Convert that entry to pairedPages() when its counterpart is added. Keep the manifest an explicit public allowlist. Do not publish RFCs, postmortems, testing guides, AGENTS.md, or maintainer workflows merely because they exist under docs/; add internal material only when the user explicitly expands what the site publishes.
Write normal repository-relative Markdown links in canonical docs. The projector applies these rules:
<a id="..."></a> immediately before it; add generated aliases in the owning generator.Do not write website-specific routes into canonical Markdown just to satisfy VitePress. Use sourceAliases for directory-style repository links that should resolve to a mapped index page.
Run local preview while editing:
pnpm docs:devThe dev server watches mapped source files and reprojects them. Restart it after changing the manifest if the new source is not picked up automatically.
Run the focused website gate before treating the mapping as valid:
pnpm docs:checkIf Markdown link checks pass but the site build reports a missing fragment, follow the verify-doc-site-fragments source and target paths. Preserve the English GitHub id with an explicit alias in authored Markdown or in the owning generator.
Before committing a documentation-site change, run:
pnpm run doc-sync
pnpm run lint
git diff --checkUse dsh-pre-push-checks before pushing. Report the canonical files changed, manifest entries added or removed, public routes affected, and the exact checks run.
Synchronizing content into the VitePress build does not publish it to the internet. Do not add GitHub Pages permissions, deployment workflows, custom domains, or public hosting unless the user explicitly requests deployment and confirms the hosting policy.
river666/deepseek-harness-enterprise
54e2a39
Canonical home
since Nov 11, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.