component
Scaffold a new component using Nuxt UI v4 patterns with proper typing and composition
- 0
- Installs
- —
- Rating
- —
- Success rate
- 1
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 90ce894d6b787d60… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
component.md
Nuxt UI Component Scaffold Command
Scaffold a new Vue component using Nuxt UI v4 patterns and components.
Arguments
-
<component-type>: Type of component to scaffold:form- Form with validationtable- Data table with sorting/paginationmodal- Modal dialog with formdashboard- Dashboard layoutchat- AI chat interfacepage- Page layout with hero/sectionscard- Card with content slotsdropdown- Dropdown menu with actions
-
<name>: Component name in PascalCase (e.g., UserSettings) -
--path <dir>: Output directory (default: components/)
Instructions
-
Parse Component Type and Name Determine which Nuxt UI components to use.
-
Fetch Component Metadata Use MCP tools to get accurate props and slots.
-
Generate Component Based on Type
Form Component
<script setup lang="ts">
import { z } from 'zod'
const schema = z.object({
// Define schema
})
type FormData = z.infer<typeof schema>
const state = reactive<Partial<FormData>>({})
async function onSubmit() {
// Handle submit
}
</script>
<template>
<UForm :state="state" :schema="schema" @submit="onSubmit">
<UFormField name="field" label="Field">
<UInput v-model="state.field" />
</UFormField>
<UButton type="submit">Submit</UButton>
</UForm>
</template>
Table Component
<script setup lang="ts">
const columns = [
{ key: 'name', label: 'Name', sortable: true },
{ key: 'actions', label: '' }
]
const { data, pending } = await useFetch('/api/data')
</script>
<template>
<UTable :columns="columns" :rows="data" :loading="pending">
<template #actions-data="{ row }">
<UDropdownMenu :items="getActions(row)" />
</template>
</UTable>
</template>
Dashboard Component
<template>
<UDashboardGroup>
<UDashboardSidebar>
<UNavigationMenu :items="menuItems" />
</UDashboardSidebar>
<UDashboardPanel>
<template #header>
<UDashboardNavbar />
</template>
<template #body>
<slot />
</template>
</UDashboardPanel>
</UDashboardGroup>
</template>
Chat Component
<script setup lang="ts">
import { Chat } from '@ai-sdk/vue'
const chat = new Chat({ api: '/api/chat' })
const input = ref('')
function onSubmit() {
chat.sendMessage({ text: input.value })
input.value = ''
}
</script>
<template>
<UChatMessages :messages="chat.messages" :status="chat.status">
<template #content="{ message }">
<div>{{ message.content }}</div>
</template>
</UChatMessages>
<UChatPrompt v-model="input" @submit="onSubmit">
<UChatPromptSubmit :status="chat.status" />
</UChatPrompt>
</template>
Page Component
<template>
<UPage>
<UPageHero
title="Page Title"
description="Page description"
:links="[{ label: 'Get Started', to: '/start' }]"
/>
<UPageSection>
<UPageGrid>
<UPageCard
v-for="item in items"
:key="item.id"
v-bind="item"
/>
</UPageGrid>
</UPageSection>
</UPage>
</template>
-
Add TypeScript Types Include proper type definitions for props/emits.
-
Write Component File Save to specified path or
components/<Name>.vue.
Output
- Created component file path
- List of Nuxt UI components used
- Required dependencies (if any)
- Usage example
Tips
- Use TypeScript strict mode
- Define Zod schemas for form validation
- Use composables for shared logic
- Keep components focused and composable
Files
1- component.md
890bd9dc133.8 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from secondsky/claude-skills8
Add a better-auth plugin to an existing project. Configures server and client plugins with proper imports.
Interactive setup wizard for better-auth authentication. Guides through database, framework, OAuth providers, and plugin configuration.
Run a focused blindspot pass for unfamiliar, ambiguous, or high-risk work
Debug Bun applications and diagnose common issues
Deploy Bun applications to various platforms
Initialize a new Bun project with optional framework selection
Migrate existing Node.js/npm projects to Bun
Optimize Bun application performance and bundle size
Related frontend skillsscan passed
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding,
Optimize Svelte/SvelteKit applications for performance, including bundle size reduction, rendering optimization, and loading performance.