@su-record/vibe 2.7.18 → 2.7.20

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 (345) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +153 -153
  3. package/LICENSE +21 -21
  4. package/README.md +451 -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/event/event-comms.md +78 -0
  15. package/agents/event/event-content.md +68 -0
  16. package/agents/event/event-image.md +95 -0
  17. package/agents/event/event-ops.md +84 -0
  18. package/agents/event/event-scheduler.md +69 -0
  19. package/agents/event/event-speaker.md +86 -0
  20. package/agents/explorer-low.md +42 -42
  21. package/agents/explorer-medium.md +59 -59
  22. package/agents/explorer.md +48 -48
  23. package/agents/implementer-low.md +43 -43
  24. package/agents/implementer-medium.md +52 -52
  25. package/agents/implementer.md +54 -54
  26. package/agents/junior-mentor.md +141 -141
  27. package/agents/planning/requirements-analyst.md +84 -84
  28. package/agents/planning/ux-advisor.md +83 -83
  29. package/agents/qa/acceptance-tester.md +86 -86
  30. package/agents/qa/edge-case-finder.md +93 -93
  31. package/agents/refactor-cleaner.md +143 -143
  32. package/agents/research/best-practices-agent.md +199 -199
  33. package/agents/research/codebase-patterns-agent.md +157 -157
  34. package/agents/research/framework-docs-agent.md +188 -188
  35. package/agents/research/security-advisory-agent.md +213 -213
  36. package/agents/review/architecture-reviewer.md +107 -107
  37. package/agents/review/complexity-reviewer.md +116 -116
  38. package/agents/review/data-integrity-reviewer.md +88 -88
  39. package/agents/review/git-history-reviewer.md +103 -103
  40. package/agents/review/performance-reviewer.md +86 -86
  41. package/agents/review/python-reviewer.md +150 -150
  42. package/agents/review/rails-reviewer.md +139 -139
  43. package/agents/review/react-reviewer.md +144 -144
  44. package/agents/review/security-reviewer.md +80 -80
  45. package/agents/review/simplicity-reviewer.md +140 -140
  46. package/agents/review/test-coverage-reviewer.md +116 -116
  47. package/agents/review/typescript-reviewer.md +127 -127
  48. package/agents/searcher.md +54 -54
  49. package/agents/simplifier.md +120 -120
  50. package/agents/tester.md +49 -49
  51. package/agents/ui/ui-a11y-auditor.md +93 -93
  52. package/agents/ui/ui-antipattern-detector.md +94 -94
  53. package/agents/ui/ui-dataviz-advisor.md +69 -69
  54. package/agents/ui/ui-design-system-gen.md +57 -57
  55. package/agents/ui/ui-industry-analyzer.md +49 -49
  56. package/agents/ui/ui-layout-architect.md +65 -65
  57. package/agents/ui/ui-stack-implementer.md +68 -68
  58. package/agents/ui/ux-compliance-reviewer.md +81 -81
  59. package/agents/ui-previewer.md +258 -258
  60. package/commands/vibe.analyze.md +379 -379
  61. package/commands/vibe.event.md +163 -0
  62. package/commands/vibe.review.md +607 -607
  63. package/commands/vibe.run.md +2217 -2124
  64. package/commands/vibe.spec.md +1195 -1195
  65. package/commands/vibe.spec.review.md +569 -569
  66. package/commands/vibe.trace.md +50 -0
  67. package/commands/vibe.utils.md +413 -413
  68. package/commands/vibe.verify.md +484 -484
  69. package/dist/__tests__/architecture.test.d.ts +2 -0
  70. package/dist/__tests__/architecture.test.d.ts.map +1 -0
  71. package/dist/__tests__/architecture.test.js +207 -0
  72. package/dist/__tests__/architecture.test.js.map +1 -0
  73. package/dist/cli/auth.js +3 -3
  74. package/dist/cli/auth.js.map +1 -1
  75. package/dist/cli/collaborator.js +52 -52
  76. package/dist/cli/commands/evolution.js +12 -12
  77. package/dist/cli/commands/info.d.ts.map +1 -1
  78. package/dist/cli/commands/info.js +45 -81
  79. package/dist/cli/commands/info.js.map +1 -1
  80. package/dist/cli/commands/init.js +5 -5
  81. package/dist/cli/commands/remove.js +14 -14
  82. package/dist/cli/commands/sentinel.js +27 -27
  83. package/dist/cli/commands/skills.js +5 -5
  84. package/dist/cli/commands/slack.js +10 -10
  85. package/dist/cli/commands/telegram.js +12 -12
  86. package/dist/cli/detect.d.ts.map +1 -1
  87. package/dist/cli/detect.js +55 -32
  88. package/dist/cli/detect.js.map +1 -1
  89. package/dist/cli/index.d.ts +1 -1
  90. package/dist/cli/index.d.ts.map +1 -1
  91. package/dist/cli/index.js +52 -52
  92. package/dist/cli/index.js.map +1 -1
  93. package/dist/cli/llm/claude-commands.js +16 -16
  94. package/dist/cli/llm/config.js +18 -18
  95. package/dist/cli/llm/gemini-commands.js +16 -16
  96. package/dist/cli/llm/gpt-commands.js +19 -19
  97. package/dist/cli/llm/help.js +21 -21
  98. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  99. package/dist/cli/postinstall/constants.js +24 -0
  100. package/dist/cli/postinstall/constants.js.map +1 -1
  101. package/dist/cli/postinstall/cursor-agents.js +32 -32
  102. package/dist/cli/postinstall/cursor-rules.js +83 -83
  103. package/dist/cli/postinstall/cursor-skills.js +743 -743
  104. package/dist/cli/setup/Provisioner.js +42 -42
  105. package/dist/infra/lib/AutomationLevel.d.ts +48 -0
  106. package/dist/infra/lib/AutomationLevel.d.ts.map +1 -0
  107. package/dist/infra/lib/AutomationLevel.js +157 -0
  108. package/dist/infra/lib/AutomationLevel.js.map +1 -0
  109. package/dist/infra/lib/DecisionTracer.d.ts +81 -0
  110. package/dist/infra/lib/DecisionTracer.d.ts.map +1 -0
  111. package/dist/infra/lib/DecisionTracer.js +135 -0
  112. package/dist/infra/lib/DecisionTracer.js.map +1 -0
  113. package/dist/infra/lib/DeepInit.js +24 -24
  114. package/dist/infra/lib/InteractiveCheckpoint.d.ts +75 -0
  115. package/dist/infra/lib/InteractiveCheckpoint.d.ts.map +1 -0
  116. package/dist/infra/lib/InteractiveCheckpoint.js +179 -0
  117. package/dist/infra/lib/InteractiveCheckpoint.js.map +1 -0
  118. package/dist/infra/lib/IterationTracker.d.ts +44 -0
  119. package/dist/infra/lib/IterationTracker.d.ts.map +1 -1
  120. package/dist/infra/lib/IterationTracker.js +267 -12
  121. package/dist/infra/lib/IterationTracker.js.map +1 -1
  122. package/dist/infra/lib/LoopBreaker.d.ts +56 -0
  123. package/dist/infra/lib/LoopBreaker.d.ts.map +1 -0
  124. package/dist/infra/lib/LoopBreaker.js +109 -0
  125. package/dist/infra/lib/LoopBreaker.js.map +1 -0
  126. package/dist/infra/lib/PythonParser.js +108 -108
  127. package/dist/infra/lib/ReviewRace.js +96 -96
  128. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  129. package/dist/infra/lib/SkillQualityGate.js +9 -9
  130. package/dist/infra/lib/SkillRepository.js +159 -159
  131. package/dist/infra/lib/UltraQA.js +99 -99
  132. package/dist/infra/lib/VerificationLoop.d.ts +105 -0
  133. package/dist/infra/lib/VerificationLoop.d.ts.map +1 -0
  134. package/dist/infra/lib/VerificationLoop.js +189 -0
  135. package/dist/infra/lib/VerificationLoop.js.map +1 -0
  136. package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts +2 -0
  137. package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts.map +1 -0
  138. package/dist/infra/lib/__tests__/AutomationLevel.test.js +297 -0
  139. package/dist/infra/lib/__tests__/AutomationLevel.test.js.map +1 -0
  140. package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts +2 -0
  141. package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts.map +1 -0
  142. package/dist/infra/lib/__tests__/DecisionTracer.test.js +274 -0
  143. package/dist/infra/lib/__tests__/DecisionTracer.test.js.map +1 -0
  144. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts +2 -0
  145. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts.map +1 -0
  146. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js +350 -0
  147. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js.map +1 -0
  148. package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts +2 -0
  149. package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts.map +1 -0
  150. package/dist/infra/lib/__tests__/LoopBreaker.test.js +340 -0
  151. package/dist/infra/lib/__tests__/LoopBreaker.test.js.map +1 -0
  152. package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts +2 -0
  153. package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts.map +1 -0
  154. package/dist/infra/lib/__tests__/VerificationLoop.test.js +486 -0
  155. package/dist/infra/lib/__tests__/VerificationLoop.test.js.map +1 -0
  156. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  157. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  158. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  159. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
  160. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  161. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  162. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  163. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  164. package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js +4 -0
  165. package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js.map +1 -1
  166. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  167. package/dist/infra/lib/evolution/DeprecationDetector.d.ts +68 -0
  168. package/dist/infra/lib/evolution/DeprecationDetector.d.ts.map +1 -0
  169. package/dist/infra/lib/evolution/DeprecationDetector.js +207 -0
  170. package/dist/infra/lib/evolution/DeprecationDetector.js.map +1 -0
  171. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  172. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  173. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  174. package/dist/infra/lib/evolution/ParityTester.d.ts +74 -0
  175. package/dist/infra/lib/evolution/ParityTester.d.ts.map +1 -0
  176. package/dist/infra/lib/evolution/ParityTester.js +238 -0
  177. package/dist/infra/lib/evolution/ParityTester.js.map +1 -0
  178. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  179. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  180. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  181. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  182. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  183. package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts +2 -0
  184. package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts.map +1 -0
  185. package/dist/infra/lib/evolution/__tests__/deprecation.test.js +251 -0
  186. package/dist/infra/lib/evolution/__tests__/deprecation.test.js.map +1 -0
  187. package/dist/infra/lib/evolution/__tests__/parity.test.d.ts +2 -0
  188. package/dist/infra/lib/evolution/__tests__/parity.test.d.ts.map +1 -0
  189. package/dist/infra/lib/evolution/__tests__/parity.test.js +319 -0
  190. package/dist/infra/lib/evolution/__tests__/parity.test.js.map +1 -0
  191. package/dist/infra/lib/evolution/index.d.ts +4 -0
  192. package/dist/infra/lib/evolution/index.d.ts.map +1 -1
  193. package/dist/infra/lib/evolution/index.js +3 -0
  194. package/dist/infra/lib/evolution/index.js.map +1 -1
  195. package/dist/infra/lib/gemini/orchestration.js +5 -5
  196. package/dist/infra/lib/gpt/orchestration.js +4 -4
  197. package/dist/infra/lib/gpt/specializations.d.ts +1 -1
  198. package/dist/infra/lib/gpt/specializations.js +1 -1
  199. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  200. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  201. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  202. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  203. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  204. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  205. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  206. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  207. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +6 -0
  208. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -1
  209. package/dist/infra/lib/telemetry/SkillTelemetry.js +11 -0
  210. package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -1
  211. package/dist/infra/orchestrator/AgentManager.js +12 -12
  212. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  213. package/dist/infra/orchestrator/BackgroundManager.d.ts.map +1 -1
  214. package/dist/infra/orchestrator/BackgroundManager.js +2 -0
  215. package/dist/infra/orchestrator/BackgroundManager.js.map +1 -1
  216. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  217. package/dist/infra/orchestrator/PhasePipeline.js +1 -1
  218. package/dist/infra/orchestrator/PhasePipeline.js.map +1 -1
  219. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  220. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  221. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  222. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  223. package/dist/tools/index.d.ts +16 -19
  224. package/dist/tools/index.d.ts.map +1 -1
  225. package/dist/tools/index.js +15 -27
  226. package/dist/tools/index.js.map +1 -1
  227. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  228. package/dist/tools/memory/getMemoryGraph.js +12 -12
  229. package/dist/tools/memory/getSessionContext.js +9 -9
  230. package/dist/tools/memory/linkMemories.js +14 -14
  231. package/dist/tools/memory/listMemories.js +4 -4
  232. package/dist/tools/memory/recallMemory.js +4 -4
  233. package/dist/tools/memory/saveMemory.js +4 -4
  234. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  235. package/dist/tools/memory/startSession.js +1 -1
  236. package/dist/tools/memory/startSession.js.map +1 -1
  237. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  238. package/dist/tools/semantic/astGrep.test.js +6 -6
  239. package/dist/tools/spec/index.d.ts +0 -4
  240. package/dist/tools/spec/index.d.ts.map +1 -1
  241. package/dist/tools/spec/index.js +0 -4
  242. package/dist/tools/spec/index.js.map +1 -1
  243. package/dist/tools/spec/prdParser.test.js +171 -171
  244. package/dist/tools/spec/specGenerator.js +169 -169
  245. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  246. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  247. package/hooks/gemini-hooks.json +73 -73
  248. package/hooks/hooks.json +137 -137
  249. package/hooks/scripts/code-check.js +77 -77
  250. package/hooks/scripts/context-save.js +212 -212
  251. package/hooks/scripts/evolution-engine.js +69 -0
  252. package/hooks/scripts/hud-status.js +291 -291
  253. package/hooks/scripts/keyword-detector.js +214 -214
  254. package/hooks/scripts/llm-orchestrate.js +475 -475
  255. package/hooks/scripts/post-edit.js +32 -32
  256. package/hooks/scripts/pre-tool-guard.js +125 -125
  257. package/hooks/scripts/prompt-dispatcher.js +185 -185
  258. package/hooks/scripts/sentinel-guard.js +104 -104
  259. package/hooks/scripts/session-start.js +106 -106
  260. package/hooks/scripts/skill-injector.js +83 -0
  261. package/hooks/scripts/stop-notify.js +209 -209
  262. package/hooks/scripts/utils.js +100 -100
  263. package/languages/csharp-unity.md +515 -515
  264. package/languages/gdscript-godot.md +470 -470
  265. package/languages/ruby-rails.md +489 -489
  266. package/languages/typescript-angular.md +433 -433
  267. package/languages/typescript-astro.md +416 -416
  268. package/languages/typescript-electron.md +406 -406
  269. package/languages/typescript-nestjs.md +524 -524
  270. package/languages/typescript-svelte.md +407 -407
  271. package/languages/typescript-tauri.md +365 -365
  272. package/package.json +101 -123
  273. package/skills/agents-md/SKILL.md +120 -120
  274. package/skills/arch-guard/SKILL.md +180 -180
  275. package/skills/brand-assets/SKILL.md +146 -146
  276. package/skills/capability-loop/SKILL.md +167 -167
  277. package/skills/characterization-test/SKILL.md +206 -206
  278. package/skills/commerce-patterns/SKILL.md +63 -63
  279. package/skills/commit-push-pr/SKILL.md +75 -75
  280. package/skills/context7-usage/SKILL.md +105 -105
  281. package/skills/core-capabilities/SKILL.md +13 -13
  282. package/skills/e2e-commerce/SKILL.md +61 -61
  283. package/skills/event-comms/SKILL.md +161 -0
  284. package/skills/event-ops/SKILL.md +197 -0
  285. package/skills/event-planning/SKILL.md +131 -0
  286. package/skills/exec-plan/SKILL.md +147 -147
  287. package/skills/frontend-design/SKILL.md +12 -12
  288. package/skills/git-worktree/SKILL.md +72 -72
  289. package/skills/handoff/SKILL.md +109 -109
  290. package/skills/parallel-research/SKILL.md +87 -87
  291. package/skills/priority-todos/SKILL.md +63 -63
  292. package/skills/seo-checklist/SKILL.md +57 -57
  293. package/skills/techdebt/SKILL.md +122 -122
  294. package/skills/tool-fallback/SKILL.md +103 -103
  295. package/skills/typescript-advanced-types/SKILL.md +66 -66
  296. package/skills/ui-ux-pro-max/SKILL.md +221 -221
  297. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  298. package/skills/video-production/SKILL.md +51 -51
  299. package/vibe/config.json +29 -29
  300. package/vibe/constitution.md +227 -227
  301. package/vibe/rules/principles/communication-guide.md +98 -98
  302. package/vibe/rules/principles/development-philosophy.md +52 -52
  303. package/vibe/rules/principles/quick-start.md +102 -102
  304. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  305. package/vibe/rules/quality/checklist.md +276 -276
  306. package/vibe/rules/quality/performance.md +236 -236
  307. package/vibe/rules/quality/testing-strategy.md +440 -440
  308. package/vibe/rules/standards/anti-patterns.md +541 -541
  309. package/vibe/rules/standards/code-structure.md +291 -291
  310. package/vibe/rules/standards/complexity-metrics.md +313 -313
  311. package/vibe/rules/standards/git-workflow.md +237 -237
  312. package/vibe/rules/standards/naming-conventions.md +198 -198
  313. package/vibe/rules/standards/security.md +305 -305
  314. package/vibe/rules/writing/document-style.md +74 -74
  315. package/vibe/setup.sh +31 -31
  316. package/vibe/templates/constitution-template.md +252 -252
  317. package/vibe/templates/contract-backend-template.md +526 -526
  318. package/vibe/templates/contract-frontend-template.md +599 -599
  319. package/vibe/templates/feature-template.md +96 -96
  320. package/vibe/templates/spec-template.md +221 -221
  321. package/vibe/ui-ux-data/charts.csv +26 -26
  322. package/vibe/ui-ux-data/colors.csv +97 -97
  323. package/vibe/ui-ux-data/icons.csv +101 -101
  324. package/vibe/ui-ux-data/landing.csv +31 -31
  325. package/vibe/ui-ux-data/products.csv +96 -96
  326. package/vibe/ui-ux-data/react-performance.csv +45 -45
  327. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  328. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  329. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  330. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  331. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  332. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  333. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  334. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  335. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  336. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  337. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  338. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  339. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  340. package/vibe/ui-ux-data/styles.csv +68 -68
  341. package/vibe/ui-ux-data/typography.csv +57 -57
  342. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  343. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  344. package/vibe/ui-ux-data/version.json +31 -31
  345. 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