Symfony UX Frontend Orchestrator
A decision-tree skill that picks the right Symfony UX tool — Stimulus, Turbo, TwigComponent, LiveComponent, UX Icons or UX Map — and shows the matching code pattern.
Dev & CodingIntermediate★ 170⑂ 12AI score 9/10Last updated: Jun 14, 2026
What it does
- Walks a decision tree to answer "which Symfony UX package fits this problem?" across Stimulus, Turbo Drive/Frame/Stream, TwigComponent, LiveComponent, UX Icons and UX Map.
- Provides a feature comparison table (JS required, server re-render, two-way binding, real-time, lazy loading).
- Ships seven concrete patterns with PHP/Twig code: static component, component + Stimulus, reactive LiveComponent search, Turbo Frame navigation, multi-section Turbo Stream, LiveComponent inside a Frame, and Mercure real-time broadcasting.
- Includes recommended file structure,
composer requirecommands, and anti-patterns to avoid (LiveComponent for static content, missing map container height, deploying withoutux:icons:lock).
Who it's for
- Symfony/PHP developers building interactive UIs with minimal JavaScript.
- Teams that keep debating "Turbo Frame or LiveComponent?".
- Tech leads standardising frontend architecture on a new Symfony project.
Examples
- "I need live search results as the user types" → returns the LiveComponent pattern with
data-model="debounce(300)|query". - "After posting a comment, update both the list and the counter" → returns the Turbo Stream response format and
.stream.html.twigtemplate. - "My dropdown toggle needs no server data" → steers you to TwigComponent + a Stimulus controller instead of a LiveComponent.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/smnandre/symfony-ux-skills/HEAD/skills/symfony-ux/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/symfony-ux folder from the GitHub repo smnandre/symfony-ux-skills into my ~/.claude/skills/symfony-ux/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/smnandre/symfony-ux-skills.git /tmp/symfony-ux-skills && cp -r /tmp/symfony-ux-skills/skills/* ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Clone the repository:
git clone https://github.com/smnandre/symfony-ux-skills.git - Create the skills folder if needed:
mkdir -p ~/.claude/skills - Copy the skills:
cp -r symfony-ux-skills/skills/* ~/.claude/skills/(copy the whole set so the specialised Stimulus/Turbo/LiveComponent skills are available too). - Restart Claude Code and confirm
symfony-uxappears in your skill list. - In a Symfony project, ask something like "Should this be a Turbo Frame or a LiveComponent?" to trigger it.
- Install the actual packages in your project with
composer require symfony/ux-turbo symfony/ux-live-component(Google Maps rendering additionally requires an API key).
View source on GitHub ↗License: MIT