dsh-doc-site-sync
Skill1 starsChanged 45 days agoMITView on GitHub
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.
We split this skill into the rules it gives an agent
14 rules. 7 are common, 0 are distinctive, and 7 are very specific to this project.
7
Common
Most of the 3 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Common: line 14
Read docs/AGENTS.md and use dsh-doc-standards when deciding where content belongs or changing product documentation prose.
- Very specific: line 16
Read the current DocsPage type and entries in website/docs.ts before changing the manifest.
- Very specific: line 17
Read website/.vitepress/config.ts before adding a new section, sidebar collection, locale, or top-level navigation item.
- Very specific: line 22
Publish a new page: create it in its owning docs/ tier, then add one manifest entry.
- Very specific: line 23
Rename, move, or remove a page: update the canonical file, manifest entry, and inbound repository links atomically.
- Common: line 25
Change site structure: update the manifest for ordinary pages.
- Very specific: line 27
Never edit or commit website/.generated/, website/.cache/, or website/.dist/.
- Common: line 45
Write normal repository-relative Markdown links in canonical docs.
- Very specific: line 54
Do not write website-specific routes into canonical Markdown just to satisfy VitePress.
- Common: line 58
Run local preview while editing:
- Common: line 66
Run the focused website gate before treating the mapping as valid:
- Very specific: line 72
If Markdown link checks pass but the site build reports a missing fragment, follow the verify-doc-site-fragments source and target paths.
- Common: line 74
Before committing a documentation-site change, run:
- Common: line 82
Use dsh-pre-push-checks before pushing.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Synchronizing the DeepSeek Harness Documentation Site
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. The build additionally emits a raw-Markdown twin of every route (page URL minus any trailing slash, plus .md; index routes also get a parent-level alias) and a root llms.txt index; both derive from the same manifest and projector, so publishing, moving, or removing a page updates them automatically and docs:build fails when one is missing.
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.
Read the owning contracts
- Read docs/AGENTS.md and use dsh-doc-standards when deciding where content belongs or changing product documentation prose.
- For an edited bilingual source, follow the lightweight routine path in docs/AGENTS.md and the pairing contract; never invoke the extended translation skill automatically.
- Read the current
DocsPagetype and entries in website/docs.ts before changing the manifest; do not rely on a remembered field set. - Read website/.vitepress/config.ts before adding a new section, sidebar collection, locale, or top-level navigation item.
Classify the change
- Edit an already published page: change only its canonical Markdown source. Do not touch the manifest unless its route or navigation metadata changes.
- Publish a new page: create it in its owning
docs/tier, then add one manifest entry. - Rename, move, or remove a page: update the canonical file, manifest entry, and inbound repository links atomically. Remove stale manifest entries;
docs:checkrejects missing sources. - Publish a generated catalog: map the generated
docs/file, but change its generator or source metadata rather than editing the catalog by hand. - Change site structure: update the manifest for ordinary pages; update VitePress configuration only when the existing sidebar, section, or locale model cannot express the change.
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.
Add or update a manifest entry
Set every DocsPage field deliberately:
source: repository-relative canonical Markdown path. For a complete bilingual pair, add the English.mdpath throughpairedPages(); it derives the sibling.zh.md, the content locales, and counterpart aliases.route: public VitePress path including the.mdsuffix.label: sidebar label, not necessarily the document H1.sidebar: reusezh-guide,zh-develop, oren-docsunless the information architecture genuinely needs another collection.section: reuse an existing section when possible. If adding one, also place it insectionOrderin 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.
Preserve link behavior
Write normal repository-relative Markdown links in canonical docs. The projector applies these rules:
- A target present in the manifest becomes a site-relative route.
- An existing target outside the manifest becomes a GitHub source link, including supported line suffixes.
- An image is the exception: its file is copied into the generated tree and referenced from there, so the site serves it regardless of repository visibility. It must be a regular file inside the repository.
- External URLs, site-absolute URLs, email links, and fragment-only links remain unchanged.
- A missing repository-relative target fails projection instead of silently producing a broken link.
- Cross-page fragments use the English GitHub heading id as their canonical id. If an authored heading emits a different VitePress id, place an explicit
<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.
Preview and validate
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.
Keep deployment separate
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.
Other versions4 projects use a version of this.
Word for word · 1
- lucaslus/dsh-desktop★ 1100% same
Edited · 3
- xinyuquan985-coder/deepseek-harness-neon★ 17100% same
- SuperMate-Ai/SuperMate-Harness-System★ 1100% same
- Ydjin1984/DeepSeek_Kibborg_Harness★ 192% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .agents/notes/AGENTS.mdAGENTS.md
- .agents/notes/archived/AGENTS.mdAGENTS.md
- .agents/notes/implemented/AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- examples/AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- packages/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- vendor/AGENTS.mdAGENTS.md
- website/AGENTS.mdAGENTS.md
- .agents/notes/implemented/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- examples/CLAUDE.mdCLAUDE.md
- packages/CLAUDE.mdCLAUDE.md
- vendor/CLAUDE.mdCLAUDE.md
- dsh-archive-agent-notesSkill
- dsh-code-reviewSkill
- dsh-doc-standardsSkill
- dsh-find-simplificationsSkill
- dsh-merging-stacked-prsSkill
- dsh-pre-push-checksSkill
- dsh-prose-standardSkill
- dsh-translate-docsSkill
- dsh-trim-cot-leakageSkill
- record-browser-gifSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

