/nuxt
Nuxt application development and maintenance. Use for project structure, pages and routing, data fetching, SSR-safe state, middleware, plugins, server routes, runtime config, route rules, layers, built-in components, hydration, upgrades, and testing.
$ npx -y skills add onmax/nuxt-skills --skill nuxt --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/nuxt
Context preview
The summary Claude sees to decide when to auto-load this skill.
Nuxt application development and maintenance. Use for project structure, pages and routing, data fetching, SSR-safe state, middleware, plugins, server routes, runtime config, route rules, layers, built-in components, hydration, upgrades, and testing.
SKILL.md
nuxt.SKILL.mdname: nuxt
description: Nuxt application development and maintenance. Use for project structure, pages and routing, data fetching, SSR-safe state, middleware, plugins, server routes, runtime config, route rules, layers, built-in components, hydration, upgrades, and testing.
license: MIT
Nuxt
Use Nuxt-owned primitives for Nuxt lifecycle, rendering, routing, and server behavior. Hand module-specific behavior to the matching module skill instead of reproducing its API here.
Start here
1. Inspect `package.json`, the lockfile, `nuxt.config.*`, and the directory layout before choosing an API. Nuxt features move, so verify the installed version instead of assuming the latest release. 2. Open only the reference that owns the task. 3. Prefer the smallest Nuxt primitive that preserves SSR, hydration, and generated types. 4. Run `nuxt prepare` after config, module, alias, or generated-type changes, then verify the affected runtime path.
Reference map
- Project structure, upgrades, deployment mode, and testing: [project-setup.md](references/project-setup.md)
- Data fetching, state, request context, cookies, head, and hydration: [nuxt-composables.md](references/nuxt-composables.md)
- Pages, layouts, navigation, route metadata, and errors: [routing.md](references/routing.md)
- Route middleware, app plugins, and runtime hooks: [middleware-plugins.md](references/middleware-plugins.md)
- API routes, server middleware, validation, caching, and Nitro: [server.md](references/server.md)
- Built-in components, assets, images, and lazy hydration: [nuxt-components.md](references/nuxt-components.md)
- Nuxt config, runtime config, route rules, layers, modules, Vite, and Nitro options: [nuxt-config.md](references/nuxt-config.md)
Ownership boundaries
- Use the `nuxt-modules` skill for authoring or publishing a Nuxt module.
- Use the relevant module skill for Nuxt UI, Nuxt Content, Nuxt Studio, NuxtHub, Nuxt Image, Nuxt Scripts, Nuxt SEO, or another installed module.
- Use official VueUse guidance for VueUse composables. When names overlap, Nuxt owns Nuxt lifecycle and SSR semantics; see [nuxt-composables.md](references/nuxt-composables.md#vueuse-boundary).
- Use Vue guidance for component-local reactivity that has no Nuxt lifecycle or rendering concern.
Baseline
<script setup lang="ts">
const { data: products, status, error } = await useFetch('/api/products')
useSeoMeta({
title: 'Products',
description: 'Browse the product catalog.',
})
</script>
<template>
<main>
<p v-if="status === 'pending'">Loading…</p>
<p v-else-if="error">Could not load products.</p>
<ProductList v-else :products="products ?? []" />
</main>
</template>`useFetch` integrates the request with Nuxt's SSR payload, while `useSeoMeta` participates in Nuxt's head lifecycle. Reach for lower-level primitives only when the task needs behavior these do not provide.
Read more
name: nuxt description: Nuxt application development and maintenance. Use for project structure, pages and routing, data fetching, SSR-safe state, middleware, plugins, server routes, runtime config, route rules, layers, built-in components, hydration, upgrades, and testing. license: MIT
Nuxt
Use Nuxt-owned primitives for Nuxt lifecycle, rendering, routing, and server behavior. Hand module-specific behavior to the matching module skill instead of reproducing its API here.
Start here
1. Inspect `package.json`, the lockfile, `nuxt.config.*`, and the directory layout before choosing an API. Nuxt features move, so verify the installed version instead of assuming the latest release. 2. Open only the reference that owns the task. 3. Prefer the smallest Nuxt primitive that preserves SSR, hydration, and generated types. 4. Run `nuxt prepare` after config, module, alias, or generated-type changes, then verify the affected runtime path.
Reference map
- Project structure, upgrades, deployment mode, and testing: [project-setup.md](references/project-setup.md)
- Data fetching, state, request context, cookies, head, and hydration: [nuxt-composables.md](references/nuxt-composables.md)
- Pages, layouts, navigation, route metadata, and errors: [routing.md](references/routing.md)
- Route middleware, app plugins, and runtime hooks: [middleware-plugins.md](references/middleware-plugins.md)
- API routes, server middleware, validation, caching, and Nitro: [server.md](references/server.md)
- Built-in components, assets, images, and lazy hydration: [nuxt-components.md](references/nuxt-components.md)
- Nuxt config, runtime config, route rules, layers, modules, Vite, and Nitro options: [nuxt-config.md](references/nuxt-config.md)
Ownership boundaries
- Use the `nuxt-modules` skill for authoring or publishing a Nuxt module.
- Use the relevant module skill for Nuxt UI, Nuxt Content, Nuxt Studio, NuxtHub, Nuxt Image, Nuxt Scripts, Nuxt SEO, or another installed module.
- Use official VueUse guidance for VueUse composables. When names overlap, Nuxt owns Nuxt lifecycle and SSR semantics; see [nuxt-composables.md](references/nuxt-composables.md#vueuse-boundary).
- Use Vue guidance for component-local reactivity that has no Nuxt lifecycle or rendering concern.
Baseline
<script setup lang="ts">
const { data: products, status, error } = await useFetch('/api/products')
useSeoMeta({
title: 'Products',
description: 'Browse the product catalog.',
})
</script>
<template>
<main>
<p v-if="status === 'pending'">Loading…</p>
<p v-else-if="error">Could not load products.</p>
<ProductList v-else :products="products ?? []" />
</main>
</template>`useFetch` integrates the request with Nuxt's SSR payload, while `useSeoMeta` participates in Nuxt's head lifecycle. Reach for lower-level primitives only when the task needs behavior these do not provide.
Repo: onmax/nuxt-skills
Other skills on nuxt-skills.
- /document-writer
Use when writing blog posts or documentation markdown files - provides writing style guide (active voice, present tense), content structure patterns, and MDC component usage. Overrides brevity rules for proper grammar. Use nuxt-content for MDC syntax, nuxt-ui for component props.
Open skill - /motion
Use when adding animations with Motion Vue (motion-v) - provides motion component API, gesture animations, scroll-linked effects, layout transitions, and composables for Vue 3/Nuxt
Open skill - /nuxt-better-auth
Use when implementing auth in Nuxt apps with @onmax/nuxt-better-auth - provides useUserSession composable, server auth helpers, route protection, and Better Auth plugins integration.
Open skill - /nuxt-content
Build typed, content-driven Nuxt applications with @nuxt/content. Use when working with content.config.ts, collections, queryCollection, Markdown or MDC rendering, content databases, hooks, custom sources, search, or Content v2 migrations.
Open skill - /nuxt-i18n
Internationalize Nuxt applications with @nuxtjs/i18n. Use when configuring locales or browser detection, translating messages or routes, building locale switchers, handling fallbacks, lazy-loading messages, or adding locale SEO.
Open skill - /nuxt-modules
Use when creating Nuxt modules: (1) Published npm modules (@nuxtjs/, nuxt-), (2) Local project modules (modules/ directory), (3) Runtime extensions (components, composables, plugins), (4) Server extensions (API routes, middleware), (5) Releasing/publishing modules to npm, (6)
Open skill

