nuxt-components
Vue component patterns with Composition API and script setup. Use when creating components, understanding script setup order convention, organizing component directories, or implementing component patterns like slideovers, modals, and tables.
$ Installer
git clone https://github.com/leeovery/claude-nuxt /tmp/claude-nuxt && cp -r /tmp/claude-nuxt/skills/nuxt-components ~/.claude/skills/claude-nuxt// tip: Run this command in your terminal to install the skill
SKILL.md
name: nuxt-components description: Vue component patterns with Composition API and script setup. Use when creating components, understanding script setup order convention, organizing component directories, or implementing component patterns like slideovers, modals, and tables.
Nuxt Components
Vue 3 Composition API components with standardized organization and patterns.
Core Concepts
components.md - Script setup order, patterns, organization
Directory Structure
components/
├── Common/ # Shared utilities (Copyable, LoadingLine)
├── Detail/ # Entity detail views (PostDetail)
├── Form/ # Reusable form inputs (AuthorSelect)
├── Modals/ # Confirmation/action modals
├── Nav/ # Navigation elements
├── Slideovers/ # Slideout panels (CreatePostSlideover)
├── TabSections/ # Tab content sections
└── Tables/ # Data tables (PostsTable)
Script Setup Order
<script lang="ts" setup>
// 1. Imports
import createPostActionFactory from '~/features/posts/actions/create-post-action'
// 2. Props & Emits
const props = defineProps<{ author?: Author }>()
const emits = defineEmits<{ close: [success: boolean] }>()
// 3. Composables
const flash = useFlash()
// 4. Injections
const slideover = inject(SlideoverKey)
// 5. Refs
const formRef = useTemplateRef('formRef')
// 6. Toggles
const isOpen = ref(false)
// 7. Reactive props
const formData = ref<CreatePostData>({ title: '', content: '' })
// 8. Computed
const canSubmit = computed(() => formData.value.title && formData.value.content)
// 9. Fetch + queries
const { data: posts, refresh } = getPostsQuery(filters)
// 10. Builders (action/mutation factories)
const createPostAction = createPostActionFactory()
// 11. Watchers
watch(selectedAuthor, (a) => { formData.value.authorId = a?.ulid || '' })
// 12. Methods
const onSubmit = async (data) => { await createPostAction(data) }
// 13. Real-time listeners
privateChannel(Posts).on(PostCreated, refresh)
// 14. Provides
provide(SlideoverKey, { isOpen })
// 15. Lifecycles
onMounted(() => { /* ... */ })
</script>
Repository

leeovery
Author
leeovery/claude-nuxt/skills/nuxt-components
1
Stars
0
Forks
Updated4d ago
Added1w ago