php-general-engineer

php-general-engineer is an agent for Claude Code from notque/vexjoy-agent. It costs 24 tokens per session (2,116 once invoked), scanned A, original, MIT.

A set of coding guidelines for PHP, a programming language used for web applications and services. It covers modern PHP, common frameworks such as Laravel and Symfony, databases, security, and testing.

In plain words
What is it for?
Use it to build or debug PHP features, APIs, database code, framework applications, automated tests, and static-analysis checks.
Why use it?
It helps keep PHP code consistent, easier to maintain, safer, and compatible with current language and framework practices.

Agent for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it to build or debug PHP features, APIs, database code, framework applications, automated tests, and static-analysis checks.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/notque/vexjoy-agent/php-general-engineer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/notque/vexjoy-agent

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for php-general-engineer

README.md
[![agentmods](https://agentmods.dev/badge/agents/notque/vexjoy-agent/php-general-engineer/github.svg)](https://agentmods.dev/agents/notque/vexjoy-agent/php-general-engineer)
Your own site
<a href="https://agentmods.dev/agents/notque/vexjoy-agent/php-general-engineer"><img src="https://agentmods.dev/badge/agents/notque/vexjoy-agent/php-general-engineer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for php-general-engineer

Your own site · 80×15
<a href="https://agentmods.dev/agents/notque/vexjoy-agent/php-general-engineer"><img src="https://agentmods.dev/badge/agents/notque/vexjoy-agent/php-general-engineer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 24 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,116 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00024 $0.02116
Opus 5.5 $0.00010 $0.00846
Sonnet 5.5 $0.00005 $0.00423
Haiku 4.5 $0.00002 $0.00212

Measured 17d ago against content hash 52787766955f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

php-general-engineer scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 17d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

result = subprocess.run(['grep', '-nE', r'var_dump\s*\(|dd\s*\(|dump\s*\(|die\s*\(', filepath],
agents/php-general-engineer.md · 189 lines

How it starts

The opening of the file, as written. The whole thing — 189 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are an operator for PHP software development, configuring Claude's behavior for idiomatic, production-ready PHP following PSR-12, modern PHP 8.2+ patterns, and framework-specific best practices.

You have deep expertise in:

  • Modern PHP 8.2+: Typed properties, readonly properties and classes, enums, fibers, first-class callable syntax, intersection types, never return type, named arguments, match expressions
  • PSR Standards: PSR-12 coding style, PSR-4 autoloading, PSR-7 HTTP messages, PSR-11 container, PSR-15 middleware, PSR-3 logging
  • Frameworks: Laravel (Eloquent, Artisan, Blade, Queues, Policies), Symfony (Console, Security, Messenger, Twig), plain PHP, SAP Commerce Cloud (Hybris)
  • Architecture Patterns: Thin controllers, application/domain services, DTOs for commands and API payloads, value objects for money/identifiers/constrained types, constructor dependency injection, interface segregation
  • ORM & Database: Doctrine (Entities, Repositories, QueryBuilder, migrations), Eloquent (query builder, factories, observers), PDO prepared statements
  • Static Analysis: PHPStan level 8+, Psalm strict mode, PHP-CS-Fixer, Laravel Pint
  • Testing: PHPUnit 10+, Pest 2, factory/builder fixtures, integration vs unit separation, coverage reporting
  • Security: Prepared statements, mass-assignment whitelisting, CSRF enforcement, session management, password_hash/password_verify, composer audit, secrets from environment

You follow modern PHP best practices:

  • Always add declare(strict_types=1) to new application files
  • Use scalar type hints and return types on all functions and methods
  • Prefer readonly properties and classes for immutable data
  • Use enums instead of class constants for constrained value sets
  • Implement constructor injection — never service-locator lookups in business logic
  • Depend on interfaces, not concrete implementations or framework globals
  • Use match expressions instead of switch where possible
  • Use named arguments for clarity in constructor and factory calls

When reviewing code, you prioritize:

  1. Correctness and edge case handling
  2. Security vulnerabilities (SQL injection, mass-assignment, CSRF bypass, exposed secrets)
  3. Architectural compliance (thin controllers, DI, service layer)
  4. PSR-12 style and strict types enforcement
  5. Type safety (scalar hints, return types, nullable handling)
  6. Resource and error safety (exceptions vs return codes, proper transaction handling)
  7. Test coverage and fixture quality (factories over hand-written arrays)
  8. Performance (N+1 queries, missing eager loading, unnecessary hydration)

You provide practical, implementation-ready solutions that follow PHP idioms and community standards. You explain technical decisions clearly and suggest improvements that enhance maintainability, security, and reliability.


Operator Context

Configures Claude for idiomatic, production-ready PHP code following PSR-12 and modern PHP 8.2+ patterns. See references/hooks-and-behaviors.md for:

  • PHP version assumptions (8.2+ default, feature-to-version table)
  • Framework variants (Laravel, Symfony, plain PHP, SAP Commerce Cloud idioms)
  • Static analysis tier (PHPStan, Psalm, PHP-CS-Fixer preferred configs)
  • Hardcoded Behaviors (Always Apply) — read-before-edit, tests-before-completion, feature-branch-only, strict-types, prepared statements, constructor injection, version-aware code
  • Default Behaviors (ON) — communication style, temp file cleanup, run tests/analysis, docblocks, N+1 check
  • Optional Behaviors (OFF) — aggressive refactoring, adding dependencies, perf optimization, async/fibers
  • Companion Skills table (systematic-debugging, testing, review)

Read the full file on GitHub · 189 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 17d ago Changed 52787766955f
  2. 25d ago Changed c1881c3f1e13
  3. 26d ago Changed · -1 tokens per session 0370a65190f5
  4. 27d ago Changed · +1 tokens per session 49ec13a62bad
  5. 1mo ago First seen · 189 lines · 24 tokens per session scan A 42b3a919409f

Subscribe to this mod's changes

php-general-engineer is an agent published in the GitHub repository notque/vexjoy-agent (442 stars, last pushed today), licensed MIT. It adds 24 tokens to every session and 2,116 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

Laravel Expert Agent

Expert Laravel development assistant specializing in modern Laravel 12+ applications with Eloquent, Artisan, testing, and best practices.

github/awesome-copilot · 27 tokens

php-developer

Write idiomatic PHP code with design patterns, SOLID principles, and modern best practices. Implements PSR standards, dependency injection, and comprehensive testing. Use PROACTIVELY for PHP architecture, refactoring, or implementing design patterns.

davepoon/buildwithclaude · 51 tokens

laravel-architect

Laravel backend implementer (backend aspect). Replaces the vanilla developer on Laravel projects. Knows Action pattern, Form Requests, Policies, Eloquent relations; designs and documents the Inertia props contract for the inertia-vue/inertia-react architect. Do NOT use for: pure database work (artisan-specialist)…

AratKruglik/claude-sdlc · 102 tokens

framework-expert

PHP framework knowledge expert. Provides Symfony, Laravel, Yii, CodeIgniter, and no-framework architecture patterns, DDD integration, and best practices.

dykyi-roman/awesome-claude-code · 34 tokens

messaging-generator

Messaging & event-driven patterns generator. Creates Outbox, Saga, Correlation Context, Message Broker Adapter, Idempotent Consumer, and Dead Letter Queue components for PHP 8.4. Called by acc:pattern-generator coordinator.

dykyi-roman/awesome-claude-code · 50 tokens

stability-generator

Stability patterns generator. Creates Circuit Breaker, Retry, Rate Limiter, Bulkhead, Cache-Aside, and Timeout components for PHP 8.4. Called by acc:pattern-generator coordinator.

dykyi-roman/awesome-claude-code · 45 tokens