Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Create a pull request in this ESPHome config repo (nuttytree/ESPHome-Devices).
$ npx skills add nuttytree/ESPHome-Devices --skill pr-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nuttytree/ESPHome-Devices pr-workflow --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/nuttytree/ESPHome-Devices.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pr-workflow .claude/skills/pr-workflow && 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 "pr-workflow" agent skill from https://github.com/nuttytree/ESPHome-Devices/tree/master/.claude/skills/pr-workflow into .claude/skills/pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-workflow", 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/nuttytree/ESPHome-Devices/tree/master/.claude/skills/pr-workflowType 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 nuttytree/ESPHome-Devices --skill pr-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nuttytree/ESPHome-Devices pr-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nuttytree/ESPHome-Devices.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/pr-workflow .agents/skills/pr-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pr-workflow" agent skill from https://github.com/nuttytree/ESPHome-Devices/tree/master/.claude/skills/pr-workflow into .agents/skills/pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-workflow", 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 nuttytree/ESPHome-Devices --skill pr-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nuttytree/ESPHome-Devices pr-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nuttytree/ESPHome-Devices.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/pr-workflow .cursor/skills/pr-workflow && 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 "pr-workflow" agent skill from https://github.com/nuttytree/ESPHome-Devices/tree/master/.claude/skills/pr-workflow into .cursor/skills/pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-workflow", 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/nuttytree/ESPHome-Devices.git --path .claude/skills/pr-workflow--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 nuttytree/ESPHome-Devices --skill pr-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nuttytree/ESPHome-Devices pr-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nuttytree/ESPHome-Devices.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/pr-workflow .gemini/skills/pr-workflow && 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 "pr-workflow" agent skill from https://github.com/nuttytree/ESPHome-Devices/tree/master/.claude/skills/pr-workflow into .gemini/skills/pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-workflow", 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 nuttytree/ESPHome-Devices pr-workflowInstalls 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 nuttytree/ESPHome-Devices --skill pr-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nuttytree/ESPHome-Devices.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/pr-workflow .github/skills/pr-workflow && 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 "pr-workflow" agent skill from https://github.com/nuttytree/ESPHome-Devices/tree/master/.claude/skills/pr-workflow into .github/skills/pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-workflow", 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 nuttytree/ESPHome-Devices --skill pr-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nuttytree/ESPHome-Devices pr-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nuttytree/ESPHome-Devices.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/pr-workflow .opencode/skills/pr-workflow && 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 "pr-workflow" agent skill from https://github.com/nuttytree/ESPHome-Devices/tree/master/.claude/skills/pr-workflow into .opencode/skills/pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-workflow", 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.
pr-workflowCreate a pull request in this ESPHome config repo (nuttytree/ESPHome-Devices).
PR Workflow is an agent skill from nuttytree/ESPHome-Devices. Create a pull request in this ESPHome config repo (nuttytree/ESPHome-Devices). Use when opening a PR, submitting changes, or preparing contributions from this working directory. This repo's conventions differ from upstream esphome/esphome.
Its SKILL.md is about 1.3k 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 Pull requests. The repository describes itself as: A collection of ESPHome custom components, package files, and device configuration files for my various ESP8266/ESP32 devices that integrate with Home Assistant. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1b51f7d. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashGlobGrepFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, 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.
PR Workflow loads about 1.3k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 643 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Bash, Glob, GrepAutomated 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 nuttytree/ESPHome-Devices at commit 1b51f7d, republished under its MIT licence (© nuttytree). 643 words, ~1,311 tokens.
.claude/skills/pr-workflow/SKILL.md (or your agent's skills folder).This is the PR workflow for this repo: a personal ESPHome device-config and
custom-component repo, default branch master.
There is a second, unrelated
pr-workflowskill in the siblingdev_esphome/checkout. That one describes contributing to upstream ESPHome core: base onupstream/dev, fill in.github/PULL_REQUEST_TEMPLATE.md, prefix the title with[component],gh pr create --repo esphome/esphome --base dev. All of that is wrong here. It only appears as an available skill becausedev_esphome/is configured as an additional working directory for IntelliSense.dev_esphome/andesphome.io/are read-only reference checkouts of other people's projects — never push to them or open PRs against them.
/commit — branch, run hooks clean, commit, push. Use it for the pre-PR steps./commit_pr — the whole cycle: commit, push, PR, merge, and clean up.Use this skill when you want a PR opened but not merged. If the goal is to land
a change end to end, use /commit_pr instead.
Follow /commit in full. Never commit on master — the no-commit-to-branch
hook blocks it. Branch naming, per this repo's history:
| prefix | use | example |
|---|---|---|
f/ | feature or change | f/pump-restart-resume |
b/ | bug fix | b/pump-anomaly-detection |
chore/ | maintenance, tooling, docs | chore/align-lint-with-upstream |
Against this repo only, base master:
gh pr create --base master --title "<title>" --body-file -This repo has no PR template and uses no labels. Match recent merged PRs
(gh pr list --state merged --limit 5, then gh pr view <n> --json body):
Changes: bullet list of what was actually done. Reference related PRs or
issues as #<n>. Call out anything that silently changes behaviour on upgrade,
such as persisted state being discarded.esphome config <device>.yaml, or an
esphome compile if C++ changed.master requires all seven checks to pass before a PR can merge:
pre-commit esphome config
compile pool compile water-heater compile hvac
compile pool-lights compile master-bedenforce_admins is on, so this applies to the repo owner too. Budget ~5 minutes:
the five compiles run in parallel, esp32 builds take ~4 min, esp8266 ~2 min.
gh pr checks <number>Two CI facts worth knowing when a check looks wrong:
pull_request and pushes to master. Pushing a
branch with no PR open runs nothing at all. This is deliberate — see the comment
on the on: trigger in .github/workflows/ci.yml.devices/secrets.yaml is gitignored, so CI generates a placeholder one via
scripts/generate_ci_secrets.py before validating or compiling. A new !secret
reference is picked up automatically; no CI change needed.Some lint rules only fail on Linux. ruff's EXE001 (shebang on a
non-executable file) is skipped on Windows, so a local pre-commit run --all-files can pass while CI fails. Fix with
git update-index --chmod=+x <file> rather than dropping the shebang.
Squash only — allow_merge_commit and allow_rebase_merge are both false:
gh pr merge <number> --squash --delete-branchdelete_branch_on_merge enabled, so the remote branch goes either
way. --delete-branch additionally switches back to master, pulls, and
deletes the local branch — doing steps that would otherwise be manual.COMMIT_MESSAGES, which concatenates every commit on the
branch. For a multi-commit branch, pass --subject and --body explicitly so
the squashed commit reads as one coherent message in this repo's style.git branch -D, not -d: after a
squash the branch's commits aren't ancestors of the new master commit, so
-d's merged-check refuses.If gh reports it can't merge — conflicts, a failing required check — stop and
report rather than forcing it.
A required context that never reports leaves the PR unmergeable. To regain the admin bypass without disturbing anything else:
gh api -X DELETE repos/:owner/:repo/branches/master/protection/enforce_adminsNarrower DELETE endpoints also exist for required_status_checks and for the
whole protection object. Branch protection never blocks editing the protection
rule itself, and repo-owner admin can't be lost.
© nuttytree, MIT. 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/pr-workflow of nuttytree/ESPHome-Devices.
Open the folder on GitHubat commit 1b51f7d
PR Workflow 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 |
|---|---|---|---|---|---|---|
| PR Workflow this skillnuttytree/ESPHome-Devices | 126 | — | ~1.3k | Automated safety check: Notes | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Check PRonyx-dot-app/onyx | 32k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| PR Design DocOpenHands/OpenHands | 91k | — | ~2.4k | Automated safety check: Pass | MIT | |
| WooCommerce Code Reviewwoocommerce/woocommerce | 11k | 3 repos | ~1.1k | Automated safety check: Pass | Custom licence |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
woocommerce/woocommerce
Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.
payloadcms/payload
A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.
Categories
Create a pull request in this ESPHome config repo (nuttytree/ESPHome-Devices). PR Workflow is an agent skill from nuttytree/ESPHome-Devices. Create a pull request in this ESPHome config repo (nuttytree/ESPHome-Devices).
PR Workflow fits situations like: submitting changes; preparing contributions from this working directory.
Run `npx skills add nuttytree/ESPHome-Devices --skill pr-workflow -a claude-code`. Or copy the skill folder (.claude/skills/pr-workflow in nuttytree/ESPHome-Devices) into .claude/skills/pr-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nuttytree/ESPHome-Devices --skill pr-workflow -a codex`. Or copy the skill folder (.claude/skills/pr-workflow in nuttytree/ESPHome-Devices) into .agents/skills/pr-workflow 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 nuttytree/ESPHome-Devices --skill pr-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-workflow, .gemini/skills/pr-workflow, .github/skills/pr-workflow and .opencode/skills/pr-workflow in your project.
Going by SKILL.md and its folder, PR Workflow needs the command-line tools its instructions call (gh and git). Its frontmatter pre-approves these tools: Read, Bash, Glob, Grep.
SKILL.md contains no URLs. Its commands use gh and git, 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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
PR Workflow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.2k 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 PR Workflow: Finishing a Development Branch (obra/superpowers, 297k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and PR Design Doc (OpenHands/OpenHands, 91k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nuttytree (a GitHub user) maintains it in nuttytree/ESPHome-Devices, which has 126 GitHub stars. The repository was last updated on September 30, 2026.
Source: nuttytree/ESPHome-Devices on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.