agentleFS
hmj1026hmj1026/dhpk/skills/php/SKILL.md

php

Skill2 starsChanged 6 days agoMITView on GitHub

PHP implementation, review, tests, runtime compatibility, and feature or library-floor decisions across PHP5.6,7.4,8.x. Use for language/runtime tasks and mixed-floor packages. Not for frontend-only work or Yii framework security/development ownership. Output: compatibility-safe code or decisions with runtime-matched verification.

11 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 10 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

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

    Use $php <task> for language/runtime implementation, review, testing, or a feature decision.

    line 12
  2. Very specific:

    Ask and wait for missing/conflicting/incompatible evidence or unspecified monorepo scope before version-specific resources or dependent …

    line 25
  3. Very specific:

    All named resources above live in references/.

    line 44
  4. Distinctive:

    Use the project's test-first workflow for changed behavior.

    line 62

“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “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

PHP

Use $php <task> for language/runtime implementation, review, testing, or a feature decision. Yii framework behavior and framework-security tasks belong to yii1; this folder remains independently usable for PHP runtime work.

Resolve before versioned loads

  1. Identify the target package/subproject and task. An intentional explicit target/version override wins; report it separately from observed constraints.
  2. Inspect target composer.json PHP constraint, lock, platform emulation, CI and deployment configuration at their actual precision. The lowest supported floor governs syntax for a shared file. ^7.4 || ^8.0 retains7.4 compatibility; a broad >=5.6 does not authorize8.x syntax. A lock or config.platform.php value and php --version do not alone prove deployment or package floor.
  3. Ask and wait for missing/conflicting/incompatible evidence or unspecified monorepo scope before version-specific resources or dependent edits. A migration needs an explicit destination. For multiple targets, group references, compatibility decisions and verification evidence per target.

Select only the matching local references

Target/taskLocal resources
PHP5.6 language/service compatibilitylegacy
PHP5.6 + PHPUnit5.7 testslegacy testing and relevant test quality
PHP7.4 baseline, API shape, mixed-floor library7.4
PHP8.x feature/minimum-version decision8.x, selected section of feature catalog
Static analysis/style setupstatic checks
Generic test designtest quality
Resolved Laravel applicationlaravel-projects, laravel-patterns; version-specific laravel-v10 or laravel-v11-v12 only after exact major evidence
Resolved Symfony or async/event-loop worksymfony-patterns or async-patterns only when applicable
PHP8.3+ general idiomsmodern-php-features only when the floor permits

All named resources above live in references/. Local framework examples are starting points, not a substitute for the actual installed major and test harness. Unsupported or uncertain framework APIs require the matching official source/tool capability or an explicit NOT_VERIFIED boundary. No external peer skill or dhpk module is required to perform the runtime task. Missing bundled resources are BLOCKED.

Compatibility and authority

PHP5.6 uses PHPDoc and compatible test APIs: no strict_types, scalar/return syntax, ??, typed properties, arrows or8.x features. PHP7.4 supports typed properties, arrows and ??=; string-key array spread needs8.1. PHP8.x features must satisfy each catalog minimum. A same-file runtime guard cannot conceal a parser error on an older floor. Attribute use on7.x also requires safe comment layout and a compatible metadata consumer; do not infer general8.x support. Public parameter names matter to named-argument callers. A floor bump is an explicit compatibility/semver decision, not an automatic fix.

Use the project's test-first workflow for changed behavior; isolate dependencies and preserve parameter binding, authorization-before-side-effects, thin adapters, and transaction/idempotency boundaries. Implementation requests authorize scoped code/tests/configuration edits; review/advice requests stay read-only. A design or local test request grants no shared database mutation, DDL, package release, commit or push permission. Optional consumer hooks are background integrations, not required bundled runners.

Completion

Return target floor and evidence/override, selected resource set, resulting code or feature/floor decision, framework-specific design where relevant, runtime-matched test recommendations/results, and residual risks. Record parser, static-analysis and focused tests separately for every target. An unavailable legacy runtime is NOT_RUN; running a new PHP binary does not prove5.6 compatibility. Preserve local, DB/provider and release evidence separately.

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.