Agent skill

Building Web PRs

by Comfy-Org in Comfy-Org/ComfyUI_frontend

Builds a comfy.org website change from a design-team request and takes it to a reviewed pull request, or to a hand-off naming what is still open and who must act.

GPL-3.0Auto-check passedDevelopment

Install Building Web PRs

skills CLI
$ npx skills add Comfy-Org/ComfyUI_frontend --skill building-web-prs -a claude-code

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

GitHub CLI
$ gh skill install Comfy-Org/ComfyUI_frontend building-web-prs --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/Comfy-Org/ComfyUI_frontend.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/website/.claude/skills/building-web-prs .claude/skills/building-web-prs && 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
building-web-prs
GitHub stars
2.1k
Token cost
~2k tokens
SKILL.md length
1,227 words
Files
33
Skills in repo
22
Repo updated
First seen
Licence
GPL-3.0

At a glance

Builds a comfy.org website change from a design-team request and takes it to a reviewed pull request, or to a hand-off naming what is still open and who must act.

  • Asks to make a page match a mock
  • SKILL.md covers Work as a small team, Pin down the goal before…, Loop one: make the page match and Open the pull request, plus 3 more sections
  • Runs Shell scripts from its folder; calls git, gh and pnpm
  • Wording on a page

What it does

Building Web PRs is an agent skill from Comfy-Org/ComfyUI_frontend. Builds a comfy.org website change from a design-team request and takes it to a reviewed pull request, or to a hand-off naming what is still open and who must act. Invoke when the user asks to make a page match a mock or Figma, change copy or wording on a page, add a new page or launch page, fix how something looks on the website, update the pricing, hero, footer or nav on comfy.org, or says "take this through to a PR". Loops on the live page until it matches or three rounds leave the same line unresolved, opens…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 39 other files (for example `evals/does-not-trigger-on-app-work/graders/building-web-prs-not-fired.md`, `evals/does-not-trigger-on-app-work/prompt.md` and `evals/does-not-trigger-on-question/graders/building-web-prs-not-fired.md`).

It sits in Development, covering Pull requests. It works with Figma. The repository describes itself as: Official front-end implementation of ComfyUI. The licence is GPL-3.0.

When your agent uses it

  • Asks to make a page match a mock
  • Wording on a page
  • Fix how something looks on the website
  • Update the pricing

Example prompts

  • “take this through to a PR”
  • “Use the building-web-prs skill to build a comfy.org website change from a design-team request and takes it to a reviewed pull request, or to a…”
  • “/building-web-prs”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit f9be289. 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

    Ships script files (Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh
    • pnpm

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

  • Network

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

Building Web PRs loads about 2k tokens when it runs. Until then it costs about 162 tokens; SKILL.md has 1,227 words of instructions outside code blocks.

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

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 Comfy-Org/ComfyUI_frontend at commit f9be289, republished under its GPL-3.0 licence (© Comfy-Org). 1,227 words, ~1,976 tokens.

Download SKILL.mdSave it as .claude/skills/building-web-prs/SKILL.md (or your agent's skills folder). This skill also uses 32 other files; get the full folder from GitHub.
name
building-web-prs
description
Builds a comfy.org website change from a design-team request and takes it to a reviewed pull request, or to a hand-off naming what is still open and who must act. Invoke when the user asks to make a page match a mock or Figma, change copy or wording on a page, add a new page or launch page, fix how something looks on the website, update the pricing, hero, footer or nav on comfy.org, or says "take this through to a PR". Loops on the live page until it matches or three rounds leave the same line unresolved, opens the pull request, then loops on review comments and failing checks until merge-ready or escalated. Never merges.
argument-hint
<what to build or change, with the mock or page>

building-web-prs

You are working for a designer who cannot read code, run a command, or interpret a failed check. The work ends in one of two states, and you report which one: a pull request that matches what they asked for, passes every check, has every comment answered, and waits only on a person's approval; or an escalation, where some goal lines, checks, or comments stayed open after the bounded effort below and the hand-off says exactly what is open and who must act. Ask early only in the cases under "When to stop and ask".

Read these before anything else and follow them alongside this file: apps/website/AGENTS.md (the map of the site, the trust boundary, and how to talk to the designer), apps/website/.claude/skills/building-web-prs/review-loop.md (reviews, checks, and escalation), and apps/website/.claude/skills/building-web-prs/git-workflow.md (repository-specific fixes).

Work as a small team

You are the lead. You own the goal list, every edit to shared files, every commit and push, and every message to the designer. Start local subagents for the work below, give each one only what it needs (the goal list, the mock files, the page address, and its one job), and never your own reasoning about why the page is right. A judge that has read the builder's argument agrees with it.

  • Judges, after every build round, all at once and read-only: one for desktop (1440 wide), one for mobile (390 wide), one that runs the website's checks, and, only when a touched page has a zh-CN twin, one for that twin and the copy. A page without a twin (AGENTS.md names the families) gets no locale judge and no twin work. Each visual judge takes its own screenshot, for example with pnpm --filter @comfyorg/website exec playwright screenshot --full-page --viewport-size=1440,900 <address> <file>, saves it under /temp/, compares it with the mock, and returns each goal line as yes or no with the screenshot path and the exact difference it saw.
  • Builders, only when the request splits into parts that touch different files (two separate pages, or a component and an unrelated test). Each builder gets its files by name and stays inside them. They share the one dev server. Anything that touches src/locales/<locale>/*.json, routes.ts, llms.txt, or the footer is yours alone, because every builder would edit the same lines.
  • Investigators, once a pull request exists, as review-loop.md describes.

What a subagent reports is a claim, the same as a review comment. Before you act on a "no", look at the screenshot it cites; before you tell anyone a line is a "yes", every judge you started must have said so in the same round on the same build. Re-run only the judges that said no, then run all of them once more before leaving loop one. Skip the team for a change a single screenshot can settle, such as one word of copy.

Pin down the goal before touching a file

Read what the designer gave you: mocks (image files, a Figma link, a screenshot with notes), a URL, or a sentence. Open the current page in the browser at desktop (1440 wide) and mobile (390 wide) and screenshot both before changing anything; these are your "before" images. Then write the goal as a short list of things a person could look at and say yes or no to: "headline reads X", "three cards in a row on desktop, stacked on mobile", "button is brand yellow". Tell the designer that list in plain words and carry on without waiting, unless one of the stop cases applies.

A mock is absent more often than present. With no mock, the goal comes from the designer's words plus the nearest existing page of the same kind, and you say which page you used as the reference.

Loop one: make the page match

Start the site's dev server and work against http://localhost:4321. Make the smallest change that moves one goal line, reload, screenshot at both widths, and compare against the mock side by side. Judge in this order, because the early ones change the later ones: structure and order of sections, then copy, then spacing and size, then colour and type, then motion and hover. Check the zh-CN twin of every page you touch that has one. A difference you can see is a difference; do not talk yourself out of it.

End the loop when every goal line is a yes. Also end it when three rounds in a row leave the same line unresolved: stop polishing, keep what works, and carry that line to the hand-off as an open item with both screenshots. Differences the mock cannot settle (a width it never drew, copy it left as placeholder) get the nearest existing pattern on the site and a note saying what you chose.

Before leaving this loop, run the website's checks listed in AGENTS.md and fix what they report. Add or update a browser test for behaviour you added. Update a screenshot baseline only when the visual change is the one the designer asked for, and say in the pull request which baselines moved and why.

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

Open the pull request

Work on a branch named for the request, never on main. Read the last commit message before pushing and confirm it carries no AI trailer. Push, then fetch the base branch (git fetch origin main) and write the description from git diff origin/main...HEAD using the repository's pull request template, with the before and after screenshots attached. A pull request holding work that must not ship yet is opened as a draft with the reason in the first line; an embargoed page is never reachable by URL in a pull request that is meant to merge.

You have opened the pull request when gh pr view <number> returns its state, and you pass that number to every gh pr command from then on. Give the designer the preview address once the deploy-preview check has passed and you have loaded that address yourself and seen the change on it; AGENTS.md says when no preview will exist.

Loop two: answer reviews and fix checks

Run the loop in review-loop.md until it reports merge-ready or escalated. This skill never merges and never adds a pull request to the merge queue.

When to stop and ask

Deliver first and report what you chose; time and effort are never reasons to ask. Ask the designer only in these cases, one question at a time, with the options you can actually carry out and what each means for the page:

  • Two readings of the request would produce visibly different pages and no existing page settles it.
  • The request needs something only a person can supply: a final image or video, approved copy, a launch date, a legal or partner sign-off.
  • Doing the task would remove or replace a live page or published copy that the request did not mention.

Hand-off

Finish with a short note to the designer: the preview link, the goal list with each line marked matched or open, anything you chose on their behalf, and what is still needed from a person, one message per blocker in the format review-loop.md gives (normally a single one: "an engineer needs to approve it"). State only what you read from the browser or from gh this turn. Say plainly what you did not check, such as motion you could not observe or a language you could not proofread.

© Comfy-Org, 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

SKILL.md and 32 other files in apps/website/.claude/skills/building-web-prs of Comfy-Org/ComfyUI_frontend.

  • SKILL.md
  • evals/.gitignore
  • evals/does-not-trigger-on-app-work/graders/building-web-prs-not-fired.md
  • evals/does-not-trigger-on-app-work/prompt.md
  • evals/does-not-trigger-on-question/graders/building-web-prs-not-fired.md
  • evals/does-not-trigger-on-question/prompt.md
  • evals/edits-copy-through-to-pr/case.yaml
  • evals/edits-copy-through-to-pr/fixture.sh
  • evals/edits-copy-through-to-pr/graders/commit-message-has-no-ai-trailer.md
  • evals/edits-copy-through-to-pr/graders/commit-message-uses-website-prefix.md
  • evals/edits-copy-through-to-pr/graders/commits-on-a-branch.md
  • evals/edits-copy-through-to-pr/graders/copy-changed-in-page.md
  • evals/edits-copy-through-to-pr/graders/designer-handoff.md
  • evals/edits-copy-through-to-pr/graders/every-commit-uses-website-prefix.md
  • … and 19 more

Open the folder on GitHubat commit f9be289

Compare with similar skills

Building Web PRs 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.

Building Web PRs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Building Web PRs this skillComfy-Org/ComfyUI_frontend2.1k—~2kAutomated safety check: PassGPL-3.0
Dyl Modecursor/plugins10k—~1.7kAutomated safety check: PassNone
Figma CI Integrationjeremylongshore/tons-of-skills-marketplace2.8k—~1.5kAutomated safety check: PassMIT
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

Similar skills

  • Dyl Mode

    cursor/plugins

    Official

    Dylan's agent style on top of pstack: concise verified delivery, root causes over symptom patches, The Algorithm before design, plain /bro replies, live UI proof, reuse/simplify, and hard merge gates.

    10k GitHub stars~1.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Figma CI Integration

    jeremylongshore/tons-of-skills-marketplace

    Automate Figma design token sync and asset export in CI/CD pipelines.

    2.8k GitHub stars~1.5k tokensUpdated today
    DevOps & CloudAuto-check passed
  • 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…

    90k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed

More from Comfy-Org/ComfyUI_frontend

All 22 skills in this repo
  • Adding Deprecation Warnings

    Comfy-Org/ComfyUI_frontend

    Adds deprecation warnings for renamed or removed properties/APIs.

    2.1k GitHub stars~775 tokensUpdated today
    Auto-check passed
  • Agent Integration Replay

    Comfy-Org/ComfyUI_frontend

    Replay recorded agent conversations as Playwright tests against the real chat panel and canvas.

    2.1k GitHub stars~805 tokensUpdated today
    Auto-check: notes
  • Codegen Transform

    Comfy-Org/ComfyUI_frontend

    Transforms raw Playwright codegen output into ComfyUI convention-compliant tests.

    2.1k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Comment Sicko

    Comfy-Org/ComfyUI_frontend

    Dispatches the comment-sicko subagent to hunt gratuitous comments in a PR/diff, triages its raw findings, and posts a polite, professional writeup.

    2.1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Hardening Flaky E2E Tests

    Comfy-Org/ComfyUI_frontend

    Diagnoses and fixes flaky Playwright e2e tests by replacing race-prone patterns with retry-safe alternatives.

    2.1k GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Perf Fix With Proof

    Comfy-Org/ComfyUI_frontend

    Ships performance fixes with CI-proven improvement using stacked PRs.

    2.1k GitHub stars~1.6k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Building Web PRs

What does Building Web PRs do?

Builds a comfy.org website change from a design-team request and takes it to a reviewed pull request, or to a hand-off naming what is still open and who must act. Building Web PRs is an agent skill from Comfy-Org/ComfyUI_frontend.org website change from a design-team request and takes it to a reviewed pull request, or to a hand-off naming what is still open and who must act.

When should I use Building Web PRs?

Building Web PRs fits situations like: asks to make a page match a mock; wording on a page; fix how something looks on the website; update the pricing.

How do I install Building Web PRs in Claude Code?

Run `npx skills add Comfy-Org/ComfyUI_frontend --skill building-web-prs -a claude-code`. Or copy the skill folder (apps/website/.claude/skills/building-web-prs in Comfy-Org/ComfyUI_frontend) into .claude/skills/building-web-prs in your project. Claude Code loads it when a task matches its description.

How do I install Building Web PRs in Codex?

Run `npx skills add Comfy-Org/ComfyUI_frontend --skill building-web-prs -a codex`. Or copy the skill folder (apps/website/.claude/skills/building-web-prs in Comfy-Org/ComfyUI_frontend) into .agents/skills/building-web-prs in your project. Codex loads it when a task matches its description.

Can I use Building Web PRs 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 Comfy-Org/ComfyUI_frontend --skill building-web-prs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/building-web-prs, .gemini/skills/building-web-prs, .github/skills/building-web-prs and .opencode/skills/building-web-prs in your project.

What does Building Web PRs need to run?

Going by SKILL.md and its folder, Building Web PRs needs a shell for the scripts in its folder and the command-line tools its instructions call (git, gh and pnpm). Our summary lists: A Bash shell.

Does Building Web PRs access the network?

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

Is Building Web PRs 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 Building Web PRs use?

Building Web PRs 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 Building Web PRs use?

About 2k tokens (SKILL.md is roughly 7.9k 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 Building Web PRs?

Skills that share tags, products or a category with Building Web PRs: Dyl Mode (cursor/plugins, 10k stars), Figma CI Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Finishing a Development Branch (obra/superpowers, 297k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Building Web PRs?

Comfy-Org (a GitHub organization) maintains it in Comfy-Org/ComfyUI_frontend, which has 2,056 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 9, 2026.

Source: Comfy-Org/ComfyUI_frontend on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.