Install the "update-docs" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/update-docs into .claude/skills/update-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-docs", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "update-docs" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/update-docs into .agents/skills/update-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-docs", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "update-docs" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/update-docs into .cursor/skills/update-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-docs", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "update-docs" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/update-docs into .gemini/skills/update-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-docs", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "update-docs" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/update-docs into .github/skills/update-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-docs", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "update-docs" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/update-docs into .opencode/skills/update-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-docs", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
update-docs
GitHub stars
207
Token cost
~3.6k tokens
SKILL.md length
1,640 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
GPL-3.0
At a glance
Update all OTGW-firmware documentation in one sequential, backlog-tracked workflow
Works in 5 steps: Scope detection → Plan as a backlog task → Sequential execution → …
Development work in your project
SKILL.md covers Why sequential and…, Usage, Writing style rules and Phase 1: Scope detection, plus 6 more sections
Calls git and gh
What it does
Update Docs is an agent skill from rvdbreemen/OTGW-firmware. Update all OTGW-firmware documentation in one sequential, backlog-tracked workflow
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. It works with Home Assistant. The repository describes itself as: A ESP8266 devkit firmware for the Nodoshop version of the Opentherm Gateway (OTGW). The licence is GPL-3.0.
When your agent uses it
Development work in your project
Example prompts
“/update-docs”
Workflow steps
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5e66c3b. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Shell commands in SKILL.md call:
git
gh
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Update Docs loads about 3.6k tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 1,640 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~24
When it runs· the whole SKILL.md, loaded when a task matches
~3.6k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check: warnings
The automated check found patterns that need a careful read before installing.
WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:62
summary. Pass this to Phase 2 verbatim. Do NOT wait for user confirmation in standalone mode.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/update-docs/SKILL.md (or your agent's skills folder).
name
update-docs
description
Update all OTGW-firmware documentation in one sequential, backlog-tracked workflow
disable-model-invocation
true
/update-docs : Documentation Update Workflow
Update all project documentation in one well-tracked sequential pass. Can be invoked standalone or as part of a release.
Why sequential and backlog-tracked
This workflow used to spawn one subagent per affected manual chapter in parallel. Fast in theory, but on releases that touched four or more chapters it tripped Claude API concurrency limits and the run failed mid-flight. The new model has two properties:
Exactly one subagent runs at a time. Slower wall-clock, no rate-limit hits, and a deterministic order of operations.
Every doc area is an AC on a single backlog task. The run is replayable from the task on its own; progress is visible in mcp__backlog__task_view while the workflow runs in the background; partial failures leave a clear breadcrumb trail.
Usage
/update-docs # Standalone: scope from git changes
/update-docs --release 2.0.1 # Release mode: also generate release documents
/update-docs --scope full # Force-update all docs regardless of git diff
Writing style rules
Never use em dashes. Use colons, periods, commas, or parentheses.
All release documents in English (international audience).
Manual chapters: English version always, Dutch version always.
No emojis in technical documentation.
Concise and correct over long and impressive.
Phase 1: Scope detection
Determine what changed since the last release and which documentation is affected.
If --scope full or six or more subsystems changed, treat all docs as affected.
Output of Phase 1: an ordered list of affected doc areas, the PREV_TAG hash, and a categorized commit summary. Pass this to Phase 2 verbatim. Do NOT wait for user confirmation in standalone mode.
Phase 2: Plan as a backlog task
Before any documentation is written, capture the run as one backlog task.
Create the task via mcp__backlog__task_create:
title: docs: update for changes since <PREV_TAG> (in --release mode add the version: docs: update for v<version> (changes since <PREV_TAG>))
status: In Progress
assignee: ["@claude"]
labels: ["docs", "update-docs"] (add "release" in --release mode)
description: paste the Phase 1 output verbatim (PREV_TAG, categorized commits, list of affected areas)
acceptanceCriteria: one entry per affected doc area, in execution order:
Manual chapter <N> (<EN file>, <NL file>) updated (one AC per affected chapter)
API documentation (openapi.yaml, README.md, MQTT.md, ...) updated (only if API changed)
C4 architecture docs (<files>) updated (only if structural change)
Record the assigned TASK-NNN ID returned by task_create. Phase 5's commit message uses it; the commit-msg hook will block the commit if the task file is not staged.
Phase 3: Sequential execution
Exactly one subagent runs at a time. When it finishes, update the backlog task and start the next.
For each AC in order:
Spawn ONE subagent in the background (run_in_background=true) with the relevant prompt template (3A / 3B / 3C / 3D below).
Wait for the completion notification. Do not spawn the next subagent before this notification arrives.
Read the agent's summary. If it reports errors, mcp__backlog__task_edit --append-notes with the failure detail and either retry once with a corrected prompt or escalate to the user.
On success: mcp__backlog__task_edit --check-ac <N> to tick the AC, and --append-notes with a one-line summary of what was changed.
Move to the next AC.
3A: Manual chapter subagent
Used for each affected manual chapter. One subagent per chapter, sequential.
Chapter mapping:
Chapter
EN file
NL file
1 (Introduction/features)
docs/manuals/en/ch01-introduction.md
docs/manuals/nl/h01-introductie.md
2 (Hardware/install)
docs/manuals/en/ch02-hardware-setup.md
docs/manuals/nl/h02-hardware-installatie.md
3 (Web interface)
docs/manuals/en/ch03-web-interface.md
docs/manuals/nl/h03-webinterface.md
4 (Home Assistant/MQTT)
docs/manuals/en/ch04-home-assistant.md
docs/manuals/nl/h04-home-assistant.md
5 (SAT thermostat)
docs/manuals/en/ch05-sat-thermostat.md
docs/manuals/nl/h05-sat-thermostaat.md
6 (Network)
docs/manuals/en/ch06-network.md
docs/manuals/nl/h06-netwerk.md
7 (Troubleshooting)
docs/manuals/en/ch07-troubleshooting.md
docs/manuals/nl/h07-probleemoplossing.md
8 (Developer guide)
docs/manuals/en/ch08-developer-guide.md
docs/manuals/nl/h08-ontwikkelaarsgids.md
9 (API reference)
docs/manuals/en/ch09-api-reference.md
docs/manuals/nl/h09-api-referentie.md
10 (Appendix)
docs/manuals/en/ch10-appendix.md
docs/manuals/nl/h10-bijlagen.md
Prompt template:
Read the current [EN file] and [NL file]. Read the git diff for the relevant source files: git diff [PREV_TAG]..HEAD -- [source files]. Update both files to reflect the changes accurately. Preserve all existing content that is still correct. The EN file must be in English, the NL file must be in Dutch. Technical terms stay in English in both. Keep the same ## Chapter N: / ## Hoofdstuk N: heading format. Write the updated files back. Report which sections you changed and why; flag any change that needed an architectural decision rather than a doc edit.
3B: API documentation subagent
Single subagent, only if REST or MQTT changed.
Files in scope: docs/api/openapi.yaml, docs/api/README.md, docs/api/MQTT.md, docs/api/WEBSOCKET_FLOW.md (only if WebSocket changed), docs/api/DALLAS_SENSOR_LABELS_API.md (only if Dallas API changed).
Prompt template:
Read the current docs in docs/api/. Read the git diff: git diff [PREV_TAG]..HEAD -- restAPI.ino MQTTstuff.ino. Update the affected API docs to match the current implementation. For openapi.yaml: ensure every endpoint present in kV2Routes[] in restAPI.ino has a spec entry. Add new endpoints, remove removed ones, update changed response schemas. For MQTT.md: verify topic paths and payload formats match the current MQTTstuff.ino publish calls. Report endpoints added, removed, and changed.
3C: C4 architecture docs subagent
Single subagent, only if a new .ino file was added or three or more .ino files changed.
Prompt template:
Read the current docs/c4/c4-code-*.md and docs/c4/c4-component-*.md files affected by the changes in git diff [PREV_TAG]..HEAD -- src/OTGW-firmware/*.ino. Targeted updates only, no rewrites from scratch. Preserve the existing C4 structure (Code level documents per source area, Component level per logical group). Report which sections were touched.
Show full SKILL.md (744 more words)Show less
3D: Release documents (--release mode only)
Five sub-ACs, executed sequentially in order.
3D-1: Gather changes and contributors. Single subagent.
Categorize each commit into: new feature, bug fix, internal improvement, breaking change. Scan docs/adr/ for ADRs added or modified since [PREV_TAG]. Pull contributors from three sources sequentially: (1) gh pr list --state merged --search "merged:>[PREV_DATE]" --json author,title --jq '.[] | "\(.author.login): \(.title)"'. (2) Discord #beta-testing (channel 914498730001072149) since [PREV_DATE]. (3) Discord #devs-esp-firmware (channel 924989767966425158). Strip trailing digits from Discord usernames. Exclude bot IDs and maintainer 384411356616720384. Output a structured commit-classification table and contributor list.
3D-2: Generate RELEASE_NOTES_<version>.md at repo root. Single subagent.
Read the template in docs/process/RELEASE_PROCESS.md. Write RELEASE_NOTES_<version>.md with sections: release summary (2-3 sentences), what's new (features grouped by subsystem), bug fixes, breaking changes (always explicit, either "none" or list), upgrade notes, known issues, contributors. Use the categorized commit list from 3D-1. English. No em dashes. No emojis.
3D-3: Generate RELEASE_GITHUB_<version>.md at repo root. Single subagent.
Concise GitHub release body. Sections: short intro (one sentence), highlights (bullet list, max eight items), bug fixes (bullet list), upgrade notes (only if needed), thank you (shoutout to most active contributor, bullet list of others, Discord invite link). English. No em dashes.
3D-4: Update docs/BREAKING_CHANGES.md. Single subagent.
Prepend a new version section to docs/BREAKING_CHANGES.md. Explicitly state whether there are breaking changes for this version: either "None" or a list. Read the existing file first to match its format.
3D-5: Update README.md What's New section. Single subagent.
In README.md: demote the current "What's New in v<prev>" section to "What was new in v<prev>". Add a new "What's New in v<version>" section with four to six bullet highlights drawn from RELEASE_NOTES_<version>.md.
Phase 4: Docs folder cleanup
Inline shell operations, no subagents. Always runs, regardless of mode. Idempotent.
4A: Archive old release notes
If docs/releases/ has more than ten release-note files, move the oldest into docs/releases/archive/, keeping the four newest in place.
bash
ls docs/releases/RELEASE_NOTES_*.md | sort | head -n -4
ls docs/releases/RELEASE_GITHUB_*.md | sort | head -n -4
4B: Move misplaced files
Identify and move release documents from the repo root to docs/releases/:
bash
ls RELEASE_NOTES_*.md RELEASE_GITHUB_*.md GITHUB_RELEASE_*.md 2>/dev/null
Exception: the CURRENT release's documents stay at root during the release phase, then move after publication.
4C: Reviews folder organization
If docs/reviews/ has more than fifteen subdirectories, group those older than ninety days under docs/reviews/archive/<YYYY-Q<N>>/. Preserve the ten most recent as-is.
4D: Verify docs/archive
Check docs/*.md for clearly outdated files (version-specific or superseded) and move them to docs/archive/. BREAKING_CHANGES.md and upgrade-from-*.md always stay at root.
Phase 5: Verify, finalize, commit
After all ACs are checked and cleanup is done:
git diff --name-only to see what changed.
Append a final summary to the backlog task: mcp__backlog__task_edit --final-summary "<one paragraph: areas updated, contributors counted, anything notable>".
Flip the task to Done: mcp__backlog__task_complete (preferred) or mcp__backlog__task_edit -s Done.
Stage all docs PLUS the task file (the commit-msg hook requires it):bash
docs: update documentation for changes since <PREV_TAG> (TASK-<NNN>)
Standalone mode:git push.
Release mode: do NOT push. The /release skill commits and pushes everything together.
If git diff --name-only returns empty after Phase 3, skip the commit and report "no documentation changes detected." Still flip the backlog task to Done with the final-summary noting "no changes required."
Integration with /release
The /release skill calls this workflow in its Phase 4. When called from /release:
Pass --release <version> so Phase 3D runs.
Phase 5 commit is skipped (release skill commits everything together with the version bump).
The release skill's CHECKPOINT 1 reviews the generated release documents before commit.
The sequential model still applies in --release mode: Phase 3D is itself five sequential subagents, not a parallel fan-out.
Important rules
Sequential and backlog-tracked. Exactly one subagent at a time. Every doc area is its own AC.
One task per run. Every standalone /update-docs invocation creates a NEW backlog task; do not reuse a previous task.
Read before writing. Every subagent must read the current version of a file before updating it.
Scope discipline. Only update what actually changed. Do not rewrite docs for unchanged subsystems.
Update Docs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Prove a change to the Cozytouch Home Assistant integration in a real Home Assistant — a throwaway instance against a fake Atlantic cloud served from a diagnostics dump (a fixture or a reporter's)…
Bump sunsynk version (major/minor/bugfix), rewrite the Unreleased changelog heading, commit, push to main, and open a draft GitHub release with a v-prefixed tag.
Upgrade all or selected NuGet packages in net-daemon/netdaemon with dotnet-outdated, validate the full solution, and optionally publish a dependency-update PR with gh-axi.
Update all OTGW-firmware documentation in one sequential, backlog-tracked workflow. Update Docs is an agent skill from rvdbreemen/OTGW-firmware.
When should I use Update Docs?
Update Docs fits situations like: development work in your project.
How do I install Update Docs in Claude Code?
Run `npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a claude-code`. Or copy the skill folder (.claude/skills/update-docs in rvdbreemen/OTGW-firmware) into .claude/skills/update-docs in your project. Claude Code loads it when a task matches its description.
How do I install Update Docs in Codex?
Run `npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a codex`. Or copy the skill folder (.claude/skills/update-docs in rvdbreemen/OTGW-firmware) into .agents/skills/update-docs in your project. Codex loads it when a task matches its description.
Can I use Update Docs in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rvdbreemen/OTGW-firmware --skill update-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-docs, .gemini/skills/update-docs, .github/skills/update-docs and .opencode/skills/update-docs in your project.
What does Update Docs need to run?
Going by SKILL.md and its folder, Update Docs needs the command-line tools its instructions call (git and gh).
Does Update Docs access the network?
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Update Docs safe to install?
Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.
What licence does Update Docs use?
Update Docs is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Update Docs use?
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Update Docs?
Skills that share tags, products or a category with Update Docs: Guition Jc3636k718c (MichalZaniewicz/esphome-guition-jc3636k718c-va, 166 stars), Verify Cozytouch (gduteil/cozytouch, 128 stars), Ha Android Concurrency (home-assistant/android, 4k stars) and Release (kellerza/sunsynk, 339 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Update Docs?
rvdbreemen (a GitHub user) maintains it in rvdbreemen/OTGW-firmware, which has 207 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 6, 2026.
Source: rvdbreemen/OTGW-firmware on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.