flatroy/stupid-inventory-laravel/livewire-development

Claude Code and agent skill by flatroy/stupid-inventory-laravel

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use for any task or question involving Livewire. Activate if user mentions Livewire, wire: directives, or Livewire-specific concepts like wire:model, wire:click, invoke this skill. Covers building new components, debugging reactivity issues, real-time form validation, loading states, migrating from Livewire 2 to 3, converting component formats (SFC/MFC/class-based), and performance optimization. Do not use for non-Livewire reactive UI (React, Vue, Alpine-only, Inertia.js) or standard Laravel forms without Livewire.

Install

npx vskill@latest install flatroy/stupid-inventory-laravel/livewire-development

Semi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard

SKILL.md

Livewire Development

Documentation

Use search-docs for detailed Livewire 3 patterns and documentation.

Basic Usage

Creating Components

Use the php artisan make:livewire [Posts\CreatePost] Artisan command to create new components.

Fundamental Concepts
  • State should live on the server, with the UI reflecting it.
  • All Livewire requests hit the Laravel backend; they're like regular HTTP requests. Always validate form data and run authorization checks in Livewire actions.

Livewire 3 Specifics

Key Changes From Livewire 2

These things changed in Livewire 3, but may not have been updated in this application. Verify this application's setup to ensure you follow existing conventions.

  • Use wire:model.live for real-time updates, wire:model is now deferred by default.
  • Components now use the App\Livewire namespace (not App\Http\Livewire).
  • Use $this->dispatch() to dispatch events (not emit or dispatchBrowserEvent).
  • Use the components.layouts.app view as the typical layout path (not layouts.app).
New Directives
  • wire:show, wire:transition, wire:cloak, wire:offline, wire:target are available for use.
Alpine Integration
  • Alpine is now included with Livewire; don't manually include Alpine.js.
  • Plugins included with Alpine: persist, intersect, collapse, and focus.

Best Practices

Component Structure
  • Livewire components require a single root element.
  • Use wire:loading and wire:dirty for delightful loading states.
Using Keys in Loops

<!-- Wire Key in Loops -->

blade
@foreach ($items as $item)
<div wire:key="item-{{ $item->id }}">
{{ $item->name }}
</div>
@endforeach
Lifecycle Hooks

Prefer lifecycle hooks like mount(), updatedFoo() for initialization and reactive side effects:

<!-- Lifecycle Hook Examples -->

php
public function mount(User $user) { $this->user = $user; }
public function updatedSearch() { $this->resetPage(); }

JavaScript Hooks

You can listen for livewire:init to hook into Livewire initialization:

<!-- Livewire Init Hook Example -->

js
document.addEventListener('livewire:init', function () {
Livewire.hook('request', ({ fail }) => {
if (fail && fail.status === 419) {
alert('Your session expired');
}
});
Livewire.hook('message.failed', (message, component) => {
console.error(message);
});
});

Testing

<!-- Example Livewire Component Test -->

php
Livewire::test(Counter::class)
->assertSet('count', 0)
->call('increment')
->assertSet('count', 1)
->assertSee(1)
->assertStatus(200);

<!-- Testing Livewire Component Exists on Page -->

php
$this->get('/posts/create')
->assertSeeLivewire(CreatePost::class);

Common Pitfalls

  • Forgetting wire:key in loops causes unexpected behavior when items change
  • Using wire:model expecting real-time updates (use wire:model.live instead in v3)
  • Not validating/authorizing in Livewire actions (treat them like HTTP requests)
  • Including Alpine.js separately when it's already bundled with Livewire 3

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
69
Repository forks
7
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.

Extension points

  • hookPre/post lifecycle hooks

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/flatroy/stupid-inventory-laravel/livewire-development/badge)](https://verified-skill.com/skills/flatroy/stupid-inventory-laravel/livewire-development)

Something wrong with this skill or its page? Tell us.