ClawRouter Release Checklist
BlockRunAI/ClawRouter
Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.
Prepare and execute a full OTGW-firmware release following the documented release process
$ npx skills add rvdbreemen/OTGW-firmware --skill release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rvdbreemen/OTGW-firmware release --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/rvdbreemen/OTGW-firmware.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/release .claude/skills/release && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "release" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/release into .claude/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release", 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.
$skill-installer install https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/releaseType 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.
$ npx skills add rvdbreemen/OTGW-firmware --skill release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rvdbreemen/OTGW-firmware release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rvdbreemen/OTGW-firmware.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/release .agents/skills/release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/release into .agents/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release", 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.
$ npx skills add rvdbreemen/OTGW-firmware --skill release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rvdbreemen/OTGW-firmware release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rvdbreemen/OTGW-firmware.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/release .cursor/skills/release && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "release" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/release into .cursor/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release", 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.
$ gemini skills install https://github.com/rvdbreemen/OTGW-firmware.git --path .claude/skills/release--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rvdbreemen/OTGW-firmware --skill release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rvdbreemen/OTGW-firmware release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rvdbreemen/OTGW-firmware.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/release .gemini/skills/release && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "release" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/release into .gemini/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release", 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.
$ gh skill install rvdbreemen/OTGW-firmware releaseInstalls 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).
$ npx skills add rvdbreemen/OTGW-firmware --skill release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rvdbreemen/OTGW-firmware.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/release .github/skills/release && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "release" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/release into .github/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release", 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.
$ npx skills add rvdbreemen/OTGW-firmware --skill release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rvdbreemen/OTGW-firmware release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rvdbreemen/OTGW-firmware.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/release .opencode/skills/release && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "release" agent skill from https://github.com/rvdbreemen/OTGW-firmware/tree/dev/.claude/skills/release into .opencode/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release", 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.
releasePrepare and execute a full OTGW-firmware release following the documented release process
Release is an agent skill from rvdbreemen/OTGW-firmware. Prepare and execute a full OTGW-firmware release following the documented release process
Its SKILL.md is about 2.5k 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, covering Deployment. It works with Home Assistant, Git and GitHub. The repository describes itself as: A ESP8266 devkit firmware for the Nodoshop version of the Opentherm Gateway (OTGW). The licence is GPL-3.0.
7 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.
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.
Shell commands in SKILL.md call:
gitghpythonFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Release loads about 2.5k tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 1,288 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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.
The full file from rvdbreemen/OTGW-firmware at commit 5e66c3b, republished under its GPL-3.0 licence (© rvdbreemen). 1,288 words, ~2,494 tokens.
.claude/skills/release/SKILL.md (or your agent's skills folder).Prepare and execute a complete release of the OTGW-firmware project.
/release <version>Example: /release 1.3.2
The version argument is the target release version (without v prefix). The previous version is auto-detected from the latest git tag.
Follow these phases in order. There are only 2 mandatory checkpoints (marked with CHECKPOINT). All other phases proceed automatically unless something unexpected happens.
Start every release by ensuring a clean working state and detecting the baseline.
dev: git checkout devgit status - if there are modified or untracked files, stage, commit, and push themgit pull - incorporate any remote changesgit push origin dev - ensure local and remote are in syncgit status must show nothing to commit, working tree cleangh release view --json tagName,name,publishedAt --jq '{tag: .tagName, title: .name, date: .publishedAt}'v1.3.2) and published date for use in later phases.git fetch --tags && git log <prev-tag> --oneline -1git log <prev-tag>..HEAD --oneline -- src/ | grep -v "CI: update version.h"Check whether any architectural changes since the previous release require new or updated ADRs.
docs/adr/ for existing ADRs that may need their Related section updateddev before proceedingConditional stop: Only pause for user input if ADRs are actually needed. If no ADRs are required, report that and proceed automatically.
dev and push to remotemkdir -p .tmp
python build.py 2>&1 | tee .tmp/build_release.log | tail -10
echo "Exit: $?".tmp/build_release.log for diagnosis, fix, retry. If exit code == 0: proceed — do NOT read the full log.No checkpoint. If the build succeeds, proceed automatically to Phase 3.
git checkout main && git pull origin maingit merge devConditional stop: Only pause if there are merge conflicts. Otherwise proceed.
On main, run the /update-docs workflow in release mode. This handles all documentation in a single efficient parallel pass — do not duplicate work here.
Invoke update-docs:
/update-docs --release <version>The update-docs workflow (/.claude/skills/update-docs/SKILL.md) will:
RELEASE_NOTES_<version>.md, RELEASE_GITHUB_<version>.md, docs/BREAKING_CHANGES.md, and README What's NewDiscord context for contributor gathering:
812969634638725140914498730001072149924989767966425158384411356616720384 (number3nl)fuzzyduck3793 → fuzzyduck), except where removal makes the name ambiguousThe update-docs workflow returns without committing (release mode). All generated files are staged for the CHECKPOINT review.
CHECKPOINT 1: Present the categorized changes, contributor list, AND all generated documentation content to the user for review. Wait for approval before proceeding.
Proceed directly after Phase 4 approval. No additional confirmation needed.
main and push to remoteversion.h: Comment out _VERSION_PRERELEASE so the build produces a clean v<version> without -beta. Verify: grep -n "PRERELEASE" src/OTGW-firmware/version.hpython build.py 2>&1 | tee .tmp/build_release_final.log | tail -10
echo "Exit: $?".tmp/build_release_final.log only on failure.main to remotev<version> - <Short Title>. Examples: v1.3.2 - File Explorer Reliability Fix, v1.4.0 - REST API v3 & Prometheus. Command: gh release create v<version> --target main --title "v<version> - <Short Title>" --notes-file RELEASE_GITHUB_<version>.md --draftgh release upload v<version> build/*.ino.bin build/*.littlefs.bin --clobbergh release view v<version> --json assets --jq '.assets[].name'gh release edit v<version> --draft=false --latestGET /api/v2/device/info#nederlandse-ondersteuning (channel ID: 815561033036333076)#english-support (channel ID: 931267109726593116)CHECKPOINT 2: Show both Discord messages to the user before sending.
git checkout dev && git merge mainversion.h: increment patch version, uncomment _VERSION_PRERELEASE and set to betaautoinc-semver.py to update derived stringsfeat: Bump version to v<next>-beta for developmentdevSometimes a user asks to correct text in an already-published release. Editing RELEASE_GITHUB_<version>.md in the repo does not update the GitHub release page automatically: the release body is a copy taken at gh release create time and lives on GitHub, not in the repo.
Whenever you update release notes, README, or the GitHub release body after publication, do all three in the same round:
RELEASE_NOTES_<version>.md, README.md, RELEASE_GITHUB_<version>.md) on main.main.gh release edit v<version> --notes-file RELEASE_GITHUB_<version>.mdmain back into dev so both branches reflect the correction: git checkout dev && git merge main && git push origin devSkipping step 3 leaves the repo and the GitHub release page out of sync. Skipping step 4 means the next beta cycle starts from stale release docs.
python build.py, artifacts uploaded via gh release uploaddocs/process/RELEASE_PROCESS.md at the start of every release for the latest process updatesRELEASE_GITHUB_<version>.md does NOT update the published release page. After any edit, run gh release edit v<version> --notes-file RELEASE_GITHUB_<version>.md to push the change to GitHub, then merge main back into dev so both branches carry the correction.© rvdbreemen, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/release of rvdbreemen/OTGW-firmware.
Open the folder on GitHubat commit 5e66c3b
Release 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Release this skillrvdbreemen/OTGW-firmware | 207 | — | ~2.5k | Automated safety check: Pass | GPL-3.0 | |
| ClawRouter Release ChecklistBlockRunAI/ClawRouter | 6.6k | — | ~1.4k | Automated safety check: Pass | MIT | |
| AnyDrag Release RoutineXueshiQiao/AnyDrag | 226 | — | ~2.6k | Automated safety check: Pass | GPL-3.0 | |
| Releasebibendi/schked | 138 | — | ~670 | Automated safety check: Notes | MIT | |
| Releasedcb/homeassistant-claude-kit | 123 | — | ~3.1k | Automated safety check: Pass | MIT | |
| ReleaseEmertonData/glide | 119 | — | ~2k | Automated safety check: Pass | Custom licence |
BlockRunAI/ClawRouter
Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.
XueshiQiao/AnyDrag
Runs the full AnyDrag release process end to end, from cumulative bilingual release notes through version bumping to watching CI and the Homebrew cask update.
bibendi/schked
Guides through the full gem release process — bump version, update CHANGELOG, tag, push to RubyGems, and create GitHub Release.
dcb/homeassistant-claude-kit
Cut a new homeassistant-claude-kit version. An agent skill from dcb/homeassistant-claude-kit.
EmertonData/glide
Automates the GLIDE release process end-to-end: bumps the version, edits CHANGELOG, opens a release PR, triggers TestPyPI, creates the git tag, and creates the GitHub release.
jeremylongshore/tons-of-skills-marketplace
Create and manage Vercel preview deployments for branches and pull requests.
rvdbreemen/OTGW-firmware
A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).
rvdbreemen/OTGW-firmware
Use this skill any time a .pptx file is involved in any way — as input, output, or both.
rvdbreemen/OTGW-firmware
Use this skill any time a spreadsheet file is the primary input or output.
rvdbreemen/OTGW-firmware
Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865).
rvdbreemen/OTGW-firmware
Publish an OTGW-firmware beta prerelease — bump VERSIONPRERELEASE, push to otgw-1.x.x, tag, and let CI build + publish the GitHub prerelease
rvdbreemen/OTGW-firmware
Lints existing Architecture Decision Records against the four verification gates (Completeness, Evidence, Clarity, Consistency).
Works with
Categories
Prepare and execute a full OTGW-firmware release following the documented release process. Release is an agent skill from rvdbreemen/OTGW-firmware.
Release fits situations like: tasks that involve Deployment.
Run `npx skills add rvdbreemen/OTGW-firmware --skill release -a claude-code`. Or copy the skill folder (.claude/skills/release in rvdbreemen/OTGW-firmware) into .claude/skills/release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rvdbreemen/OTGW-firmware --skill release -a codex`. Or copy the skill folder (.claude/skills/release in rvdbreemen/OTGW-firmware) into .agents/skills/release in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rvdbreemen/OTGW-firmware --skill release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.
Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git, gh and python). Our summary lists: Python 3.
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.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Release 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.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Release: ClawRouter Release Checklist (BlockRunAI/ClawRouter, 6.6k stars), AnyDrag Release Routine (XueshiQiao/AnyDrag, 226 stars), Release (bibendi/schked, 138 stars) and Release (dcb/homeassistant-claude-kit, 123 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.