| name | legacy-to-symfony-migration |
| description | Step-by-step orchestrator for migrating a PrestaShop Legacy admin page to Symfony/CQRS. Covers the full lifecycle from audit to GA. Trigger: "migrate the Xxx admin page", "create CQRS for Xxx", "add a Symfony form for Xxx", "migrate AdminXxxController".
|
Legacy to Symfony/CQRS Migration Skill
Read @.ai/Component/Migration/CONTEXT.md for conventions, reference pages, dependency graph, and conditional activation matrix.
This skill is an orchestrator: each step file explains why the step exists, when to enter it, what gates it, and which standalone skills to invoke. The procedural detail lives in the standalone skills themselves and in the relevant Component CONTEXT.md.
When to use this skill
Trigger when asked to:
- "Migrate the Xxx admin page to Symfony"
- "Create CQRS for the Xxx domain"
- "Add a Symfony form for Xxx"
- "Migrate AdminXxxController"
Sub-agent delegation (Claude Code)
When the parent agent supports sub-agents (Claude Code does; other tools currently do not), step-00 audits are particularly suited to delegation: each audit reads a large legacy file and emits a structured artifact, so the parent can offload the read cost without losing context. The migration manifest synthesises both audits and acts as the shared context surface for every later step. Skills tagged subagent: recommended or subagent: optional in their frontmatter are candidates; tools without a sub-agent primitive simply run them in-line — behaviour is identical from the user's standpoint.
Phase index
Slice ordering (steps 5 and 6)
Listing-first is the conventional default — it unblocks bulk operations earlier and is usually simpler than the form. Form-first is valid when listing is already migrated or out of scope. Whichever runs first creates the controller class and routing file; the other extends them.