CtrlK
BlogDocsLog inGet started
Tessl Logo

php-pro

Use when building PHP applications with modern PHP 8.3+ features, Laravel, or Symfony frameworks. Invokes strict typing, PHPStan level 9, async patterns with Swoole, and PSR standards. Creates controllers, configures middleware, generates migrations, writes PHPUnit/Pest tests, defines typed DTOs and value objects, sets up dependency injection, and scaffolds REST/GraphQL APIs. Use when working with Eloquent, Doctrine, Composer, Psalm, ReactPHP, or any PHP API development.

96

1.08x
Quality

100%

Does it follow best practices?

Impact

92%

1.08x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Evaluation results

100%

6%

Marketplace Product Catalog API

Laravel service/repository architecture with strict types

Criteria
Without context
With context

Strict types declared

100%

100%

Full type hints

75%

100%

Service layer present

100%

100%

Repository interface

100%

100%

DI via constructor

100%

100%

Typed Form Request

100%

100%

DTO usage

100%

100%

Readonly DTO/value objects

100%

100%

No hardcoded config

100%

100%

No business logic in controller

100%

100%

PHPStan config

50%

100%

No var_dump

100%

100%

90%

18%

Test Suite for a Discount Calculator Service

PHPUnit testing with data providers and PHPStan config

Criteria
Without context
With context

Strict types in tests

100%

100%

Final test classes

0%

100%

setUp() for mocks

25%

0%

DataProvider attribute

100%

100%

Static data provider method

100%

100%

Full type hints in tests

100%

100%

PHPUnit mock usage

100%

100%

phpunit.xml coverage config

100%

100%

phpstan.neon level 9

0%

100%

No var_dump in tests

100%

100%

PHPDoc for complex types

100%

100%

Intersection types for mocks

50%

75%

93%

11%

Order State Machine Domain Model

Modern PHP enums, readonly classes, and match expressions

Criteria
Without context
With context

Strict types declared

100%

100%

Backed enum used

100%

100%

Enum methods present

100%

100%

Readonly class or properties

100%

100%

Match expression used

100%

100%

No switch statements

100%

100%

PHP Attributes used

0%

30%

Never return type

0%

100%

Full type hints

100%

100%

PHPDoc for complex types

100%

100%

No var_dump

100%

100%

99%

7%

Venue Booking API — Symfony 7 Backend

Symfony voters, event subscribers, and DI autowiring

Criteria
Without context
With context

Strict types declared

100%

100%

Full type hints

83%

83%

Attribute-based routing

87%

100%

services.yaml DI autowiring

60%

100%

Voter class present

100%

100%

Authorization via Voter

100%

100%

EventSubscriber implemented

100%

100%

Symfony Validator Attributes on DTO

100%

100%

Constructor DI throughout

100%

100%

No business logic in controller

75%

100%

Readonly DTO or readonly properties

100%

100%

No var_dump

100%

100%

96%

-3%

User Authentication Module — Vanilla PHP

Secure password hashing and SQL injection prevention

Criteria
Without context
With context

Strict types declared

100%

100%

Full type hints

100%

100%

Argon2 password hashing

91%

100%

No plaintext password storage

100%

100%

PDO prepared statements

100%

100%

No raw string SQL injection

100%

100%

Input validation present

100%

50%

Readonly DTO or value object

100%

100%

DI via constructor

100%

100%

No hardcoded credentials

100%

100%

No var_dump

100%

100%

PHPStan config present

100%

100%

79%

4%

Async Data Aggregator — ReactPHP

ReactPHP async promises and concurrent HTTP requests

Criteria
Without context
With context

Strict types declared

100%

100%

Full type hints

50%

87%

ReactPHP event loop used

100%

70%

Concurrent requests via Promise all

100%

100%

Promise chaining with then/catch

100%

100%

Typed result aggregation

25%

50%

Readonly DTO for response

0%

0%

Constructor DI

12%

37%

No blocking sleep/usleep

100%

100%

Output written to file

100%

100%

No var_dump

100%

100%

Repository
jeffallan/claude-skills
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.