> php-language
Apply core PHP language standards and modern 8.x features. Use when working with PHP 8.x features like enums, fibers, readonly properties, or named arguments. (triggers: **/*.php, declare, readonly, match, constructor, promotion, types)
curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/php-language?format=md"PHP Language Standards
Priority: P0 (CRITICAL)
Structure
src/
└── {Namespace}/
└── {Class}.php
Implementation Guidelines
Core Language Standards
- Strict Typing: Declare
declare(strict_types=1);at the very top of every file. - Type Hinting: Apply scalar type hints (e.g.,
string,int) and return types to all functions. - Strict Comparison: Avoid loose
==comparison; always use===for strict equality.
Modern PHP 8+ Patterns
- Match Expressions: Prefer
match($status)overswitchfor value returns. It provides strict comparison and is exhaustive by default. - Default Case: Use
default => throw new InvalidArgumentException($status)to handle unknown states. - Read-only: Use
public readonly string $namefor properties set once at construction. - Property Promotion: Use
public function __construct(public string $name) {}to reduce boilerplate. - Named Arguments: Call functions with
name: 'John', age: 25to skip optional parameters. - Flexible Types: Use Union types (
int|string) and Intersection types (Countable&Traversable).
Anti-Patterns
- No untyped functions: Declare return and parameter types always.
- No loose
==comparison: Use===for strict equality. - No
switchfor value mapping: Usematchexpressions instead. - No global namespace logic: Organize in classes and namespaces.
References
> related_skills --same-repo
> common-store-changelog
Generate user-facing release notes for the Apple App Store and Google Play Store by collecting git history, triaging user-impacting changes, and drafting store-compliant changelogs. Enforces character limits (App Store ≤4000, Google Play ≤500), tone, and bullet format. Use when generating release notes, app store changelog, play store release, what's new, or version release notes for any mobile app. (triggers: generate changelog, app store notes, play store release, what's new, release notes, ve
> golang-tooling
Go developer toolchain — gopls LSP diagnostics, linting, formatting, and vet. Use when setting up Go tooling, running linters, or integrating gopls with Claude Code. (triggers: gopls, golangci-lint, golangci.yml, go vet, goimports, staticcheck, go tooling, go lint)
> common-ui-design
Design distinctive, production-grade frontend UI with bold aesthetic choices. Use when building web components, pages, interfaces, dashboards, or applications in any framework (React, Next.js, Angular, Vue, HTML/CSS). (triggers: build a page, create a component, design a dashboard, landing page, UI for, build a layout, make it look good, improve the design, build UI, create interface, design screen)
> common-owasp
OWASP Top 10 audit checklist for Web Applications (2021) and APIs (2023). Load during any security review, PR review, or codebase audit touching web, mobile backend, or API code. (triggers: security review, OWASP, broken access control, IDOR, BOLA, injection, broken auth, API review, authorization, access control)