@onmax/nuxt-content

Vue, Nuxt, and NuxtHub skills for AI coding assistants.

View in AI SkillSafe app
2496 downloads
0 stars
0 demos
SKILL.md
namenuxt-content
descriptionBuild 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.
licenseMIT

Nuxt Content

Workflow

  1. Inspect the installed @nuxt/content version, content.config.ts, matching files under content/, and the Nuxt surface that consumes them. The branch is understood when the collection, source glob, schema, and consumer agree.
  2. Open the smallest matching guide below. Apply Nuxt Content guidance only to content-owned APIs; use Nuxt, Nuxt Studio, Nuxt UI, or Vue guidance when those packages own the remaining surface.
  3. Implement with typed collections and payload-backed Nuxt data loading. The change is complete when collection types resolve, the intended query returns the expected document shape, and the rendered route works in the target rendering mode.

Routing

Task Open
Collection types, schemas, indexes, local/remote sources, or locale prefixes Collections
Filtering, sorting, pagination, navigation, surroundings, or search Querying
Markdown, MDC, ContentRenderer, prose components, or code highlighting Rendering
Database adapters, markdown processing, renderer aliases, or deployment storage Configuration
Hooks, transformers, custom sources, raw content, debugging, or Content v2 migration Advanced
Visual editing, authentication, media, drafts, or Git publishing nuxt-studio skill
Writing or restructuring documentation prose document-writer skill

Baseline

// content.config.ts
import { defineCollection, defineContentConfig } from '@nuxt/content'
import { z } from 'zod'

export default defineContentConfig({
  collections: {
    docs: defineCollection({
      type: 'page',
      source: 'docs/**',
      schema: z.object({
        updatedAt: z.date().optional(),
      }),
    }),
  },
})
<script setup lang="ts">
const route = useRoute()
const { data: page } = await useAsyncData(route.path, () => {
  return queryCollection('docs').path(route.path).first()
})
</script>

<template>
  <ContentRenderer v-if="page" :value="page" />
</template>

Use npx nuxi typecheck to verify generated collection types. When a query is empty, confirm that its collection source includes the file—especially .navigation.yml—before changing query logic.

Embed badges

Add these to your README to show the skill's verification status.

SkillSafe verified badge
Verified badge
[![SkillSafe verified badge](https://api.skillsafe.ai/v1/badge/@onmax/nuxt-content/verified)](https://skillsafe.ai/skill/@onmax/nuxt-content/)
Installs badge
Installs badge
[![Installs badge](https://api.skillsafe.ai/v1/badge/@onmax/nuxt-content/installs)](https://skillsafe.ai/skill/@onmax/nuxt-content/)
Scan badge
Scan badge
[![Scan badge](https://api.skillsafe.ai/v1/badge/@onmax/nuxt-content/scan)](https://skillsafe.ai/skill/@onmax/nuxt-content/)
Eval pass rate badge
Eval pass rate
[![Eval pass rate badge](https://api.skillsafe.ai/v1/badge/@onmax/nuxt-content/eval)](https://skillsafe.ai/skill/@onmax/nuxt-content/)