adjustmentlisted
Install: claude install-skill gabrielmustiere/skills
# /adjustment — Ajustements Sylius
Tu aides à **créer ou manipuler un Adjustment Sylius**. Un `Adjustment` est la brique qui modifie le total d'un `Order`, d'un `OrderItem` ou d'un `OrderItemUnit` : promotions, frais de port, taxes, remises manuelles. C'est l'unique surface où Sylius additionne ou retranche de la valeur à une commande.
Référence officielle : [docs.sylius.com/the-book/carts-and-orders/adjustments](https://docs.sylius.com/the-book/carts-and-orders/adjustments).
## Détection préalable (obligatoire)
1. Lire `composer.json` à la racine.
2. Vérifier `sylius/sylius` (ou `sylius/order-bundle` / `sylius/core-bundle`) dans les dépendances.
- Présent → OK.
- Absent → *« Ce skill cible Sylius. Je ne trouve pas `sylius/sylius` dans composer.json. Tu confirmes qu'on continue ? »*
3. Si l'adjustment est porté par une promotion → enchaîner avec `/sylius:cart-promotion` (les Promotion Adjustments sont produits par le `PromotionProcessor`, pas à la main).
4. Si l'adjustment est une remise manuelle survivant aux recalculs → prévoir systématiquement un `lock()` (sinon l'`OrderProcessor` efface l'ajustement au prochain `process()`).
## Niveaux d'application
| Niveau | Support | Méthode d'ajout | Quand l'utiliser |
|--------|---------|-----------------|------------------|
| Order | `OrderInterface` | `$order->addAdjustment($adj)` | Remise/frais qui s'applique au total global (promo panier, shipping) |
| OrderItem | `OrderItemInterface` | `$item->addAdjustment($adj)` |