agentleFS
KotlinKotlin/kotlinx-rpc/.claude/skills/update-doc/SKILL.md

update-doc

Skill1.1k starsChanged 5 days agoApache-2.0View on GitHub

Update kotlinx-rpc documentation — version bumps, content edits, Writerside topics, KDoc, README, skills, and internal workflows. Use this skill whenever the user wants to bump the Kotlin version in docs, bump the library version, update the changelog, edit documentation topics, add a migration guide, update the version switcher, fix version references, write or update KDoc on public APIs, update the README, update Claude skills, or modify CLAUDE.md. Also trigger when the user mentions "update docs", "doc version", "release docs", "Writerside", "v.list", "changelog", "KDoc", "Dokka", "README", "skill", "CLAUDE.md", or wants to sync documentation with a new release.

We split this skill into the rules it gives an agent

5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Gradle tasks: Always use the running_gradle_builds skill (or running_gradle_tests for test tasks) to execute Gradle.

    line 16
  2. Distinctive:

    Read the appropriate reference when performing these tasks:

    line 28
  3. Very specific:

    Always use %kotlinx-rpc-version% and %kotlin-version% variables in code examples instead of hardcoding version strings.

    line 84
  4. Very specific:

    When adding a new migration guide, create a .topic file in topics/ (naming convention: 0-X-0.topic) and add a <toc-element> entry under …

    line 90
  5. Distinctive:

    Update root CLAUDE.md when: module structure changes, build commands change, conventions change, or new protocols/major features are added.

    line 132

“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.

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

Updating kotlinx-rpc Documentation

Gradle tasks: Always use the running_gradle_builds skill (or running_gradle_tests for test tasks) to execute Gradle. Never run ./gradlew directly via shell.

This project has several documentation surfaces:

  • Writerside — User-facing docs at docs/pages/kotlinx-rpc/
  • KDoc + Dokka — API reference generated from source code
  • README.md — Project overview and quick start
  • Internal workflows — CLAUDE.md, .claude/skills/, docs/workflow.md
  • Human-only — docs/environment.md, docs/workflow.md, docs/troubleshooting.md (edit when asked, but do not use as a reference for agent work)

Reference Files

Read the appropriate reference when performing these tasks:

TaskReference to read
Bumping Kotlin version in docsreferences/bump-kotlin-version.md
Releasing / bumping library versionreferences/bump-library-version.md
Writing KDoc, configuring Dokka, API docsreferences/kdoc-and-dokka.md

For general doc edits, Writerside topics, README updates, or internal workflow changes, the guidance below is sufficient — no reference file needed.


Documentation Structure

docs/pages/kotlinx-rpc/
  writerside.cfg          # Main Writerside config (instance version lives here)
  rpc.tree                # Navigation tree (TOC)
  v.list                  # Version variables used across all topics
  c.list                  # Categories (empty)
  help-versions.json      # Version switcher for the published site
  cfg/buildprofiles.xml   # Build profiles (Algolia, styling)
  topics/                 # 35+ .topic and .md files
  images/                 # Image assets

Version Variables (v.list)

The file docs/pages/kotlinx-rpc/v.list defines variables substituted throughout every topic using %variable-name% syntax:

<var name="kotlinx-rpc-version" value="<LIBRARY_VERSION>"/>
<var name="kotlin-version" value="<KOTLIN_VERSION>"/>

Topics reference these as %kotlinx-rpc-version% and %kotlin-version%, so updating v.list propagates the change everywhere automatically.

Key Topics

TopicWhat it contains
versions.topicSupported Kotlin versions list, compiler plugin versioning scheme
grpc-versions.topicBundled gRPC/Protobuf/Buf dependency versions table
changelog.mdAuto-generated from root CHANGELOG.md via Gradle task
get-started.topicQuick-start guide with version-dependent code samples
plugins.topicGradle plugin configuration examples

Writerside Guidelines

  1. Topics use Writerside XML format (.topic extension) with <code-block> for code. The changelog is the exception — it's Markdown.
  2. Always use %kotlinx-rpc-version% and %kotlin-version% variables in code examples instead of hardcoding version strings.
  3. The navigation tree is defined in rpc.tree — add new topics there.
  4. To sync the docs changelog from the root CHANGELOG.md, run the updateDocsChangelog Gradle task (use the running_gradle_builds skill). CI at .github/workflows/changelog.yml verifies this is up to date on every PR.
  5. When adding a new migration guide, create a .topic file in topics/ (naming convention: 0-X-0.topic) and add a <toc-element> entry under "Migration guides" in rpc.tree.

Local Writerside Testing

The CI uses Docker image registry.jetbrains.team/p/writerside/builder with version from DOCKER_VERSION in .github/workflows/docs.yml. To replicate:

docker run --rm \
  -v "$(pwd)/docs/pages/kotlinx-rpc:/docs" \
  -v "$(pwd)/artifacts:/artifacts" \
  registry.jetbrains.team/p/writerside/builder:243.22562

unzip -q artifacts/webHelpRPC2-all.zip -d __docs_preview
open __docs_preview/index.html

CI also runs JetBrains/writerside-checker-action@v1 which validates links, references, and document structure.


README.md

The root README.md contains the project overview, quick-start code, Kotlin compatibility table, supported platforms table, and Gradle setup examples.

Version references: Kotlin versions list, library version in Gradle examples, gRPC dev version badge.

Update rule: CI (.github/workflows/readme.yml) enforces that README.md changes targeting main are only allowed from release-* branches. Feature branch PRs that touch README will fail CI.


Internal Workflows: CLAUDE.md and Skills

CLAUDE.md

Update root CLAUDE.md when: module structure changes, build commands change, conventions change, or new protocols/major features are added. Keep it concise and factual — current state, not aspirational plans.

Skills (.claude/skills/)

Skills live in .claude/skills/<skill-name>/SKILL.md with YAML frontmatter (name, description) and Markdown instructions. Update when: a workflow changes, new tools/commands become available, instructions lead to incorrect results, or a new repeatable workflow emerges. The description field triggers the skill — make it specific and include relevant keywords. When editing, verify referenced file paths and commands still exist.

Download now (ZIP)

Trending

Quiet since September.about the whole repository

Dec 2025: 2 mentionsJan 2026: 1 mentionFeb 2026: 0 mentionsMar 2026: 1 mentionApr 2026: 0 mentionsMay 2026: 1 mentionJun 2026: 2 mentionsJul 2026: 2 mentionsAug 2026: 0 mentionsSep 2026: 1 mentionOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the Kotlin/kotlinx-rpc repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about Kotlin/kotlinx-rpc

The biggest 5 of 16 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 16

Talked about on GitHub (16 times).

On GitHub · 16

11 more on GitHub

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.