IN

inertia-vue-development

Supports development of Inertia.js Vue applications, including routing and form handling.

Install

mkdir -p .claude/skills/inertia-vue-development && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15036" && unzip -o skill.zip -d .claude/skills/inertia-vue-development && rm skill.zip

Installs to .claude/skills/inertia-vue-development

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Develops Inertia.js v1 Vue client-side applications. Activates when creating Vue pages, forms, or navigation; using Link or router; or when user mentions Vue with Inertia, Vue pages, Vue forms, or Vue navigation.
212 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Create Vue page components for Inertia.js v1
  • Implement client-side navigation using Inertia Links
  • Handle form submissions with `router.post`
  • Structure Vue components with a single root element
  • Use programmatic navigation with `router.visit`
  • Manage loading states during form submission

How it works

This skill provides guidelines and code snippets for developing client-side applications using Inertia.js v1 with Vue. It covers component structure, client-side navigation using `<Link>` and `router.visit`, and form handling with `router.post`, while highlighting limitations of v1.

Inputs & outputs

You give it
A request to create Vue pages, forms, or navigation within an Inertia.js v1 project
You get back
Vue components for pages, forms, or navigation adhering to Inertia.js v1 patterns

When to use inertia-vue-development

  • Create new Vue pages
  • Implement Inertia Link navigation
  • Handle form submissions
  • Structure Vue components for Inertia

About this skill

Inertia Vue Development

When to Apply

Activate this skill when:

  • Creating or modifying Vue page components for Inertia
  • Working with forms in Vue (using router.post)
  • Implementing client-side navigation with <Link> or router
  • Building Vue-specific features with the Inertia protocol

Documentation

Use search-docs for detailed Inertia v1 Vue patterns and documentation.

Basic Usage

Page Components Location

Vue page components should be placed in the resources/js/Pages directory.

Page Component Structure

Important: Vue components must have a single root element.

<code-snippet name="Basic Vue Page Component" lang="vue"> <script setup> defineProps({ users: Array }) </script> <template> <div> <h1>Users</h1> <ul> <li v-for="user in users" :key="user.id"> {{ user.name }} </li> </ul> </div> </template> </code-snippet>

Client-Side Navigation

Basic Link Component

Use <Link> for client-side navigation instead of traditional <a> tags:

<code-snippet name="Inertia Vue Navigation" lang="vue"> <script setup> import { Link } from '@inertiajs/vue3' </script> <template> <div> <Link href="/">Home</Link> <Link href="/users">Users</Link> <Link :href="`/users/${user.id}`">View User</Link> </div> </template> </code-snippet>

Link With Method

<code-snippet name="Link With POST Method" lang="vue"> <script setup> import { Link } from '@inertiajs/vue3' </script> <template> <Link href="/logout" method="post" as="button"> Logout </Link> </template> </code-snippet>

Programmatic Navigation

<code-snippet name="Router Visit" lang="vue"> <script setup> import { router } from '@inertiajs/vue3' function handleClick() { router.visit('/users') } // Or with options function createUser() { router.visit('/users', { method: 'post', data: { name: 'John' }, onSuccess: () => console.log('Success!'), }) } </script> </code-snippet>

Form Handling

Using router.post

<code-snippet name="Form with router.post" lang="vue"> <script setup> import { router } from '@inertiajs/vue3' import { reactive, ref } from 'vue' const form = reactive({ name: '', email: '', }) const processing = ref(false) function handleSubmit() { processing.value = true router.post('/users', form, { onFinish: () => processing.value = false, }) } </script> <template> <form @submit.prevent="handleSubmit"> <input type="text" v-model="form.name" /> <input type="email" v-model="form.email" /> <button type="submit" :disabled="processing"> Create User </button> </form> </template> </code-snippet>

Inertia v1 Limitations

Inertia v1 does not support these v2 features:

  • <Form> component
  • Deferred props
  • Prefetching
  • Polling
  • Infinite scrolling with WhenVisible
  • Merging props

Do not use these features in v1 projects.

Server-Side Patterns

Server-side patterns (Inertia::render, props, middleware) are covered in inertia-laravel guidelines.

Common Pitfalls

  • Using traditional <a> links instead of Inertia's <Link> component (breaks SPA behavior)
  • Using multiple root elements in Vue components (while Vue 3 supports this, a single root is recommended for Inertia v1 compatibility)
  • Trying to use Inertia v2 features (deferred props, <Form> component, etc.) in v1 projects
  • Using <form> without preventing default submission (use @submit.prevent)
  • Not handling loading states during form submission

When not to use it

  • When using traditional `<a>` links instead of Inertia's `<Link>` component
  • When using multiple root elements in Vue components for Inertia v1
  • When trying to use Inertia v2 features in v1 projects

Limitations

  • Does not support Inertia v2 features like `<Form>` component or deferred props
  • Requires Vue components to have a single root element for Inertia v1 compatibility
  • Server-side patterns are covered in `inertia-laravel` guidelines

How it compares

This skill provides specific patterns for Inertia.js v1 Vue development, including navigation and form handling, unlike general Vue development or Inertia v2 projects.

Compared to similar skills

inertia-vue-development side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
inertia-vue-development (this skill)06moNo flagsBeginner
ui41moReviewIntermediate
web-development52moNo flagsIntermediate
webf-quickstart17moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

Search skills

Search the agent skills registry