skillby monicajeon28

clean-code-mastery

**CLEAN CODE MASTERY**: '코드 작성', '함수 만들어', '구현해', '개발해', '리팩토링', '개선해', '설계해', '클린코드', '코드품질' 요청 시 자동 발동. *.ts/*.py/*.go/*.java 등 모든 코드 파일 작업 시 자동 적용. SOLID/DRY/KISS + OWASP 보안 패턴. 언어별 선택적 로드.

Installs: 0
Used in: 1 repos
Updated: 2d ago
$npx ai-builder add skill monicajeon28/clean-code-mastery

Installs to .claude/skills/clean-code-mastery/

# Clean Code Mastery Skill v3.0

**Proactive Code Guardian** - 코드 작업 시 자동으로 Clean Code + Secure Coding 원칙 적용

## 자동 발동 조건

이 스킬은 다음 상황에서 **자동으로 활성화**됩니다:

```yaml
Auto_Trigger_Conditions:
  File_Extensions:
    - ".ts, .tsx, .js, .jsx"  → TypeScript/JavaScript
    - ".py"                    → Python
    - ".go"                    → Go
    - ".rs"                    → Rust
    - ".java"                  → Java
    - ".cpp, .cc, .h, .hpp"   → C++
    - ".cs"                    → C#
    - ".kt, .kts"             → Kotlin
    - ".rb"                    → Ruby
    - ".php"                   → PHP
    - ".swift"                 → Swift

  Keywords:
    - "코드 리뷰", "code review"
    - "리팩토링", "refactor"
    - "클린 코드", "clean code"
    - "코드 품질", "code quality"
    - "보안 검토", "security review"

  Actions:
    - Write tool로 코드 파일 생성/수정 시
    - Edit tool로 코드 파일 수정 시
    - 코드 분석 요청 시
```

## 선택적 문서 로드 전략

**전체 문서를 로드하지 않습니다!** 상황에 따라 필요한 문서만 로드:

```yaml
Document_Loading_Strategy:
  Step_1_Detect_Language:
    - 파일 확장자 또는 코드 문법으로 언어 감지
    - 언어가 불명확하면 사용자에게 확인

  Step_2_Load_Required_Docs:
    Universal_Always_Load:
      - "core/principles.md"      # SOLID, DRY, KISS (항상)
      - "core/security.md"        # OWASP 보안 원칙 (항상)

    Language_Specific_Load:
      TypeScript: "languages/typescript.md"
      Python: "languages/python.md"
      Go: "languages/go.md"
      Rust: "languages/rust.md"
      Java: "languages/java.md"
      CPP: "languages/cpp.md"
      CSharp: "languages/csharp.md"
      Kotlin: "languages/kotlin.md"

    Context_Specific_Load:
      Code_Review: "contexts/review-checklist.md"
      Refactoring: "contexts/refactoring-patterns.md"
      New_Code: "contexts/best-practices.md"
      Security_Audit: "contexts/security-audit.md"
```

## 사용 방법

### 1. 자동 발동 (Proactive)
코드 파일 작업 시 자동으로 원칙 적용됨

### 2. 명시적 호출
```
"이 코드 클린코드 원칙으로 리뷰해줘"
"Python 보안 패턴 확인해줘"
"TypeScript 베스트 프랙티스 적용해줘"
```

### 3. 언어 지정 호출
```
"Go 언어 관점에서 분석해줘"
"Java security 패턴 검토해줘"
```

## 문서 구조

```
clean-code-mastery/
├── SKILL.md                    # 이 파일 (라우터)
├── core/
│   ├── principles.md           # SOLID, DRY, KISS, YAGNI (~200줄)
│   ├── security.md             # OWASP 보안 원칙 (~300줄)
│   ├── naming.md               # 네이밍 컨벤션 (~150줄)
│   └── error-handling.md       # 에러 처리 패턴 (~200줄)
├── languages/
│   ├── typescript.md           # TS/JS 패턴 + 보안 (~400줄)
│   ├── python.md               # Python 패턴 + 보안 (~400줄)
│   ├── go.md                   # Go 패턴 + 보안 (~350줄)
│   ├── rust.md                 # Rust 패턴 + 보안 (~350줄)
│   ├── java.md                 # Java 패턴 + 보안 (~400줄)
│   ├── cpp.md                  # C++ 패턴 + 보안 (~400줄)
│   ├── csharp.md               # C# 패턴 + 보안 (~350줄)
│   └── kotlin.md               # Kotlin 패턴 + 보안 (~300줄)
├── contexts/
│   ├── review-checklist.md     # 코드 리뷰 체크리스트 (~150줄)
│   ├── refactoring-patterns.md # 리팩토링 패턴 (~300줄)
│   └── security-audit.md       # 보안 감사 체크리스트 (~200줄)
└── quick-reference/
    ├── anti-patterns.md        # 안티패턴 카탈로그 (~200줄)
    └── metrics.md              # 코드 메트릭 기준 (~100줄)
```

## 핵심 원칙 요약 (항상 적용)

### Clean Code 핵심
- **SRP**: 하나의 클래스/함수는 하나의 책임만
- **DRY**: 코드 중복 금지
- **KISS**: 단순하게 유지
- **함수 크기**: 20줄 이하
- **파라미터**: 3개 이하

### Security 핵심
- **Input Validation**: 모든 입력 검증
- **Output Encoding**: 모든 출력 인코딩
- **Parameterized Queries**: SQL 인젝션 방지
- **No Secrets in Code**: 코드에 비밀번호 금지

## 점수 기준 (100점 만점)

| 항목 | 배점 |
|------|------|
| 네이밍 컨벤션 | 10 |
| SOLID 준수 | 15 |
| 에러 처리 | 10 |
| 코드 스멜 없음 | 15 |
| 언어 관용구 | 10 |
| 문서화 | 5 |
| 테스트 커버리지 | 5 |
| **보안 패턴** | **20** |
| 입력 검증 | 5 |
| 출력 인코딩 | 5 |

## 2025 린팅/포맷팅 도구 가이드

```yaml
Linting_Tools:
  Biome:
    설명: "ESLint + Prettier를 대체하는 올인원 도구"
    장점:
      - "ESLint보다 15-20배 빠름"
      - "설정 간단 (biome.json 하나로 끝)"
      - "린팅 + 포맷팅 통합"
      - "97% Prettier 호환"
    타입_지원: "85% typescript-eslint 커버리지 (Biome 2.0+)"
    권장: "새 프로젝트, 빠른 피드백 원할 때"
    설치: "npm install --save-dev --save-exact @biomejs/biome"

  ESLint_Enterprise:
    설명: "AIRUDA Enterprise Grade 설정 (우수사례)"
    경로: "C:\\Users\\lpian\\OneDrive\\문서\\tsconfig\\eslint.config.mjs"
    특징:
      - "type-aware rules 전체 활성화"
      - "Brain 커스텀 룰 (불완전 구현 탐지, toast deps 감지)"
      - "no-explicit-any, no-unsafe-* 전부 error"
      - "React hooks exhaustive-deps 개선 버전"
      - "테스트 파일 별도 설정"
    권장: "엔터프라이즈 프로젝트, 팀 프로젝트, 타입 안전성 최대화"

  Oxlint:
    설명: "Rust 기반 초고속 린터"
    장점:
      - "ESLint보다 50-100배 빠름"
      - "520+ 룰"
      - "zero-config"
    주의: "포맷팅 없음, 타입 인식 룰 미지원"
    권장: "대규모 코드베이스 초기 린팅, CI 속도 개선"

  선택_가이드:
    새_프로젝트_개인: "Biome"
    새_프로젝트_팀: "ESLint Enterprise config"
    기존_프로젝트: "유지하되 설정 점진적 강화"
    CI_속도_최적화: "Oxlint 병렬 실행"
```

---

**이 스킬은 코드 작업 시 자동으로 활성화됩니다.**
**언어별 상세 가이드는 languages/ 폴더에서 선택적으로 로드됩니다.**

## 관련 스킬 통합

```yaml
Integration_Skills:
  project-architect:
    역할: "프로젝트 구조 설계"
    연동: "새 프로젝트 시작 시 자동 호출"
    
  tech-stack-advisor:
    역할: "기술 스택 선택"
    연동: "기술 결정 필요 시 참조"
    
  requirements-analyzer:
    역할: "요구사항 분석"
    연동: "기능 개발 전 분석"
    
  naming-convention-guard:
    역할: "네이밍 규칙"
    연동: "코드 작성 시 항상 함께 적용"
    
  code-smell-detector:
    역할: "코드 스멜 탐지"
    연동: "코드 리뷰 시 함께 실행"
    
  security-shield:
    역할: "보안 검증"
    연동: "인증/API 코드 작성 시"

Skill_Execution_Order:
  1. project-architect: "구조 먼저"
  2. requirements-analyzer: "요구사항 분석"
  3. tech-stack-advisor: "기술 선택"
  4. clean-code-mastery: "코드 작성"
  5. naming-convention-guard: "네이밍 검증"
  6. code-smell-detector: "스멜 탐지"
  7. security-shield: "보안 검증"
```

## 비개발자를 위한 핵심 원칙 요약

```yaml
For_Non_Developers:
  핵심_3가지:
    1_작게_만들기:
      규칙: "함수는 30줄 이하, 한 가지 일만"
      이유: "작아야 이해하기 쉽고, 테스트하기 쉬움"
      
    2_명확한_이름:
      규칙: "이름만 보고 역할을 알 수 있게"
      이유: "주석 없이도 코드가 문서가 됨"
      
    3_중복_제거:
      규칙: "같은 코드 2번 이상 쓰지 않기"
      이유: "수정할 때 한 곳만 고치면 됨"

  피해야_할_것:
    - 500줄 넘는 파일
    - 30줄 넘는 함수
    - 4단계 넘는 들여쓰기
    - 한 글자 변수명
    - 주석으로 설명해야 하는 코드
```

---

**Version**: 3.1.0
**Updated**: 스킬 통합 정보 추가
**Related Skills**: project-architect, naming-convention-guard, code-smell-detector

Quick Install

$npx ai-builder add skill monicajeon28/clean-code-mastery

Details

Type
skill
Slug
monicajeon28/clean-code-mastery
Created
6d ago