From laravel-react
Guide feature development through a structured four-phase workflow: Requirements (EARS syntax), Technical Design, Task Planning, and Implementation. Use when starting a new feature, planning a complex change, converting a feature request into actionable specs, or ensuring traceability from requirements through code. Triggers on spec, requirements, design document, task breakdown, implementation plan, or feature planning.
npx claudepluginhub bramato/laravel-react-plugins --plugin laravel-reactThis skill uses the workspace's default tool permissions.
A structured, human-in-the-loop development methodology adapted from the Kiro workflow. Ensures every feature moves through Requirements → Design → Tasks → Implementation with explicit approval gates and full traceability.
Orchestrates spec-driven development workflow (Requirements → Design → Tasks → Implementation) with approval gates. Activates for structured feature planning or 'use spec-driven'.
Guides feature development from idea to implementation: creates EARS requirements, design documents, and task lists in .kiro/specs/.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
A structured, human-in-the-loop development methodology adapted from the Kiro workflow. Ensures every feature moves through Requirements → Design → Tasks → Implementation with explicit approval gates and full traceability.
Target users: Full-stack Laravel + React developers building features that benefit from upfront planning, or teams that need formal specifications.
Built on pragmatic software engineering principles:
See references/design-principles.md for the full philosophy.
Phase 1: /spec Phase 2: /design Phase 3: /plan-tasks Phase 4: /implement
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ requirements │──✓──▶ │ design.md │──✓──▶ │ tasks.md │──────▶ │ Execute │
│ .md │ │ │ │ │ │ task by │
│ │ │ Architecture│ │ Hierarchical│ │ task │
│ User Stories │ │ Data Flow │ │ Checkboxes │ │ │
│ EARS syntax │ │ API Specs │ │ Requirement │ │ Context │
│ BE + FE │ │ DB Schema │ │ Tracing │ │ gathering │
│ │ │ Components │ │ │ │ mandatory │
└─────────────┘ │ Security │ └─────────────┘ └─────────────┘
│ Test Plan │
▲ └─────────────┘ │
│ ▲ │
APPROVAL APPROVAL Mark [x]
GATE GATE in tasks.md
All spec artifacts live in a feature-specific directory:
.kiro/
├── specs/
│ └── [feature-name]/
│ ├── requirements.md ← Phase 1 output
│ ├── design.md ← Phase 2 output
│ └── tasks.md ← Phase 3 output
└── steering/
└── [project context files — coding standards, architecture decisions, etc.]
Naming: Use kebab-case for feature names (e.g., order-management, user-authentication).
# [Feature Name] — Requirements
## Introduction
**Problem:** [What problem does this feature solve?]
**Objectives:** [What are the goals?]
**Project Alignment:** [How does this fit into the broader project?]
## Requirements
### Backend Requirements
**1. [Requirement title]**
**As a** [role], **I want** [feature], **so that** [benefit]
Acceptance Criteria:
1. WHEN [trigger], THEN [expected outcome]
2. IF [condition], THEN [expected result]
3. WHERE [constraint applies], THEN [required action]
### Frontend Requirements
**2. [Requirement title]**
**As a** [role], **I want** [UI feature], **so that** [benefit]
Acceptance Criteria:
1. WHEN [user action], THEN [UI response]
2. IF [state condition], THEN [visual feedback]
3. WHILE [loading/processing], THEN [interim UI state]
EARS (Easy Approach to Requirements Syntax) provides unambiguous acceptance criteria:
| Keyword | Purpose | Example |
|---|---|---|
WHEN | Trigger/event | WHEN the user submits the order form, THEN create an Order record |
THEN | Expected outcome | THEN display a success toast with the order number |
IF | Conditional logic | IF the cart total exceeds the stock, THEN show an error |
WHERE | Constraint | WHERE the user role is 'admin', THEN allow bulk delete |
WHILE | Concurrent state | WHILE the payment is processing, THEN show a spinner and disable the button |
See references/ears-syntax.md for comprehensive examples.
After presenting requirements, use exactly:
"Do the requirements look good? If so, we can move on to the technical design phase."
Do not proceed to Phase 2 without explicit user approval. Iterate until sign-off.
requirements.md.kiro/steering/ for project contextThe design document has 9 mandatory sections:
# [Feature Name] — Technical Design
## 1. Architectural Overview
[High-level description of the solution and how it fits into the existing system]
## 2. Data Flow Diagram
[Mermaid.js diagram showing data movement between components]
## 3. Service Provider Artifacts
[For each entity: list all artifacts to create]
- Model, DTO, Service, Controller, FormRequest, Policy, ServiceProvider
- Events/Listeners if applicable
## 4. API / Route Definitions
[For Inertia: Laravel routes that render Inertia pages]
[For API endpoints: method, path, request body, response structure]
## 5. Database Schema
[Laravel migration code for new/modified tables]
[Indexes, foreign keys, constraints]
## 6. React Components (Inertia Pages)
[Component hierarchy, props interface, state management]
[Which Inertia pages to create: Index, Show, Create, Edit]
## 7. TypeScript Interfaces
[Interfaces matching controller props / API responses]
## 8. Security Considerations
[Input validation, authentication, authorization policies]
[CSRF, XSS prevention, mass assignment protection]
## 9. Test Strategy
[Unit tests: Services, DTOs, Models]
[Feature tests: HTTP endpoints, Inertia responses]
[Component tests: React pages and components]
interface or type definitions for the frontend contractAfter presenting the design, use exactly:
"Does the technical design look good? If so, we can proceed to implementation planning."
Do not proceed to Phase 3 without explicit user approval.
design.md# [Feature Name] — Implementation Tasks
- [ ] 1. Create database migration and Model
- Migration with columns, indexes, foreign keys
- Eloquent Model with $fillable, $casts, relationships, scopes
- _Requirements: 1.1, 1.2_
- [ ] 2. Create Service Provider artifacts
- DTO with fromRequest(), fromModel(), toArray()
- Service with business logic methods
- Controller with Inertia::render() responses
- StoreRequest, UpdateRequest with validation rules
- Policy with authorization rules
- ServiceProvider registration
- _Requirements: 1.3, 1.4, 2.1_
- [ ] 3. Create Inertia React pages
- Index page with list/table
- Show page with detail view
- Create/Edit pages with forms
- TypeScript interfaces for props
- _Requirements: 3.1, 3.2_
- [ ] 4. Write tests
- Feature tests for all HTTP endpoints
- Unit tests for Service and DTO
- Component tests for React pages
- _Requirements: all_
- [ ] N._Requirements: N.N, N.N_| Command | Target |
|---|---|
implement, continue, next | First incomplete - [ ] task |
implement 3, run task 3 | Specific numbered task |
For every task, follow this sequence without exception:
tasks.md, identify the target taskdesign.mdrequirements.md.kiro/steering/[x] in tasks.md, report results| Rule | Description |
|---|---|
| Design Authority | design.md is the authoritative blueprint — no features outside its scope |
| No Scope Creep | Forbidden to add undocumented features, classes, or endpoints |
| File Context | Always read the complete file, never truncated |
| Design Compliance | Every modification must trace back to the approved design |
| Service Provider Pattern | All Laravel services must follow the prescribed architecture |
| Scenario | Use Spec-Driven? | Alternative |
|---|---|---|
| New feature with multiple entities | Yes | — |
| Complex business logic | Yes | — |
| Feature touching 5+ files | Yes | — |
| Simple CRUD for one entity | No | /scaffold-service |
| Quick bug fix | No | Direct fix |
| Adding a single field/column | No | /make-migration |
| New React component only | No | /make-component |
/spec — Phase 1 entry point/design — Phase 2 entry point/plan-tasks — Phase 3 entry point/implement — Phase 4 entry point/commit — Commit after completing tasks