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-masteryInstalls 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-detectorQuick Install
$
npx ai-builder add skill monicajeon28/clean-code-masteryDetails
- Type
- skill
- Author
- monicajeon28
- Slug
- monicajeon28/clean-code-mastery
- Created
- 6d ago