Agent skill

Implement Next Task

by rvdbreemen in rvdbreemen/OTGW-firmware

Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865).

GPL-3.0Auto-check passedDevelopment

Install Implement Next Task

skills CLI
$ npx skills add rvdbreemen/OTGW-firmware --skill implement-next-task -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rvdbreemen/OTGW-firmware implement-next-task --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rvdbreemen/OTGW-firmware.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/implement-next-task .claude/skills/implement-next-task && rm -rf skills-src

Use ~/.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/

Facts

Skill name
implement-next-task
GitHub stars
207
Token cost
~2.1k tokens
SKILL.md length
1,005 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
GPL-3.0

At a glance

Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865).

  • Works in 4 steps: Audit — captures the run's start commit… → Drain loop — repeatedly: Select the… → ADR Evaluation (end of run) — after the… → …
  • One drain run of the migration loop (cron
  • SKILL.md covers Run (single lane, default…, Discord (alpha-channel policy,…, Parallel lanes (fan out when… and Notes
  • Calls git and python

What it does

Implement Next Task is an agent skill from rvdbreemen/OTGW-firmware. Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865). Runs a continuous workflow that audits stuck/finishable backlog tasks, then drains every actionable async-esp32s3 task back-to-back (implement - build/eval - adversarial review - commit/push - Discord) without waiting between tasks, then runs ONE end-of-loop ADR-evaluation pass that drafts Proposed ADRs for the run's architectural decisions, and can fan out to parallel worktree lanes. Use for one drain run of the migration loop…

Its SKILL.md is about 2.1k 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 Architecture decision records, Git worktrees and Embedded systems. It works with Discord, ESP32 and 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

  • One drain run of the migration loop (cron
  • Tasks that involve Architecture decision records
  • Tasks that involve Git worktrees

Example prompts

  • “/implement-next-task”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Audit — captures the run's start commit (git rev-parse HEAD, the stable
  2. Drain loop — repeatedly: Select the lowest actionable task (deps Done/In
  3. ADR Evaluation (end of run) — after the drain loop exits (whether it drained
  4. Stop when nothing is actionable, on a transient agent death (rate limit — it

What it can do on your machine

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
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, 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

Implement Next Task loads about 2.1k tokens when it runs. Until then it costs about 140 tokens; SKILL.md has 1,005 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

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 passed

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.

SKILL.md

The full file from rvdbreemen/OTGW-firmware at commit 5e66c3b, republished under its GPL-3.0 licence (© rvdbreemen). 1,005 words, ~2,112 tokens.

Download SKILL.mdSave it as .claude/skills/implement-next-task/SKILL.md (or your agent's skills folder).
name
implement-next-task
description
Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865). Runs a continuous workflow that audits stuck/finishable backlog tasks, then drains every actionable async-esp32s3 task back-to-back (implement -> build/eval -> adversarial review -> commit/push -> Discord) without waiting between tasks, then runs ONE end-of-loop ADR-evaluation pass that drafts Proposed ADRs for the run's architectural decisions, and can fan out to parallel worktree lanes. Use for one drain run of the migration loop (cron or manual).

implement-next-task

Drives the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865, ADR-123/128). The deterministic multi-agent engine is the workflow script; it is continuous and self-announcing — one invocation drains as many tasks as it can.

Run (single lane, default worktree)

Branch model changed 2026-06-20: the 2.0.0 async line was promoted to dev (the former feature-2.0.0-esp32s3-async). dev is the default working line and the default worktree (D:/Users/Robert/Documents/GitHub/RvdB/OTGW-firmware); the old async worktree is gone. otgw-1.x.x is the 1.x maintenance line; main is always the latest public release.

Workflow({ scriptPath: "D:/Users/Robert/Documents/GitHub/RvdB/OTGW-firmware/.claude/workflows/implement-next-task.js" })

The engine, in one run:

  1. Audit — captures the run's start commit (git rev-parse HEAD, the stable startHead..HEAD range the ADR-Evaluation pass diffs later), then reads every In Progress / In Review async-esp32s3 task. Resets STUCK ones (abandoned partial edits from a transient abort) to To Do; moves FINISHABLE ones (all remaining ACs build/evaluator-verifiable, committed + green, no hardware AC) to Done; leaves correctly-In-Review (field-validation pending) ones alone. It decides this itself — no permission prompt.
  2. Drain loop — repeatedly: Select the lowest actionable task (deps Done/In Review; single-flight-guarded per worktree) -> Implement (coding agent, ACs + CLAUDE rules) -> build (python build.py) + evaluate.py --quick -> adversarial Review (one fix pass) -> Land (set status In Review / Done, bump prerelease if src/** touched, commit, push — no ADR in the per-task commit) -> Announce (Discord, below). Then it advances to the next task immediately — it does NOT wait for the next tick.
  3. ADR Evaluation (end of run) — after the drain loop exits (whether it drained the backlog or breaks on a transient failure), if any task landed this run a single pass reviews the whole-run diff (startHead..HEAD) plus the landed task bodies, dedups the architectural decisions across all tasks into one entry each, has the JS assign the next free ADR numbers (no LLM number-picking → no collision), drafts one Proposed ADR per decision (adr-kit:adr-generator, never Accepted), runs the self-accept governance guard over them, commits them in one docs(adr): ... (TASK-865) commit (docs-only, no bump), pushes, and posts a maintainer-facing "N Proposed ADRs drafted for review" note to #dev-sat-mqtt. Each ADR's References section cites the contributing task ids + their commit hashes (the traceability that replaces riding the ADR inside the code commit). This is the only place the loop authors ADRs — moved out of the per-task path 2026-06-24 (TASK-928) so one evaluation sees cross-task decisions and the maintainer reviews a coherent batch instead of a per-task drip.
    • Process-death recovery. Every Land stamps the task note ADR-PENDING; the ADR-Evaluation pass stamps ADR-EVALUATED: <ADR-ids|none> ONLY on confirmed completion (ADRs drafted + committed, or nothing architectural to draft). If the pass dies (rate-limit) before stamping, the ADR-PENDING marker survives in git, so the NEXT run's Audit returns the task in adrOrphans and this pass sweeps it up alongside its own tasks. Enumerate greps docs/adr/ for the task ids first and skips any decision already documented, so a retry after a partial death never double-drafts. (The same marker drives the parallel-lane handoff: a skipAdrEval lane leaves its tasks ADR-PENDING for the integrating run to draw in.)
  4. Stop when nothing is actionable, on a transient agent death (rate limit — it cleans up the task back to To Do and ends so a later run retries), or when a task fails review twice (flags it for attention). The ADR-Evaluation pass still runs for whatever did land before the stop, plus any ADR-PENDING orphans from a prior dead run.

Returns { done, completed: [...], count, endReason, adrsDrafted: [...] }. endReason tells you whether it drained the backlog, hit a transient rate-limit, or needs attention on a task; adrsDrafted lists the Proposed ADRs the end-of-run pass drafted (awaiting maintainer acceptance).

Parallel lanes (args.skipAdrEval, set automatically alongside skipBump) defer the ADR-Evaluation pass to serial integration so two lanes never race on ADR numbers; the integrating run drafts the ADRs once after the merge.

Show full SKILL.md (382 more words)Show less

Discord (alpha-channel policy, done INSIDE the loop)

2.0.0+ is the alpha line. Test/publish only in #alpha-testing and #dev-sat-mqtt; never #beta-testing. Per landed task the Announce phase posts:

  • a one-line completion to #dev-sat-mqtt (1105556725714649128): id, title, status, commit, prerelease tag;
  • if the task bumped the prerelease (a semver feature step), a short feature summary to #alpha-testing (1514720723980259460) — facts only; if it returns "Missing Access" it notes the bot lacks access and continues (no retry).

Parallel lanes (fan out when genuinely independent)

One worktree can only run one lane (shared git index + .pio). To run more tasks at once, give each its own worktree + sub-branch and pin its task. Select reports alsoActionable — other actionable tasks whose files are disjoint from the current one — as parallel candidates. Dispatch a lane with args:

Workflow({ scriptPath: "<this script>", args: {
  repo: "D:/Users/Robert/Documents/GitHub/RvdB/OTGW-firmware-esp32s3-async-2",
  branch: "feature-2.0.0-esp32s3-async-b",
  targetTask: "TASK-865.12",   // pin (parallel lanes do not share live status)
  skipBump: true               // defer the bump; integrate + bump + tag serially at merge
}})

Parallel-lane setup: git worktree add <dir> -b <sub-branch> dev, copy other-projects/ + src/libraries/OpenTherm + src/libraries/SimpleTelnet into it (the other-projects submodule remote 404s, so copy from a populated worktree), then launch with the args above. Integration is serial: when a sub-branch lane finishes, merge it into dev, run bin/bump-prerelease.sh once for it (the deferred semver tag), resolve any version-banner conflicts, then announce. Then DELETE the merged sub-branch immediately: git branch -d <sub-branch>, git push origin --delete <sub-branch>, and git worktree remove <dir>. Never leave a merged sub-branch (or its worktree) lying around — that is the -jsonemit / -chunked proliferation cleaned up 2026-06-19 (maintainer directive: one async branch). Caution: parallel lanes that touch overlapping files (loop edits in OTGW-firmware.ino, platform_esp32.h, version banners) conflict at merge — only fan out file-disjoint tasks.

Notes

  • Field/hardware ACs are never self-certified -> those tasks end In Review; the maintainer accepts the Proposed ADRs and closes field-validation under the epic.
  • Single lane (the default) commits and pushes DIRECTLY on dev in OTGW-firmware — NO sub-branch. dev IS the 2.0.0 async line now (one-branch maintainer directive 2026-06-19, branch model change 2026-06-20). Sub-branches/worktrees exist ONLY for genuine parallel lanes and are deleted right after merge (see Parallel lanes above). Never touch otgw-1.x.x (1.x maintenance) or main (public release).
  • Rate-limit storms: the engine ends a run on a transient agent death after cleaning up; just re-run (cron does this every 30 min). The abort-cleanup is itself an agent and can die under heavy limiting — the launching session then cleans up manually (revert partial edits + reset the task To Do).

© 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

Files

Just SKILL.md in .claude/skills/implement-next-task of rvdbreemen/OTGW-firmware.

Open the folder on GitHubat commit 5e66c3b

Compare with similar skills

Implement Next Task 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.

Implement Next Task compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Implement Next Task this skillrvdbreemen/OTGW-firmware207—~2.1kAutomated safety check: PassGPL-3.0
Guition Jc3636k718cMichalZaniewicz/esphome-guition-jc3636k718c-va166—~3kAutomated safety check: PassMIT
Flash Esp32s3RomanLut/hx_espnow_rc129—~794Automated safety check: PassMIT
Auroratonylofgren/aurora-smart-home105—~11kAutomated safety check: NotesMIT
Iterating Esp32 Amoled UIniclasvestlund-YT/vibepulse208—~927Automated safety check: PassMIT
Vibepulseniclasvestlund-YT/vibepulse208—~1.6kAutomated safety check: PassMIT

Similar skills

  • Guition Jc3636k718c

    MichalZaniewicz/esphome-guition-jc3636k718c-va

    Reference for building/editing ESPHome configs on the Guition JC3636K718C round knob display (ESP32-S3, 1.8" 360x360 ST77916, CST816 touch, rotary knob, PCM5100A DAC, PDM mic, WS2812 LED ring).

    166 GitHub stars~3k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Flash Esp32s3

    RomanLut/hx_espnow_rc

    Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb.

    129 GitHub stars~794 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Aurora

    tonylofgren/aurora-smart-home

    Aurora Smart Home orchestrator — routing layer for all smart home skills.

    105 GitHub stars~11k tokensUpdated 2 days ago
    DevelopmentAuto-check: notes
  • Iterating Esp32 Amoled UI

    niclasvestlund-YT/vibepulse

    A skill your agent uses when making any Torget AMOLED app visual change, exact-size mockup, simulator capture, or physical review.

    208 GitHub stars~927 tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Vibepulse

    niclasvestlund-YT/vibepulse

    A skill your agent uses for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

    208 GitHub stars~1.6k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Flash Devices

    jtenniswood/esphome-media-player

    Flash ESPHome firmware to physical EspControl devices. An agent skill from jtenniswood/esphome-media-player.

    234 GitHub stars~1.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from rvdbreemen/OTGW-firmware

All 13 skills in this repo
  • DOCX

    rvdbreemen/OTGW-firmware

    A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).

    207 GitHub starsUsed in 33 repos~4.3k tokens
    Auto-check passed
  • PPTX

    rvdbreemen/OTGW-firmware

    Use this skill any time a .pptx file is involved in any way — as input, output, or both.

    207 GitHub starsUsed in 34 repos~2.3k tokens
    Auto-check passed
  • XLSX

    rvdbreemen/OTGW-firmware

    Use this skill any time a spreadsheet file is the primary input or output.

    207 GitHub starsUsed in 35 repos~2.9k tokens
    Auto-check passed
  • Beta Prerelease

    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

    207 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Lint

    rvdbreemen/OTGW-firmware

    Lints existing Architecture Decision Records against the four verification gates (Completeness, Evidence, Clarity, Consistency).

    207 GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Migrate

    rvdbreemen/OTGW-firmware

    Guided rewrite of legacy-shaped ADRs into the canonical-seven-section template enforced by /adr-kit:lint.

    207 GitHub stars~2.5k tokensUpdated today
    Auto-check passed

Categories

Questions about Implement Next Task

What does Implement Next Task do?

Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865). Implement Next Task is an agent skill from rvdbreemen/OTGW-firmware.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865).

When should I use Implement Next Task?

Implement Next Task fits situations like: one drain run of the migration loop (cron; tasks that involve Architecture decision records; tasks that involve Git worktrees.

How do I install Implement Next Task in Claude Code?

Run `npx skills add rvdbreemen/OTGW-firmware --skill implement-next-task -a claude-code`. Or copy the skill folder (.claude/skills/implement-next-task in rvdbreemen/OTGW-firmware) into .claude/skills/implement-next-task in your project. Claude Code loads it when a task matches its description.

How do I install Implement Next Task in Codex?

Run `npx skills add rvdbreemen/OTGW-firmware --skill implement-next-task -a codex`. Or copy the skill folder (.claude/skills/implement-next-task in rvdbreemen/OTGW-firmware) into .agents/skills/implement-next-task in your project. Codex loads it when a task matches its description.

Can I use Implement Next Task 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 implement-next-task -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/implement-next-task, .gemini/skills/implement-next-task, .github/skills/implement-next-task and .opencode/skills/implement-next-task in your project.

What does Implement Next Task need to run?

Going by SKILL.md and its folder, Implement Next Task needs the command-line tools its instructions call (git and python). Our summary lists: Python 3.

Does Implement Next Task access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Implement Next Task safe to install?

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.

What licence does Implement Next Task use?

Implement Next Task 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 Implement Next Task use?

About 2.1k tokens (SKILL.md is roughly 8.4k 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 Implement Next Task?

Skills that share tags, products or a category with Implement Next Task: Guition Jc3636k718c (MichalZaniewicz/esphome-guition-jc3636k718c-va, 166 stars), Flash Esp32s3 (RomanLut/hx_espnow_rc, 129 stars), Aurora (tonylofgren/aurora-smart-home, 105 stars) and Iterating Esp32 Amoled UI (niclasvestlund-YT/vibepulse, 208 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Implement Next Task?

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.