vitorsreis / sift
Agent tooling and skills layer for PHP projects.
Package info
Type:composer-plugin
pkg:composer/vitorsreis/sift
Requires
- php: ^8.3
- composer-plugin-api: ^2.6
- ext-json: *
- ext-simplexml: *
Requires (Dev)
- brianium/paratest: ^7.20
- carthage-software/mago: ^1.29
- composer/composer: ^2.10
- deptrac/deptrac: ^4.6
- friendsofphp/php-cs-fixer: ^3.95
- icanhazstring/composer-unused: ^0.9.6
- infection/infection: ^0.33.2
- laravel/pint: ^1.29
- maglnet/composer-require-checker: ^4.20
- pestphp/pest: ^4.7
- php-parallel-lint/php-parallel-lint: ^1.4
- phpmd/phpmd: ^2.15
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^12.5
- rector/rector: ^2.4
- squizlabs/php_codesniffer: ^4.0
- vimeo/psalm: ^6.5
README
Composer-native skills and agent-friendly tooling for PHP projects.
Sift helps PHP teams make coding agents more useful with less repeated context.
It adds two Composer-first workflows:
composer skills: install and manage reusable agent skills inside the project.composer sift <tool>: run PHP tools with compact, normalized, agent-friendly output.
Instead of pasting the same project rules, commands, testing conventions, and huge terminal logs into every session, Sift keeps instructions and tool results structured. Agents can start from a small summary and inspect stored history only when they need more detail.
Why Sift
- Manage skills through Composer for the open agent target set, including a standard shared target, Cursor, Claude Code, GitHub Copilot, Gemini CLI, OpenCode, Antigravity, Windsurf, and project or global installs.
- Reduce wasted tokens by replacing raw tool output with compact summaries and paginated history.
- Run 15+ PHP tools through one command layer.
- Keep automation safer with read-only Composer reports, dry-run refactors, safe formatter modes, blocked arguments, timeouts, and redacted history.
- Use the same core everywhere through
composer sift,composer skills,vendor/bin/sift, or the PHAR.
Quick Start
Install Sift globally:
composer global config allow-plugins.vitorsreis/sift true
composer global require vitorsreis/sift
Or install Sift in a single project:
composer config allow-plugins.vitorsreis/sift true
composer require --dev vitorsreis/sift
After installation, initialize Sift in your project:
composer sift init
Skills
Sift brings a Composer workflow for agent instructions:
composer skills find composer skills add owner/repo@skill
Supported skill sources:
- bundled skills, such as
sift; - local paths;
- GitHub shorthand, such as
owner/repo; - GitHub URLs.
Other commands include init, list, find, use, update / upgrade, and remove. In terminal mode, composer skills opens a bannered help screen and composer skills find opens an interactive search with typeahead, arrow-key selection, and Enter-to-select before install.
Without a scope flag, composer skills add installs to project skill directories, including the standard .agents/skills target for Cursor, Gemini CLI, GitHub Copilot, OpenCode, Antigravity, Amp, Replit, and other shared project installs. It accepts multi-value flags such as --agent standard cursor and --skill pr-review commit. Use --global / -g for user-level installs, --subagent reviewer for Eve subagents, or omit --agent in terminal mode to choose agents interactively; existing target folders in the current scope are preselected and Sift prompts for Project or Global scope when applicable.
Tools
Use composer sift tools list to check availability in your project and composer sift <tool> to run with compact
output.
For test runners, Sift injects machine-readable reports when needed. If the runner exits before those reports are written, the normalized payload reports the native error message and keeps raw stdout/stderr in extra.
Supported tools:
pestphpunitparatestphpstanpsalmphpcsphpcbfpintrectormagoinfectiondeptracphp-cs-fixerphpmdcomposer-require-checkercomposer-unusedparallel-lintcomposer audit|licenses|outdated|show|validate
Documentation
License
Released under the MIT license.