npx skills add makfly/superpowers-symfonyREADME
Superpowers Symfony
A Claude Code plugin providing Symfony-specific guidance, skills, and workflows. This plugin enhances your development experience with TDD support, Doctrine guidance, API Platform patterns, and best practices for Symfony 6.4 LTS, 7.x, and 8.0.
Features
- TDD Workflows - RED-GREEN-REFACTOR with Pest PHP or PHPUnit
- Doctrine Mastery - Relations, migrations, transactions, Foundry fixtures
- API Platform - Resources, filters, serialization, versioning
- Symfony Messenger - Async processing, handlers, retry strategies
- Security - Voters for granular authorization
- Architecture - Hexagonal/Ports & Adapters, DI patterns
- Quality - PHP-CS-Fixer, PHPStan integration
- Docker Support - Docker Compose standard + Symfony Docker (FrankenPHP)
Complexity tiers: See docs/complexity-tiers.md for simple/medium/complex examples and how to adapt output.
Installation
# From Claude Code marketplace
claude plugins install superpowers-symfony
# Or manually
git clone https://github.com/MakFly/superpowers-symfony ~/.claude/plugins/superpowers-symfony
Enable plugin (Claude + GLM)
// ~/.claude/settings.json
{
"enabledPlugins": {
"superpowers-symfony@custom": true
}
}
// ~/.claude-glm/.claude.json
{
"enabledPlugins": {
"superpowers-symfony@custom": true
}
}
Restart Claude Code.
Fallback: symlink skills (if plugin skills don’t load)
ln -s ~/.claude/plugins/superpowers-symfony/skills/doctrine-relations ~/.claude/skills/symfony-doctrine-relations
Then call:
Use the skill symfony:doctrine-relations
Troubleshooting (Unknown skill)
If you see Unknown skill:
- Restart Claude Code.
- Run
What skills are available?to confirm the plugin is loaded. - Ensure
enabledPluginsincludessuperpowers-symfony@customin both configs. - Use the fallback symlink if the plugin still does not expose skills.
How to Use Skills
Skills are markdown files containing expert knowledge about specific Symfony topics. Since this plugin uses a custom skill system (not Claude Code's native Skill tool), here are the different ways to use them.
Calling a Skill
To invoke a skill, simply ask Claude using one of these patterns:
# Basic syntax
Use the skill symfony:<skill-name>
# Examples
Use the skill symfony:tdd-with-pest
Use the skill symfony:api-platform-dto-resources
Use the skill symfony:doctrine-relations
Quick Reference:
| What you type | What happens |
|---|---|
Use the skill symfony:tdd-with-pest | Claude reads and applies TDD with Pest knowledge |
Apply symfony:doctrine-relations | Claude reads and applies Doctrine relations patterns |
Load symfony:api-platform-dto-resources | Claude reads and applies DTO resources patterns |
Method 1: Ask Claude Directly (Recommended)
Simply ask Claude to use a specific skill in your conversation:
Use the skill symfony:api-platform-dto-resources to help me create a Product API
Use the skill symfony:tdd-with-pest and help me write tests for my UserService
Apply the symfony:doctrine-relations skill to design my e-commerce entities
Claude will read the skill file from ~/.claude/plugins/superpowers-symfony/skills/ and apply its knowledge to your request.
Method 2: Copy Commands to Your Project
Copy the plugin's slash commands to your project for quick access:
# Create commands directory in your project
mkdir -p .claude/commands
# Copy all superpowers commands
cp ~/.claude/plugins/superpowers-symfony/commands/*.md .claude/commands/
# Or copy specific commands
cp ~/.claude/plugins/superpowers-symfony/commands/symfony-tdd-pest.md .claude/commands/
Then use them with:
/symfony-tdd-pest
/symfony-check
/write-plan
Method 3: Reference in Project CLAUDE.md (Not recommended)
Avoid @ file references in CLAUDE.md because they force-load large files and increase context usage. Prefer explicit skill invocation instead:
Use the skill symfony:tdd-with-pest
Use the skill symfony:api-platform-dto-resources
Use the skill symfony:doctrine-relations
Method 4: Direct Skill Path Reference
Ask Claude to read a specific skill file:
Read and apply ~/.claude/plugins/superpowers-symfony/skills/symfony-voters/SKILL.md
Load the skill at ~/.claude/plugins/superpowers-symfony/skills/quality-checks/SKILL.md
and run the checks on my project
Usage Examples
Example 1: TDD with Pest
User: I need to create a PriceCalculator service with discounts. Use TDD with Pest.
Claude: [Reads symfony:tdd-with-pest skill]
Let me guide you through the RED-GREEN-REFACTOR cycle...
1. RED - Write failing test first:
// tests/Unit/Service/PriceCalculatorTest.php
test('calculates price with percentage discount', function () {
$calculator = new PriceCalculator();
expect($calculator->calculate(10
...