CCJK 스킬 시스템: AI 어시스턴트의 기능 확장하기
CCJK에서 커스텀 스킬을 사용하고, 생성하고, 공유하는 방법을 알아보세요. 반복적인 작업을 원클릭 솔루션으로 변환하세요.
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 yamlprompt: |
{{#if typescript}}
strict 모드가 활성화된 TypeScript를 사용하세요.
{{else}}
JSDoc 타입 주석과 함께 JavaScript를 사용하세요.
{{/if}}
{{#each operations}}
- {{this}} 작업 구현
{{/each}}
파일 템플릿
hljs yamlname: 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 yamlname: 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 yamlparameters:
- name: format
description: 출력 형식
default: typescript # 가장 일반적인 선택
options: [typescript, javascript]
3. 명확한 문서화
예제와 설명을 포함하세요:
hljs yamlname: api-client
description: |
REST 엔드포인트에 대한 타입 안전 API 클라이언트를 생성합니다.
예제:
/api-client --url https://api.example.com/users
/api-client --swagger ./openapi.yaml
생성된 클라이언트에는 다음이 포함됩니다:
- 완전한 TypeScript 타입
- 오류 처리
- 요청/응답 인터셉터
- 자동 재시도 로직
4. 유효성 검사
실행 전에 매개변수를 검증하세요:
hljs yamlparameters:
- 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 yamlname: pr-description
description: 포괄적인 PR 설명 생성
version: 1.0.0
parameters:
- name: base
description: 베이스 브랜치
default: main
prompt: |
{{base}}와 현재 브랜치 간의 변경 사항을 분석하세요.
다음을 포함하는 PR 설명을 생성하세요:
## 요약
이 PR이 달성하는 것에 대한 간략한 개요
## 변경 사항
- 구체적인 변경 사항의 글머리 기호
## 테스트
- 이러한 변경 사항을 테스트하는 방법
- 추가된 특정 테스트 케이스
## 스크린샷
(해당하는 경우)
## 체크리스트
- [ ] 테스트 통과
- [ ] 문서 업데이트
- [ ] 중단 변경 없음 (또는 문서화됨)
## 관련 이슈
관련 이슈 링크
예제 2: 데이터베이스 스키마 생성기
hljs yamlname: 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 yamlname: 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를 팀과 함께 성장하는 플랫폼으로 변환합니다. 내장 스킬을 마스터하는 것으로 시작한 다음, 특정 워크플로우를 위한 커스텀 스킬을 점진적으로 생성하세요.
기억하세요:
- 스킬은 전문 지식과 모범 사례를 인코딩합니다
- 좋은 스킬은 집중되고, 문서화되고, 검증됩니다
- 스킬을 공유하여 팀 전체에서 가치를 배가시키세요
다음 단계:
관련 아티클
VS Code 통합: 원활한 AI 기반 개발
최고의 AI 기반 개발 경험을 위해 VS Code를 설정하세요. 확장 프로그램, 키바인딩 및 워크플로우를 구성하세요.
Claude Code 시작하기: 최고의 AI 코딩 어시스턴트
Claude Code의 설치, 구성 및 마스터 방법을 배워보세요. 기본 설정부터 고급 워크플로우까지 모든 것을 다루는 종합 가이드입니다.
CCJK 시작하기: 당신의 AI 코딩 어시스턴트
CCJK(Claude Code JinKu)를 설치하고 구성하여 AI 기반 어시스턴트로 개발 워크플로우를 가속화하는 방법을 알아보세요.
