boost-skills은(는) 무엇을 하나요?
Sander Muller의 개인 Composer 배포 AI 에이전트 스킬 카탈로그입니다. PHP 프로젝트와 Composer 패키지를 대상으로 합니다. Sander의 선호도와 맞다면 그대로 사용하거나, 자신만의 카탈로그를 위한 템플릿으로 활용하세요.
sandermuller/boost-skills는 Composer로 배포되는 AI 스킬 카탈로그의 한 예시입니다. 코드 리뷰, 버그 수정, 명세 기반 구현, 릴리스 체크리스트, Jira 워크플로우, 배포 등 일반적인 워크플로우 스킬과 태그 기반 프레임워크별 추가 기능, 항상 활성화되는 가이드라인을 함께 제공합니다. 전체 스킬 및 가이드라인 목록은 아래에서 확인하세요.
이 패키지는 런타임 코드 없이 순수 마크다운만 포함합니다. 동기화 엔진(sandermuller/boost-core 또는 laravel/boost)이 이러한 스킬을 읽어 여러분이 설정한 각 AI 에이전트 디렉토리(Claude Code, Cursor, Copilot, Codex, Gemini 등)에 기록합니다.
스킬은 어디서 오나요?
원하는 곳 어디에서나 가능합니다. 스킬 소스는 중첩 가능하며 자유롭게 혼합하여 사용할 수 있습니다.
- 프로젝트 내
.ai/skills/폴더 – 프로젝트와 함께 직접 작성합니다.laravel/boost와boost-core모두 자동으로 인식하는 동일한 규칙입니다. - Composer로 설치된 카탈로그 패키지.
resources/boost/skills/디렉토리를 포함하는 모든 패키지가 작동합니다. Sander는 자신의 개인 카탈로그를sandermuller/boost-skills(이 저장소)에 게시했습니다. Sander의 선호도와 맞다면 그대로 사용하거나, 개인/공개 카탈로그를 위한 템플릿으로 활용하세요. boost-core의withRemoteSkills()를 통한 외부(비 Composer) 소스. GitHub에 게시된.skill번들이나 단일 스킬 저장소를 URL에서 직접 가져옵니다.laravel/boost의 번들 Laravel 스킬 – Laravel이laravel/boost를 통해 제공하는 Laravel 전용 스킬입니다(Laravel 앱 전용).
withAllowedVendors()는 Composer 스캔 벤더(소스 2)만 게이트합니다. withTags()는 소스 2, 3, 4(Composer 벤더, 원격 스킬, laravel/boost 번들)를 필터링합니다. .ai/skills/(소스 1)는 두 게이트 모두를 우회합니다. 프로젝트가 직접 작성한 스킬이므로 엔진이 이를 정식으로 간주하여 필터를 적용하지 않습니다.
boost 패밀리
sandermuller/boost-skills(또는 다른 Composer 배포 카탈로그)를 채택한다면, 자신의 역할에 맞는 동기화 엔진을 함께 사용하세요.
sandermuller/package-boost-php– 프레임워크에 독립적인 Composer 패키지를 작성하는 경우sandermuller/package-boost-laravel– Laravel 패키지를 작성하는 경우sandermuller/project-boost-php– PHP 애플리케이션을 구축하는 경우sandermuller/project-boost-laravel– Laravel 애플리케이션을 구축하는 경우 (laravel/boost와 공존 가능 – 9개 에이전트 팬아웃, 태그 필터, 벤더 허용 목록, 원격 스킬 추가)
네 가지 sandermuller/* 패키지는 sandermuller/boost-core 동기화 엔진을 번들로 포함하므로, boost-core를 직접 설치할 일은 거의 없습니다. laravel/boost(Laravel 자체 엔진, MCP 서버 및 문서 API)는 Laravel 앱에서 project-boost-laravel과 공존합니다. 패밀리 패키지는 그 위에 9개 에이전트 팬아웃과 필터를 계층화합니다. 패밀리 제어 기능을 생략하고 laravel/boost를 단독으로 사용하려면, 이 패키지 역시 Composer 배포 카탈로그를 읽을 수 있습니다. laravel/boost의 설정을 따르세요. boost-core가 인라인 처리했을 프로젝트 규칙 슬롯은 laravel/boost에서도 깔끔하게 읽힙니다. 스킬에는 프로젝트 규칙 스키마에 표시된 기본값이 포함되어 있어, laravel/boost가 슬롯을 해석하지 않더라도 합리적인 기본 문구를 얻을 수 있습니다. 이 중 어떤 것도 맞지 않는다면(예: PHP 패키지가 아닌 경우), boost-core를 직접 설치하세요.
설치
스킬 카탈로그로 sandermuller/boost-skills를 채택한다면, 엔진 역할에 맞는 패밀리 패키지와 함께 설치하세요. 프레임워크 독립적인 패키지 작성자의 경우 package-boost-php입니다.
composer require --dev sandermuller/boost-skills sandermuller/package-boost-php
역할에 따라 package-boost-php를 package-boost-laravel 또는 project-boost로 교체하세요. 아래 단계는 boost-core 엔진의 명령어를 사용합니다. laravel/boost를 사용하는 경우, 자체 설정을 따른 후 sandermuller/boost-skills가 동기화 대상 패키지에 포함되었는지 확인하세요.
패밀리 패키지에 의해 함께 설치되는 boost-core는 대화형 설정 명령어를 제공합니다.
vendor/bin/boost install
boost install은 프로젝트 루트에 boost.php를 생성하고, 대상 에이전트와 허용된 벤더를 선택할 수 있도록 합니다. 스킬은 허용된 벤더에서만 동기화되므로, sandermuller/boost-skills가 선택되었는지 확인하세요. 결과는 다음과 같습니다.
return BoostConfig::configure()
->withAgents([
Agent::CLAUDE_CODE,
Agent::COPILOT,
Agent::CODEX,
])
->withAllowedVendors([
'sandermuller/boost-skills',
'sandermuller/package-boost-php',
])
->withTags(['php', 'github']);
->withTags(...)에 프로젝트의 역량을 선언하세요. 태그가 지정된 스킬과 가이드라인은 이를 선택한 프로젝트에만 동기화됩니다. 일반적인 시작 태그는 'php'와 'github'입니다. 전체 용어는 태그 레지스트리를 참조하세요. 동기화 후 vendor/bin/boost tags 명령어로 현재 필터링되어 동기화되지 않은 태그 콘텐츠를 확인할 수 있습니다. 이는 선언해야 할 역량을 파악하는 데 유용합니다.
그런 다음 스킬을 전파합니다.
vendor/bin/boost sync
편집 후 vendor/bin/boost sync를 다시 실행하거나, BoostAutoSync 콜백을 composer.json의 post-install-cmd / post-update-cmd에 연결하여 composer install / composer update 시 자동으로 다시 동기화되도록 할 수 있습니다. 생성된 에이전트 디렉토리(.claude/skills/, .github/skills/ 등)는 버전 관리에서 제외되며, boost-core가 .gitignore 블록을 관리합니다.
스킬
| 스킬 | 설명 | 태그 |
|---|---|---|
ai-guidelines | AI 스킬 및 가이드라인 파일(.ai/, CLAUDE.md, AGENTS.md) 생성 및 유지 관리합니다. | — |
autoresearch | 자율 성능 루프: 벤치마크, 코드 변경 후 측정 결과에 따라 유지 또는 되돌리기 합니다. | php |
backend-quality | 2단계 PHP 품질 게이트: 변경 시 Pint + 관련 테스트, 완료 시 PHPStan + 전체 스위트. | php |
bug-fixing | 테스트 기반 버그 워크플로우: 실패하는 테스트로 재현 후 수정합니다. | — |
code-review | 기능, 코드 품질, 보안, 테스트 측면에서 최근 변경 사항을 검토합니다. | — |
codex-review | OpenAI Codex CLI에 독립적인 리뷰를 요청하고, 필요한 수정 사항을 적용한 후 다시 리뷰하여 깨끗해질 때까지 반복합니다. | — |
deploying-laravel-cloud | cloud CLI를 통해 Laravel Cloud에 Laravel 앱 배포 및 관리 – 환경, 데이터베이스, 도메인, 결제. | laravel-cloud hosting |
eloquent-models | 열/관계 상수, 포괄적인 docblock 및 FK 상수를 포함한 Eloquent 모델 생성 및 유지 관리. | laravel |
evaluate | 전체 구현을 자체 검토하고 발견된 문제를 수정합니다. | — |
final-verification-review | 마감 판정: 전체 평가 루프 실행, 마감 전 점검(PR 흐름 또는 PR 없는 커밋/릴리스)을 드라이런하여 READY / NOT READY 보고. | github |
frontend-quality | 프론트엔드 품질 게이트: 타입 검사, 린팅, JS 테스트 스위트; UI 변경 사항에 대한 눈 확인 권고. | frontend |
github-issue-updates | 기능 출시 후 GitHub 이슈에 사용자 대상 설명과 QA 테스트 가능 항목을 추가합니다. | github-issues |
humanizer | AI 생성 글의 흔적을 제거하여 텍스트가 자연스럽고 인간적인 느낌이 들도록 합니다. | — |
implement-spec | 명세 파일을 단계별로 구현하며 진행 상황을 추적합니다. | — |
interview | 복잡한 기능의 요구 사항을 적대적으로 파고듭니다. 코드 우선, 가정 감사 방식으로 명세를 작성하기 전에 수행합니다. | — |
jira-create | 잘 구성된 사용자 대상 설명과 함께 Jira 이슈를 생성합니다. | jira |
jira-rework | 재작업을 위해 반환된 Jira 이슈를 조사한 후 수정 옵션을 제안합니다. | jira github |
jira-updates | PR 생성 후 Jira 이슈를 업데이트하고, 질문으로 인해 차단된 경우 주석을 게시합니다. | jira github |
migration-squash | Laravel 마이그레이션 스쿼시를 안전하게 생성하거나 검토합니다. 덤프 사전 점검 후 불완전하거나 오염되었거나 데이터 손실이 있는 기준선을 잡는 체크리스트를 수행합니다. | laravel |
pr-review-feedback | PR 리뷰 코멘트를 각각 비판적으로 평가한 후 적용합니다. | github |
pre-release | 푸시 전 점검: Rector, Pint, 전체 테스트 스위트, PHPStan, 문서 최신 상태 감사. | php github |
pull-requests | gh를 통해 자신의 GitHub PR을 생성하고 관리합니다. 설명 작성, 확인, 위험도별 라우팅. | github |
readme | Composer 패키지용 고품질 README 작성 및 유지 관리 – 스텁 vs 포괄적 형태, 어조, 최신 상태 감사. | release-automation |
release-notes | Composer 패키지용 GitHub 릴리스 본문 초안 작성 – 구조, 어조, 호환성 깨짐 변경 사항 강조, 생략할 내용. | release-automation |
resolve-conflicts | 양쪽 기능을 잃지 않으면서 git 병합 충돌을 해결합니다. | — |
test-writing | Arrange-Act-Assert 패턴을 따르고 설명적인 이름을 가진 구체적인 테스트를 작성합니다. | — |
upgrading | Composer 패키지의 UPGRADING.md를 위한 표준 구조 – 유지 시점과 포함할 내용. | release-automation |
ux-review | 새 기능에 대한 UX/UI 옵션을 평가하고 접근 방식을 권장하며 결정 사항을 문서화합니다. | — |
write-spec | 진행 상황을 추적할 수 있는 단계가 포함된 구현 준비 명세 파일을 작성합니다. | — |
태그
대부분의 스킬과 가이드라인은 보편적이며 모든 프로젝트에 동기화됩니다. 일부는 역량 태그를 가지고 있어, 해당 콘텐츠가 유용하려면 프로젝트가 특정 기능을 필요로 하거나 옵트인해야 합니다. 프로젝트는 boost.php에서 ->withTags(...)를 통해 역량을 선언하며, 일치하는 콘텐츠만 동기화됩니다.
태그 메커니즘(부분 AND 일치, boost.php의 withTags() 선언, 스킬 프론트매터의 metadata.boost-tags, 가이드라인용 .boost-tags.yaml 사이드카 매니페스트)은 패밀리 정식 방식입니다. boost-core에 의해 정의되며 모든 Composer 배포 카탈로그에 적용됩니다. 아래의 태그 어휘는 하나의 카탈로그 선택입니다. boost-skills가 제공하는 스킬과 가이드라인이 표면화하는 Sander의 역량 혼합입니다. 다른 카탈로그는 다르게 구성될 수 있습니다. 소유자는 각 태그를 사용하는 콘텐츠를 제공하는 boost-패밀리 패키지를 나타냅니다.
boost-core는 더 넓은 Tag 열거형(SanderMuller\BoostCore\Enums\Tag)을 제공하며, 이 카탈로그의 어떤 스킬에도 연결되지 않은 케이스(Tag::Filament, Tag::Livewire, Tag::Volt, Tag::Inertia, Tag::Flux, Tag::Pest, Tag::Tailwind 등)가 포함됩니다. 이들은 패밀리 어휘의 미래 호환 슬롯입니다. withTags(...)에 선언해도 오늘날 아무런 문제가 없으며(제공된 스킬이 아직 대상을 지정하지 않음), boost-core의 선언되었지만 미발견된 보존 규칙에 따라 boost install 선택기 재실행 시에도 유지됩니다. 아래 표는 boost-skills 자체가 현재 콘텐츠를 제공하는 태그만 다룹니다. 전체 열거형 어휘는 boost-core의 Tag::*를 참조하세요.
| 태그 | 의미 | 소유자 |
|---|---|---|
boost-extension | 옵트인 – boost-core 확장(사용자 정의 스킬 + FileEmitters) | package-boost-php |
database | 프로젝트에 데이터베이스가 있음 | boost-skills |
frontend | 프론트엔드 도구 체인 – 타입 검사, 린팅, JS 테스트 | boost-skills |
github | GitHub에서 호스팅됨 | boost-skills |
github-issues | GitHub Issues에서 이슈 추적 | boost-skills |
hosting | 프로젝트가 호스팅 플랫폼에 배포됨(플랫폼별 태그의 상위 태그) | boost-skills |
jira | Jira에서 이슈 추적 | boost-skills |
laravel | Laravel 프레임워크 사용 | boost-skills |
laravel-cloud | Laravel Cloud에 배포됨 | boost-skills |
php | PHP 프로젝트 | boost-skills |
release-automation | 릴리스 자동화 도구 사용 | boost-skills |
가이드라인
가이드라인은 항상 활성화됩니다. 프로젝트가 태그 역량을 선언했는지 여부와 관계없이, 항상 동기화됩니다. 가이드라인 파일에 역량 태그가 포함된 경우, 엔진이 이를 무시한다는 의미입니다. (예외: boost-core FileEmitters 또는 커뮤니티 플러그인이 이 동작을 재정의할 수 있습니다.) 가이드라인은 전체 동기화(하나의 *.md 파일이 아님)를 구성하는 두 부분으로 구성됩니다. 동기화 엔진은 가이드라인 메타데이터와 스킬 파일을 결합하여 각 에이전트의 가이드라인 표현을 합성합니다.
| 가이드라인 | 소유자 | 설명 |
|---|---|---|
ai-guidelines-meta | boost-skills | AI 상호작용에 대한 전역 규칙 – 수정 금지 영역, 비용 인식, 코딩 표준. |
backend-conventions | project-boost-laravel | 리포지토리 패턴, 서비스 레이어, 라라벨 애플리케이션의 일반적인 코드 구성. |
frontend-conventions | project-boost-laravel | 테일윈드 유틸리티 우선 CSS, 블레이드 컴포넌트 구조, 자바스크립트 구성. |
project-conventions | project-boost-laravel | 프로젝트별 규칙 – 브랜치 전략, 디렉토리 레이아웃, 테스트 기대치. |
프로젝트 규칙 스키마
project-conventions 가이드라인은 프로젝트별 설정을 위한 동적 슬롯({slot}» 마커)을 정의합니다. 이러한 슬롯은 선언적 기본값을 제공하여, boost-core(또는 laravel/boost)가 슬롯을 해석하지 않더라도 에이전트가 합리적인 지침을 받을 수 있도록 합니다. 기본값은 다음과 같습니다.
- 폴더 구조 –
/app,/config,/database,/resources,/routes,/tests,/public,/storage등 - 코딩 스타일 – PSR-12, 타입 선언, Docblock 요구 사항
- 명명 규칙 – 카멜 케이스 변수, 파스칼 케이스 클래스, 스네이크 케이스 데이터베이스
- Git 워크플로우 – 기능 브랜치, 스쿼시 커밋, PR 템플릿
저장소 규칙
누군가 git push를 할 때마다 GitHub Actions 워크플로우가 자동으로 태그를 확인하여 동기화되지 않은 스킬이나 누락된 파일을 발견하면 PR에 주석을 답니다.
| 워크플로우 | 설명 |
|---|---|
boost-repo-conventions | 스킬 카탈로그의 저장소 수준 규칙을 적용합니다. |
이러한 워크플로우는 스킬 자체에 대한 것이지, 스킬이 대상으로 하는 프로젝트에 대한 것이 아닙니다. boost-skills 카탈로그 저장소에 직접 기여하는 경우 관련됩니다.
laravel/boost 차이점
laravel/boost와 그 패밀리 대응 제품 간의 주요 차이점은 스킬 내용이 아니라 배포 메커니즘과 제어에 있습니다. 스킬 파일은 두 엔진에서 동일하게 읽힙니다. 다음 차이점이 적용됩니다.
- 에이전트 팬아웃 –
project-boost-laravel은laravel/boost의 단일 에이전트 동기화와 달리 9개의 AI 에이전트에 동시에 동기화할 수 있습니다. - 벤더 허용 목록 –
withAllowedVendors()는project-boost-laravel에만 있으며,laravel/boost는 설치된 모든 카탈로그를 암시적으로 신뢰합니다. - 태그 필터 –
withTags()는 패밀리 패키지에만 있으며,laravel/boost는 모든 스킬을 동기화합니다. - MCP 서버 –
laravel/boost는 자체 MCP 서버를 제공합니다. 패밀리 패키지는 제공하지 않습니다. - 원격 스킬 –
withRemoteSkills()는 패밀리 패키지에만 있으며,laravel/boost에는 없습니다.