@su-record/vibe 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/.claude/settings.json +35 -35
  2. package/.claude/settings.local.json +24 -25
  3. package/.claude/vibe/constitution.md +184 -184
  4. package/.claude/vibe/rules/core/communication-guide.md +104 -104
  5. package/.claude/vibe/rules/core/development-philosophy.md +52 -52
  6. package/.claude/vibe/rules/core/quick-start.md +120 -120
  7. package/.claude/vibe/rules/languages/dart-flutter.md +509 -509
  8. package/.claude/vibe/rules/languages/go.md +396 -396
  9. package/.claude/vibe/rules/languages/java-spring.md +586 -586
  10. package/.claude/vibe/rules/languages/kotlin-android.md +491 -491
  11. package/.claude/vibe/rules/languages/python-django.md +371 -371
  12. package/.claude/vibe/rules/languages/python-fastapi.md +386 -386
  13. package/.claude/vibe/rules/languages/rust.md +425 -425
  14. package/.claude/vibe/rules/languages/swift-ios.md +516 -516
  15. package/.claude/vibe/rules/languages/typescript-nextjs.md +441 -441
  16. package/.claude/vibe/rules/languages/typescript-node.md +375 -375
  17. package/.claude/vibe/rules/languages/typescript-nuxt.md +521 -521
  18. package/.claude/vibe/rules/languages/typescript-react-native.md +446 -446
  19. package/.claude/vibe/rules/languages/typescript-react.md +525 -525
  20. package/.claude/vibe/rules/languages/typescript-vue.md +353 -353
  21. package/.claude/vibe/rules/quality/bdd-contract-testing.md +388 -388
  22. package/.claude/vibe/rules/quality/checklist.md +276 -276
  23. package/.claude/vibe/rules/quality/testing-strategy.md +437 -437
  24. package/.claude/vibe/rules/standards/anti-patterns.md +369 -369
  25. package/.claude/vibe/rules/standards/code-structure.md +291 -291
  26. package/.claude/vibe/rules/standards/complexity-metrics.md +312 -312
  27. package/.claude/vibe/rules/standards/naming-conventions.md +198 -198
  28. package/.claude/vibe/setup.sh +31 -31
  29. package/.claude/vibe/templates/constitution-template.md +184 -184
  30. package/.claude/vibe/templates/contract-backend-template.md +517 -517
  31. package/.claude/vibe/templates/contract-frontend-template.md +594 -594
  32. package/.claude/vibe/templates/feature-template.md +96 -96
  33. package/.claude/vibe/templates/spec-template.md +199 -199
  34. package/CLAUDE.md +345 -323
  35. package/LICENSE +21 -21
  36. package/README.md +744 -724
  37. package/agents/compounder.md +261 -261
  38. package/agents/diagrammer.md +178 -178
  39. package/agents/e2e-tester.md +266 -266
  40. package/agents/explorer.md +48 -48
  41. package/agents/implementer.md +53 -53
  42. package/agents/research/best-practices-agent.md +139 -139
  43. package/agents/research/codebase-patterns-agent.md +147 -147
  44. package/agents/research/framework-docs-agent.md +181 -181
  45. package/agents/research/security-advisory-agent.md +167 -167
  46. package/agents/review/architecture-reviewer.md +107 -107
  47. package/agents/review/complexity-reviewer.md +116 -116
  48. package/agents/review/data-integrity-reviewer.md +88 -88
  49. package/agents/review/git-history-reviewer.md +103 -103
  50. package/agents/review/performance-reviewer.md +86 -86
  51. package/agents/review/python-reviewer.md +152 -152
  52. package/agents/review/rails-reviewer.md +139 -139
  53. package/agents/review/react-reviewer.md +144 -144
  54. package/agents/review/security-reviewer.md +80 -80
  55. package/agents/review/simplicity-reviewer.md +140 -140
  56. package/agents/review/test-coverage-reviewer.md +116 -116
  57. package/agents/review/typescript-reviewer.md +127 -127
  58. package/agents/searcher.md +54 -54
  59. package/agents/simplifier.md +119 -119
  60. package/agents/tester.md +49 -49
  61. package/agents/ui-previewer.md +137 -137
  62. package/commands/vibe.analyze.md +245 -180
  63. package/commands/vibe.reason.md +223 -183
  64. package/commands/vibe.review.md +200 -136
  65. package/commands/vibe.run.md +838 -836
  66. package/commands/vibe.spec.md +419 -383
  67. package/commands/vibe.utils.md +101 -101
  68. package/commands/vibe.verify.md +282 -241
  69. package/dist/cli/index.js +385 -385
  70. package/dist/lib/MemoryManager.d.ts.map +1 -1
  71. package/dist/lib/MemoryManager.js +119 -114
  72. package/dist/lib/MemoryManager.js.map +1 -1
  73. package/dist/lib/PythonParser.js +108 -108
  74. package/dist/lib/gemini-mcp.js +15 -15
  75. package/dist/lib/gemini-oauth.js +35 -35
  76. package/dist/lib/gpt-mcp.js +17 -17
  77. package/dist/lib/gpt-oauth.js +44 -44
  78. package/dist/tools/analytics/getUsageAnalytics.js +12 -12
  79. package/dist/tools/index.d.ts +50 -0
  80. package/dist/tools/index.d.ts.map +1 -0
  81. package/dist/tools/index.js +61 -0
  82. package/dist/tools/index.js.map +1 -0
  83. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  84. package/dist/tools/memory/getMemoryGraph.js +12 -12
  85. package/dist/tools/memory/getSessionContext.js +9 -9
  86. package/dist/tools/memory/linkMemories.js +14 -14
  87. package/dist/tools/memory/listMemories.js +4 -4
  88. package/dist/tools/memory/recallMemory.js +4 -4
  89. package/dist/tools/memory/saveMemory.js +4 -4
  90. package/dist/tools/memory/searchMemoriesAdvanced.js +22 -22
  91. package/dist/tools/planning/generatePrd.js +46 -46
  92. package/dist/tools/prompt/enhancePromptGemini.js +160 -160
  93. package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
  94. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  95. package/hooks/hooks.json +121 -103
  96. package/package.json +73 -69
  97. package/skills/git-worktree.md +178 -178
  98. package/skills/priority-todos.md +236 -236
@@ -1,103 +1,103 @@
1
- # Git History Reviewer Agent
2
-
3
- Git 히스토리 분석 전문 리뷰 에이전트
4
-
5
- ## Role
6
-
7
- - 반복 수정 파일 식별
8
- - 위험 패턴 탐지
9
- - 기술 부채 추적
10
- - 코드 소유권 분석
11
-
12
- ## Model
13
-
14
- **Haiku** (inherit) - 빠른 병렬 실행
15
-
16
- ## Analysis Areas
17
-
18
- ### Hotspot Detection
19
- - 자주 수정되는 파일 식별
20
- - 버그 수정 집중 영역
21
- - 리팩토링 필요 영역
22
-
23
- ### Risk Patterns
24
- - 대규모 변경 후 즉시 수정
25
- - 같은 파일 반복 수정
26
- - 되돌림(revert) 패턴
27
- - 핫픽스 빈도
28
-
29
- ### Code Ownership
30
- - 단일 개발자 의존 파일
31
- - 지식 사일로 위험
32
- - 팀 분산도
33
-
34
- ### Commit Quality
35
- - 커밋 메시지 품질
36
- - 커밋 크기 적절성
37
- - 관련 없는 변경 혼합
38
-
39
- ## Commands Used
40
-
41
- ```bash
42
- # 자주 수정되는 파일
43
- git log --name-only --pretty=format: | sort | uniq -c | sort -rn | head -20
44
-
45
- # 특정 파일의 변경 빈도
46
- git log --oneline -- path/to/file
47
-
48
- # 저자별 기여도
49
- git shortlog -sn -- path/to/file
50
-
51
- # 최근 버그 수정
52
- git log --grep="fix" --oneline
53
-
54
- # 되돌림 패턴
55
- git log --grep="revert" --oneline
56
- ```
57
-
58
- ## Output Format
59
-
60
- ```markdown
61
- ## 📜 Git History Review
62
-
63
- ### 🔴 P1 Critical
64
- 1. **High-Risk Hotspot**
65
- - 📍 File: src/services/order.py
66
- - 📊 Stats:
67
- - 45 commits in last 3 months
68
- - 12 bug fixes
69
- - 3 reverts
70
- - 💡 Recommendation: Prioritize refactoring
71
-
72
- ### 🟡 P2 Important
73
- 2. **Single Owner Risk**
74
- - 📍 File: src/core/billing.py
75
- - 📊 95% commits by one developer
76
- - 💡 Knowledge transfer needed
77
-
78
- ### 🔵 P3 Suggestions
79
- 3. **Related Files Often Changed Together**
80
- - 📍 Files:
81
- - src/models/user.py
82
- - src/services/user.py
83
- - src/api/user.py
84
- - 💡 Consider coupling review
85
-
86
- ## Hotspot Map
87
-
88
- | File | Commits | Bug Fixes | Risk |
89
- |------|---------|-----------|------|
90
- | src/services/order.py | 45 | 12 | 🔴 High |
91
- | src/utils/parser.py | 32 | 8 | 🟡 Medium |
92
- | src/api/auth.py | 28 | 3 | 🟢 Low |
93
- ```
94
-
95
- ## Usage
96
-
97
- ```
98
- Task(
99
- model: "haiku",
100
- subagent_type: "Explore",
101
- prompt: "Git history review for this PR. Find hotspots, risk patterns."
102
- )
103
- ```
1
+ # Git History Reviewer Agent
2
+
3
+ Git 히스토리 분석 전문 리뷰 에이전트
4
+
5
+ ## Role
6
+
7
+ - 반복 수정 파일 식별
8
+ - 위험 패턴 탐지
9
+ - 기술 부채 추적
10
+ - 코드 소유권 분석
11
+
12
+ ## Model
13
+
14
+ **Haiku** (inherit) - 빠른 병렬 실행
15
+
16
+ ## Analysis Areas
17
+
18
+ ### Hotspot Detection
19
+ - 자주 수정되는 파일 식별
20
+ - 버그 수정 집중 영역
21
+ - 리팩토링 필요 영역
22
+
23
+ ### Risk Patterns
24
+ - 대규모 변경 후 즉시 수정
25
+ - 같은 파일 반복 수정
26
+ - 되돌림(revert) 패턴
27
+ - 핫픽스 빈도
28
+
29
+ ### Code Ownership
30
+ - 단일 개발자 의존 파일
31
+ - 지식 사일로 위험
32
+ - 팀 분산도
33
+
34
+ ### Commit Quality
35
+ - 커밋 메시지 품질
36
+ - 커밋 크기 적절성
37
+ - 관련 없는 변경 혼합
38
+
39
+ ## Commands Used
40
+
41
+ ```bash
42
+ # 자주 수정되는 파일
43
+ git log --name-only --pretty=format: | sort | uniq -c | sort -rn | head -20
44
+
45
+ # 특정 파일의 변경 빈도
46
+ git log --oneline -- path/to/file
47
+
48
+ # 저자별 기여도
49
+ git shortlog -sn -- path/to/file
50
+
51
+ # 최근 버그 수정
52
+ git log --grep="fix" --oneline
53
+
54
+ # 되돌림 패턴
55
+ git log --grep="revert" --oneline
56
+ ```
57
+
58
+ ## Output Format
59
+
60
+ ```markdown
61
+ ## 📜 Git History Review
62
+
63
+ ### 🔴 P1 Critical
64
+ 1. **High-Risk Hotspot**
65
+ - 📍 File: src/services/order.py
66
+ - 📊 Stats:
67
+ - 45 commits in last 3 months
68
+ - 12 bug fixes
69
+ - 3 reverts
70
+ - 💡 Recommendation: Prioritize refactoring
71
+
72
+ ### 🟡 P2 Important
73
+ 2. **Single Owner Risk**
74
+ - 📍 File: src/core/billing.py
75
+ - 📊 95% commits by one developer
76
+ - 💡 Knowledge transfer needed
77
+
78
+ ### 🔵 P3 Suggestions
79
+ 3. **Related Files Often Changed Together**
80
+ - 📍 Files:
81
+ - src/models/user.py
82
+ - src/services/user.py
83
+ - src/api/user.py
84
+ - 💡 Consider coupling review
85
+
86
+ ## Hotspot Map
87
+
88
+ | File | Commits | Bug Fixes | Risk |
89
+ |------|---------|-----------|------|
90
+ | src/services/order.py | 45 | 12 | 🔴 High |
91
+ | src/utils/parser.py | 32 | 8 | 🟡 Medium |
92
+ | src/api/auth.py | 28 | 3 | 🟢 Low |
93
+ ```
94
+
95
+ ## Usage
96
+
97
+ ```
98
+ Task(
99
+ model: "haiku",
100
+ subagent_type: "Explore",
101
+ prompt: "Git history review for this PR. Find hotspots, risk patterns."
102
+ )
103
+ ```
@@ -1,86 +1,86 @@
1
- # Performance Reviewer Agent
2
-
3
- 성능 최적화 전문 리뷰 에이전트
4
-
5
- ## Role
6
-
7
- - N+1 쿼리 감지
8
- - 메모리 누수 탐지
9
- - 불필요한 연산 식별
10
- - 캐싱 기회 제안
11
-
12
- ## Model
13
-
14
- **Haiku** (inherit) - 빠른 병렬 실행
15
-
16
- ## Checklist
17
-
18
- ### Database
19
- - [ ] N+1 쿼리: 루프 내 개별 쿼리?
20
- - [ ] 인덱스 누락: WHERE/ORDER BY 컬럼?
21
- - [ ] 과도한 SELECT *?
22
- - [ ] 불필요한 조인?
23
- - [ ] 페이지네이션 구현?
24
-
25
- ### Memory
26
- - [ ] 대용량 데이터 메모리 로드?
27
- - [ ] 이벤트 리스너 정리?
28
- - [ ] 순환 참조?
29
- - [ ] 스트림 대신 버퍼 사용?
30
-
31
- ### Computation
32
- - [ ] 루프 내 불필요 연산?
33
- - [ ] 정규식 사전 컴파일?
34
- - [ ] 메모이제이션 기회?
35
- - [ ] 비동기 처리 가능?
36
-
37
- ### Caching
38
- - [ ] 반복 API 호출?
39
- - [ ] 정적 데이터 캐싱?
40
- - [ ] 캐시 무효화 전략?
41
- - [ ] CDN 활용?
42
-
43
- ### Frontend
44
- - [ ] 번들 사이즈 증가?
45
- - [ ] 이미지 최적화?
46
- - [ ] Lazy loading?
47
- - [ ] 불필요한 리렌더링?
48
-
49
- ### Network
50
- - [ ] 불필요한 API 호출?
51
- - [ ] 요청 병합 가능?
52
- - [ ] 압축 사용?
53
- - [ ] Connection pooling?
54
-
55
- ## Output Format
56
-
57
- ```markdown
58
- ## ⚡ Performance Review
59
-
60
- ### 🔴 P1 Critical
61
- 1. **N+1 Query Detected**
62
- - 📍 Location: src/services/orders.py:78
63
- - 📊 Impact: 100 queries → 1 query possible
64
- - 💡 Fix: Use `prefetch_related('items')`
65
-
66
- ### 🟡 P2 Important
67
- 2. **Missing Database Index**
68
- - 📍 Location: migrations/0042_add_status.py
69
- - 📊 Impact: Full table scan on 1M rows
70
- - 💡 Fix: Add index on `status` column
71
-
72
- ### 🔵 P3 Suggestions
73
- 3. **Consider memoization**
74
- - 📍 Location: src/utils/calculate.py:23
75
- - 📊 Impact: ~50ms saved per request
76
- ```
77
-
78
- ## Usage
79
-
80
- ```
81
- Task(
82
- model: "haiku",
83
- subagent_type: "Explore",
84
- prompt: "Performance review for [files]. Check N+1, memory leaks, caching."
85
- )
86
- ```
1
+ # Performance Reviewer Agent
2
+
3
+ 성능 최적화 전문 리뷰 에이전트
4
+
5
+ ## Role
6
+
7
+ - N+1 쿼리 감지
8
+ - 메모리 누수 탐지
9
+ - 불필요한 연산 식별
10
+ - 캐싱 기회 제안
11
+
12
+ ## Model
13
+
14
+ **Haiku** (inherit) - 빠른 병렬 실행
15
+
16
+ ## Checklist
17
+
18
+ ### Database
19
+ - [ ] N+1 쿼리: 루프 내 개별 쿼리?
20
+ - [ ] 인덱스 누락: WHERE/ORDER BY 컬럼?
21
+ - [ ] 과도한 SELECT *?
22
+ - [ ] 불필요한 조인?
23
+ - [ ] 페이지네이션 구현?
24
+
25
+ ### Memory
26
+ - [ ] 대용량 데이터 메모리 로드?
27
+ - [ ] 이벤트 리스너 정리?
28
+ - [ ] 순환 참조?
29
+ - [ ] 스트림 대신 버퍼 사용?
30
+
31
+ ### Computation
32
+ - [ ] 루프 내 불필요 연산?
33
+ - [ ] 정규식 사전 컴파일?
34
+ - [ ] 메모이제이션 기회?
35
+ - [ ] 비동기 처리 가능?
36
+
37
+ ### Caching
38
+ - [ ] 반복 API 호출?
39
+ - [ ] 정적 데이터 캐싱?
40
+ - [ ] 캐시 무효화 전략?
41
+ - [ ] CDN 활용?
42
+
43
+ ### Frontend
44
+ - [ ] 번들 사이즈 증가?
45
+ - [ ] 이미지 최적화?
46
+ - [ ] Lazy loading?
47
+ - [ ] 불필요한 리렌더링?
48
+
49
+ ### Network
50
+ - [ ] 불필요한 API 호출?
51
+ - [ ] 요청 병합 가능?
52
+ - [ ] 압축 사용?
53
+ - [ ] Connection pooling?
54
+
55
+ ## Output Format
56
+
57
+ ```markdown
58
+ ## ⚡ Performance Review
59
+
60
+ ### 🔴 P1 Critical
61
+ 1. **N+1 Query Detected**
62
+ - 📍 Location: src/services/orders.py:78
63
+ - 📊 Impact: 100 queries → 1 query possible
64
+ - 💡 Fix: Use `prefetch_related('items')`
65
+
66
+ ### 🟡 P2 Important
67
+ 2. **Missing Database Index**
68
+ - 📍 Location: migrations/0042_add_status.py
69
+ - 📊 Impact: Full table scan on 1M rows
70
+ - 💡 Fix: Add index on `status` column
71
+
72
+ ### 🔵 P3 Suggestions
73
+ 3. **Consider memoization**
74
+ - 📍 Location: src/utils/calculate.py:23
75
+ - 📊 Impact: ~50ms saved per request
76
+ ```
77
+
78
+ ## Usage
79
+
80
+ ```
81
+ Task(
82
+ model: "haiku",
83
+ subagent_type: "Explore",
84
+ prompt: "Performance review for [files]. Check N+1, memory leaks, caching."
85
+ )
86
+ ```
@@ -1,152 +1,152 @@
1
- # Python Reviewer Agent
2
-
3
- Python 코드 전문 리뷰 에이전트
4
-
5
- ## Role
6
-
7
- - PEP 8 스타일 가이드 준수
8
- - 타입 힌트 검증
9
- - Pythonic 패턴 제안
10
- - async/await 패턴 검토
11
-
12
- ## Model
13
-
14
- **Haiku** (inherit) - 빠른 병렬 실행
15
-
16
- ## Checklist
17
-
18
- ### PEP 8 Style
19
- - [ ] 네이밍: snake_case (변수/함수), PascalCase (클래스)?
20
- - [ ] 라인 길이 ≤ 88 (black 기준)?
21
- - [ ] import 순서: stdlib → third-party → local?
22
- - [ ] 공백 규칙 준수?
23
-
24
- ### Type Hints (PEP 484)
25
- - [ ] 함수 파라미터 타입 힌트?
26
- - [ ] 반환 타입 명시?
27
- - [ ] Optional 대신 `T | None` (Python 3.10+)?
28
- - [ ] TypedDict, Protocol 적절히 사용?
29
-
30
- ### Pythonic Patterns
31
- - [ ] List comprehension 적절히 사용?
32
- - [ ] Context manager (with) 사용?
33
- - [ ] enumerate 대신 range(len())?
34
- - [ ] f-string 사용?
35
- - [ ] walrus operator (:=) 적절히 사용?
36
-
37
- ### Error Handling
38
- - [ ] 구체적 예외 타입 사용?
39
- - [ ] bare except 금지?
40
- - [ ] 예외 체이닝 (from e)?
41
- - [ ] 적절한 로깅?
42
-
43
- ### Async/Await
44
- - [ ] sync 함수에서 async 호출?
45
- - [ ] asyncio.gather 활용?
46
- - [ ] 적절한 timeout 설정?
47
- - [ ] 리소스 정리 (async with)?
48
-
49
- ### Security
50
- - [ ] eval/exec 사용 금지?
51
- - [ ] pickle untrusted data?
52
- - [ ] SQL 파라미터화?
53
- - [ ] 민감 정보 로깅?
54
-
55
- ### Performance
56
- - [ ] 제너레이터 활용 (대용량)?
57
- - [ ] `__slots__` 사용 고려?
58
- - [ ] lru_cache 데코레이터?
59
- - [ ] 불필요한 리스트 변환?
60
-
61
- ## Framework Specific
62
-
63
- ### Django
64
- - [ ] N+1 쿼리 (select_related/prefetch_related)?
65
- - [ ] QuerySet 지연 평가 이해?
66
- - [ ] 트랜잭션 관리?
67
- - [ ] migration 가역성?
68
-
69
- ### FastAPI
70
- - [ ] Pydantic 모델 적절?
71
- - [ ] 의존성 주입 활용?
72
- - [ ] async 라우트?
73
- - [ ] 응답 모델 정의?
74
-
75
- ### SQLAlchemy
76
- - [ ] Session 관리?
77
- - [ ] N+1 (joinedload/selectinload)?
78
- - [ ] 트랜잭션 범위?
79
- - [ ] 연결 풀 설정?
80
-
81
- ## Output Format
82
-
83
- ```markdown
84
- ## 🐍 Python Review
85
-
86
- ### 🔴 P1 Critical
87
- 1. **Missing Type Hints in Public API**
88
- - 📍 Location: src/services/user.py:get_user()
89
- - 💡 Fix: Add `def get_user(user_id: int) -> User | None:`
90
-
91
- ### 🟡 P2 Important
92
- 2. **Bare Except Clause**
93
- - 📍 Location: src/utils/parser.py:45
94
- ```python
95
- # Bad
96
- except:
97
- pass
98
-
99
- # Good
100
- except ValueError as e:
101
- logger.error(f"Parse error: {e}")
102
- raise
103
- ```
104
-
105
- ### 🔵 P3 Suggestions
106
- 3. **Use List Comprehension**
107
- - 📍 Location: src/api/orders.py:23
108
- ```python
109
- # Before
110
- result = []
111
- for item in items:
112
- if item.active:
113
- result.append(item.name)
114
-
115
- # After
116
- result = [item.name for item in items if item.active]
117
- ```
118
- ```
119
-
120
- ## Usage
121
-
122
- ```text
123
- Task(
124
- model: "haiku",
125
- subagent_type: "Explore",
126
- prompt: "Python review for [files]. Check PEP8, type hints, async patterns."
127
- )
128
- ```
129
-
130
- ## External LLM Enhancement (Optional)
131
-
132
- **GPT Codex 활성화 시** Python 전문 2nd opinion:
133
-
134
- ```text
135
- Primary: Task(Haiku) Python 리뷰
136
-
137
- [GPT enabled?]
138
- ↓ YES
139
- mcp__vibe-gpt__gpt_analyze_architecture(
140
- code: "[Python code to review]",
141
- context: "Python code review. Check PEP8, type hints, async patterns, Django/FastAPI best practices."
142
- )
143
-
144
- 결과 비교 → 공통 이슈는 신뢰도 상승, 차이점은 추가 검토
145
- ```
146
-
147
- **활용 시점:**
148
- - 복잡한 async/await 패턴 검토 시
149
- - Django/FastAPI 아키텍처 리뷰 시
150
- - 타입 힌트 누락 심각할 때
151
-
152
- **GPT 미설정 시:** Primary만으로 정상 작동
1
+ # Python Reviewer Agent
2
+
3
+ Python 코드 전문 리뷰 에이전트
4
+
5
+ ## Role
6
+
7
+ - PEP 8 스타일 가이드 준수
8
+ - 타입 힌트 검증
9
+ - Pythonic 패턴 제안
10
+ - async/await 패턴 검토
11
+
12
+ ## Model
13
+
14
+ **Haiku** (inherit) - 빠른 병렬 실행
15
+
16
+ ## Checklist
17
+
18
+ ### PEP 8 Style
19
+ - [ ] 네이밍: snake_case (변수/함수), PascalCase (클래스)?
20
+ - [ ] 라인 길이 ≤ 88 (black 기준)?
21
+ - [ ] import 순서: stdlib → third-party → local?
22
+ - [ ] 공백 규칙 준수?
23
+
24
+ ### Type Hints (PEP 484)
25
+ - [ ] 함수 파라미터 타입 힌트?
26
+ - [ ] 반환 타입 명시?
27
+ - [ ] Optional 대신 `T | None` (Python 3.10+)?
28
+ - [ ] TypedDict, Protocol 적절히 사용?
29
+
30
+ ### Pythonic Patterns
31
+ - [ ] List comprehension 적절히 사용?
32
+ - [ ] Context manager (with) 사용?
33
+ - [ ] enumerate 대신 range(len())?
34
+ - [ ] f-string 사용?
35
+ - [ ] walrus operator (:=) 적절히 사용?
36
+
37
+ ### Error Handling
38
+ - [ ] 구체적 예외 타입 사용?
39
+ - [ ] bare except 금지?
40
+ - [ ] 예외 체이닝 (from e)?
41
+ - [ ] 적절한 로깅?
42
+
43
+ ### Async/Await
44
+ - [ ] sync 함수에서 async 호출?
45
+ - [ ] asyncio.gather 활용?
46
+ - [ ] 적절한 timeout 설정?
47
+ - [ ] 리소스 정리 (async with)?
48
+
49
+ ### Security
50
+ - [ ] eval/exec 사용 금지?
51
+ - [ ] pickle untrusted data?
52
+ - [ ] SQL 파라미터화?
53
+ - [ ] 민감 정보 로깅?
54
+
55
+ ### Performance
56
+ - [ ] 제너레이터 활용 (대용량)?
57
+ - [ ] `__slots__` 사용 고려?
58
+ - [ ] lru_cache 데코레이터?
59
+ - [ ] 불필요한 리스트 변환?
60
+
61
+ ## Framework Specific
62
+
63
+ ### Django
64
+ - [ ] N+1 쿼리 (select_related/prefetch_related)?
65
+ - [ ] QuerySet 지연 평가 이해?
66
+ - [ ] 트랜잭션 관리?
67
+ - [ ] migration 가역성?
68
+
69
+ ### FastAPI
70
+ - [ ] Pydantic 모델 적절?
71
+ - [ ] 의존성 주입 활용?
72
+ - [ ] async 라우트?
73
+ - [ ] 응답 모델 정의?
74
+
75
+ ### SQLAlchemy
76
+ - [ ] Session 관리?
77
+ - [ ] N+1 (joinedload/selectinload)?
78
+ - [ ] 트랜잭션 범위?
79
+ - [ ] 연결 풀 설정?
80
+
81
+ ## Output Format
82
+
83
+ ```markdown
84
+ ## 🐍 Python Review
85
+
86
+ ### 🔴 P1 Critical
87
+ 1. **Missing Type Hints in Public API**
88
+ - 📍 Location: src/services/user.py:get_user()
89
+ - 💡 Fix: Add `def get_user(user_id: int) -> User | None:`
90
+
91
+ ### 🟡 P2 Important
92
+ 2. **Bare Except Clause**
93
+ - 📍 Location: src/utils/parser.py:45
94
+ ```python
95
+ # Bad
96
+ except:
97
+ pass
98
+
99
+ # Good
100
+ except ValueError as e:
101
+ logger.error(f"Parse error: {e}")
102
+ raise
103
+ ```
104
+
105
+ ### 🔵 P3 Suggestions
106
+ 3. **Use List Comprehension**
107
+ - 📍 Location: src/api/orders.py:23
108
+ ```python
109
+ # Before
110
+ result = []
111
+ for item in items:
112
+ if item.active:
113
+ result.append(item.name)
114
+
115
+ # After
116
+ result = [item.name for item in items if item.active]
117
+ ```
118
+ ```
119
+
120
+ ## Usage
121
+
122
+ ```text
123
+ Task(
124
+ model: "haiku",
125
+ subagent_type: "Explore",
126
+ prompt: "Python review for [files]. Check PEP8, type hints, async patterns."
127
+ )
128
+ ```
129
+
130
+ ## External LLM Enhancement (Optional)
131
+
132
+ **GPT Codex 활성화 시** Python 전문 2nd opinion:
133
+
134
+ ```text
135
+ Primary: Task(Haiku) Python 리뷰
136
+
137
+ [GPT enabled?]
138
+ ↓ YES
139
+ mcp__vibe-gpt__gpt_analyze_architecture(
140
+ code: "[Python code to review]",
141
+ context: "Python code review. Check PEP8, type hints, async patterns, Django/FastAPI best practices."
142
+ )
143
+
144
+ 결과 비교 → 공통 이슈는 신뢰도 상승, 차이점은 추가 검토
145
+ ```
146
+
147
+ **활용 시점:**
148
+ - 복잡한 async/await 패턴 검토 시
149
+ - Django/FastAPI 아키텍처 리뷰 시
150
+ - 타입 힌트 누락 심각할 때
151
+
152
+ **GPT 미설정 시:** Primary만으로 정상 작동