
Symfony:daily Workflow Skill
- 405 installs
- 190 repo stars
- Updated August 6, 2026
- makfly/superpowers-symfony
symfony:daily-workflow is a Symfony agent skill that walks developers through a repeatable daily routine—serve, debug, cache clear, migrations, tests, and quality checks—for ongoing Symfony project maintenance.
About
symfony:daily-workflow is a skill from makfly/superpowers-symfony that standardizes everyday Symfony development commands and checks. It covers local serve workflows, debugging steps, cache clears, database migrations, test runs, and quality tooling during regular project maintenance instead of greenfield scaffolding alone. PHP backend developers reach for it when agents should follow a consistent Symfony session checklist after pulling changes, fixing bugs, or preparing small releases. The skill reduces missed steps like forgetting cache:clear or skipping phpunit after schema migrations. It complements Symfony-specific feature skills by focusing on the operational loop developers repeat every day on mature codebases.
- Standardize symfony console and dev-server habits
- Run cache warmup, migrations, and fixtures routinely
- Integrate PHPUnit, PHPStan, and CS fixer checks
- Use profiler and logs for quick local diagnosis
- Keep branches, commits, and reviews lightweight
Symfony:Daily Workflow by the numbers
- 405 all-time installs (skills.sh)
- Ranked #809 of 3,347 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 11, 2026 (Skillselion catalog sync)
npx skills add https://github.com/makfly/superpowers-symfony --skill symfonydaily-workflowAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 405 |
|---|---|
| repo stars | ★ 190 |
| Last updated | August 6, 2026 |
| Repository | makfly/superpowers-symfony ↗ |
What is the daily Symfony development workflow?
Follow a repeatable Symfony dev routine: serve, debug, cache clear, migrations, tests, and quality checks during ongoing project maintenance.
Who is it for?
PHP developers maintaining existing Symfony applications who want a consistent daily serve-debug-test-quality routine.
Skip if: Greenfield framework selection or non-PHP projects without Symfony CLI, Doctrine migrations, or PHPUnit in the stack.
When should I use this skill?
Daily Symfony maintenance begins—pull latest code, debug locally, migrate schema, run tests, or clear cache before commits.
What you get
Cleared caches, applied migrations, executed PHPUnit suites, and completed Symfony quality check results
- Migration results
- Test run output
- Cache-cleared application state
Files
Daily Workflow (Symfony)
Use when
- Refining architecture/workflows/context handling in Symfony projects.
- Planning and executing medium/complex changes safely.
Default workflow
1. Establish current boundaries, constraints, and coupling points. 2. Propose smallest coherent architectural adjustment. 3. Execute in checkpoints with validation at each stage. 4. Summarize tradeoffs and follow-up backlog.
Guardrails
- Use existing project patterns by default.
- Avoid broad refactors without explicit need.
- Keep decision log clear and auditable.
Progressive disclosure
- Use this file for execution posture and risk controls.
- Open references when deep implementation details are needed.
Output contract
- Architecture/workflow changes.
- Checkpoint validation outcomes.
- Residual risks and next steps.
References
reference.mddocs/complexity-tiers.md
Reference
Daily Symfony Development Workflow
Starting Your Day
1. Update Dependencies (if needed)
# Pull latest code
git pull origin main
# Update dependencies
composer install
# Run migrations
bin/console doctrine:migrations:migrate --no-interaction
# Clear cache
bin/console cache:clear2. Start Services
# Docker Compose
docker compose up -d
# Or Symfony Docker
docker compose up -d --wait
# Start Symfony server (if not using Docker)
symfony server:start -d3. Check Status
# Verify database connection
bin/console doctrine:query:sql "SELECT 1"
# Check messenger transports
bin/console messenger:stats
# Verify cache is working
bin/console cache:pool:listCommon Development Tasks
Creating New Features
# 1. Create entity
bin/console make:entity Product
# 2. Create migration
bin/console make:migration
# 3. Run migration
bin/console doctrine:migrations:migrate
# 4. Create controller
bin/console make:controller ProductController
# 5. Create form (if needed)
bin/console make:form ProductType
# 6. Create test
bin/console make:test WebTestCase ProductControllerTestWorking with Doctrine
# Validate mapping
bin/console doctrine:schema:validate
# Show SQL that would be executed
bin/console doctrine:schema:update --dump-sql
# Generate migration from entity changes
bin/console make:migration
# Load fixtures
bin/console doctrine:fixtures:load
# Reset database
bin/console doctrine:database:drop --force
bin/console doctrine:database:create
bin/console doctrine:migrations:migrate --no-interaction
bin/console doctrine:fixtures:load --no-interactionWorking with Messenger
# Process messages
bin/console messenger:consume async -vv
# Process with limits
bin/console messenger:consume async --limit=10 --time-limit=60
# View failed messages
bin/console messenger:failed:show
# Retry failed messages
bin/console messenger:failed:retry --all
# Stop workers gracefully
bin/console messenger:stop-workersDebugging
Debug Tools
# Debug routes
bin/console debug:router
bin/console debug:router api_products_get_collection
# Debug container/services
bin/console debug:container
bin/console debug:container ProductService
bin/console debug:autowiring Product
# Debug configuration
bin/console debug:config framework
bin/console debug:config api_platform
# Debug event dispatcher
bin/console debug:event-dispatcher
bin/console debug:event-dispatcher kernel.requestProfiler
# Enable profiler (dev only)
# Visit: /_profiler
# Check latest profiles via CLI
bin/console profiler:listLogging
# Tail logs
tail -f var/log/dev.log
# Filter logs
grep "ERROR" var/log/dev.log
grep "doctrine" var/log/dev.logDump and Die
// In code
dump($variable); // Dump but continue
dd($variable); // Dump and die
// In Twig
{{ dump(variable) }}Testing Workflow
Running Tests
# All tests
./vendor/bin/phpunit
# Or with Pest
./vendor/bin/pest
# Specific test file
./vendor/bin/pest tests/Functional/Api/ProductTest.php
# Specific test method
./vendor/bin/pest --filter "creates product"
# With coverage
./vendor/bin/pest --coverage --min=80
# Parallel execution
./vendor/bin/pest --parallelTDD Cycle
# 1. Write failing test
./vendor/bin/pest tests/Unit/Service/ProductServiceTest.php
# 2. Implement minimum code to pass
# 3. Run test again - should pass
./vendor/bin/pest tests/Unit/Service/ProductServiceTest.php
# 4. Refactor
# 5. Run all tests
./vendor/bin/pestCode Quality
Before Committing
# Fix code style
./vendor/bin/php-cs-fixer fix
# Run static analysis
./vendor/bin/phpstan analyse
# Run tests
./vendor/bin/pest
# All checks
composer run-script checkPre-commit Hook
#!/bin/sh
# .git/hooks/pre-commit
./vendor/bin/php-cs-fixer fix --dry-run
if [ $? -ne 0 ]; then
echo "Fix code style before committing"
exit 1
fi
./vendor/bin/phpstan analyse
if [ $? -ne 0 ]; then
echo "Fix PHPStan errors before committing"
exit 1
fiAPI Development
Testing API Endpoints
# Using curl
curl -X GET http://localhost/api/products
curl -X POST http://localhost/api/products \
-H "Content-Type: application/json" \
-d '{"name": "Test", "price": 1999}'
# Using httpie (cleaner)
http GET localhost/api/products
http POST localhost/api/products name="Test" price:=1999API Documentation
# Generate OpenAPI spec
bin/console api:openapi:export --output=openapi.json
# View in browser
# http://localhost/api/docsEnd of Day
Clean Up
# Stop services
docker compose down
# Or keep data but stop containers
docker compose stopCommit Work
# Check status
git status
# Stage changes
git add -p # Interactive staging
# Commit
git commit -m "feat: add product filtering"
# Push
git push origin feature/product-filteringQuick Reference
| Task | Command |
|---|---|
| Clear cache | bin/console cache:clear |
| Run migrations | bin/console doctrine:migrations:migrate |
| Load fixtures | bin/console doctrine:fixtures:load |
| Run tests | ./vendor/bin/pest |
| Fix code style | ./vendor/bin/php-cs-fixer fix |
| Static analysis | ./vendor/bin/phpstan analyse |
| Debug routes | bin/console debug:router |
| Debug services | bin/console debug:container |
| Consume messages | bin/console messenger:consume async |
Skill Operating Checklist
Design checklist
- Confirm operation boundaries and invariants first.
- Minimize scope while preserving contract correctness.
- Test both happy path and negative path behavior.
Validation commands
- rg --files
- composer validate
- ./vendor/bin/phpstan analyse
Failure modes to test
- Invalid payload or forbidden actor.
- Boundary values / not-found cases.
- Retry or partial-failure behavior for async flows.
Related skills
FAQ
What steps does symfony:daily-workflow include?
symfony:daily-workflow guides a repeatable Symfony routine covering local serve, debugging, cache clear, Doctrine migrations, PHPUnit tests, and quality checks for ongoing maintenance of existing PHP Symfony projects.
Is symfony:daily-workflow for new Symfony projects only?
symfony:daily-workflow targets daily upkeep of active Symfony codebases—pull, debug, migrate, test, and quality gates—rather than initial framework bootstrapping or non-Symfony PHP stacks.