agentleFS
MicrosoftKnown publishermicrosoft/webui/.github/skills/docs-sync/SKILL.md

docs-sync

Skill100 starsChanged 36 days agoMITView on GitHub

Keep user-facing docs current and DESIGN aligned with architectural changes.

We split this skill into the rules it gives an agent

9 rules. 0 are common, 1 is distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 32 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill whenever a change touches user-visible behavior, APIs, or contracts.

    line 8
  2. Very specific:

    Update docs/ in the same commit when the change is user-visible:

    line 49
  3. Very specific:

    Do not document private or pub(crate) items, internal callbacks, intermediate representations, cache algorithms, implementation sequencing, …

    line 68
  4. Very specific:

    Do not update user-facing docs for internal implementation details, regression tests, refactors, or bug fixes that only restore …

    line 79
  5. Very specific:

    Every addition must help developers author, configure, debug, or integrate a WebUI application.

    line 81
  6. Very specific:

    Keep protocol internals out of general user docs.

    line 85
  7. Very specific:

    No emdashes ( - ). Use hyphens ( - ).

    line 103
  8. Very specific:

    Use correct CLI flag names (check crates/webui-cli/src/commands/).

    line 105
  9. Very specific:

    Verify SSR markers match source code (crates/webui-handler/src/plugin/webui.rs).

    line 106

“Common” is measured: kept by at least 6 in 10 of the 32 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Docs Synchronization Workflow

Use this skill whenever a change touches user-visible behavior, APIs, or contracts.

When to update docs

What changedUpdate
CLI flags or commandsdocs/reference/cli/index.md + docs/ai.md (Build and run section)
Template syntax or directivesdocs/learn/directives/ + docs/ai.md
Component authoring modeldocs/learn/interactivity.md + docs/ai.md
Hydration markers or mechanismspecs/hydration.md + producer/consumer tests; update docs/build/hydration.md if user-visible, DESIGN.md only if hydration architecture changes
Routing behaviordocs/build/routing.md + docs/ai.md
State management or path resolutiondocs/learn/state-management/index.md
Handler API (Rust, Node, FFI)docs/build/integrations/
Protocol fields or fragment typescrates/webui-protocol/proto/webui.proto + consumers/tests; DESIGN.md only if the graph or ownership model changes
Internal subsystem or cross-language contractRelevant specs/ reference + producer/consumer tests; DESIGN.md only if the architecture changes
Plugin system (parser or handler)docs/reference/plugins/index.md; DESIGN.md if plugin responsibilities change
Performance characteristicsdocs/build/performance.md
Public API (Rust crate, npm package)Relevant handler/integration docs; DESIGN.md only if an architectural boundary changes
Error variants or error messagesDefining source/tests and relevant public troubleshooting docs; DESIGN.md only if error-handling architecture changes
@microsoft/webui-framework decorators or APIdocs/learn/interactivity.md + docs/ai.md + packages/webui-framework/README.md
@microsoft/webui-router behaviordocs/build/routing.md + packages/webui-router/README.md

DESIGN.md rules

DESIGN.md is the living, technology-independent architecture for rebuilding WebUI. Update it in the same change only when modifying:

  • Subsystem responsibilities and data flow
  • Build-time versus request-time ownership
  • Cross-layer design invariants and compatibility boundaries
  • Technology choices essential to reproducing the system

Revise existing explanations instead of appending incident histories. Exact schemas, signatures, error codes, SSR marker layouts, metadata tuples, and regression details belong in the defining source and tests; preserve focused subsystem and cross-language contracts in internal specs/ references. A field or API change alone is not an architectural change. If an architectural claim and the code disagree, reconcile them.

docs/ rules

Update docs/ in the same commit when the change is user-visible:

  • CLI usage or flags changed
  • Template syntax or rendering output changed
  • Integration behavior that external developers depend on
  • New features or removed features

Public API boundary

Developer documentation (docs/, crate/package READMEs, and docs/ai.md) documents only supported public APIs and externally observable contracts. Every addition must map to at least one public entry point:

  • an exported Rust, Node, WASM, FFI, or package API;
  • a CLI command, flag, configuration field, or supported identifier;
  • supported template/component authoring syntax;
  • a documented protocol or integration contract.

Do not document private or pub(crate) items, internal callbacks, intermediate representations, cache algorithms, implementation sequencing, regression-test details, or dependency-specific workarounds in developer docs. Put system-level architecture in DESIGN.md, subsystem technical contracts in specs/, and implementation invariants and local rationale near code and tests.

Rust /// documentation comments are for exported public APIs only. Use // sparingly for non-public implementation rationale. Before finishing, audit the documentation diff against the public exports and remove text that has no public entry point.

Do not update user-facing docs for internal implementation details, regression tests, refactors, or bug fixes that only restore already-documented behavior. Every addition must help developers author, configure, debug, or integrate a WebUI application. Do not add release-note-style implementation observations to reference docs.

Keep protocol internals out of general user docs. The docs/ai.md file is the single-page AI reference and should be kept in sync with all other docs.

docs/ai.md is authoring-first by design. Keep deep reference material (full CLI flag tables, error-code lists, per-language integration snippets) in its canonical page and link to it from docs/ai.md rather than duplicating it there.

ai/SKILL.md is only the stable loader. Update docs/ai.md for authoring changes, not the loader or the generated packages/webui/ai.md. The package prepack step refreshes the generated reference; ordinary builds do not write it.

Validation

cd docs && pnpm build

This catches broken links, VitePress syntax errors (unescaped {{ outside code blocks), and missing pages. Run it when docs are changed.

Style rules for docs

  • No emdashes (-). Use hyphens (-).
  • Escape {{ outside fenced code blocks with <code v-pre>{{expr}}</code>.
  • Use correct CLI flag names (check crates/webui-cli/src/commands/).
  • Verify SSR markers match source code (crates/webui-handler/src/plugin/webui.rs).

Download now (ZIP)

  • Other versions42 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 42

    1. openai/openai-agents-python★ 30ksame name
    2. redis/node-redis★ 18ksame name
    3. redis/ioredis★ 15ksame name
    4. fossasia/visdom★ 10ksame name
    5. Kiln-AI/Kiln★ 5.2ksame name
    6. microsoft/apm★ 4.2ksame name
    7. danielmeppiel/apm★ 4ksame name
    8. openai/openai-agents-js★ 4ksame name
    9. pnp/powershell★ 906same name
    10. kjnez/claude-code-django★ 177same name

    32 more not listed

    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.

  • Used alongsideProjects with it also use tdd and release.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • GoogleSkill

      tdd

      Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

      Also in 3 projects that use this

    • MicrosoftSkill

      release

      Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).

      Also in 3 projects that use this

  • In this repository11 other files it gives its agents.

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.