askill
nuxt-content

nuxt-contentSafety 95Repository

Use when working with Nuxt Content v3, markdown content, or CMS features in Nuxt - provides collections (local/remote/API sources), queryCollection API, MDC rendering, database configuration, NuxtStudio integration, hooks, i18n patterns, and LLMs integration

591 stars
11.8k downloads
Updated 3/13/2026

Package Files

Loading files...
SKILL.md

Nuxt Content v3

Progressive guidance for content-driven Nuxt apps with typed collections and SQL-backed queries.

When to Use

Working with:

  • Content collections (content.config.ts, defineCollection)
  • Remote sources (GitHub repos, external APIs via defineCollectionSource)
  • Content queries (queryCollection, navigation, search)
  • MDC rendering (<ContentRenderer>, prose components)
  • Database configuration (SQLite, PostgreSQL, D1, LibSQL)
  • Content hooks (content:file:beforeParse, content:file:afterParse)
  • i18n multi-language content
  • NuxtStudio or preview mode
  • LLMs integration (nuxt-llms)

For writing documentation: use document-writer skill For Nuxt basics: use nuxt skill For NuxtHub deployment: use nuxthub skill (NuxtHub v1 compatible)

Available Guidance

Read specific files based on current work:

Loading Files

Consider loading these reference files based on your task:

DO NOT load all files at once. Load only what's relevant to your current task.

Key Concepts

ConceptPurpose
CollectionsTyped content groups with schemas
Page vs Datapage = routes + body, data = structured data only
Remote sourcessource.repository for GitHub, defineCollectionSource for APIs
queryCollectionSQL-like fluent API for content
MDCVue components inside markdown
ContentRendererRenders parsed markdown body

Quick Start

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

export default defineContentConfig({
  collections: {
    blog: defineCollection({
      type: 'page',
      source: 'blog/**',
      schema: z.object({
        title: z.string(),
        date: z.date(),
      }),
    }),
  },
})
<!-- pages/blog/[...slug].vue -->
<script setup lang="ts">
const { data: page } = await useAsyncData(
  () => queryCollection('blog').path(useRoute().path).first()
)
</script>

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

Verify setup: Run npx nuxi typecheck to confirm collection types resolve. If queryCollection returns empty, check that content files exist in the path matching your source glob.

Directory Structure

project/
├── content/                    # Content files
│   ├── blog/                   # Maps to 'blog' collection
│   └── .navigation.yml         # Navigation metadata
├── components/content/         # MDC components
└── content.config.ts           # Collection definitions

Official Documentation

Token Efficiency

Main skill: ~300 tokens. Each sub-file: ~800-1200 tokens. Only load files relevant to current task.

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

87/100Analyzed 3/15/2026

Well-structured Nuxt Content v3 reference skill with clear when-to-use guidance, organized reference files, actionable quick start, and good code examples. Located in dedicated skills folder with appropriate tags. High reusability as it's not tied to a specific project. Minor gaps include some advanced topics not fully covered.

95
88
88
82
90

Metadata

Licenseunknown
Version-
Updated3/13/2026
Publisheronmax

Tags

apidatabasegithub