Livewire Development
coollabsio/coolify
A skill your agent uses for any task or question involving Livewire.
Modern PHP 8.x idioms: strict types, typed properties, enums, readonly classes, match expressions, and PSR standards.
$ npx skills add irahardianto/awesome-agv --skill php-idioms -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install irahardianto/awesome-agv php-idioms --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/php-idioms .claude/skills/php-idioms && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "php-idioms" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/php-idioms into .claude/skills/php-idioms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "php-idioms", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/php-idiomsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add irahardianto/awesome-agv --skill php-idioms -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install irahardianto/awesome-agv php-idioms --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/php-idioms .agents/skills/php-idioms && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "php-idioms" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/php-idioms into .agents/skills/php-idioms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "php-idioms", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add irahardianto/awesome-agv --skill php-idioms -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install irahardianto/awesome-agv php-idioms --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/php-idioms .cursor/skills/php-idioms && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "php-idioms" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/php-idioms into .cursor/skills/php-idioms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "php-idioms", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/irahardianto/awesome-agv.git --path .agents/skills/php-idioms--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add irahardianto/awesome-agv --skill php-idioms -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install irahardianto/awesome-agv php-idioms --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/php-idioms .gemini/skills/php-idioms && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "php-idioms" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/php-idioms into .gemini/skills/php-idioms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "php-idioms", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install irahardianto/awesome-agv php-idiomsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add irahardianto/awesome-agv --skill php-idioms -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/php-idioms .github/skills/php-idioms && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "php-idioms" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/php-idioms into .github/skills/php-idioms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "php-idioms", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add irahardianto/awesome-agv --skill php-idioms -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install irahardianto/awesome-agv php-idioms --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/irahardianto/awesome-agv.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/php-idioms .opencode/skills/php-idioms && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "php-idioms" agent skill from https://github.com/irahardianto/awesome-agv/tree/main/.agents/skills/php-idioms into .opencode/skills/php-idioms/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "php-idioms", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
php-idiomsModern PHP 8.x idioms: strict types, typed properties, enums, readonly classes, match expressions, and PSR standards.
Php Idioms is an agent skill from irahardianto/awesome-agv. Modern PHP 8.x idioms: strict types, typed properties, enums, readonly classes, match expressions, and PSR standards. Use when writing, refactoring, or reviewing pure PHP code, domain services, or libraries. Pair with laravel-idioms for Laravel applications.
Its SKILL.md is about 880 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Backend development and Refactoring. It works with PHP and Laravel. The repository describes itself as: Comprehensive sets of standards and practices designed to elevate the capabilities of AI coding agents. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9e997ba. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
composerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Php Idioms loads about 883 tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 193 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from irahardianto/awesome-agv at commit 9e997ba, republished under its MIT licence (© irahardianto). 193 words, ~883 tokens.
.claude/skills/php-idioms/SKILL.md (or your agent's skills folder).Modern PHP (8.x) rewards type safety, immutability, and framework-agnostic design. Lean into typed properties, enums, and readonly classes. Idiomatic PHP = strict types, PSR-compliant, well-tested.
Scope: PHP coding idioms. Test naming: .agents/rules/testing-strategy.md. Logging:
@.agents/skills/logging-implementation/SKILL.md.
declare(strict_types=1) — always, every file.
Enums for domain constants:
enum Priority: string {
case Low = 'low';
case Medium = 'medium';
case High = 'high';
}Readonly classes for immutable DTOs:
readonly class CreateTaskRequest {
public function __construct(
public string $title,
public Priority $priority,
) {}
}Named arguments for clarity:
$task = new Task(title: 'Deploy fix', priority: Priority::High);Match expressions over switch:
$score = match($priority) {
Priority::Low => 1,
Priority::Medium => 5,
Priority::High => 10,
};Domain exception hierarchies:
abstract class DomainException extends \RuntimeException {}
class NotFoundException extends DomainException {
public function __construct(
public readonly string $resource,
public readonly string $resourceId,
) {
parent::__construct("{$resource} '{$resourceId}' not found");
}
}Never catch (\Exception) without re-throw or specific handling.
Type-safe return types — never mixed without justification.
// In task feature
interface TaskStorage {
public function getById(string $id): Task;
public function save(Task $task): void;
}
// Constructor injection
class TaskService {
public function __construct(
private readonly TaskStorage $storage,
) {}
}PHPUnit or Pest:
test('calculate discount returns zero for no items', function () {
$result = $this->calculator->calculateDiscount([], $this->coupon);
expect($result)->toBe(0.0);
});Data providers for parameterized tests.
Mockery or PHPUnit mocks — never test implementation details.
| Tool | Purpose | Command |
|---|---|---|
| PHP CS Fixer | PSR-12 formatting | php-cs-fixer fix . |
| PHPStan (level 9) | Static analysis | phpstan analyse src/ --level 9 |
| Psalm | Type checking | psalm --show-info=true |
composer audit | CVE scanning | composer audit |
© irahardianto, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/php-idioms of irahardianto/awesome-agv.
Open the folder on GitHubat commit 9e997ba
Php Idioms next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Php Idioms this skillirahardianto/awesome-agv | 157 | — | ~883 | Automated safety check: Pass | MIT | |
| Livewire Developmentcoollabsio/coolify | 63k | — | ~964 | Automated safety check: Pass | MIT | |
| Livewire Developmentyungifez/skuul | 409 | 1 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Octane Frankenphp GotchasAratKruglik/claude-laravel | 155 | — | ~732 | Automated safety check: Pass | None | |
| PHP ProJeffallan/claude-skills | 12k | — | ~1.6k | Automated safety check: Notes | MIT | |
| Spatie Guidelinesfreekmurze/dotfiles | 1k | — | ~2.7k | Automated safety check: Pass | MIT |
coollabsio/coolify
A skill your agent uses for any task or question involving Livewire.
yungifez/skuul
A skill your agent uses for any task or question involving Livewire.
AratKruglik/claude-laravel
A skill your agent uses when debugging unexpected behavior in Laravel Octane with FrankenPHP - stale data between requests, memory leaks, singleton contamination, static property state, or anything…
Jeffallan/claude-skills
Writes strictly typed modern PHP 8.3+ for Laravel, Symfony and plain projects, with PHPStan level 9, PHPUnit or Pest tests, typed DTOs and secure defaults.
freekmurze/dotfiles
Spatie's PHP, Laravel, JavaScript and Vue coding guidelines and conventions.
HoangNguyen0403/agent-skills-standard
Implement Domain-Driven Design with typed DTOs, repository interfaces, and single-responsibility Action classes in Laravel.
irahardianto/awesome-agv
Commits to one bold aesthetic direction, sets up a CSS token system for it, then builds the interface in Vue or plain HTML using those tokens.
irahardianto/awesome-agv
Profile-driven performance optimization protocol. An agent skill from irahardianto/awesome-agv.
irahardianto/awesome-agv
Coding conventions for Angular 19 and later: standalone components, signals, OnPush change detection, lazy routes and where RxJS still belongs.
irahardianto/awesome-agv
Rules for designing CI/CD pipelines in layers: universal lint, test and scan stages, container builds with SBOM attestation, and GitOps for orchestrated deployments.
irahardianto/awesome-agv
Hono lightweight web framework patterns: type-safe route handlers, middleware composition, Zod validation, and RPC clients for Cloudflare Workers, Node, or Bun.
irahardianto/awesome-agv
Mobile E2E testing patterns — Flutter integrationtest, Patrol, Maestro, golden testing, device matrix, and test data management.
Categories
Modern PHP 8.x idioms: strict types, typed properties, enums, readonly classes, match expressions, and PSR standards. Php Idioms is an agent skill from irahardianto/awesome-agv.x idioms: strict types, typed properties, enums, readonly classes, match expressions, and PSR standards.
Php Idioms fits situations like: reviewing pure PHP code; domain services.
Run `npx skills add irahardianto/awesome-agv --skill php-idioms -a claude-code`. Or copy the skill folder (.agents/skills/php-idioms in irahardianto/awesome-agv) into .claude/skills/php-idioms in your project. Claude Code loads it when a task matches its description.
Run `npx skills add irahardianto/awesome-agv --skill php-idioms -a codex`. Or copy the skill folder (.agents/skills/php-idioms in irahardianto/awesome-agv) into .agents/skills/php-idioms in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add irahardianto/awesome-agv --skill php-idioms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/php-idioms, .gemini/skills/php-idioms, .github/skills/php-idioms and .opencode/skills/php-idioms in your project.
Going by SKILL.md and its folder, Php Idioms needs the command-line tools its instructions call (composer).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Php Idioms is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 883 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Php Idioms: Livewire Development (coollabsio/coolify, 63k stars), Livewire Development (yungifez/skuul, 409 stars), Octane Frankenphp Gotchas (AratKruglik/claude-laravel, 155 stars) and PHP Pro (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
irahardianto (a GitHub user) maintains it in irahardianto/awesome-agv, which has 157 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 5, 2026.
Source: irahardianto/awesome-agv on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.