Update Tesseron docs

SkillCommunication

Use this skill after any change to `gateway/**`, `docs-mcp/**`, or SDK source in a language repository source that shifts Tesseron's public surface - protocol messages, exported types, action/resource builder APIs, ActionContext methods, transports, gateway CLI flags, or React hooks - to sync `docs/src/content/docs/` so the Starlight site matches the code. Triggers on "update the docs", "sync docs", "docs are stale after this change", or when a session ends with public-surface edits unaccompanied by doc edits. Do NOT trigger for test-only, tooling-only, or internal refactors that leave the public surface identical.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Update Tesseron docs skill

What this skill tells your AI

The instructions your AI receives, as published by eigenwise/tesseron in .claude/skills/update-docs/SKILL.md and read by ahel’s review.

Keep docs/src/content/docs/ aligned with whatever just changed in gateway/**, docs-mcp/**, or SDK source in a language repository. The docs are the published Starlight site and the contract Tesseron users read, so drift here is user-visible.

Prerequisites

  • A recent edit to gateway/**, docs-mcp/**, or SDK source in a language repository (use git diff / git diff --stat HEAD to see the change set).
  • The docs tree at docs/src/content/docs/. If it's missing, stop and flag it.

Doc pages and what they own

PageOwns
overview/index.mdx (the root index.mdx)Elevator pitch, hero copy, top-level links. Rarely changes.
overview/architecture.mdxThree-process model diagram, protocol boundary descriptions.
overview/quickstart.mdxThe 5-minute path: install, declare one action, run the gateway, see Claude call it.
overview/why.mdPositioning vs browser automation / Playwright / chat widgets.
protocol/index.mdxOne-page protocol overview. Update when a new top-level concept lands.
protocol/wire-format.mdxJSON-RPC envelope, method names, id rules.
protocol/transport.mdWebSocket URL, framing, origin allowlist, reconnect behavior.
protocol/handshake.mdxtesseron/hello, welcome, claim code, tools/list_changed.
protocol/actions.mdxAction declaration, namespacing, invoke / validate / return.
protocol/progress-cancellation.mdxactions/progress, AbortSignal, actions/cancel.
protocol/sampling.mdxHandler re-entry into the agent's LLM.
protocol/elicitation.mdxctx.confirm and ctx.elicit.
protocol/resources.mdxReadable / subscribable resource projection.
protocol/errors.mdxEvery defined error code and what raises it.
protocol/lifecycle.mdxSession state machine, what happens to pending work.
protocol/security.mdxOrigin enforcement, claim flow, trust boundaries.
sdk/typescript/index.mdxInstall, TypeScript package landscape, first action snippet.
sdk/typescript/action-builder.mdtesseron.action(...) fluent API.
sdk/typescript/standard-schema.mdZod / Valibot / etc. adapter plumbing.
sdk/typescript/context.mdActionContext methods: progress, sample, confirm, elicit, signal.
sdk/typescript/resources.mdtesseron.resource(...) builder, subscribe contract.
sdk/typescript/core.md@tesseron/core exports, custom transport extension points.
sdk/typescript/web.md@tesseron/web browser adapter.
sdk/typescript/server.md@tesseron/server Node adapter.
sdk/typescript/react.mduseTesseronAction, useTesseronResource, useTesseronConnection.
sdk/typescript/mcp.md@tesseron/mcp gateway CLI, config, origin allowlist.
sdk/python/index.mdPython installation, host overview, and development commands.
sdk/porting.mdHow to port Tesseron to another language.
examples/index.mdxTable of the example apps.
examples/<name>.mdIndividual example app walk-through.

Process

Step 1 - Inspect the change set

Run these in one go:

git status --short
git diff --stat HEAD
git diff HEAD -- gateway docs-mcp

Focus on exported symbols, public types, protocol method names, CLI flags, and .md/.mdx snippets inside packages. Ignore changes under **/*.test.ts, **/*.spec.ts, **/__tests__/**, tsconfig*.json, biome*.json, .changeset/, and CI config - those don't require doc updates.

Step 2 - Map changes to doc pages

For each modified public surface, find the doc pages that own it via the table above. Also rg across docs/src/content/docs/ for the renamed / changed symbol to catch incidental mentions the owner table misses:

rg --fixed-strings "oldSymbolName" docs/src/content/docs/

Step 3 - Edit the affected pages only

  • Prefer Edit over Write. Targeted edits keep diffs reviewable.
  • Preserve frontmatter (title, description). They feed both the sidebar and the injected docs index.
  • Keep Starlight components intact: Diagram, Card, CardGrid, LinkCard, Code, Tabs, etc.
  • Don't introduce em-dashes (-) in user-facing prose - use - or periods. Matches project voice.
  • Update version numbers / package exports only when the actual package boundary shifted.

Step 4 - Update frontmatter description if the page focus shifted

The hook at .claude/hooks/inject-docs-index.py derives the injected index from description fields. If a page's scope changed materially (e.g., a method was promoted or removed), rewrite the description so it stays a one-line summary of what the page now covers.

Step 5 - Verify

cd docs && npx astro check

astro check catches broken frontmatter, bad component usage, and broken relative links. If the build is already wired into CI, rely on that instead; otherwise run it locally.

Step 6 - Report back

End your turn with a bullet list:

  • Modified packages: gateway/, docs-mcp/, or the linked language SDK repository
  • Docs updated: docs/src/content/docs/...
  • Docs reviewed but unchanged (and why)

What NOT to update

  • .changeset/ files - maintained by the release workflow, not by this skill.
  • README.md at repo root - stays in sync by hand; mention in your report if it looks stale so the user decides.
  • The Starlight sidebar in docs/astro.config.mjs - only touch when a new page is added or a page is deleted, and even then prefer a note in the report so the user confirms ordering.
  • Auto-generated TypeDoc / API reference output (if any).

Success criteria

  • Every public-surface change is reflected in at least one doc page.
  • No orphaned references to removed / renamed symbols remain in docs/.
  • Frontmatter title / description accurate on every touched page.
  • astro check passes (or CI equivalent).
  • Report lists modified packages, updated docs, and reviewed-but-unchanged docs.

Signals

GitHub stars
20
Forks
1
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
update-docs-eigenwise
Source
github.com/eigenwise/tesseron