Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

ce-polish — Claude Code skill: polish UI with live browser feedback

Refines a working feature through browser feedback: you point out what needs work, the skill edits the code, hot reload shows the result.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add EveryInc/compound-engineering-plugin --skill ce-polish -a claude-code
Open on GitHub

What ce-polish does

The skill starts a dev server, opens the page, and waits for your observations. Two modes: traditional — you type what to fix; live — you talk and draw on the page, a voice interviewer turns your speech into tasks, the agent fixes them in code, you see changes immediately. Live mode requires an OpenAI key in the environment and adds the riffrec dependency as a setup commit on the current branch.

All fixes are saved as local commits. It never pushes, never opens a PR, and never touches the default branch — that's a safety boundary. When you say you're done, the skill invokes ce-commit to save the changes and reports the still-running server URL.

What it helps with

  • polish a feature before shipping without manual commit workflow
  • collect feedback by voice and drawing directly on the page
  • fix UX details and see the result through hot reload instantly
  • refine a form or widget before merging
  • turn live observations into code edits

Example prompts for the agent

  • Start live polish session for the checkout page on current branch
  • I need to refine the signup form, open it in the browser and wait for my feedback
  • Polish the dashboard in branch feature/new-layout

How to install ce-polish

1Skills CLI (Vercel)

npx skills add EveryInc/compound-engineering-plugin --skill ce-polish -a claude-code

2Manually: put the files in place

~/.claude/skills/ce-polish/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/ce-polish/

From the same set21

The whole set →
ce-brainstorm EveryInc Turns vague ideas into a structured requirements plan through dialogue. Separates product decisions from code. Claude Code CX Codex Cursor +1 3,900installs ce-compound EveryInc A skill that captures non-obvious reasoning from solved problems as durable project knowledge. Use it when the final code works but the logic behind it might vanish when the next person reads the code. Claude Code CX Codex Cursor +1 3,700installs ce-plan EveryInc Builds structured technical implementation plans without touching production code. Useful when scoping features before passing work to execution agents. Claude Code CX Codex Cursor +1 3,700installs ce-code-review EveryInc Reviews a named diff or pull request for bugs, regressions, tests, and project standards. Use it for a current branch review or a specific PR. Claude Code CX Codex Cursor +1 3,700installs ce-work EveryInc Executes a plan document or build spec end-to-end with local verification. Ideal for implementing features without reopening architectural debates. Claude Code CX Codex Cursor +1 3,600installs ce-doc-review EveryInc This skill reviews requirements, plans, and specs through role-based reviewers. Use it to catch consequential issues in an existing document and apply fixes within the granted authority. Claude Code CX Codex Cursor +1 3,600installs ce-debug EveryInc Finds the root cause of a bug from trigger to symptom and applies a test-first fix. Useful when investigating broken behavior or failing CI logs. Claude Code CX Codex Cursor +1 3,500installs lfg EveryInc Takes a request from intake to a finished result and opens a pull request for code changes. Use it when the user explicitly wants autonomous end-to-end work. Claude Code CX Codex Cursor +1 3,500installs

Similar

v3-to-v4-migration phaserjs Guides migration from Phaser 3 to Phaser 4. Explains renderer architecture changes, unified filters, and tint system updates. Claude Code CX Codex Cursor +1 711installs react-joyride gilbarbara Teaches the agent to create step-by-step tours and onboarding flows in React apps using React Joyride v3. Claude Code CX Codex Cursor +1 686installs scroll-craft nateherkai A skill that plans and builds a scroll-driven landing page: brief interview, section order, one emotional peak, dimensional hero, screenshot checks. Claude Code CX Codex Cursor +1 1,200installs react-audit-grep-patterns official github Verified grep pattern library for auditing React projects before upgrading to React 18.3.1 or 19. It spots deprecated APIs and syntax breaking changes. GitHub Copilot 854installs swiftui-ui-patterns official OpenAI This skill helps build and refactor SwiftUI interfaces, from navigation and state to layouts and controls. Use it for new screens or changes to an existing project. CX Codex GP ChatGPT 114installs svelte vercel-labs Guides AI coding agents through building Svelte 5 component trees from json-render specs, including state, events, bindings, and catalogs. Claude Code CX Codex Cursor +1 1,200installs frontend-design official anthropics This skill guides intentional visual design for new interfaces and redesigns. Use it when a generic generated UI is not enough. Claude Code Claude.ai 1,025,790installs design-taste-frontend Leonxlnx This skill directs the design of public pages and work screens, then checks the result in a browser through screenshots. Use it when an interface feels generic or unfinished. Claude Code CX Codex Cursor +1 673,100installs

Questions about ce-polish

How to install ce-polish in Claude Code?

Run npx skills add EveryInc/compound-engineering-plugin --skill ce-polish -a claude-code, the skill will land in ~/.claude/skills/ce-polish/SKILL.md.

What does ce-polish do?

It starts a dev server with the working feature, collects your feedback in the browser (typed or spoken with drawing on the page), edits the code to match your observations, and saves changes as local commits. It never pushes and never touches the default branch.

Why does ce-polish need an OpenAI key?

The key is required for live mode: a voice interviewer listens to your speech, sees what you draw and click, and turns that into tasks for the agent. Traditional mode does not require the key.

Source text

SKILL.md · MIT
---
name: ce-polish
description: "Polish a working feature through user-directed live browser feedback. Use when a functional feature needs focused UX refinement before shipping."
disable-model-invocation: true
argument-hint: "[PR number, branch name, or blank for current branch]"
---

# Polish

Put a working feature in front of the user and turn their live observations into focused UX fixes on the running page. Two ways to collect those observations: **traditional**, where the user types what could be better; and **live**, where they talk and draw on the page while a voice interviewer turns speech into units and you act on them at checkpoints.

**Done:** the user ends the polish loop, every requested fix is reflected in the live feature or reported as blocked, and the in-scope changes are saved in local commit(s). A live session also ends with a residual list of the units that were not applied and the path of its session log. A server or checkout blocker also ends the run when it is reported with the evidence needed to resume.

**Boundaries:** the user drives what to inspect and change; do not invent an autonomous checklist or expand into general QA. Never work on the repository's default branch. This workflow may edit and locally commit the requested polish, and in live mode the disclosed riffrec setup commit, but it never pushes or opens a PR.

## Run

1. **Ask live or traditional.** Ask once, before any server starts. Include this disclosure with the question: live mode needs an OpenAI key in the environment, runs a voice interviewer in the page that hears the user, is told what they click and draw on, and looks at their screen when they point at something or ask it to, streams the session to a local endpoint this skill runs, and, when riffrec is not yet in the app, adds the riffrec dependency and a provider mount as a setup commit on the current branch that stays after the session. Traditional continues with steps 2–5 unchanged. Live: read `references/live-start.md`; it owns preconditions, install, the endpoint, and the URL handoff, applies the workspace and server rules of `references/run.md` itself, then routes to `references/live-loop.md` for the session and its close. Steps 2–5 do not run for a live session.
2. **Get the live page ready.** Read `references/run.md` before resolving the requested ref or starting anything. It owns existing-worktree safety, dev-server discovery, the bundled-script calls, reachability, and the browser handoff.
3. **Wait for observations.** Tell the user where the server is running and ask what could be better. Do not start a review pass while they browse.
4. **Iterate.** For each requested change, inspect only as needed, edit the in-scope surface, and let hot reload update the page. When the user asks you to inspect the result, use a browser capability available in the active harness; if none exists, ask them to describe what they see.
5. **Close locally.** When the user says they are done, invoke `ce-commit` for the polish changes, then report the commit(s), the still-running server URL, and any residual blocker.

© EveryInc · MIT · EveryInc/compound-engineering-plugin

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor