php-project-guide
Foundational knowledge for working effectively on any PHP project in PhpStorm. Provides project detection, coding standards, testing patterns, framework guidance, and MCP tool usage.
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
--- name: "php-project-guide" description: "Foundational knowledge for working effectively on any PHP project in PhpStorm. Provides project detection, coding standards, testing patterns, framework guidance, and MCP tool usage." license: "MIT" --- # PHP Project Guide Foundational knowledge for working effectively on any PHP project in PhpStorm. Provides project detection, coding standards, testing patterns, framework guidance, and MCP tool usage. ## Quick Start: First Interaction with a PHP Project Run these steps when encountering a new PHP project for the first time. ### 1. Detect PHP environment ``` get_php_project_config() ``` Returns the configured PHP language level, interpreter details (name, path, local/remote), and runtime information (exact PHP version, loaded extensions, php.ini path, debuggers). Use this to understand the PHP environment before generating code. ### 2. Identify dependencies and framework ``` get_composer_dependencies() ``` This returns all installed packages with exact versions from `composer.lock`. Use it to determine: - **Framework**: `laravel/framework`, `symfony/framework-bundle`, or neither - **Test framework**: `phpunit/phpunit`, `pestphp/pest`, `codeception/codeception` - **Static analysis**: `phpstan/phpstan`, `vimeo/psalm` - **Code style**: `friendsofphp/php-cs-fixer`, `squizlabs/php_codesniffer` Use the optional `nameFilter` glob parameter to search for specific packages (e.g., `nameFilter: "laravel/*"`). ### 3. Route to framework-specific guidance | Dependency | Project Type | Reference | |------------|-------------|-----------| | `laravel/framework` | Laravel | See `references/framework-laravel.md` | | `symfony/framework-bundle` | Symfony | See `references/framework-symfony.md` | | Neither | Generic PHP | See `references/php-standards.md` | ## PhpStorm MCP Tools Quick Reference ### Code Analysis | Tool | When to Use | |------|-------------| | `get_inspections` | After edits, for code review, to find problems with available quick fixes | | `apply_quick_fix` | To resolve inspection problems automatically | | `get_file_problems` | Quick error/warning check on any file type (no quick fixes returned) | | `build_project` | Trigger project build and get compilation errors | ### Code Search | Tool | When to Use | |------|-------------| | `search_structural` | To find code patterns semantically using SSR (requires `fileType: "PHP"`) | | `get_structural_patterns` | To discover predefined PHP search patterns by category | | `search_text` | Fast text substring search across project files | | `search_regex` | Regex search across project files with match coordinates | | `search_symbol` | Semantic symbol lookup (classes, methods, fields) | | `search_file` | Find files by glob pattern | | `find_files_by_name_keyword` | Fast file search by name substring (uses indexes) | | `find_files_by_glob` | Find files matching glob pattern recursively | ### Code Intelligence | Tool | When to Use | |------|-------------| | `get_symbol_info` | Get Quick Documentation for a symbol at a specific position | | `rename_refactoring` | Safely rename a symbol across the entire project | | `get_php_project_config` | Get PHP language level, interpreter, extensions, runtime info | | `get_composer_dependencies` | Understand project dependencies, framework, and versions | ### File Operations | Tool | When to Use | |------|-------------| | `read_file` | Read file with advanced modes (slice, lines, offsets, indentation) | | `get_file_text_by_path` | Read full file text by project-relative path | | `replace_text_in_file` | Targeted find-and-replace in files | | `create_new_file` | Create new files with content | | `reformat_file` | Apply IDE code formatting rules | ### Execution | Tool | When to Use | |------|-------------| | `get_run_configurations` | List available run/test configurations | | `execute_run_configuration` | Run a specific configuration and get results | | `execute_terminal_command` | Run shell commands in IDE terminal | See `references/mcp-tools-reference.md` for detailed parameters and usage patterns. ## Documentation Lookup When you need documentation beyond what these references provide: - **Context7 MCP**: Use `resolve-library-id` then `query-docs` for any PHP framework or library — returns up-to-date docs and code examples - **PHP official docs**: https://www.php.net/manual - **PhpStorm help**: https://www.jetbrains.com/help/phpstorm/ - **phpstorm-stubs**: https://github.com/JetBrains/phpstorm-stubs — PHP built-in function signatures and type info ## Reference Documents | Reference | Content | |-----------|---------| | `references/project-detection.md` | composer.json anatomy, PSR-4 autoloading, directory layouts | | `references/php-standards.md` | PER/PSR coding standards, PHP version features, anti-patterns | | `references/testing-guide.md` | PHPUnit, Pest, running tests, common mistakes | | `references/framework-laravel.md` | Laravel directory structure, Eloquent, artisan, routes | | `references/framework-symfony.md` | Symfony directory structure, Doctrine, console, services | | `references/static-analysis.md` | PHPStan, Psalm, PHP CS Fixer, PHP CodeSniffer | | `references/composer-guide.md` | Composer commands, version constraints, autoloading | | `references/mcp-tools-reference.md` | Detailed PhpStorm MCP tool parameters and workflows |
More General & Other skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

