SkillsManager: AI 코딩 어시스턴트를 위한 스킬 탐색 및 관리 macOS 애플리케이션
요약
SkillsManager는 Claude Code 및 Codex와 같은 AI 코딩 어시스턴트용 스킬을 탐색, 설치 및 관리할 수 있는 macOS 전용 애플리케이션입니다. GitHub 저장소나 로컬 디렉토리에서 스킬을 가져올 수 있으며, 태그 기반 필터링과 마크다운 렌더링을 통해 효율적인 스킬 관리를 지원합니다.
핵심 포인트
- Claude Code 및 Codex를 위한 멀티 제공자 스킬 관리 지원
- GitHub 저장소 및 로컬 파일 시스템을 통한 원격/로컬 스킬 탐색 및 설치
- 사용자 정의 태그 및 SKILL.md 기반 태그를 활용한 강력한 필터링 기능
- 실시간 마크다운 미리보기를 지원하는 분할 창 에디터 제공
- Swift 6.0 및 SwiftUI 기반의 macOS 전용 네이티브 애플리케이션
AI 코딩 어시스턴트(AI coding assistants)를 위한 스킬을 발견, 탐색, 설치 및 태깅할 수 있는 macOS 애플리케이션입니다. GitHub 저장소 또는 로컬 파일 시스템에서 Claude Code 및 Codex용 스킬을 관리하세요.
Claude Code 및 Codex를 위한 스킬 탐색, 설치 및 태깅
원격 스킬 탐색
- anthropics/skills와 같은 GitHub 저장소에서 스킬 발견
로컬 디렉토리 지원 file://URL을 통해 모든 로컬 디렉토리에서 스킬 추가
설치된 스킬 보기- 제공자(Provider)별(Claude Code, Codex 또는 전체) 필터링
멀티 저장소 지원 - 여러 개의 GitHub 스킬 카탈로그 추가 및 관리
멀티 제공자 설치 - Claude Code 및/또는 Codex에 스킬 설치
글로벌 커스텀 태그 - 모든 카탈로그에 걸쳐 스킬을 정리하기 위한 태그 생성
태그 기반 필터링 - SKILL.md 태그 또는 사용자 정의 태그로 스킬 필터링
마크다운 렌더링 (Markdown Rendering) - 완전한 마크다운 지원으로 스킬 문서 보기
분할 창 에디터 (Split-Pane Editor) - 실시간 마크다운 미리보기를 통해 로컬 스킬 편집
삭제 / 연결 해제 (Uninstall / Unlink) - 제공자로부터 연결을 해제하거나 완전히 삭제
검색 - 이름, 설명 또는 태그로 스킬 찾기
그리드 / 리스트 뷰 - 카드 그리드와 컴팩트 리스트 뷰 간 전환
| 제공자 (Provider) | 스킬 경로 (Skills Path) | 설명 |
|---|---|---|
| Claude Code | ~/.claude/skills | Anthropic의 AI 코딩 어시스턴트 |
| Codex | ~/.codex/skills/public | OpenAI의 코드 생성 도구 |
- macOS 15+
- Swift 6.0+
GitHub Releases에서 최신 릴리스를 다운로드하세요.
git clone https://github.com/tddworks/SkillsManager.git
cd SkillsManager
swift build -c release
앱을 실행하여 사용 가능한 스킬을 탐색하세요. 3단 레이아웃은 다음과 같이 구성됩니다:
사이드바 (Sidebar)
-
설치된 스킬, 제공자 필터 및 원격 카탈로그 간 이동
메인 콘텐츠 (Main Content) -
태그 기반 필터링을 사용하여 그리드 또는 리스트 뷰로 스킬 탐색
상세 패널 (Detail Panel) -
스킬 정보 확인, 태그 관리, 설치/삭제
-
사이드바 하단의 "+ Add Catalog" 클릭
-
GitHub 저장소(GitHub Repository) 또는 로컬 디렉토리(Local Directory) 선택
-
URL 입력 (예:
https://github.com/anthropics/skills)
) 또는 폴더 찾아보기 - "Add Catalog" 클릭
- 상세 패널을 열려면 스킬(Skill)을 선택하세요
- Tags 섹션에서 "+ add"를 클릭하여 새로운 태그를 생성할 수 있습니다
- 태그는 전역 레이블(Global Labels)입니다. 한 번 생성되면 모든 뷰의 필터 바에 나타납니다
- 보라색 태그는 SKILL.md의 프론트매터(frontmatter)에서 가져온 것이며, 하늘색 태그는 사용자가 직접 만든 커스텀 태그입니다
# 프로젝트 빌드
swift build
# 모든 테스트 실행
...
이 프로젝트는 SwiftUI 프리뷰(Preview)를 지원하는 Xcode 프로젝트를 생성하기 위해 Tuist를 사용합니다.
# Tuist 설치 (설치되지 않은 경우)
brew install tuist
# Xcode 프로젝트 생성
...
전체 문서: docs/ARCHITECTURE.md
SkillsManager는 풍부한 도메인 모델(Domain Models)과 SwiftUI 아토믹 디자인(Atomic Design)을 갖춘 **계층형 아키텍처 (Layered Architecture)**를 사용합니다:
SkillLibrary (@Observable, coordinator)
├── localCatalog: SkillsCatalog ← 설치된 스킬 (claude + codex)
├── remoteCatalogs: [SkillsCatalog] ← GitHub 리포지토리 또는 로컬 디렉토리
...
| 계층 (Layer) | 위치 (Location) | 목적 (Purpose) |
|---|---|---|
| 도메인 (Domain) | Sources/Domain/ | 풍부한 모델 (Skill, SkillsCatalog, SkillTags), 프로토콜 (Protocols) |
| 인프라스트럭처 (Infrastructure) | Sources/Infrastructure/ | 리포지토리 (Repositories), 파서 (Parsers), 영속성 (Persistence) |
| 앱 (App) | Sources/App/ | SwiftUI 뷰 (Atomic Design), 코디네이터 (Coordinator), 디자인 토큰 (Design Tokens) |
풍부한 도메인 모델 (Rich Domain Models) - 모델 내에 동작이 캡슐화되어 있습니다 (빈약한 데이터 모델이 아님)
도메인 애그리거트 (Domain Aggregates) - SkillTags는 태그 기능을 관리하는 @Observable 애그리거트입니다
Tell-Don't-Ask - 객체는 자신의 상태를 스스로 관리하며, 호출자는 객체에게 무엇을 할지만 지시합니다
프로토콜 기반 DI (Protocol-Based DI) - 테스트 가능성을 위해 @Mockable 프로토콜을 사용합니다
시카고 학파 TDD (Chicago School TDD) - 상호작용(Interactions)이 아닌 상태 변화(State Changes)를 테스트합니다
ViewModel 계층 없음 (No ViewModel Layer) - 뷰가 도메인 모델을 직접 소비합니다
SwiftUI 아토믹 디자인 (SwiftUI Atomic Design) - 원자(Atoms), 분자(Molecules), 유기체(Organisms), 페이지(Pages)
디자인 토큰 (Design Tokens) - DS 열거형(enum)은 일관된 다크 테마를 위해 프로토타입 CSS를 반영합니다
SkillsManager/
├── Sources/
│ ├── Domain/
...
이 프로젝트에는 CI/CD 워크플로우와 자동 업데이트를 위한 Sparkle 통합이 포함되어 있습니다.
업데이트 서명을 위한 EdDSA 키를 생성합니다:
# Sparkle 도구를 가져오기 위해 먼저 빌드합니다
swift build
# 키 쌍 생성
...
| 비밀값 (Secret) | 용도 (Purpose) |
|---|---|
APPLE_CERTIFICATE_P12 | Base64로 인코딩된 Developer ID 인증서 |
APPLE_CERTIFICATE_PASSWORD | 인증서 비밀번호 |
APP_STORE_CONNECT_API_KEY_P8 | Base64로 인코딩된 App Store Connect API 키 |
APP_STORE_CONNECT_KEY_ID | API 키 ID |
APP_STORE_CONNECT_ISSUER_ID | 팀 발행자 ID (Team issuer ID) |
SPARKLE_EDDSA_PRIVATE_KEY | 업데이트 서명을 위한 EdDSA 개인 키 |
CODECOV_TOKEN | (선택 사항) Codecov 업로드 토큰 |
릴리스(Releases)는 다음 작업에 의해 트리거됩니다:
-
버전 태그 푸시 (Pushing a version tag):
git tag v1.0.0 && git push --tags -
버전 입력을 포함한 수동 워크플로 실행 (Manual workflow dispatch)
릴리스 워크플로(Release workflow)는 다음을 수행합니다:
- 유니버설 바이너리 (Universal binary, arm64 + x86_64) 빌드
- Developer ID로 서명
- Apple을 통한 공증 (Notarize)
- DMG 및 ZIP 아티팩트 (Artifacts) 생성
- GitHub 릴리스 게시
- 자동 업데이트를 위한 Sparkle 앱캐스트 (Appcast) 업데이트
MIT License - 자세한 내용은 LICENSE를 참조하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기