Agent skill

PR Workflow

by nuttytree in nuttytree/ESPHome-Devices

Create a pull request in this ESPHome config repo (nuttytree/ESPHome-Devices).

MITAuto-check: notesDevelopment

Install PR Workflow

skills CLI
$ npx skills add nuttytree/ESPHome-Devices --skill pr-workflow -a claude-code

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

GitHub CLI
$ gh skill install nuttytree/ESPHome-Devices pr-workflow --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/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-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
pr-workflow
GitHub stars
126
Token cost
~1.3k tokens
SKILL.md length
643 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Create a pull request in this ESPHome config repo (nuttytree/ESPHome-Devices).

  • Works in 4 steps: Branch and commit → Open the PR → Wait for CI → …
  • Submitting changes
  • SKILL.md covers Related commands, 1. Branch and commit, 2. Open the PR and 3. Wait for CI, plus 1 more section
  • Calls gh and git

What it does

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.

When your agent uses it

  • Submitting changes
  • Preparing contributions from this working directory

Example prompts

  • “/pr-workflow”

Requirements

  • Pre-approved tools (allowed-tools): Read, Bash, Glob, Grep

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Branch and commit
  2. Open the PR
  3. Wait for CI
  4. Merging (if asked)

What it can do on your machine

Read from SKILL.md and the folder at commit 1b51f7d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

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

  • Network

    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.

  • 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

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.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash, Glob, Grep

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 nuttytree/ESPHome-Devices at commit 1b51f7d, republished under its MIT licence (© nuttytree). 643 words, ~1,311 tokens.

Download SKILL.mdSave it as .claude/skills/pr-workflow/SKILL.md (or your agent's skills folder).
name
pr-workflow
description
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.
allowed-tools
Read, Bash, Glob, Grep

PR Workflow (nuttytree/ESPHome-Devices)

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-workflow skill in the sibling dev_esphome/ checkout. That one describes contributing to upstream ESPHome core: base on upstream/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 because dev_esphome/ is configured as an additional working directory for IntelliSense. dev_esphome/ and esphome.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.

1. Branch and commit

Follow /commit in full. Never commit on master — the no-commit-to-branch hook blocks it. Branch naming, per this repo's history:

prefixuseexample
f/feature or changef/pump-restart-resume
b/bug fixb/pump-anomaly-detection
chore/maintenance, tooling, docschore/align-lint-with-upstream

2. Open the PR

Against this repo only, base master:

bash
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):

  • Title — sentence-case description of the change, no bracket or component prefix. E.g. "Distrust stale current readings; measure runtime from flow".
  • Body — prose statement of the problem and why it mattered, then a 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.
  • Verification — say how it was checked: esphome config <device>.yaml, or an esphome compile if C++ changed.
Show full SKILL.md (332 more words)Show less

3. Wait for CI

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-bed

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

bash
gh pr checks <number>

Two CI facts worth knowing when a check looks wrong:

  • Compile jobs only run on 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.

4. Merging (if asked)

Squash only — allow_merge_commit and allow_rebase_merge are both false:

bash
gh pr merge <number> --squash --delete-branch
  • The repo has delete_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.
  • Default squash body is 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.
  • Deleting the local branch by hand needs 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.

If a required check wedges a PR

A required context that never reports leaves the PR unmergeable. To regain the admin bypass without disturbing anything else:

bash
gh api -X DELETE repos/:owner/:repo/branches/master/protection/enforce_admins

Narrower 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

Files

Just SKILL.md in .claude/skills/pr-workflow of nuttytree/ESPHome-Devices.

Open the folder on GitHubat commit 1b51f7d

Compare with similar skills

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.

PR Workflow compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Workflow this skillnuttytree/ESPHome-Devices126—~1.3kAutomated safety check: NotesMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
PR Design DocOpenHands/OpenHands91k—~2.4kAutomated safety check: PassMIT
WooCommerce Code Reviewwoocommerce/woocommerce11k3 repos~1.1kAutomated safety check: PassCustom licence

Similar skills

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

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    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.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • PR Design Doc

    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…

    91k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • WooCommerce Code Review

    woocommerce/woocommerce

    Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.

    11k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Record PR Demo

    payloadcms/payload

    A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.

    45k GitHub stars~1k tokensUpdated yesterday
    DevelopmentAuto-check passed

Categories

Questions about PR Workflow

What does PR Workflow do?

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

When should I use PR Workflow?

PR Workflow fits situations like: submitting changes; preparing contributions from this working directory.

How do I install PR Workflow in Claude Code?

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.

How do I install PR Workflow in Codex?

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.

Can I use PR Workflow 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 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.

What does PR Workflow need to run?

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.

Does PR Workflow access the network?

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.

Is PR Workflow safe to install?

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.

What licence does PR Workflow use?

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.

How many tokens does PR Workflow use?

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.

What are the alternatives to PR Workflow?

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.

Who maintains PR Workflow?

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.