Skip to content
cccskills
FreePublished on GitHub

run-app

Build, start, and drive the Nuxt Theme Builder in a real browser (Playwright) to verify a change end to end — editor interactions, iframe preview sync, persistence across reloads, source view. Use when asked to run/start/screenshot the app or to prove a UI or persistence change works beyond unit tests.

The English summary is being prepared. Showing the original description.

Works withPlaywright
See how to install

Files included (1)

  • SKILL.md2.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Run and drive the app: $ARGUMENTS

Start a server

  • Fast iteration: pnpm dev (port 3000). Security headers are disabled in dev, and the source-view map only refreshes on restart.
  • Production-like (use this to verify SSR, hydration, cookies, CSP):
    NITRO_PRESET=node-server NODE_OPTIONS=--max-old-space-size=8192 pnpm build   # ~5 min
    NITRO_HOST=127.0.0.1 NITRO_PORT=3000 node .output/server/index.mjs          # run in the background
    
  • Font-provider 403 warnings during the build are expected in network-restricted sandboxes.
  • To stop the server, kill it by PID, or with pkill -f "node .output/server" in a separate command. A pkill -f pattern that also appears in its own command line kills the calling shell.

Drive it

  • Existing specs: pnpm exec playwright test tests/e2e/smoke (reuses a server already on :3000 locally).
  • Ad-hoc checks: write a short script in your scratch dir using chromium from @playwright/test, and wait for [data-testid="theme-editor"][data-hydrated="true"] before interacting.
  • In Claude Code on the web, if Playwright's pinned Chromium isn't installed, launch with executablePath pointing at the preinstalled build (/opt/pw-browsers/chromium-*/chrome-linux/chrome) instead of running playwright install.

Useful checks

  • Theme sync: on a demo route such as /components/button, change a control in the sidebar and assert that a CSS variable inside the preview iframe changes (frameLocator("iframe")). Other pages render without the iframe, so check the top document there.
  • Persistence: context.cookies() → theme cookie holds { config, activePresetName } (must stay under 4096 bytes); localStorage["theme-presets"] holds saved presets. Reload and assert that both survive.
  • Undo after reload: make a change, then ControlOrMeta+z should return to the reloaded theme.
  • Source view (/templates/*): toggle to code, navigate to another template and back, and confirm the code matches the route.
  • Hydration: collect page.on("console") messages and fail on "Hydration" warnings (dev server).

Report what you ran, what you observed (quote values), and clean up the server and any scratch scripts.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add, update, or retire an AI provider model option for the BYOK theme generator (OpenAI, Anthropic, Google) and verify the provider requests native structured output for it. Use when model lists go stale or a new provider/model is requested.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 20, 2026

Add a new interactive design tool under /tools (like the color converter or contrast checker) — component, page, navigation, route lists, SEO, and tests. Use when building a new utility tool.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 20, 2026

Write and register a new Learning Hub article (Nuxt Content markdown under content/learn) with valid frontmatter, navigation entry, route list entry, and accurate product details. Use when adding or substantially rewriting a learn guide, reference, or tip.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 20, 2026

Add a new component showcase, block, or template preview page and register it everywhere it must appear (navigation, command palette, route lists, SEO, source view). Use when adding anything under /components, /blocks, or /templates.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 20, 2026

Checklist for adding or changing a field on ThemeConfig (a new design token, per-mode setting, or export option) end to end — schema, defaults, store + history, CSS apply, export, editor UI, AI, and tests. Use whenever ThemeConfig's shape changes.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 20, 2026

Run the project's validation pipeline (lint → format → typecheck → unit tests) with auto-fixes, then optionally stage and write a Conventional Commit. Use before committing, when asked to "check", "validate", "run the workflow", or "get this commit-ready".

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 20, 2026

See all skills by mattycraig

Report a problem with this skill