@su-record/vibe 2.7.13 → 2.7.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/.env.example +37 -37
  2. package/CLAUDE.md +134 -126
  3. package/LICENSE +21 -21
  4. package/README.md +449 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/explorer-low.md +42 -42
  15. package/agents/explorer-medium.md +59 -59
  16. package/agents/explorer.md +48 -48
  17. package/agents/implementer-low.md +43 -43
  18. package/agents/implementer-medium.md +52 -52
  19. package/agents/implementer.md +54 -54
  20. package/agents/junior-mentor.md +141 -141
  21. package/agents/planning/requirements-analyst.md +84 -84
  22. package/agents/planning/ux-advisor.md +83 -83
  23. package/agents/qa/acceptance-tester.md +86 -86
  24. package/agents/qa/edge-case-finder.md +93 -93
  25. package/agents/refactor-cleaner.md +143 -143
  26. package/agents/research/best-practices-agent.md +199 -199
  27. package/agents/research/codebase-patterns-agent.md +157 -157
  28. package/agents/research/framework-docs-agent.md +188 -188
  29. package/agents/research/security-advisory-agent.md +213 -213
  30. package/agents/review/architecture-reviewer.md +107 -107
  31. package/agents/review/complexity-reviewer.md +116 -116
  32. package/agents/review/data-integrity-reviewer.md +88 -88
  33. package/agents/review/git-history-reviewer.md +103 -103
  34. package/agents/review/performance-reviewer.md +86 -86
  35. package/agents/review/python-reviewer.md +150 -150
  36. package/agents/review/rails-reviewer.md +139 -139
  37. package/agents/review/react-reviewer.md +144 -144
  38. package/agents/review/security-reviewer.md +80 -80
  39. package/agents/review/simplicity-reviewer.md +140 -140
  40. package/agents/review/test-coverage-reviewer.md +116 -116
  41. package/agents/review/typescript-reviewer.md +127 -127
  42. package/agents/searcher.md +54 -54
  43. package/agents/simplifier.md +120 -120
  44. package/agents/tester.md +49 -49
  45. package/agents/ui/ui-a11y-auditor.md +93 -93
  46. package/agents/ui/ui-antipattern-detector.md +94 -94
  47. package/agents/ui/ui-dataviz-advisor.md +69 -69
  48. package/agents/ui/ui-design-system-gen.md +57 -57
  49. package/agents/ui/ui-industry-analyzer.md +49 -49
  50. package/agents/ui/ui-layout-architect.md +65 -65
  51. package/agents/ui/ui-stack-implementer.md +68 -68
  52. package/agents/ui/ux-compliance-reviewer.md +81 -81
  53. package/agents/ui-previewer.md +258 -260
  54. package/commands/vibe.analyze.md +11 -13
  55. package/commands/vibe.review.md +43 -1
  56. package/commands/vibe.run.md +2124 -2078
  57. package/commands/vibe.spec.md +9 -4
  58. package/commands/vibe.spec.review.md +569 -565
  59. package/commands/vibe.utils.md +413 -413
  60. package/commands/vibe.verify.md +33 -8
  61. package/dist/cli/collaborator.js +52 -52
  62. package/dist/cli/commands/evolution.js +12 -12
  63. package/dist/cli/commands/info.js +54 -54
  64. package/dist/cli/commands/init.js +5 -5
  65. package/dist/cli/commands/remove.js +14 -14
  66. package/dist/cli/commands/sentinel.js +27 -27
  67. package/dist/cli/commands/skills.js +5 -5
  68. package/dist/cli/commands/slack.js +10 -10
  69. package/dist/cli/commands/telegram.js +12 -12
  70. package/dist/cli/detect.js +32 -32
  71. package/dist/cli/index.js +51 -51
  72. package/dist/cli/llm/claude-commands.js +16 -16
  73. package/dist/cli/llm/config.js +19 -19
  74. package/dist/cli/llm/config.js.map +1 -1
  75. package/dist/cli/llm/gemini-commands.js +16 -16
  76. package/dist/cli/llm/gpt-commands.js +19 -19
  77. package/dist/cli/llm/help.js +21 -21
  78. package/dist/cli/postinstall/cursor-agents.js +32 -32
  79. package/dist/cli/postinstall/cursor-rules.js +83 -83
  80. package/dist/cli/postinstall/cursor-skills.js +743 -743
  81. package/dist/cli/setup/Provisioner.js +42 -42
  82. package/dist/cli/types.d.ts +0 -2
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/infra/lib/DeepInit.js +24 -24
  85. package/dist/infra/lib/IterationTracker.js +11 -11
  86. package/dist/infra/lib/PythonParser.js +108 -108
  87. package/dist/infra/lib/ReviewRace.js +96 -96
  88. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  89. package/dist/infra/lib/SkillQualityGate.js +9 -9
  90. package/dist/infra/lib/SkillRepository.js +159 -159
  91. package/dist/infra/lib/UltraQA.js +99 -99
  92. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  93. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  94. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  95. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  96. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  97. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  98. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  99. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  100. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  101. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  102. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  103. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  104. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  105. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  106. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  107. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  108. package/dist/infra/lib/gemini/orchestration.js +5 -5
  109. package/dist/infra/lib/gpt/orchestration.js +4 -4
  110. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  111. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  112. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  113. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  114. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  115. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  116. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  117. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  118. package/dist/infra/orchestrator/AgentManager.js +12 -12
  119. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  120. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  121. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  122. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  123. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  124. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  125. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  126. package/dist/tools/memory/getMemoryGraph.js +12 -12
  127. package/dist/tools/memory/getSessionContext.js +9 -9
  128. package/dist/tools/memory/linkMemories.js +14 -14
  129. package/dist/tools/memory/listMemories.js +4 -4
  130. package/dist/tools/memory/recallMemory.js +4 -4
  131. package/dist/tools/memory/saveMemory.js +4 -4
  132. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  133. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  134. package/dist/tools/semantic/astGrep.test.js +6 -6
  135. package/dist/tools/spec/prdParser.test.js +171 -171
  136. package/dist/tools/spec/specGenerator.js +169 -169
  137. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  138. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  139. package/hooks/gemini-hooks.json +73 -73
  140. package/hooks/hooks.json +137 -137
  141. package/hooks/scripts/code-check.js +77 -70
  142. package/hooks/scripts/context-save.js +212 -212
  143. package/hooks/scripts/hud-status.js +291 -291
  144. package/hooks/scripts/keyword-detector.js +214 -214
  145. package/hooks/scripts/llm-orchestrate.js +475 -475
  146. package/hooks/scripts/post-edit.js +32 -32
  147. package/hooks/scripts/pre-tool-guard.js +125 -125
  148. package/hooks/scripts/prompt-dispatcher.js +185 -185
  149. package/hooks/scripts/sentinel-guard.js +104 -104
  150. package/hooks/scripts/session-start.js +106 -106
  151. package/hooks/scripts/stop-notify.js +209 -209
  152. package/hooks/scripts/utils.js +100 -100
  153. package/languages/csharp-unity.md +515 -515
  154. package/languages/gdscript-godot.md +470 -470
  155. package/languages/ruby-rails.md +489 -489
  156. package/languages/typescript-angular.md +433 -433
  157. package/languages/typescript-astro.md +416 -416
  158. package/languages/typescript-electron.md +406 -406
  159. package/languages/typescript-nestjs.md +524 -524
  160. package/languages/typescript-svelte.md +407 -407
  161. package/languages/typescript-tauri.md +365 -365
  162. package/package.json +121 -121
  163. package/skills/agents-md/SKILL.md +120 -120
  164. package/skills/arch-guard/SKILL.md +180 -180
  165. package/skills/brand-assets/SKILL.md +146 -146
  166. package/skills/capability-loop/SKILL.md +167 -167
  167. package/skills/characterization-test/SKILL.md +206 -206
  168. package/skills/commerce-patterns/SKILL.md +59 -59
  169. package/skills/commit-push-pr/SKILL.md +75 -75
  170. package/skills/context7-usage/SKILL.md +105 -105
  171. package/skills/core-capabilities/SKILL.md +48 -48
  172. package/skills/e2e-commerce/SKILL.md +57 -57
  173. package/skills/exec-plan/SKILL.md +147 -147
  174. package/skills/frontend-design/SKILL.md +73 -73
  175. package/skills/git-worktree/SKILL.md +72 -72
  176. package/skills/handoff/SKILL.md +109 -109
  177. package/skills/parallel-research/SKILL.md +87 -87
  178. package/skills/priority-todos/SKILL.md +63 -63
  179. package/skills/seo-checklist/SKILL.md +57 -57
  180. package/skills/techdebt/SKILL.md +122 -122
  181. package/skills/tool-fallback/SKILL.md +103 -103
  182. package/skills/typescript-advanced-types/SKILL.md +66 -65
  183. package/skills/ui-ux-pro-max/SKILL.md +206 -206
  184. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  185. package/skills/video-production/SKILL.md +51 -51
  186. package/vibe/config.json +29 -29
  187. package/vibe/constitution.md +227 -227
  188. package/vibe/rules/principles/communication-guide.md +98 -98
  189. package/vibe/rules/principles/development-philosophy.md +52 -52
  190. package/vibe/rules/principles/quick-start.md +102 -102
  191. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  192. package/vibe/rules/quality/checklist.md +276 -276
  193. package/vibe/rules/quality/performance.md +236 -236
  194. package/vibe/rules/quality/testing-strategy.md +440 -440
  195. package/vibe/rules/standards/anti-patterns.md +541 -541
  196. package/vibe/rules/standards/code-structure.md +291 -291
  197. package/vibe/rules/standards/complexity-metrics.md +313 -313
  198. package/vibe/rules/standards/git-workflow.md +237 -237
  199. package/vibe/rules/standards/naming-conventions.md +198 -198
  200. package/vibe/rules/standards/security.md +305 -305
  201. package/vibe/rules/writing/document-style.md +74 -74
  202. package/vibe/setup.sh +31 -31
  203. package/vibe/templates/constitution-template.md +252 -252
  204. package/vibe/templates/contract-backend-template.md +526 -526
  205. package/vibe/templates/contract-frontend-template.md +599 -599
  206. package/vibe/templates/feature-template.md +96 -96
  207. package/vibe/templates/spec-template.md +221 -221
  208. package/vibe/ui-ux-data/charts.csv +26 -26
  209. package/vibe/ui-ux-data/colors.csv +97 -97
  210. package/vibe/ui-ux-data/icons.csv +101 -101
  211. package/vibe/ui-ux-data/landing.csv +31 -31
  212. package/vibe/ui-ux-data/products.csv +96 -96
  213. package/vibe/ui-ux-data/react-performance.csv +45 -45
  214. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  215. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  216. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  217. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  218. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  219. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  220. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  221. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  222. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  223. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  224. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  225. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  226. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  227. package/vibe/ui-ux-data/styles.csv +68 -68
  228. package/vibe/ui-ux-data/typography.csv +57 -57
  229. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  230. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  231. package/vibe/ui-ux-data/version.json +31 -31
  232. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -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