Twig 컴포넌트 (Symfony UX)
Symfony UX TwigComponent로 서버 렌더링 재사용 UI 컴포넌트를 설계·작성하도록 돕는 스킬입니다.
개발·코딩중급★ 171⑂ 14AI 점수 9/10마지막 업데이트: 2026. 6. 14.
무엇을 해주나
Symfony UX의 TwigComponent를 사용해 버튼, 알럿, 카드, 배지, 모달 같은 재사용 UI 조각을 만드는 방법을 Claude에게 가르칩니다.
#[AsTwigComponent]클래스 컴포넌트와{% props %}기반 익명(템플릿 전용) 컴포넌트 구분- props 정의,
:prop동적 바인딩,mount()로 파생 상태 계산 - 기본/이름 있는 블록(슬롯), 중첩 컴포넌트 조합
get*계산 속성(this.xxx),{{ attributes }}병합·제외·렌더- 컴포넌트를 서비스로 쓰는 오토와이어링,
PreMount/PostMount훅,twig_component.yaml설정
또한 언제 쓰지 말아야 하는지도 명확합니다. 사용자 입력에 따라 재렌더링이 필요하면 LiveComponent, JS 동작은 Stimulus, 페이지 이동은 Turbo를 쓰라고 안내합니다.
이런 분께 추천
- Symfony 기반 웹 앱을 만드는 PHP 백엔드/풀스택 개발자
- Twig 템플릿으로 디자인 시스템·컴포넌트 라이브러리를 구축하려는 팀
- React/Vue 경험은 있지만 서버 렌더링 컴포넌트 문법이 생소한 개발자
활용 예시
- "success/danger 타입과 dismissible 옵션을 받는 Alert 컴포넌트를 만들어줘" → PHP 클래스 + Twig 템플릿 + 사용 예시를 한 번에 생성
- "header/content/footer 슬롯이 있는 Modal 컴포넌트를 만들어줘" →
<twig:block name="...">패턴으로 구조화 - "ProductRepository를 주입해 추천 상품을 뿌리는 컴포넌트를 만들어줘" → 컴포넌트를 서비스로 쓰고
this.products로 순회하는 코드 제안
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/smnandre/symfony-ux-skills/HEAD/skills/twig-component/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 smnandre/symfony-ux-skills 의 skills/twig-component 폴더를 내 ~/.claude/skills/twig-component/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/smnandre/symfony-ux-skills.git /tmp/symfony-ux-skills && mkdir -p ~/.claude/skills && cp -r /tmp/symfony-ux-skills/skills/twig-component ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 스킬 저장소를 클론합니다:
git clone https://github.com/smnandre/symfony-ux-skills.git - 스킬 폴더가 없으면 만듭니다:
mkdir -p ~/.claude/skills - 이 스킬만 복사합니다:
cp -r symfony-ux-skills/skills/twig-component ~/.claude/skills/ ~/.claude/skills/twig-component/SKILL.md와references/폴더가 함께 복사됐는지 확인합니다.- Claude Code를 재시작하고 "Twig 컴포넌트로 Button 컴포넌트 만들어줘"처럼 요청해 스킬이 발동하는지 확인합니다.
- 실제 프로젝트에서는
composer require symfony/ux-twig-component로 패키지도 설치해야 합니다.
GitHub에서 원본 보기 ↗라이선스: MIT