Skip to content
cccskills
FreePublished on GitHub

add-preview-route

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.

See how to install

Files included (1)

  • SKILL.md2.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Add a preview route: $ARGUMENTS

Preview pages render inside the editor's iframe (?preview, preview layout) and must respond to the theme being edited. Use Nuxt UI components and semantic tokens (bg-(--ui-bg-elevated), text-(--ui-text-muted), color="primary"), never raw palette classes like bg-blue-500.

1. Create the content

Component showcase (/components/<slug>, data-driven via app/pages/components/[slug].vue):

  • Create app/components/showcase/components/<PascalSlug>.vue. It's resolved by import.meta.glob from the kebab-case slug. Reuse ShowcaseSpecimen / ShowcaseSpecimenGrid like the existing showcases.
  • Register it in COMPONENT_CATEGORIES in app/utils/navigation/components.ts (label, icon, description, to: "/components/<slug>").

Block (/blocks/<slug>, data-driven via app/pages/blocks/[slug].vue):

  • Variants live in app/components/blocks/components/<Name>.vue. Each block page is app/components/blocks/content/<PascalSlug>.vue, fed by app/data/blocks/<slug>.ts, which imports every variant and its ?raw source (shown in the block's code view) plus an AI prompt.
  • Register it in BLOCK_CATEGORIES in app/utils/navigation/blocks.ts.

Template (/templates/<slug>):

  • Create app/pages/templates/<slug>.vue as a full, self-contained page (users copy this file from the source view, so keep it clean and idiomatic). Don't use definePageMeta({ layout }); app.vue picks layouts.
  • Register it in TEMPLATE_CATEGORIES in app/utils/navigation/templates.ts.
  • Source view picks it up automatically via modules/source-code-embed.ts. Restart pnpm dev to refresh the embedded map.

2. Register the route

  • shared/constants/routes.ts: add the path to COMPONENT_ROUTES / BLOCK_ROUTES / TEMPLATE_ROUTES. These drive the sitemap, prerendering, and noindex. tests/unit/shared/routes.test.ts fails if nav and route lists disagree.
  • app/utils/seoDescriptions.ts: add a PAGE_DESCRIPTIONS entry (and PAGE_TITLES if the generic "<Label> Component/Block/Template" title isn't right).
  • The command palette and breadcrumbs read the navigation modules, so no extra work is needed there.

3. Verify

  • pnpm vitest run tests/unit/shared/routes.test.ts tests/unit/utils/navigation.test.ts tests/unit/utils/seoDescriptions.test.ts
  • /run-app: open the route in the editor, change the primary color and radius and confirm the preview reacts, toggle dark mode, use the command palette to find it, and for templates check the source view.
  • /dev-workflow.

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 19, 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 19, 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 19, 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 19, 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 19, 2026

Audit the project's documentation (CLAUDE.md, .claude/rules, skills, README, CONTRIBUTING, SECURITY, .env.example, app/data/*.md, learn articles) against the actual code and config, and fix drift. Use after refactors, dependency or workflow changes, or on a schedule.

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

mattycraig/nuxt-theme-builder9Updated Oct 19, 2026

See all skills by mattycraig

Report a problem with this skill