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.
npx skills add pwdev-solucoes/pwdev-claude-marketplace --skill quality-gates-phpgit clone --depth 1 https://github.com/pwdev-solucoes/pwdev-claude-marketplaceWrote 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.
[](https://agentmods.dev/skills/pwdev-solucoes/pwdev-claude-marketplace/quality-gates-php)<a href="https://agentmods.dev/skills/pwdev-solucoes/pwdev-claude-marketplace/quality-gates-php"><img src="https://agentmods.dev/badge/skills/pwdev-solucoes/pwdev-claude-marketplace/quality-gates-php/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.
<a href="https://agentmods.dev/skills/pwdev-solucoes/pwdev-claude-marketplace/quality-gates-php"><img src="https://agentmods.dev/badge/skills/pwdev-solucoes/pwdev-claude-marketplace/quality-gates-php.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.02130 |
| Opus 5.5 | $0.00025 | $0.00852 |
| Sonnet 5.5 | $0.00012 | $0.00426 |
| Haiku 4.5 | $0.00006 | $0.00213 |
Grade A, and why
quality-gates-php scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Quality Gates para PHP e Laravel
Você projeta uma política de qualidade reproduzível para aplicações PHP e Laravel. O padrão é bloquear regressões no código alterado e reduzir a dívida existente por ratchet, sem esconder a baseline nem ampliá-la automaticamente.
Levantamento obrigatório
Antes de recomendar um gate, registre:
- versões de PHP, framework, Composer e ferramentas, todas fixadas no lockfile ou na imagem;
- comandos existentes, extensões PHP, sistema operacional e serviços usados nos testes;
- caminhos de código novo e legado, criticidade, baseline atual e orçamento de feedback;
- configurações versionadas, conjuntos de regras, fixtures, seeds e variáveis não secretas;
- dono, saída esperada, condição de falha e procedimento de exceção de cada gate.
Se faltarem dados, proponha primeiro uma execução observacional. Não invente compatibilidade, comandos do projeto ou limites globais para substituir medições.
Matriz de ferramentas e contratos
| Categoria | Verificador preferencial | Entradas determinísticas | Saída e regra bloqueante |
|---|---|---|---|
| Análise estática | PHPStan; Larastan quando houver Laravel | composer.lock, versão do PHP, extensões, phpstan.neon*, stubs e baseline versionada |
Saída estruturada do analisador; bloqueia erro novo e aumento da contagem por identificador e caminho na baseline |
| Testes | Pest ou PHPUnit | lockfile, phpunit.xml, seed, relógio/fuso fixados, fixtures e serviços efêmeros por imagem/digest |
código de saída e relatório JUnit; bloqueia teste falho, erro ou execução incompleta, separando falha de infraestrutura |
| Cobertura | cobertura do Pest/PHPUnit via PCOV ou Xdebug | mesmo conjunto de testes, driver e versão fixados; relatório Cobertura/HTML versionado como evidência | relatório de cobertura; bloqueia valor inferior a 80% nas linhas alteradas; cobertura global existente não pode cair mais que 0,0 ponto percentual |
| SAST | Semgrep ou equivalente local | binário fixado, regras locais versionadas, exclusões revisadas e escopo explícito | SARIF/JSON; bloqueia achado novo de severidade ERROR e aumento da baseline por regra, impressão digital e caminho |
| SCA | Trivy fixado por digest, em modo offline, sobre SBOM CycloneDX do Composer | composer.lock, Composer e gerador CycloneDX fixados, SBOM reproduzível e versionado, imagem/binário do Trivy fixado por digest, TRIVY_DB_CACHE_DIR fixado na configuração versionada para o diretório do artefato imutável da DB e TRIVY_DB_ARTIFACT_SHA256 com seu digest verificado antes do gate |
trivy sbom --cache-dir "$TRIVY_DB_CACHE_DIR" --offline-scan --skip-db-update --format json <sbom>; bloqueia advisory novo high ou critical perante a DB e a baseline controladas; variável, DB ou SBOM ausente e digest divergente são falha de infraestrutura |
| Complexidade | PHPMD | versão fixada, ruleset XML versionado, caminhos e exclusões explícitos | XML/texto; bloqueia nova violação e aumento da baseline por regra e símbolo; para código novo, padrão inicial é complexidade ciclomática ≤ 10 por método |
| Estilo | PHP-CS-Fixer ou PHP_CodeSniffer em modo de verificação | versão fixada e configuração versionada | diff ou saída estruturada; bloqueia arquivo alterado fora do padrão, sem reescrever código no gate |
| Laravel | verificações de boot/configuração, rotas, container e migrations em banco efêmero | artisan, caches recriados no job, .env.testing sem segredo, fixtures e imagem do banco fixadas |
código de saída e logs; bloqueia falha de boot, resolução do container, cache de configuração/rotas ou migration do zero |
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.
- 1mo ago First seen · 135 lines · 62 tokens per session scan A f1cad17a8af7
quality-gates-php is a skill published in the GitHub repository pwdev-solucoes/pwdev-claude-marketplace (3 stars, last pushed 10d ago), licensed Apache-2.0. It adds 62 tokens to every session and 2,130 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-16.
Other skills, from other repositories
Test Scaffold (Laravel/PHPUnit)
Generate PHP/Laravel (PHPUnit) test skeletons from specifications.
laravel-tdd
Drives Laravel feature development with Pest or PHPUnit — factories, RefreshDatabase, fakes for queues/mail/notifications, Sanctum auth, and Inertia assertions. Use when writing or fixing a Laravel controller, Eloquent model, policy, job, or notification, when the project uses Pest/PHPUnit, or when asked to test an…
php-quality
A PHP quality-check workflow using PHPStan, Pint, PHPUnit, Pest, or Laravel's test command. It checks code behavior, types, style, and formatting.
laravel-tdd
Use this skill when testing Laravel 13 applications. It covers Pest 4 installation and configuration, feature tests, model factories, HTTP tests, authentication tests, mocking with Laravel fakes, architecture tests, parallel testing, snapshot testing, Dusk browser tests, and CI integration. Target test split: 80%…
laravel-tdd
Test-Driven Development specifically for Laravel applications using Pest PHP. Use when implementing any Laravel feature or bugfix - write the test first, watch it fail, write minimal code to pass.
pw-test
Use when creating, executing, or managing Pest tests within ProcessWire or ProcessWire modules, including Test-Driven Development (TDD) tasks.