@su-record/vibe 2.6.14 → 2.6.15

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 (232) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +497 -497
  3. package/agents/architect-low.md +41 -41
  4. package/agents/architect-medium.md +59 -59
  5. package/agents/architect.md +80 -80
  6. package/agents/build-error-resolver.md +115 -115
  7. package/agents/compounder.md +261 -261
  8. package/agents/diagrammer.md +178 -178
  9. package/agents/e2e-tester.md +266 -266
  10. package/agents/explorer-low.md +42 -42
  11. package/agents/explorer-medium.md +59 -59
  12. package/agents/explorer.md +48 -48
  13. package/agents/implementer-low.md +43 -43
  14. package/agents/implementer-medium.md +52 -52
  15. package/agents/implementer.md +54 -54
  16. package/agents/refactor-cleaner.md +143 -143
  17. package/agents/research/best-practices-agent.md +199 -199
  18. package/agents/research/codebase-patterns-agent.md +157 -157
  19. package/agents/research/framework-docs-agent.md +188 -188
  20. package/agents/research/security-advisory-agent.md +213 -213
  21. package/agents/review/architecture-reviewer.md +107 -107
  22. package/agents/review/complexity-reviewer.md +116 -116
  23. package/agents/review/data-integrity-reviewer.md +88 -88
  24. package/agents/review/git-history-reviewer.md +103 -103
  25. package/agents/review/performance-reviewer.md +86 -86
  26. package/agents/review/python-reviewer.md +150 -150
  27. package/agents/review/rails-reviewer.md +139 -139
  28. package/agents/review/react-reviewer.md +144 -144
  29. package/agents/review/security-reviewer.md +80 -80
  30. package/agents/review/simplicity-reviewer.md +140 -140
  31. package/agents/review/test-coverage-reviewer.md +116 -116
  32. package/agents/review/typescript-reviewer.md +127 -127
  33. package/agents/searcher.md +54 -54
  34. package/agents/simplifier.md +120 -120
  35. package/agents/tester.md +49 -49
  36. package/agents/ui-previewer.md +268 -268
  37. package/commands/vibe.analyze.md +356 -356
  38. package/commands/vibe.reason.md +329 -329
  39. package/commands/vibe.review.md +412 -412
  40. package/commands/vibe.run.md +1266 -1266
  41. package/commands/vibe.spec.md +1054 -1054
  42. package/commands/vibe.spec.review.md +319 -319
  43. package/commands/vibe.trace.md +161 -161
  44. package/commands/vibe.utils.md +376 -376
  45. package/commands/vibe.verify.md +375 -375
  46. package/dist/cli/collaborator.js +52 -52
  47. package/dist/cli/detect.js +32 -32
  48. package/dist/cli/hud.js +20 -20
  49. package/dist/cli/index.js +118 -118
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/llm.js +144 -144
  52. package/dist/cli/mcp.d.ts +49 -0
  53. package/dist/cli/mcp.d.ts.map +1 -0
  54. package/dist/cli/mcp.js +169 -0
  55. package/dist/cli/mcp.js.map +1 -0
  56. package/dist/cli/postinstall.js +858 -858
  57. package/dist/cli/setup/ProjectSetup.d.ts +3 -0
  58. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  59. package/dist/cli/setup/ProjectSetup.js +28 -6
  60. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  61. package/dist/lib/DeepInit.js +24 -24
  62. package/dist/lib/IterationTracker.js +11 -11
  63. package/dist/lib/PythonParser.js +108 -108
  64. package/dist/lib/ReviewRace.js +96 -96
  65. package/dist/lib/SkillFrontmatter.js +28 -28
  66. package/dist/lib/SkillQualityGate.js +9 -9
  67. package/dist/lib/SkillRepository.js +159 -159
  68. package/dist/lib/UltraQA.js +77 -77
  69. package/dist/lib/gemini-api.js +5 -5
  70. package/dist/lib/gemini-mcp.d.ts +10 -0
  71. package/dist/lib/gemini-mcp.d.ts.map +1 -0
  72. package/dist/lib/gemini-mcp.js +353 -0
  73. package/dist/lib/gemini-mcp.js.map +1 -0
  74. package/dist/lib/gpt-api.js +4 -4
  75. package/dist/lib/gpt-mcp.d.ts +10 -0
  76. package/dist/lib/gpt-mcp.d.ts.map +1 -0
  77. package/dist/lib/gpt-mcp.js +352 -0
  78. package/dist/lib/gpt-mcp.js.map +1 -0
  79. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  80. package/dist/lib/memory/MemorySearch.js +20 -20
  81. package/dist/lib/memory/MemoryStorage.js +64 -64
  82. package/dist/orchestrator/AgentManager.js +12 -12
  83. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  84. package/dist/orchestrator/SmartRouter.js +11 -11
  85. package/dist/orchestrator/parallelResearch.js +24 -24
  86. package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
  87. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
  88. package/dist/tools/analytics/getUsageAnalytics.js +246 -0
  89. package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
  90. package/dist/tools/analytics/index.d.ts +5 -0
  91. package/dist/tools/analytics/index.d.ts.map +1 -0
  92. package/dist/tools/analytics/index.js +5 -0
  93. package/dist/tools/analytics/index.js.map +1 -0
  94. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  95. package/dist/tools/convention/getCodingGuide.d.ts +7 -0
  96. package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
  97. package/dist/tools/convention/getCodingGuide.js +69 -0
  98. package/dist/tools/convention/getCodingGuide.js.map +1 -0
  99. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  100. package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
  101. package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
  102. package/dist/tools/planning/analyzeRequirements.js +171 -0
  103. package/dist/tools/planning/analyzeRequirements.js.map +1 -0
  104. package/dist/tools/planning/createUserStories.d.ts +9 -0
  105. package/dist/tools/planning/createUserStories.d.ts.map +1 -0
  106. package/dist/tools/planning/createUserStories.js +124 -0
  107. package/dist/tools/planning/createUserStories.js.map +1 -0
  108. package/dist/tools/planning/featureRoadmap.d.ts +10 -0
  109. package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
  110. package/dist/tools/planning/featureRoadmap.js +207 -0
  111. package/dist/tools/planning/featureRoadmap.js.map +1 -0
  112. package/dist/tools/planning/generatePrd.d.ts +11 -0
  113. package/dist/tools/planning/generatePrd.d.ts.map +1 -0
  114. package/dist/tools/planning/generatePrd.js +161 -0
  115. package/dist/tools/planning/generatePrd.js.map +1 -0
  116. package/dist/tools/planning/index.d.ts +8 -0
  117. package/dist/tools/planning/index.d.ts.map +1 -0
  118. package/dist/tools/planning/index.js +8 -0
  119. package/dist/tools/planning/index.js.map +1 -0
  120. package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
  121. package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
  122. package/dist/tools/prompt/analyzePrompt.js +150 -0
  123. package/dist/tools/prompt/analyzePrompt.js.map +1 -0
  124. package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
  125. package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
  126. package/dist/tools/prompt/enhancePrompt.js +110 -0
  127. package/dist/tools/prompt/enhancePrompt.js.map +1 -0
  128. package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
  129. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
  130. package/dist/tools/prompt/enhancePromptGemini.js +332 -0
  131. package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
  132. package/dist/tools/prompt/index.d.ts +7 -0
  133. package/dist/tools/prompt/index.d.ts.map +1 -0
  134. package/dist/tools/prompt/index.js +7 -0
  135. package/dist/tools/prompt/index.js.map +1 -0
  136. package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
  137. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
  138. package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
  139. package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
  140. package/dist/tools/reasoning/index.d.ts +5 -0
  141. package/dist/tools/reasoning/index.d.ts.map +1 -0
  142. package/dist/tools/reasoning/index.js +5 -0
  143. package/dist/tools/reasoning/index.js.map +1 -0
  144. package/dist/tools/spec/prdParser.test.js +171 -171
  145. package/dist/tools/spec/specGenerator.js +169 -169
  146. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  147. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  148. package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
  149. package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
  150. package/dist/tools/thinking/analyzeProblem.js +55 -0
  151. package/dist/tools/thinking/analyzeProblem.js.map +1 -0
  152. package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
  153. package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
  154. package/dist/tools/thinking/breakDownProblem.js +145 -0
  155. package/dist/tools/thinking/breakDownProblem.js.map +1 -0
  156. package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
  157. package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
  158. package/dist/tools/thinking/createThinkingChain.js +44 -0
  159. package/dist/tools/thinking/createThinkingChain.js.map +1 -0
  160. package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
  161. package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
  162. package/dist/tools/thinking/formatAsPlan.js +78 -0
  163. package/dist/tools/thinking/formatAsPlan.js.map +1 -0
  164. package/dist/tools/thinking/index.d.ts +10 -0
  165. package/dist/tools/thinking/index.d.ts.map +1 -0
  166. package/dist/tools/thinking/index.js +10 -0
  167. package/dist/tools/thinking/index.js.map +1 -0
  168. package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
  169. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
  170. package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
  171. package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
  172. package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
  173. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
  174. package/dist/tools/thinking/thinkAloudProcess.js +80 -0
  175. package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
  176. package/hooks/hooks.json +222 -222
  177. package/hooks/scripts/code-check.js +22 -22
  178. package/hooks/scripts/code-review.js +22 -22
  179. package/hooks/scripts/complexity.js +22 -22
  180. package/hooks/scripts/compound.js +23 -23
  181. package/hooks/scripts/context-save.js +33 -33
  182. package/hooks/scripts/gemini-ui-gen.js +281 -281
  183. package/hooks/scripts/generate-brand-assets.js +474 -474
  184. package/hooks/scripts/hud-multiline.js +262 -262
  185. package/hooks/scripts/hud-status.js +291 -291
  186. package/hooks/scripts/keyword-detector.js +214 -214
  187. package/hooks/scripts/llm-orchestrate.js +171 -171
  188. package/hooks/scripts/post-edit.js +97 -97
  189. package/hooks/scripts/post-tool-verify.js +210 -210
  190. package/hooks/scripts/pre-tool-guard.js +125 -125
  191. package/hooks/scripts/recall.js +22 -22
  192. package/hooks/scripts/session-start.js +30 -30
  193. package/hooks/scripts/skill-injector.js +191 -191
  194. package/hooks/scripts/utils.js +97 -97
  195. package/languages/csharp-unity.md +515 -515
  196. package/languages/gdscript-godot.md +470 -470
  197. package/languages/ruby-rails.md +489 -489
  198. package/languages/typescript-angular.md +433 -433
  199. package/languages/typescript-astro.md +416 -416
  200. package/languages/typescript-electron.md +406 -406
  201. package/languages/typescript-nestjs.md +524 -524
  202. package/languages/typescript-svelte.md +407 -407
  203. package/languages/typescript-tauri.md +365 -365
  204. package/package.json +84 -84
  205. package/skills/brand-assets.md +141 -141
  206. package/skills/commerce-patterns.md +361 -361
  207. package/skills/context7-usage.md +102 -102
  208. package/skills/e2e-commerce.md +304 -304
  209. package/skills/frontend-design.md +92 -92
  210. package/skills/git-worktree.md +181 -181
  211. package/skills/parallel-research.md +77 -77
  212. package/skills/priority-todos.md +239 -239
  213. package/skills/seo-checklist.md +244 -244
  214. package/skills/tool-fallback.md +190 -190
  215. package/skills/vibe-capabilities.md +161 -161
  216. package/vibe/constitution.md +227 -227
  217. package/vibe/rules/core/communication-guide.md +98 -98
  218. package/vibe/rules/core/development-philosophy.md +52 -52
  219. package/vibe/rules/core/quick-start.md +102 -102
  220. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  221. package/vibe/rules/quality/checklist.md +276 -276
  222. package/vibe/rules/quality/testing-strategy.md +440 -440
  223. package/vibe/rules/standards/anti-patterns.md +541 -541
  224. package/vibe/rules/standards/code-structure.md +291 -291
  225. package/vibe/rules/standards/complexity-metrics.md +313 -313
  226. package/vibe/rules/standards/naming-conventions.md +198 -198
  227. package/vibe/setup.sh +31 -31
  228. package/vibe/templates/constitution-template.md +252 -252
  229. package/vibe/templates/contract-backend-template.md +526 -526
  230. package/vibe/templates/contract-frontend-template.md +599 -599
  231. package/vibe/templates/feature-template.md +96 -96
  232. package/vibe/templates/spec-template.md +221 -221
@@ -1,86 +1,86 @@
1
- # Performance Reviewer Agent
2
-
3
- <!-- Performance Optimization Expert Review Agent -->
4
-
5
- ## Role
6
-
7
- - N+1 query detection
8
- - Memory leak detection
9
- - Unnecessary computation identification
10
- - Caching opportunity suggestions
11
-
12
- ## Model
13
-
14
- **Haiku** (inherit) - Fast parallel execution
15
-
16
- ## Checklist
17
-
18
- ### Database
19
- - [ ] N+1 query: Individual queries inside loops?
20
- - [ ] Missing index: WHERE/ORDER BY columns?
21
- - [ ] Excessive SELECT *?
22
- - [ ] Unnecessary joins?
23
- - [ ] Pagination implemented?
24
-
25
- ### Memory
26
- - [ ] Large data loaded into memory?
27
- - [ ] Event listeners cleaned up?
28
- - [ ] Circular references?
29
- - [ ] Buffer used instead of stream?
30
-
31
- ### Computation
32
- - [ ] Unnecessary computation inside loops?
33
- - [ ] Regex pre-compiled?
34
- - [ ] Memoization opportunities?
35
- - [ ] Async processing possible?
36
-
37
- ### Caching
38
- - [ ] Repeated API calls?
39
- - [ ] Static data caching?
40
- - [ ] Cache invalidation strategy?
41
- - [ ] CDN utilized?
42
-
43
- ### Frontend
44
- - [ ] Bundle size increase?
45
- - [ ] Image optimization?
46
- - [ ] Lazy loading?
47
- - [ ] Unnecessary re-renders?
48
-
49
- ### Network
50
- - [ ] Unnecessary API calls?
51
- - [ ] Request batching possible?
52
- - [ ] Compression used?
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
+ <!-- Performance Optimization Expert Review Agent -->
4
+
5
+ ## Role
6
+
7
+ - N+1 query detection
8
+ - Memory leak detection
9
+ - Unnecessary computation identification
10
+ - Caching opportunity suggestions
11
+
12
+ ## Model
13
+
14
+ **Haiku** (inherit) - Fast parallel execution
15
+
16
+ ## Checklist
17
+
18
+ ### Database
19
+ - [ ] N+1 query: Individual queries inside loops?
20
+ - [ ] Missing index: WHERE/ORDER BY columns?
21
+ - [ ] Excessive SELECT *?
22
+ - [ ] Unnecessary joins?
23
+ - [ ] Pagination implemented?
24
+
25
+ ### Memory
26
+ - [ ] Large data loaded into memory?
27
+ - [ ] Event listeners cleaned up?
28
+ - [ ] Circular references?
29
+ - [ ] Buffer used instead of stream?
30
+
31
+ ### Computation
32
+ - [ ] Unnecessary computation inside loops?
33
+ - [ ] Regex pre-compiled?
34
+ - [ ] Memoization opportunities?
35
+ - [ ] Async processing possible?
36
+
37
+ ### Caching
38
+ - [ ] Repeated API calls?
39
+ - [ ] Static data caching?
40
+ - [ ] Cache invalidation strategy?
41
+ - [ ] CDN utilized?
42
+
43
+ ### Frontend
44
+ - [ ] Bundle size increase?
45
+ - [ ] Image optimization?
46
+ - [ ] Lazy loading?
47
+ - [ ] Unnecessary re-renders?
48
+
49
+ ### Network
50
+ - [ ] Unnecessary API calls?
51
+ - [ ] Request batching possible?
52
+ - [ ] Compression used?
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,150 +1,150 @@
1
- # Python Reviewer Agent
2
-
3
- <!-- Python Code Expert Review Agent -->
4
-
5
- ## Role
6
-
7
- - PEP 8 style guide compliance
8
- - Type hint verification
9
- - Pythonic pattern suggestions
10
- - async/await pattern review
11
-
12
- ## Model
13
-
14
- **Haiku** (inherit) - Fast parallel execution
15
-
16
- ## Checklist
17
-
18
- ### PEP 8 Style
19
- - [ ] Naming: snake_case (variables/functions), PascalCase (classes)?
20
- - [ ] Line length ≤ 88 (black standard)?
21
- - [ ] Import order: stdlib → third-party → local?
22
- - [ ] Whitespace rules followed?
23
-
24
- ### Type Hints (PEP 484)
25
- - [ ] Function parameter type hints?
26
- - [ ] Return type specified?
27
- - [ ] `T | None` instead of Optional (Python 3.10+)?
28
- - [ ] TypedDict, Protocol used appropriately?
29
-
30
- ### Pythonic Patterns
31
- - [ ] List comprehension used appropriately?
32
- - [ ] Context manager (with) used?
33
- - [ ] range(len()) instead of enumerate?
34
- - [ ] f-string used?
35
- - [ ] Walrus operator (:=) used appropriately?
36
-
37
- ### Error Handling
38
- - [ ] Specific exception types used?
39
- - [ ] Bare except prohibited?
40
- - [ ] Exception chaining (from e)?
41
- - [ ] Appropriate logging?
42
-
43
- ### Async/Await
44
- - [ ] Calling async from sync function?
45
- - [ ] asyncio.gather utilized?
46
- - [ ] Appropriate timeout settings?
47
- - [ ] Resource cleanup (async with)?
48
-
49
- ### Security
50
- - [ ] eval/exec usage prohibited?
51
- - [ ] pickle untrusted data?
52
- - [ ] SQL parameterization?
53
- - [ ] Sensitive information logging?
54
-
55
- ### Performance
56
- - [ ] Generator utilization (large data)?
57
- - [ ] `__slots__` usage considered?
58
- - [ ] lru_cache decorator?
59
- - [ ] Unnecessary list conversions?
60
-
61
- ## Framework Specific
62
-
63
- ### Django
64
- - [ ] N+1 queries (select_related/prefetch_related)?
65
- - [ ] QuerySet lazy evaluation understood?
66
- - [ ] Transaction management?
67
- - [ ] Migration reversibility?
68
-
69
- ### FastAPI
70
- - [ ] Pydantic models appropriate?
71
- - [ ] Dependency injection utilized?
72
- - [ ] Async routes?
73
- - [ ] Response model defined?
74
-
75
- ### SQLAlchemy
76
- - [ ] Session management?
77
- - [ ] N+1 (joinedload/selectinload)?
78
- - [ ] Transaction scope?
79
- - [ ] Connection pool settings?
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
- **When GPT Codex is enabled**, get Python expert 2nd opinion:
133
-
134
- ```text
135
- Primary: Task(Haiku) Python review
136
-
137
- [GPT enabled?]
138
- ↓ YES
139
- gpt.Python code review. Check PEP8, type hints, async patterns, Django/FastAPI best practices:
140
- [Python code to review]
141
-
142
- Compare results → Common issues gain confidence, differences need additional review
143
- ```
144
-
145
- **Use cases:**
146
- - When reviewing complex async/await patterns
147
- - When reviewing Django/FastAPI architecture
148
- - When type hint coverage is severely lacking
149
-
150
- **When GPT is not configured:** Primary works normally on its own
1
+ # Python Reviewer Agent
2
+
3
+ <!-- Python Code Expert Review Agent -->
4
+
5
+ ## Role
6
+
7
+ - PEP 8 style guide compliance
8
+ - Type hint verification
9
+ - Pythonic pattern suggestions
10
+ - async/await pattern review
11
+
12
+ ## Model
13
+
14
+ **Haiku** (inherit) - Fast parallel execution
15
+
16
+ ## Checklist
17
+
18
+ ### PEP 8 Style
19
+ - [ ] Naming: snake_case (variables/functions), PascalCase (classes)?
20
+ - [ ] Line length ≤ 88 (black standard)?
21
+ - [ ] Import order: stdlib → third-party → local?
22
+ - [ ] Whitespace rules followed?
23
+
24
+ ### Type Hints (PEP 484)
25
+ - [ ] Function parameter type hints?
26
+ - [ ] Return type specified?
27
+ - [ ] `T | None` instead of Optional (Python 3.10+)?
28
+ - [ ] TypedDict, Protocol used appropriately?
29
+
30
+ ### Pythonic Patterns
31
+ - [ ] List comprehension used appropriately?
32
+ - [ ] Context manager (with) used?
33
+ - [ ] range(len()) instead of enumerate?
34
+ - [ ] f-string used?
35
+ - [ ] Walrus operator (:=) used appropriately?
36
+
37
+ ### Error Handling
38
+ - [ ] Specific exception types used?
39
+ - [ ] Bare except prohibited?
40
+ - [ ] Exception chaining (from e)?
41
+ - [ ] Appropriate logging?
42
+
43
+ ### Async/Await
44
+ - [ ] Calling async from sync function?
45
+ - [ ] asyncio.gather utilized?
46
+ - [ ] Appropriate timeout settings?
47
+ - [ ] Resource cleanup (async with)?
48
+
49
+ ### Security
50
+ - [ ] eval/exec usage prohibited?
51
+ - [ ] pickle untrusted data?
52
+ - [ ] SQL parameterization?
53
+ - [ ] Sensitive information logging?
54
+
55
+ ### Performance
56
+ - [ ] Generator utilization (large data)?
57
+ - [ ] `__slots__` usage considered?
58
+ - [ ] lru_cache decorator?
59
+ - [ ] Unnecessary list conversions?
60
+
61
+ ## Framework Specific
62
+
63
+ ### Django
64
+ - [ ] N+1 queries (select_related/prefetch_related)?
65
+ - [ ] QuerySet lazy evaluation understood?
66
+ - [ ] Transaction management?
67
+ - [ ] Migration reversibility?
68
+
69
+ ### FastAPI
70
+ - [ ] Pydantic models appropriate?
71
+ - [ ] Dependency injection utilized?
72
+ - [ ] Async routes?
73
+ - [ ] Response model defined?
74
+
75
+ ### SQLAlchemy
76
+ - [ ] Session management?
77
+ - [ ] N+1 (joinedload/selectinload)?
78
+ - [ ] Transaction scope?
79
+ - [ ] Connection pool settings?
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
+ **When GPT Codex is enabled**, get Python expert 2nd opinion:
133
+
134
+ ```text
135
+ Primary: Task(Haiku) Python review
136
+
137
+ [GPT enabled?]
138
+ ↓ YES
139
+ gpt.Python code review. Check PEP8, type hints, async patterns, Django/FastAPI best practices:
140
+ [Python code to review]
141
+
142
+ Compare results → Common issues gain confidence, differences need additional review
143
+ ```
144
+
145
+ **Use cases:**
146
+ - When reviewing complex async/await patterns
147
+ - When reviewing Django/FastAPI architecture
148
+ - When type hint coverage is severely lacking
149
+
150
+ **When GPT is not configured:** Primary works normally on its own