pr-workflow | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / pr-workflow

pr-workflow

maintained by esphome

star 10.5k account_tree 5k verified_user MIT License
bolt View GitHub

name: pr-workflow description: Create pull requests for esphome. Use when creating PRs, submitting changes, or preparing contributions. allowed-tools: Read, Bash, Glob, Grep

ESPHome PR Workflow

When creating a pull request for esphome, follow these steps:

1. Create Branch from Upstream

Always base your branch on upstream (not origin/fork) to ensure you have the latest code:

git fetch upstream
git checkout -b <branch-name> upstream/dev

2. Read the PR Template

Before creating a PR, read .github/PULL_REQUEST_TEMPLATE.md to understand required fields.

3. Create the PR

Use gh pr create with the full template filled in. Never skip or abbreviate sections.

Required fields:

  • What does this implement/fix?: Brief description of changes
  • Types of changes: Check ONE appropriate box (Bugfix, New feature, Breaking change, etc.)
  • Related issue: Use fixes <link> syntax if applicable
  • Pull request in esphome-docs: Link if docs are needed
  • Test Environment: Check platforms you tested on
  • Example config.yaml: Include working example YAML
  • Checklist: Verify code is tested and tests added

4. Example PR Body

# What does this implement/fix?

<describe your changes here>

## Types of changes

- [ ] Bugfix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Developer breaking change (an API change that could break external components)
- [ ] Code quality improvements to existing code or addition of tests
- [ ] Other

**Related issue or feature (if applicable):**

- fixes https://github.com/esphome/esphome/issues/XXX

**Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):**

- esphome/esphome-docs#XXX

## Test Environment

- [x] ESP32
- [x] ESP32 IDF
- [ ] ESP8266
- [ ] RP2040
- [ ] BK72xx
- [ ] RTL87xx
- [ ] LN882x
- [ ] nRF52840

## Example entry for `config.yaml`:

```yaml
# Example config.yaml
component_name:
  id: my_component
  option: value

Checklist:

  • The code change is tested and works locally.
  • Tests have been added to verify that the new code works (under tests/ folder).

If user exposed functionality or configuration variables are added/changed:


## 5. Push and Create PR

```bash
git push -u origin <branch-name>
gh pr create --repo esphome/esphome --base dev --title "[component] Brief description"

Title should be prefixed with the component name in brackets, e.g. [safe_mode] Add feature.

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 10.5k
GitHub Forks 5k
Created Jan 2026
Last Updated il y a 4 mois
tools tools git workflows

Related Skills

pr

pr

MoonshotAI
star 6.1k
chevron_right
feature-dev
chevron_right
drafting-pr
chevron_right
creating-pr
chevron_right
checking-docs
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.