튜토리얼

CCJK 스킬 시스템: AI 어시스턴트의 기능 확장하기

CCJK에서 커스텀 스킬을 사용하고, 생성하고, 공유하는 방법을 알아보세요. 반복적인 작업을 원클릭 솔루션으로 변환하세요.

C
CCJK Team2025년 1월 8일
18 분 소요
636 회 조회
CCJK 스킬 시스템: AI 어시스턴트의 기능 확장하기

CCJK 스킬 시스템: AI 어시스턴트의 기능 확장하기

스킬 시스템은 CCJK를 단순한 AI 어시스턴트에서 강력하고 커스터마이징 가능한 개발 플랫폼으로 변환시키는 핵심입니다. 스킬은 모범 사례를 인코딩하고, 표준을 강제하며, 복잡한 워크플로우를 자동화하는 재사용 가능한 프롬프트 템플릿입니다.

스킬 이해하기

스킬이란 무엇인가요?

스킬은 다음을 수행하는 사전 정의된 프롬프트 템플릿입니다:

  • 도메인 전문 지식 캡슐화
  • 일관되고 반복 가능한 결과 제공
  • 커스터마이징을 위한 매개변수 수용
  • 개발 워크플로우와 통합

내장 스킬

CCJK에는 22개 이상의 사전 구축된 스킬이 포함되어 있습니다:

스킬명령어설명
코드 리뷰/review포괄적인 코드 리뷰
커밋/commit시맨틱 커밋 메시지 생성
테스트/test단위 테스트 생성
문서화/doc문서 생성
리팩토링/refactor리팩토링 개선 제안
보안/security보안 취약점 스캔
성능/perf성능 분석
디버그/debug체계적인 디버깅 지원

내장 스킬 사용하기

/review 스킬

철저한 코드 리뷰 수행:

hljs bash
# 스테이징된 변경 사항 리뷰 /review # 특정 파일 리뷰 /review src/components/UserProfile.tsx # 집중 영역을 지정하여 리뷰 /review --focus security src/auth/

출력에는 다음이 포함됩니다:

  • 치명적 문제 (반드시 수정)
  • 제안 사항 (고려해야 함)
  • 사소한 지적 (선택적 개선)
  • 긍정적 관찰

/commit 스킬

의미 있는 커밋 메시지 생성:

hljs bash
# 스테이징된 변경 사항에서 자동 생성 /commit # 스코프 지정 /commit --scope auth # Conventional commits 형식 /commit --conventional

예제 출력:

feat(auth): JWT 리프레시 토큰 로테이션 구현

- 안전한 로테이션을 사용한 리프레시 토큰 엔드포인트 추가
- 재사용 감지를 위한 토큰 패밀리 추적 구현
- 리프레시 토큰 메타데이터를 위한 Redis 저장소 추가
- 포괄적인 테스트 커버리지 포함

BREAKING CHANGE: 리프레시 토큰이 이제 단일 사용 후 만료됨

/test 스킬

포괄적인 테스트 생성:

hljs bash
# 파일에 대한 테스트 생성 /test src/utils/validation.ts # 테스트 프레임워크 지정 /test --framework vitest src/hooks/useAuth.ts # 특정 테스트 유형 생성 /test --type integration src/api/users.ts

커스텀 스킬 생성하기

스킬 파일 구조

스킬은 .claude/skills/에 YAML 형식으로 정의됩니다:

hljs yaml
# .claude/skills/api-endpoint.yaml name: api-endpoint description: 새로운 REST API 엔드포인트 생성 version: 1.0.0 author: Your Name # 사용자가 제공할 수 있는 매개변수 parameters: - name: resource description: 리소스 이름 (예: users, products) required: true - name: operations description: 포함할 CRUD 작업 default: [create, read, update, delete] - name: auth description: 인증 요구 사항 default: required # 프롬프트 템플릿 prompt: | {{resource}} 리소스에 대한 REST API 엔드포인트를 생성하세요. 요구 사항: - 작업: {{operations}} - 인증: {{auth}} - RESTful 규칙 준수 - Zod를 사용한 입력 유효성 검사 포함 - 적절한 오류 처리 추가 - OpenAPI 문서 생성 - 단위 테스트 포함 참조로 src/api/의 기존 패턴을 사용하세요.

커스텀 스킬 사용하기

hljs bash
# 스킬 사용 /api-endpoint --resource products --auth optional # 또는 대화형으로 /api-endpoint > 리소스 이름: products > 작업: create, read, update > 인증: required

고급 스킬 기능

조건부 로직

hljs yaml
prompt: | {{#if typescript}} strict 모드가 활성화된 TypeScript를 사용하세요. {{else}} JSDoc 타입 주석과 함께 JavaScript를 사용하세요. {{/if}} {{#each operations}} - {{this}} 작업 구현 {{/each}}

파일 템플릿

hljs yaml
name: component description: React 컴포넌트 생성 templates: - path: "src/components/{{pascalCase name}}/index.tsx" content: | import React from 'react'; import styles from './{{pascalCase name}}.module.css'; interface {{pascalCase name}}Props { // Props 여기에 } export function {{pascalCase name}}({ }: {{pascalCase name}}Props) { return ( <div className={styles.container}> {{pascalCase name}} 컴포넌트 </div> ); } - path: "src/components/{{pascalCase name}}/{{pascalCase name}}.module.css" content: | .container { /* 스타일 여기에 */ } - path: "src/components/{{pascalCase name}}/{{pascalCase name}}.test.tsx" content: | import { render, screen } from '@testing-library/react'; import { {{pascalCase name}} } from './index'; describe('{{pascalCase name}}', () => { it('올바르게 렌더링됨', () => { render(<{{pascalCase name}} />); // 어설션 추가 }); });

훅과 라이프사이클

hljs yaml
name: database-migration description: 데이터베이스 마이그레이션 생성 실행 hooks: before: - command: "npm run db:check" description: "데이터베이스 연결 확인" after: - command: "npm run db:migrate" description: "마이그레이션 실행" confirm: true - command: "npm run db:seed" description: "테스트 데이터 시드" condition: "{{env}} === 'development'"

스킬 개발 모범 사례

1. 단일 책임

각 스킬은 한 가지를 잘 수행해야 합니다:

hljs yaml
# ✅ 좋음: 집중된 스킬 name: generate-dto description: Data Transfer Object 생성 # ❌ 나쁨: 너무 광범위함 name: generate-everything description: DTO, 서비스, 컨트롤러 테스트 생성

2. 합리적인 기본값

대부분의 경우에 작동하는 기본값을 제공하세요:

hljs yaml
parameters: - name: format description: 출력 형식 default: typescript # 가장 일반적인 선택 options: [typescript, javascript]

3. 명확한 문서화

예제와 설명을 포함하세요:

hljs yaml
name: api-client description: | REST 엔드포인트에 대한 타입 안전 API 클라이언트를 생성합니다. 예제: /api-client --url https://api.example.com/users /api-client --swagger ./openapi.yaml 생성된 클라이언트에는 다음이 포함됩니다: - 완전한 TypeScript 타입 - 오류 처리 - 요청/응답 인터셉터 - 자동 재시도 로직

4. 유효성 검사

실행 전에 매개변수를 검증하세요:

hljs yaml
parameters: - name: name required: true pattern: "^[a-zA-Z][a-zA-Z0-9]*$" error: "이름은 문자로 시작하고 영숫자만 포함해야 합니다"

스킬 공유하기

CCJK 레지스트리에 게시

hljs bash
# 레지스트리에 로그인 ccjk registry login # 스킬 게시 ccjk skill publish .claude/skills/my-skill.yaml # 특정 버전으로 게시 ccjk skill publish --version 2.0.0 .claude/skills/my-skill.yaml

커뮤니티 스킬 설치

hljs bash
# 스킬 검색 ccjk skill search "react component" # 스킬 설치 ccjk skill install @community/react-component # 특정 버전 설치 ccjk skill install @community/react-component@2.0.0

스킬 컬렉션

관련 스킬을 함께 그룹화하세요:

hljs yaml
# .claude/skills/collection.yaml name: react-toolkit description: 완전한 React 개발 툴킷 version: 1.0.0 skills: - ./component.yaml - ./hook.yaml - ./context.yaml - ./test.yaml

실전 스킬 예제

예제 1: PR 설명 생성기

hljs yaml
name: pr-description description: 포괄적인 PR 설명 생성 version: 1.0.0 parameters: - name: base description: 베이스 브랜치 default: main prompt: | {{base}}와 현재 브랜치 간의 변경 사항을 분석하세요. 다음을 포함하는 PR 설명을 생성하세요: ## 요약 PR이 달성하는 것에 대한 간략한 개요 ## 변경 사항 - 구체적인 변경 사항의 글머리 기호 ## 테스트 - 이러한 변경 사항을 테스트하는 방법 - 추가된 특정 테스트 케이스 ## 스크린샷 (해당하는 경우) ## 체크리스트 - [ ] 테스트 통과 - [ ] 문서 업데이트 - [ ] 중단 변경 없음 (또는 문서화됨) ## 관련 이슈 관련 이슈 링크

예제 2: 데이터베이스 스키마 생성기

hljs yaml
name: db-schema description: 설명에서 데이터베이스 스키마 생성 version: 1.0.0 parameters: - name: database description: 데이터베이스 유형 default: postgresql options: [postgresql, mysql, sqlite] - name: orm description: 사용할 ORM default: prisma options: [prisma, typeorm, drizzle] prompt: | {{orm}}을 사용하여 {{database}} 데이터베이스 스키마를 생성하세요. 사용자의 설명을 기반으로 다음을 생성하세요: 1. 스키마 정의 파일 2. 마이그레이션 파일 3. 개발용 시드 데이터 4. TypeScript 타입 (해당하는 경우) 다음 규칙을 따르세요: - 기본 키에 UUID 사용 - created_at updated_at 타임스탬프 포함 - 적절한 인덱스 추가 - 외래 관계 정의 - 적절한 경우 소프트 삭제 포함

예제 3: API 문서화

hljs yaml
name: api-docs description: OpenAPI 문서 생성 version: 1.0.0 parameters: - name: format default: yaml options: [yaml, json] - name: version default: "3.0.0" prompt: | 이 프로젝트의 API 라우트를 분석하고 {{format}} 형식의 OpenAPI {{version}} 문서를 생성하세요. 포함 사항: - 메서드가 포함된 모든 엔드포인트 - 요청/응답 스키마 - 인증 요구 사항 - 예제 요청 응답 - 오류 응답 - 속도 제한 정보 OpenAPI 모범 사례를 따르고 API 소비자에게 도움이 되는 설명을 포함하세요.

스킬 디버깅

상세 모드

hljs bash
# 스킬이 수행하는 작업 확인 /my-skill --verbose # 매개변수 해결 디버그 /my-skill --debug-params

스킬 테스트

hljs bash
# 실행하지 않고 드라이 런 /my-skill --dry-run # 샘플 입력으로 테스트 ccjk skill test my-skill.yaml --input test-cases.json

결론

스킬 시스템은 CCJK를 팀과 함께 성장하는 플랫폼으로 변환합니다. 내장 스킬을 마스터하는 것으로 시작한 다음, 특정 워크플로우를 위한 커스텀 스킬을 점진적으로 생성하세요.

기억하세요:

  • 스킬은 전문 지식과 모범 사례를 인코딩합니다
  • 좋은 스킬은 집중되고, 문서화되고, 검증됩니다
  • 스킬을 공유하여 팀 전체에서 가치를 배가시키세요

다음 단계:

태그

#ccjk#skills#customization#automation#productivity

이 아티클 공유

继续阅读

관련 아티클