Claude Code skills · updated 2026-10-03
composer.json skill for Claude Code — end-of-life PHP and validate errors
10 findings in one composer.json, each with the php.net date and the fix
On the bundled sample: 10 findings (4 errors, 6 warnings) in 1 file from 14 rules, including "^7.4 || ^8.0" and a platform pin to PHP 7.4.
Get it on Whop - $12 onceGet it on Gumroad
Who it's for
PHP library maintainers and Laravel/Symfony teams about to tag a release or raise their PHP floor.
What breaks, and when
PHP 7.4 reached end of life 2022-11-28 and 8.1 on 2025-12-31; 8.2 follows 2026-12-31. A name that fails the schema pattern stops composer validate.
What it printed on the bundled example
== composer.json Validate — 10 findings (4 errors, 6 warnings) in 1 file · 14 rules
ERROR composer.json:7 [php-floor-eol]
"php": "^7.4 || ^8.0" still admits PHP 7.4 (end of life 2022-11-28 per php.net). Replace → "php": "^8.3"
ERROR composer.json:18 [platform-php-eol]
config.platform.php "7.4.33" makes composer resolve every dependency for PHP 7.4 (end of life 2022-11-28). Replace → "php": "8.3.0"
ERROR composer.json:2 [name-invalid]
name "Acme/Invoice_Tools" does not match the Composer schema pattern (lowercase vendor/package). Replace → "name": "acme/invoice-tools"
ERROR composer.json:1 [description-missing]
description : The property description is required. Add → "description": "<one sentence>"
What you get
- SKILL.md, an offline Node scanner and the 14-rule table
- file:line, severity and the end-of-life date
- The replacement line, applied only after you agree
- CI: node scripts/scan.js . exits 1 on any error
Install
Unzip into ~/.claude/skills/ (all projects) or your-repo/.claude/skills/ (one repo), then ask Claude Code: "We want to tag a new release of this PHP package. Is composer.json ready, and which PHP versions do we still claim to support? Don't edit anything yet.". Needs Node 16+.
unzip composer-json-php-eol-check.zip -d ~/.claude/skills/
Ask Claude
“We want to tag a new release of this PHP package. Is composer.json ready, and which PHP versions do we still claim to support? Don't edit anything yet.”
What it does not do
It does not run Composer or resolve dependencies; it reads composer.json text only. No network calls, no edits without your OK.
FAQ
What is a Claude Code skill?
A folder with a SKILL.md and scripts that Claude Code loads when your request matches it. You ask in plain words and Claude runs the scanner the skill carries.
How is this different from asking Claude without the skill?
The skill carries a dated rule table and a scanner that reads every file, so Claude quotes the exact date and line instead of answering from memory.
Does it send my code anywhere?
It does not run Composer or resolve dependencies; it reads composer.json text only. No network calls, no edits without your OK.
How do I install it?
Unzip into ~/.claude/skills/ (all projects) or your-repo/.claude/skills/ (one repo), then ask Claude Code: "We want to tag a new release of this PHP package. Is composer.json ready, and which PHP versions do we still claim to support? Don't edit anything yet.". Needs Node 16+.
What do I get when I buy?
The zip. On Whop it is in your library as a download lesson with the zip attached; on Gumroad it is the product file.