Agent skill

fullstack-implementation

Implement features end-to-end in Laravel 12 + Inertia.js + React 19 + TypeScript. Use when building new features, wiring controllers to pages, or implementing CRUD operations. EXCLUSIVE to fullstack-developer agent.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/fullstack-implementation-mgkyawzayya-claude-code-usage-fl

SKILL.md

Fullstack Implementation

Exclusive to: fullstack-developer agent

Validation Loop (MANDATORY)

Before completing ANY implementation, run this verification sequence:

bash
composer test           # All PHP tests pass
npm run types          # No TypeScript errors
npm run lint           # No linting errors
./vendor/bin/pint      # PHP code styled

Do NOT report completion until all checks pass.

Instructions

  1. Review docs/code-standards.md for naming conventions
  2. Check docs/codebase-summary.md for current structure
  3. Follow patterns in docs/system-architecture.md
  4. Implement backend first, then frontend
  5. Run verification commands before committing

Implementation Order

Backend First

  1. Routeroutes/web.php or routes/api.php
  2. Controllerapp/Http/Controllers/
  3. FormRequestapp/Http/Requests/
  4. Modelapp/Models/
  5. Policyapp/Policies/

Frontend Second

  1. Typesresources/js/types/
  2. Pageresources/js/pages/
  3. Componentsresources/js/components/
  4. Hooksresources/js/hooks/

Laravel 12 Patterns

Controllers

php
// Invokable for single action
class ShowDashboardController
{
    public function __invoke(): Response
    {
        return Inertia::render('Dashboard', [...]);
    }
}

// Resource for CRUD
class PostController extends Controller
{
    public function store(StorePostRequest $request) { ... }
}

Form Requests

php
class StorePostRequest extends FormRequest
{
    public function authorize(): bool
    {
        return $this->user()->can('create', Post::class);
    }

    public function rules(): array
    {
        return [
            'title' => ['required', 'string', 'max:255'],
        ];
    }
}

React 19 Patterns

Inertia Form

tsx
const { data, setData, post, processing, errors } = useForm({
    title: '',
});

const submit = (e: FormEvent) => {
    e.preventDefault();
    post(route('posts.store'));
};

TypeScript Types

tsx
interface Post {
    id: number;
    title: string;
    created_at: string;
}

interface Props {
    posts: Post[];
}

Verification

bash
composer test            # PHP tests
npm run types           # TypeScript
npm run lint            # ESLint
./vendor/bin/pint       # PHP style

Instructions

  1. Read project docs for context and conventions
  2. Identify entry points (routes/controllers/pages)
  3. Follow patterns in docs/code-standards.md
  4. Keep changes minimal and cohesive
  5. Add or update tests when behavior changes
  6. Update docs/codebase-summary.md if adding new files

Examples

  • "Add a new CRUD page with validation and tests"
  • "Wire a form to a controller endpoint and handle errors"

Didn't find tool you were looking for?

Be as detailed as possible for better results