pr-workflow
Standardizes the PR creation and submission process for frontend device builders.
Install
mkdir -p .claude/skills/pr-workflow-esphome && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12240" && unzip -o skill.zip -d .claude/skills/pr-workflow-esphome && rm skill.zipInstalls to .claude/skills/pr-workflow-esphome
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create pull requests for esphome/device-builder-frontend. Use when creating PRs, submitting changes, or preparing contributions.Key capabilities
- →Create a new branch from `origin/main` for pull requests.
- →Read and fill out the `.github/PULL_REQUEST_TEMPLATE.md`.
- →Apply a release-notes label to the pull request.
- →Coordinate frontend changes with backend requirements.
- →Adhere to commit message conventions.
- →Push changes and create a pull request using `gh pr create`.
How it works
The skill guides the user through the process of creating a pull request for `esphome/device-builder-frontend`, ensuring adherence to branching, templating, labeling, and commit conventions.
Inputs & outputs
When to use pr-workflow
- →Creating feature PRs
- →Submitting changes
- →Preparing contributions
About this skill
device-builder-frontend PR Workflow
When creating a pull request for esphome/device-builder-frontend,
follow these steps. The frontend ships prebuilt inside the
esphome/device-builder Python wheel, so backend-visible changes
(WS commands, model shapes, ConfigEntryType values) usually need
a coordinated PR there too.
1. Create branch from origin/main
origin already points at esphome/device-builder-frontend —
there is no fork in this workflow. Always re-fetch first:
git fetch origin
git checkout -b <branch-name> origin/main
2. Read the PR template
Before creating a PR, read .github/PULL_REQUEST_TEMPLATE.md for
the required sections. Fill in every section — do not skip or
abbreviate. If the template's "Types of changes" list looks
narrower than the label set the workflow enforces (see step 3),
prefer the workflow's canonical list when picking a label.
3. Apply a release-notes label
.github/workflows/pr-labels.yaml uses
ludeeus/action-require-labels to require at least one of the
release-drafter labels — it does not cap the number, but
release-drafter slots a PR by its first matching label, so in
practice apply just one:
breaking-change, bugfix, refactor, new-feature,
enhancement, maintenance, ci, dependencies, docs.
Unlike the backend repo, this workflow does not auto-apply a label from a checkbox — you must pass the label explicitly when creating the PR (or apply it via the UI before CI runs):
gh pr create --label enhancement ...
Pick whichever label release-drafter would file the change under;
if in doubt, look at the headings in .github/release-drafter.yml.
4. Backend coordination
If the change consumes a new WS command, event, model field, or
ConfigEntryType from esphome/device-builder, link the companion
backend PR in the description. Frontend PRs that depend on
unmerged backend changes should stay in draft until the backend
side has landed.
5. Commit message conventions
- Imperative-mood subject line — "Add X", not "Added X".
- No
Co-Authored-By: Claudetrailer. Project preference (matches the backend repo). - One logical change per commit. Run
pnpm run lintandpnpm run testlocally before pushing.
6. Push and create the PR
Always read .github/PULL_REQUEST_TEMPLATE.md from the repo at
PR-creation time and use it verbatim as the body — do not
reproduce, paraphrase, or trim the template anywhere else, or it
will silently drift out of sync as the template evolves.
When filling in the template:
- Replace the
<!-- ... -->prompt comments with the actual prose for that section. Do not delete anything else. - Leave all the checkboxes in place. Do not remove rows you aren't ticking — the human reviewer relies on the full list being present.
- Tick exactly one "Types of changes" box. For the Checklist
section, only tick boxes you have actually verified; leave the
rest as
- [ ]. - Do not escape characters from the template. Backticks,
asterisks, angle brackets, etc. must be passed through verbatim
— escaping a backtick to
\`corrupts inline code in the rendered PR. The template is already valid Markdown; do not rewrite it for shell quoting. Use--body-file, never--body "..."with shell-escaping.
git push -u origin <branch-name>
# Read .github/PULL_REQUEST_TEMPLATE.md, fill it in as above,
# write the result to a temp file, then:
gh pr create --repo esphome/device-builder-frontend --base main \
--label <release-notes-label> \
--title "Imperative subject under 70 chars" \
--body-file /tmp/pr-body.md
7. After the PR is open
CI runs the test workflow and the label-verifier. If pr-labels
fails, the PR is missing one of the canonical release-drafter
labels — apply one via gh pr edit --add-label <label> rather
than pushing an empty commit.
When not to use it
- →When creating a PR for a repository other than `esphome/device-builder-frontend`.
- →When the user wants to auto-apply a label from a checkbox.
- →When the user wants to escape characters from the PR template.
Limitations
- →The workflow is specific to `esphome/device-builder-frontend`.
- →The workflow does not auto-apply labels from checkboxes.
- →Frontend PRs dependent on unmerged backend changes should remain in draft.
How it compares
This skill provides a structured workflow with specific commands and rules for PR creation in a particular repository, ensuring compliance with project-specific requirements, unlike a generic PR creation process.
Compared to similar skills
pr-workflow side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| pr-workflow (this skill) | 0 | 3mo | Review | Intermediate |
| prowler | 0 | 3mo | Review | Beginner |
| update-major-deps | 0 | 1mo | No flags | Advanced |
| senior-fullstack | 35 | 7mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
prowler
prowler-cloud
Main entry point for Prowler development - quick reference for all components. Trigger: General Prowler development questions, project overview, component navigation (NOT PR CI gates or GitHub Actions workflows).
update-major-deps
makeup
Perform major dependency updates one logical group at a time, assessing breakage risk, then build, test, and create a signed commit per group
senior-fullstack
davila7
Comprehensive fullstack development skill for building complete web applications with React, Next.js, Node.js, GraphQL, and PostgreSQL. Includes project scaffolding, code quality analysis, architecture patterns, and complete tech stack guidance. Use when building new projects, analyzing code quality, implementing design patterns, or setting up development workflows.
typescript
lobehub
TypeScript code style and optimization guidelines. Use when writing TypeScript code (.ts, .tsx, .mts files), reviewing code quality, or implementing type-safe patterns. Triggers on TypeScript development, type safety questions, or code style discussions.
typescript-skills
llama-farm
Shared TypeScript best practices for Designer and Electron subsystems.
web-development
TencentCloudBase
Web frontend project development rules. Use this skill when developing web frontend pages, deploying static hosting, and integrating CloudBase Web SDK.