Discourse 테마와 블록 컴포넌트를 구축하기 위한 Claude Code 스킬 저장소입니다:
포함 내용
테마 작성 스킬 — Discourse 테마 구축의 포괄적인 범위를 다룹니다: discourse_theme CLI를 이용한 스캐폴딩, SCSS 아키텍처, 뷰포트 라이브러리, 로컬라이제이션, 설정, 수정자(modifiers), 값 변환기(value transformers), 아이콘, CSS 변수. 아이콘, 변수, 변환기에 대한 상세 참조 파일은 별도로 포함되며 필요 시 로드할 수 있습니다. SKILL.md
블록 작성 스킬 — Blocks API의 테마 측을 다룹니다: @block 데코레이터를 사용한 블록 컴포넌트 작성, args 스키마 정의, 사용 가능한 코어 아웃렛(outlet)으로 블록 렌더링, 조건부, 컨테이너 블록 및 레이아웃 그룹화, 그리고 블록 args에 테마 번역 및 설정 통합. SKILL.md
예제 테마 — 블록으로 구축된 사용자 정의 홈페이를 갖춘 작동하는 테마로, 아웃렛, 조건부, 레이아웃 구성에 대한 실제 패턴을 보여줍니다.
Blocks API 소개
Blocks API는 Discourse의 테마와 플러그인에서 모듈형이고 조합 가능한 UI 컴포넌트를 구축하기 위한 새로운 프레임워크입니다. 블록은 homepage-blocks, hero-blocks, sidebar-discovery와 같은 이름이 지정된 아웃렛에 등록되는 Glimmer 컴포넌트이며, 라우트, 사용자, 뷰포트, 사이트 설정 또는 플러그인 가용성에 따라 조건부로 표시될 수 있습니다.
이 시스템의 주요 강점은 블록이 작고 집중된 범위와 일관된 패턴을 가진다는 것입니다. 이는 AI 지원 개발에 적합하게 만듭니다: 블록 스킬을 가진 모델은 작동하는 블록 컴포넌트를 스캐폴딩하고, 아웃렛에 등록하며, 조건부를 연결하는 작업을 한 번에 수행할 수 있습니다.
이 저장소의 예제 테마는 사용 가능한 플러그인과 콘텐츠에 따라 적응하는 홈페이를 보여줍니다. 히어로 블록과 추천 주제 목록이 포함된 기본 홈페이의 모습은 다음과 같습니다:
추가 조건이 충족되면(추천 태그가 구성되고, Discourse Events 플러그인이 활성화되며, Discourse Leaderboard 플러그인이 사용 가능한 경우) 추가 블록이 레이아웃에 조건부로 렌더링됩니다:
블록은 홈페이지로 제한되지 않습니다. 예제 테마는 또한 sidebar-blocks 아웃렛을 사용하여 홈 링크를 추가하고, sidebar-discovery 아웃렛을 사용하여 카테고리별 사이드바 콘텐츠를 추가하며, 카테고리 페이지 상단에 category-banner 블록을 사용합니다:
DevTools의 블록 검사기(inspector)는 페이지 위에 아웃렛 라벨과 블록 식별자를 겹쳐 표시합니다. 이를 통해 레이아웃 구조를 이해하고 어디서 무엇을 렌더링하는지 디버깅하기가 쉽습니다:
디자인 플랫폼 MCP와 함께 사용하기
이 스킬들은 디자인 플랫폼 MCP(Penpot 또는 Figma MCP 등)와 잘 궁합이 맞습니다. 하나만 연결하면 Claude가 디자인 파일에서 컴포넌트 사양과 디자인 토큰을 직접 읽고 스킬의 관례를 사용하여 구현할 수 있습니다. 구조화된 디자인 시스템을 기반으로 작업할 때 특히 디자인과 코드 사이의 루프가 더 조밀해집니다.
포크 및 조정
스킬의 일부 관례는 관습보다는 선호도에 가깝습니다. 예를 들어 SCSS 폴더 아키텍처가 그렇습니다. 저장소를 포크하여 스킬을 자신의 워크플로와 관례에 맞게 조정할 수 있습니다.
만든 것을 공유하기
한 번 시도해 보고 어떻게 되었는지 알려주세요! 스킬을 어떻게 사용 중인지, 무엇으로 구축했는지, 그리고 어디에서 한계를 느꼈는지를 듣고 싶습니다. 피드백, 수정, 포크 모두 환영합니다.













