PluginBench
Skill
Pass
Audit score 90

ce-polish-beta

everyinc/compound-engineering-plugin

Start a dev server, open the feature in a browser, and iterate on improvements together.

What is ce-polish-beta?

A beta skill for collaborative feature development. It detects your project type, starts the dev server, opens it in your IDE's browser, and enables a conversation loop where you describe what to improve and the agent makes fixes in real time.

  • Detects project framework (Rails, Next.js, Vite, Nuxt, Astro, Remix, SvelteKit, or Procfile-based)
  • Starts the dev server with auto-detected or custom launch configuration
  • Opens the running feature in your IDE's native browser (Claude Code, Cursor, or VS Code)
  • Accepts branch/PR arguments to check out and test specific changes
  • Iterates on improvements via conversation—describe what feels off, fixes happen automatically
  • Hot-reloads changes without manual server restart

How to install ce-polish-beta

npx skills add https://github.com/everyinc/compound-engineering-plugin --skill ce-polish-beta
Prerequisites
  • A web project using one of the supported frameworks or a Procfile
  • Node.js or Ruby environment (depending on your framework)
  • Optional: `.claude/launch.json` file in your project root to customize the dev-server start command
Claude Code
Cursor
Windsurf
Cline

How to use ce-polish-beta

  1. 1.Run the skill with an optional PR number, branch name, or leave blank for the current branch
  2. 2.The skill checks out the branch if needed and verifies you're not on main/master
  3. 3.It detects your project type and starts the dev server on the appropriate port
  4. 4.Your IDE's browser opens to the running feature
  5. 5.Browse the feature and describe what could be better in the chat
  6. 6.The agent makes code changes; the dev server hot-reloads automatically
  7. 7.Repeat the feedback loop until you're satisfied, then the agent commits the fixes

Use cases

Good for
  • Polish a feature branch before merging by iterating on UI/UX feedback in real time
  • Review and refine a pull request by checking out the branch and testing interactively
  • Rapidly prototype changes to a web feature without leaving your IDE
  • Collaborate on bug fixes by describing issues and watching them resolve live
Who it's for
  • Web developers working on Rails, Next.js, Vite, Nuxt, Astro, Remix, or SvelteKit projects
  • Teams doing collaborative code review and feature refinement
  • Developers who want to stay in their IDE while testing changes

ce-polish-beta FAQ

What if my project type isn't detected?

The skill will ask you how to start the project. You can also create a `.claude/launch.json` file in your project root to provide explicit start commands.

Can I use this on a specific PR or branch?

Yes. Pass the PR number or branch name as an argument when running the skill, and it will check out that branch before starting the server.

What happens if the dev server doesn't start?

The skill probes for up to 30 seconds. If it fails, it shows the last 20 lines of the server log and asks you what to do.

Do I need to manually restart the server after changes?

No. The dev server hot-reloads automatically as you make changes, so you see updates instantly in the browser.

Which IDEs are supported?

Claude Code, Cursor, and VS Code. The skill detects your IDE and uses its native browser mechanism.

Full instructions (SKILL.md)

Source of truth, from everyinc/compound-engineering-plugin.


name: ce-polish-beta description: "[BETA] Start the dev server, open the feature in a browser, and iterate on improvements together." disable-model-invocation: true argument-hint: "[PR number, branch name, or blank for current branch]"

Polish

Start the dev server, open the feature in a browser, and iterate. You use the feature, say what feels off, and fixes happen.

Phase 0: Get on the right branch

  1. If a PR number or branch name was provided, check it out (probe for existing worktrees first).
  2. If blank, use the current branch.
  3. Verify the current branch is not main/master.

Phase 1: Start the dev server

1.1 Check for .claude/launch.json

Run bash scripts/read-launch-json.sh. If it finds a configuration, use it — the user already told us how to start the project.

1.2 Auto-detect (when no launch.json)

Run bash scripts/detect-project-type.sh to identify the framework.

Route by type to the matching recipe reference for start command and port defaults:

TypeRecipe
railsreferences/dev-server-rails.md
nextreferences/dev-server-next.md
vitereferences/dev-server-vite.md
nuxtreferences/dev-server-nuxt.md
astroreferences/dev-server-astro.md
remixreferences/dev-server-remix.md
sveltekitreferences/dev-server-sveltekit.md
procfilereferences/dev-server-procfile.md
unknownAsk the user how to start the project

For framework types that need a package manager, run bash scripts/resolve-package-manager.sh and substitute the result into the start command.

Resolve the port with bash scripts/resolve-port.sh --type <type>.

1.3 Start the server

Start the dev server in the background, log output to a temp file. Probe http://localhost:<port> for up to 30 seconds. If it doesn't come up, show the last 20 lines of the log and ask the user what to do.

1.4 Open in browser

Load references/ide-detection.md for the env-var probe table. Open the browser using the IDE's mechanism (Claude Code → open, Cursor → Cursor browser, VS Code → Simple Browser).

Tell the user:

Dev server running on http://localhost:<port>
Browse the feature and tell me what could be better.

Phase 2: Iterate

This is the core loop. The user browses the feature and tells you what to improve. You fix it. Repeat until they're happy.

  • When the user describes something to fix → make the change, the dev server hot-reloads
  • When the user asks to check something → use agent-browser to screenshot or inspect the page
  • When the user says they're done → commit the fixes and stop

No checklist. No envelope. Just conversation.

References

Reference files (loaded on demand):

  • references/launch-json-schema.md — launch.json schema + per-framework stubs
  • references/ide-detection.md — host IDE detection and browser-handoff
  • references/dev-server-detection.md — port resolution documentation
  • references/dev-server-rails.md — Rails dev-server defaults
  • references/dev-server-next.md — Next.js dev-server defaults
  • references/dev-server-vite.md — Vite dev-server defaults
  • references/dev-server-nuxt.md — Nuxt dev-server defaults
  • references/dev-server-astro.md — Astro dev-server defaults
  • references/dev-server-remix.md — Remix dev-server defaults
  • references/dev-server-sveltekit.md — SvelteKit dev-server defaults
  • references/dev-server-procfile.md — Procfile-based dev-server defaults

Scripts (invoked via bash scripts/<name>):

  • scripts/read-launch-json.sh — launch.json reader
  • scripts/detect-project-type.sh — project-type classifier
  • scripts/resolve-package-manager.sh — lockfile-based package-manager resolver
  • scripts/resolve-port.sh — port resolution cascade