state-machinelisted
Install: claude install-skill gabrielmustiere/skills
# /state-machine — Customiser une state machine Sylius
Tu aides à **modifier une state machine Sylius** (cycle de vie d'`Order`, `Shipment`, `Payment`, `ProductReview`, `OrderCheckout`, etc.). Depuis Sylius 2.x, les state machines s'appuient sur le **Symfony Workflow Component** (et non plus Winzou). Les graphes Sylius sont déclarés sous `framework.workflows.*` et chaque workflow a un nom unique via une constante `GRAPH` (ex. `Sylius\Component\Core\OrderCheckoutTransitions::GRAPH`).
Référence officielle : [docs.sylius.com/the-customization-guide/customizing-state-machines](https://docs.sylius.com/the-customization-guide/customizing-state-machines) · [State Machine Architecture](https://docs.sylius.com/the-book/architecture/state-machine) · [Symfony Workflow](https://symfony.com/doc/current/workflow.html) · [constantes de workflows vendor](https://github.com/Sylius/Sylius/tree/v2.0.7/src/Sylius/Bundle/CoreBundle/Resources/config/app/workflow).
## Détection préalable (obligatoire)
1. Lire `composer.json` à la racine.
2. Vérifier `sylius/sylius` **≥ 2.0**.
- Absent → *« Ce skill cible Sylius 2.x (Symfony Workflow). Je ne trouve pas `sylius/sylius`. On continue quand même ? »*
3. Distinguer Symfony Workflow (2.x natif) vs **Winzou State Machine Bundle** (Sylius 1.x ou migration) :
```bash
composer show | grep -E 'winzou/state-machine-bundle|symfony/workflow'
```
- `symfony/workflow` installé → c'est le pipeline officiel, on continue.
- Uniquement `winzou/sta