agentleFS
gerard-labsgerard-labs/superpowers-api-platform/skills/quality-checks/SKILL.md

quality-checks

Skill2 starsChanged 6 months agoMITView on GitHub

Configure and run the Symfony / API Platform 4.3 quality stack — PHP-CS-Fixer (`@Symfony` + `@PER-CS` rulesets), PHPStan level 9+ (with `phpstan-symfony` and `phpstan-doctrine` extensions), Psalm if needed, `composer audit` + Renovate for dependency CVEs, `composer install --no-dev --optimize-autoloader` for production builds, PHPUnit `--coverage-clover` with a CI-blocking minimum threshold (100% on the domain), ParaTest for parallel runs, Infection mutation testing with `--min-msi=80 --min-covered-msi=85` on critical packages, and CI patterns that fail on regressions. Trigger on "lint", "static analysis", "quality gates", "CI configuration", "composer audit", "production deploy", "coverage threshold", "mutation testing", "Infection", or "MSI".

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    composer audit runs on every PR: No CVE merged into main.

    line 35
  2. Very specific:

    No composer update in CI / prod: Always composer install.

    line 36

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Quality checks (Symfony / API Platform 4.3)

Use when

  • Bootstrapping the quality stack of a new project.
  • Tightening static analysis (raising PHPStan level, enabling custom rules).
  • Setting up CI quality gates that fail on regressions.
  • Auditing dependencies for CVEs before deploy.

Default workflow

  1. PHP-CS-Fixer: install + @Symfony + @PER-CS rulesets + project-specific overrides.
  2. PHPStan: install + phpstan-symfony + phpstan-doctrine + raise level progressively (5 → 7 → 9 → max).
  3. PHPUnit: enable --coverage-clover and enforce a minimum on the domain layer.
  4. ParaTest: ./vendor/bin/paratest -p8 for parallel CI runs.
  5. Infection: ./vendor/bin/infection --threads=4 --min-msi=80 --min-covered-msi=85 — mutation testing on critical packages (domain, voters, processors, finance/rights/PII).
  6. composer audit + symfony check:security on every PR.
  7. Production builds: composer install --no-dev --optimize-autoloader — never composer update.
  8. Renovate for automated dependency updates.

Guardrails

  • CI fails on PHPStan regression. No // @phpstan-ignore without a comment + ticket.
  • CI fails on coverage drop. Minimum threshold enforced.
  • CI fails on MSI regression. Minimum --min-msi=80 and --min-covered-msi=85 on critical packages. A green coverage with surviving mutants signals tautological tests — CI must reject it.
  • composer audit runs on every PR. No CVE merged into main.
  • No composer update in CI / prod. Always composer install.
  • No --no-verify on commits / pushes — hooks exist for a reason.

Progressive disclosure

  • SKILL.md covers posture and tools.
  • reference.md carries the full configs (PHP-CS-Fixer .php-cs-fixer.dist.php, phpstan.dist.neon with extensions, PHPUnit phpunit.xml.dist, GitHub Actions / GitLab CI templates, Renovate config).

Output contract

  • .php-cs-fixer.dist.php, phpstan.dist.neon, phpunit.xml.dist, infection.json5 present and aligned.
  • CI workflow that runs PHPStan + tests + coverage threshold + Infection (MSI ≥ 80, covered-MSI ≥ 85) + audit.
  • Production deploy script using composer install --no-dev --optimize-autoloader.
  • Renovate config (or equivalent) in place.

References

  • reference.md

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.