AI Helpers
skillsaw grade
다양한 개발 작업을 자동화하고 지원하기 위한 Claude Code 플러그인 모음입니다.
사용 가능한 플러그인 검색하기
설치 (Installation)
Claude Code Plugin Marketplace에서
-
마켓플레이스 추가:
/plugin marketplace add openshift-eng/ai-helpers
-
플러그인 설치:
/plugin install jira@ai-helpers
-
명령어 사용:
/jira:solve OCPBUGS-12345 origin
플러그인 업데이트 (Updating Plugins)
최신 플러그인 버전을 받으려면:
-
마켓플레이스 업데이트 (최신 플러그인 카탈로그 가져오기):
/plugin marketplace update ai-helpers
-
플러그인 재설치 (새 버전 다운로드):
/plugin install <plugin>@ai-helpers
자동 카탈로그 동기화 (Automatic Catalog Sync)
세션마다 마켓플레이스 카탈로그를 자동으로 동기화하려면 SessionStart 훅을 추가하세요. 프로젝트의 .claude/settings.json에 다음 내용을 추가합니다:
{
"hooks": {
"SessionStart": [
...
참고: 이것은 카탈로그(사용 가능한 항목)만 새로 고칩니다. 실제로 설치된 플러그인을 새 버전으로 업데이트하려면 여전히 /plugin install <plugin>@ai-helpers로 재설치해야 합니다.
OpenCode, Gemini, Cursor와 같은 코딩 에이전트는 Agent Package Manager (APM)를 사용하여 Claude Code 플러그인을 사용할 수 있습니다.
예시 apm.yml:
name: my-project
version: 1.0.0
description: My project is great.
...
그런 다음 apm install을 실행합니다. 이는 프로젝트에만 설치하거나 --global 범위로 설치할 수 있습니다.
컨테이너 사용 (Using the Container)
Claude Code와 모든 플러그인이 미리 설치된 컨테이너가 제공됩니다. 이는 주로 OpenShift CI에서 사용하기 위한 것입니다.
이미지에는 두 개의 Claude Code 바이너리가 포함되어 있습니다:
claude (기본 진입점) — stable RPM 채널에서 설치됨
claude-latest — 최신 기능 테스트 또는 버전 간 동작 비교를 위해 latest RPM 채널에서 설치됨
컨테이너 빌드하기
podman build -f images/Dockerfile -t ai-helpers .
Vertex AI 및 gcloud 인증을 사용하여 실행하기
Claude Code를 Google Cloud의 Vertex AI와 함께 사용하려면, gcloud 자격 증명을 전달하고 필요한 환경 변수를 설정해야 합니다:
podman run -it \
-e CLAUDE_CODE_USE_VERTEX=1 \
-e CLOUD_ML_REGION=your-ml-region \
...
환경 변수:
CLAUDE_CODE_USE_VERTEX=1 - Vertex AI 통합 활성화
CLOUD_ML_REGION - 사용자의 GCP 리전 (예: us-east5)
ANTHROPIC_VERTEX_PROJECT_ID - 사용자의 GCP 프로젝트 ID
볼륨 마운트:
-v ~/.config/gcloud:/home/claude/.config/gcloud:ro - gcloud 인증을 전달합니다 (읽기 전용)
-v $(pwd):/workspace - 현재 디렉토리를 컨테이너 내부의 /workspace에 마운트합니다
비대화형 명령 실행하기
-p 또는 --print 플래그를 사용하여 대화형 세션에 진입하지 않고도 Claude Code 명령을 직접 실행할 수 있습니다:
podman run -it \
-e CLAUDE_CODE_USE_VERTEX=1 \
-e CLOUD_ML_REGION=your-ml-region \
...
이렇게 하면 다음 작업을 수행합니다:
- gcloud 자격 증명과 함께 컨테이너를 시작합니다.
- 제공된 메시지로
/hello-world:echo 명령을 실행합니다.
- 응답을 출력하고 완료되면 종료됩니다.
사용 가능한 플러그인 (Available Plugins)
사용 가능한 모든 플러그인과 명령어의 전체 목록은 **AI Helpers Marketplace**를 참조하십시오.
플러그인 개발 (Plugin Development)
직접 기여하거나 자신만의 플러그인을 만들고 싶으신가요? plugins/ 디렉토리에서 예시를 확인하세요.
명령어와 에이전트가 hello-world 참조 구현 플러그인에 제시된 섹션 구조 규칙을 따르도록 하십시오 (예시는 hello-world:echo를 참고하십시오).
윤리 지침 (Ethical Guidelines)
플러그인, 명령어, 스킬 및 훅은 스타일적 예시로 사용되더라도 실제 사람의 이름을 절대 언급해서는 안 됩니다 (예: "<특정 인물>의 스타일로").
윤리적 근거:
- 동의: 개인은 자신의 정체성이나 페르소나를 AI 생성 콘텐츠에 사용하는 것에 동의하지 않았습니다.
- 오인: AI는 사람의 고유한 목소리, 스타일 또는 의도를 정확하게 재현할 수 없습니다.
- 지적 재산권: 사람의 독특한 스타일은 보호될 수 있습니다.
- 존엄성: 허가 없이 누군가의 정체성을 사용하는 것은 그들의 자율성을 저하시킵니다.
대신, 구체적인 특성을 명시적으로 설명하세요
좋은 예시:
- "변경 사항의 근거에 초점을 맞추고, 직접적이며 기술적으로 정확한 커밋 메시지를 작성합니다"
- "비전문가를 위해 명확한 비유, 경이로움의 감각, 그리고 이해하기 쉬운 언어를 사용하여 설명합니다"
- "격려하고 건설적이며 협업적인 개선에 초점을 맞춘 코드 리뷰 코멘트"
원하는 특성(명료성, 간결성, 격식 등)을 식별할 때, 사람을 대리인으로 사용하기보다 명시적으로 설명하세요.
새로운 명령어 추가하기
먼저 중복 여부를 확인하세요 - 코딩하기 전에 아이디어를 검증하세요:
/utils:review-ai-helpers-overlap --idea "명령어에 대한 간략한 설명"
중복이 발견되면 병렬적인 노력을 반복하는 대신 기존 작업과 협력하는 것이 항상 권장됩니다. 이는 이렇게 활발하게 개발되는 프로젝트에서 깨끗하고 중복되지 않는 플러그인 모음을 유지하는 데 도움이 됩니다 (자세한 사용법은 /utils:review-ai-helpers-overlap를 참조하세요).
새로운 명령어를 기여할 때:
- 명령어가 기존 플러그인에 속하는 경우: 해당 플러그인의
commands/ 디렉토리에 추가합니다.
- 명령어의 상위 플러그인이 명확하지 않은 경우: utils 플러그인 (
plugins/utils/commands/)에 추가합니다.
- utils 플러그인은 기존 카테고리에 속하지 않는 명령어를 위한 종합 공간(catch-all) 역할을 합니다.
- utils에 관련 명령어들이 충분히 쌓이면, 이를 새로운 전용 플러그인으로 분리할 수 있습니다.
새 플러그인 생성하기
관련된 여러 명령어를 포함하여 자체적인 플러그인이 필요하다면:
plugins/ 아래에 플러그인 이름으로 새 디렉토리를 만듭니다.
- 플러그인 구조를 만듭니다:
plugins/your-plugin/
├── .claude-plugin/
│ └── plugin.json
...
3. `.claude-plugin/marketplace.json`에 플러그인을 등록합니다.
### 플러그인 유효성 검사 (Validating Plugins)
이 저장소는 [skillsaw](https://github.com/stbenjam/skillsaw)를 사용하여 플러그인 구조를 검증합니다:
```bash
make lint
마켓플레이스 사이트 미리보기 (Previewing the Marketplace Site)
site/requirements.txt에서 의존성을 설치한 후, 다음 명령어를 실행합니다:
MkDocs 사이트는 http://127.0.0.1:8000/ai-helpers/에서 이용 가능하며, GitHub Pages는 main 브랜치에 변경 사항이 병합된 후 동일한 생성 콘텐츠를 빌드합니다.
추가 문서 (Additional Documentation)
라이선스 (License)
자세한 내용은 LICENSE를 참조하세요.