namnam-skills 1.0.3 → 1.0.4

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 (1981) hide show
  1. package/package.json +2 -2
  2. package/src/cli.js +8 -3
  3. package/src/templates/antigravity-skills/3d-web-experience/SKILL.md +254 -0
  4. package/src/templates/antigravity-skills/README.md +201 -0
  5. package/src/templates/antigravity-skills/ab-test-setup/SKILL.md +508 -0
  6. package/src/templates/antigravity-skills/active-directory-attacks/SKILL.md +383 -0
  7. package/src/templates/antigravity-skills/active-directory-attacks/references/advanced-attacks.md +382 -0
  8. package/src/templates/antigravity-skills/address-github-comments/SKILL.md +55 -0
  9. package/src/templates/antigravity-skills/agent-evaluation/SKILL.md +64 -0
  10. package/src/templates/antigravity-skills/agent-manager-skill/SKILL.md +40 -0
  11. package/src/templates/antigravity-skills/agent-memory-mcp/SKILL.md +82 -0
  12. package/src/templates/antigravity-skills/agent-memory-systems/SKILL.md +67 -0
  13. package/src/templates/antigravity-skills/agent-tool-builder/SKILL.md +53 -0
  14. package/src/templates/antigravity-skills/ai-agents-architect/SKILL.md +90 -0
  15. package/src/templates/antigravity-skills/ai-product/SKILL.md +54 -0
  16. package/src/templates/antigravity-skills/ai-wrapper-product/SKILL.md +273 -0
  17. package/src/templates/antigravity-skills/algolia-search/SKILL.md +66 -0
  18. package/src/templates/antigravity-skills/algorithmic-art/LICENSE.txt +202 -0
  19. package/src/templates/antigravity-skills/algorithmic-art/SKILL.md +405 -0
  20. package/src/templates/antigravity-skills/algorithmic-art/templates/generator_template.js +223 -0
  21. package/src/templates/antigravity-skills/algorithmic-art/templates/viewer.html +599 -0
  22. package/src/templates/antigravity-skills/analytics-tracking/SKILL.md +539 -0
  23. package/src/templates/antigravity-skills/api-documentation-generator/SKILL.md +484 -0
  24. package/src/templates/antigravity-skills/api-fuzzing-bug-bounty/SKILL.md +433 -0
  25. package/src/templates/antigravity-skills/api-patterns/SKILL.md +81 -0
  26. package/src/templates/antigravity-skills/api-patterns/api-style.md +42 -0
  27. package/src/templates/antigravity-skills/api-patterns/auth.md +24 -0
  28. package/src/templates/antigravity-skills/api-patterns/documentation.md +26 -0
  29. package/src/templates/antigravity-skills/api-patterns/graphql.md +41 -0
  30. package/src/templates/antigravity-skills/api-patterns/rate-limiting.md +31 -0
  31. package/src/templates/antigravity-skills/api-patterns/response.md +37 -0
  32. package/src/templates/antigravity-skills/api-patterns/rest.md +40 -0
  33. package/src/templates/antigravity-skills/api-patterns/scripts/api_validator.py +211 -0
  34. package/src/templates/antigravity-skills/api-patterns/security-testing.md +122 -0
  35. package/src/templates/antigravity-skills/api-patterns/trpc.md +41 -0
  36. package/src/templates/antigravity-skills/api-patterns/versioning.md +22 -0
  37. package/src/templates/antigravity-skills/api-security-best-practices/SKILL.md +907 -0
  38. package/src/templates/antigravity-skills/app-builder/SKILL.md +75 -0
  39. package/src/templates/antigravity-skills/app-builder/agent-coordination.md +71 -0
  40. package/src/templates/antigravity-skills/app-builder/feature-building.md +53 -0
  41. package/src/templates/antigravity-skills/app-builder/project-detection.md +34 -0
  42. package/src/templates/antigravity-skills/app-builder/scaffolding.md +118 -0
  43. package/src/templates/antigravity-skills/app-builder/tech-stack.md +40 -0
  44. package/src/templates/antigravity-skills/app-builder/templates/SKILL.md +39 -0
  45. package/src/templates/antigravity-skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  46. package/src/templates/antigravity-skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  47. package/src/templates/antigravity-skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  48. package/src/templates/antigravity-skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  49. package/src/templates/antigravity-skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  50. package/src/templates/antigravity-skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  51. package/src/templates/antigravity-skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  52. package/src/templates/antigravity-skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  53. package/src/templates/antigravity-skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  54. package/src/templates/antigravity-skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  55. package/src/templates/antigravity-skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  56. package/src/templates/antigravity-skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  57. package/src/templates/antigravity-skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  58. package/src/templates/antigravity-skills/app-store-optimization/HOW_TO_USE.md +281 -0
  59. package/src/templates/antigravity-skills/app-store-optimization/README.md +430 -0
  60. package/src/templates/antigravity-skills/app-store-optimization/SKILL.md +403 -0
  61. package/src/templates/antigravity-skills/app-store-optimization/ab_test_planner.py +662 -0
  62. package/src/templates/antigravity-skills/app-store-optimization/aso_scorer.py +482 -0
  63. package/src/templates/antigravity-skills/app-store-optimization/competitor_analyzer.py +577 -0
  64. package/src/templates/antigravity-skills/app-store-optimization/expected_output.json +170 -0
  65. package/src/templates/antigravity-skills/app-store-optimization/keyword_analyzer.py +406 -0
  66. package/src/templates/antigravity-skills/app-store-optimization/launch_checklist.py +739 -0
  67. package/src/templates/antigravity-skills/app-store-optimization/localization_helper.py +588 -0
  68. package/src/templates/antigravity-skills/app-store-optimization/metadata_optimizer.py +581 -0
  69. package/src/templates/antigravity-skills/app-store-optimization/review_analyzer.py +714 -0
  70. package/src/templates/antigravity-skills/app-store-optimization/sample_input.json +30 -0
  71. package/src/templates/antigravity-skills/architecture/SKILL.md +55 -0
  72. package/src/templates/antigravity-skills/architecture/context-discovery.md +43 -0
  73. package/src/templates/antigravity-skills/architecture/examples.md +94 -0
  74. package/src/templates/antigravity-skills/architecture/pattern-selection.md +68 -0
  75. package/src/templates/antigravity-skills/architecture/patterns-reference.md +50 -0
  76. package/src/templates/antigravity-skills/architecture/trade-off-analysis.md +77 -0
  77. package/src/templates/antigravity-skills/autonomous-agent-patterns/SKILL.md +761 -0
  78. package/src/templates/antigravity-skills/autonomous-agents/SKILL.md +68 -0
  79. package/src/templates/antigravity-skills/avalonia-layout-zafiro/SKILL.md +59 -0
  80. package/src/templates/antigravity-skills/avalonia-layout-zafiro/behaviors.md +35 -0
  81. package/src/templates/antigravity-skills/avalonia-layout-zafiro/components.md +41 -0
  82. package/src/templates/antigravity-skills/avalonia-layout-zafiro/containers.md +50 -0
  83. package/src/templates/antigravity-skills/avalonia-layout-zafiro/icons.md +53 -0
  84. package/src/templates/antigravity-skills/avalonia-layout-zafiro/themes.md +51 -0
  85. package/src/templates/antigravity-skills/avalonia-viewmodels-zafiro/SKILL.md +29 -0
  86. package/src/templates/antigravity-skills/avalonia-viewmodels-zafiro/composition.md +75 -0
  87. package/src/templates/antigravity-skills/avalonia-viewmodels-zafiro/navigation_sections.md +53 -0
  88. package/src/templates/antigravity-skills/avalonia-viewmodels-zafiro/viewmodels.md +68 -0
  89. package/src/templates/antigravity-skills/avalonia-viewmodels-zafiro/wizards.md +47 -0
  90. package/src/templates/antigravity-skills/avalonia-zafiro-development/SKILL.md +29 -0
  91. package/src/templates/antigravity-skills/avalonia-zafiro-development/avalonia-reactive-rules.md +49 -0
  92. package/src/templates/antigravity-skills/avalonia-zafiro-development/core-technical-skills.md +19 -0
  93. package/src/templates/antigravity-skills/avalonia-zafiro-development/naming-standards.md +15 -0
  94. package/src/templates/antigravity-skills/avalonia-zafiro-development/patterns.md +45 -0
  95. package/src/templates/antigravity-skills/avalonia-zafiro-development/zafiro-shortcuts.md +43 -0
  96. package/src/templates/antigravity-skills/aws-penetration-testing/SKILL.md +405 -0
  97. package/src/templates/antigravity-skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -0
  98. package/src/templates/antigravity-skills/aws-serverless/SKILL.md +323 -0
  99. package/src/templates/antigravity-skills/azure-functions/SKILL.md +42 -0
  100. package/src/templates/antigravity-skills/backend-dev-guidelines/SKILL.md +302 -0
  101. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  102. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  103. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  104. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/configuration.md +275 -0
  105. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  106. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  107. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  108. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  109. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  110. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  111. package/src/templates/antigravity-skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  112. package/src/templates/antigravity-skills/bash-linux/SKILL.md +199 -0
  113. package/src/templates/antigravity-skills/behavioral-modes/SKILL.md +242 -0
  114. package/src/templates/antigravity-skills/blockrun/SKILL.md +292 -0
  115. package/src/templates/antigravity-skills/brainstorming/SKILL.md +54 -0
  116. package/src/templates/antigravity-skills/brand-guidelines-anthropic/LICENSE.txt +202 -0
  117. package/src/templates/antigravity-skills/brand-guidelines-anthropic/SKILL.md +73 -0
  118. package/src/templates/antigravity-skills/brand-guidelines-community/LICENSE.txt +202 -0
  119. package/src/templates/antigravity-skills/brand-guidelines-community/SKILL.md +73 -0
  120. package/src/templates/antigravity-skills/broken-authentication/SKILL.md +476 -0
  121. package/src/templates/antigravity-skills/browser-automation/SKILL.md +70 -0
  122. package/src/templates/antigravity-skills/browser-extension-builder/SKILL.md +261 -0
  123. package/src/templates/antigravity-skills/bullmq-specialist/SKILL.md +57 -0
  124. package/src/templates/antigravity-skills/bun-development/SKILL.md +691 -0
  125. package/src/templates/antigravity-skills/burp-suite-testing/SKILL.md +380 -0
  126. package/src/templates/antigravity-skills/busybox-on-windows/SKILL.md +30 -0
  127. package/src/templates/antigravity-skills/canvas-design/LICENSE.txt +202 -0
  128. package/src/templates/antigravity-skills/canvas-design/SKILL.md +130 -0
  129. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  130. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  131. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  132. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  133. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  134. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  135. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  136. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  137. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  138. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  139. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  140. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  141. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  142. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  143. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  144. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  145. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  146. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  147. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  148. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  149. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  150. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  151. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  152. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  153. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  154. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  155. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  156. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  157. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  158. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  159. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  160. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  161. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  162. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  163. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  164. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  165. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  166. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  167. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  168. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  169. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  170. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  171. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  172. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  173. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  174. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  175. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  176. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  177. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  178. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  179. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  180. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  181. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  182. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  183. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  184. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  185. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  186. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  187. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  188. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  189. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  190. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  191. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  192. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  193. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  194. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  195. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  196. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  197. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  198. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  199. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  200. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  201. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  202. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  203. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  204. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  205. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  206. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  207. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  208. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  209. package/src/templates/antigravity-skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  210. package/src/templates/antigravity-skills/cc-skill-backend-patterns/SKILL.md +584 -0
  211. package/src/templates/antigravity-skills/cc-skill-clickhouse-io/SKILL.md +431 -0
  212. package/src/templates/antigravity-skills/cc-skill-coding-standards/SKILL.md +522 -0
  213. package/src/templates/antigravity-skills/cc-skill-continuous-learning/SKILL.md +10 -0
  214. package/src/templates/antigravity-skills/cc-skill-continuous-learning/config.json +18 -0
  215. package/src/templates/antigravity-skills/cc-skill-continuous-learning/evaluate-session.sh +60 -0
  216. package/src/templates/antigravity-skills/cc-skill-frontend-patterns/SKILL.md +633 -0
  217. package/src/templates/antigravity-skills/cc-skill-project-guidelines-example/SKILL.md +352 -0
  218. package/src/templates/antigravity-skills/cc-skill-security-review/SKILL.md +496 -0
  219. package/src/templates/antigravity-skills/cc-skill-strategic-compact/SKILL.md +10 -0
  220. package/src/templates/antigravity-skills/cc-skill-strategic-compact/suggest-compact.sh +52 -0
  221. package/src/templates/antigravity-skills/claude-code-guide/SKILL.md +68 -0
  222. package/src/templates/antigravity-skills/claude-d3js-skill/SKILL.md +820 -0
  223. package/src/templates/antigravity-skills/claude-d3js-skill/assets/chart-template.jsx +106 -0
  224. package/src/templates/antigravity-skills/claude-d3js-skill/assets/interactive-template.jsx +227 -0
  225. package/src/templates/antigravity-skills/claude-d3js-skill/assets/sample-data.json +115 -0
  226. package/src/templates/antigravity-skills/claude-d3js-skill/references/colour-schemes.md +564 -0
  227. package/src/templates/antigravity-skills/claude-d3js-skill/references/d3-patterns.md +869 -0
  228. package/src/templates/antigravity-skills/claude-d3js-skill/references/scale-reference.md +509 -0
  229. package/src/templates/antigravity-skills/clean-code/SKILL.md +201 -0
  230. package/src/templates/antigravity-skills/clerk-auth/SKILL.md +56 -0
  231. package/src/templates/antigravity-skills/cloud-penetration-testing/SKILL.md +501 -0
  232. package/src/templates/antigravity-skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -0
  233. package/src/templates/antigravity-skills/code-review-checklist/SKILL.md +444 -0
  234. package/src/templates/antigravity-skills/codex-review/SKILL.md +37 -0
  235. package/src/templates/antigravity-skills/competitor-alternatives/SKILL.md +750 -0
  236. package/src/templates/antigravity-skills/computer-use-agents/SKILL.md +315 -0
  237. package/src/templates/antigravity-skills/concise-planning/SKILL.md +62 -0
  238. package/src/templates/antigravity-skills/content-creator/SKILL.md +248 -0
  239. package/src/templates/antigravity-skills/content-creator/assets/content_calendar_template.md +99 -0
  240. package/src/templates/antigravity-skills/content-creator/references/brand_guidelines.md +199 -0
  241. package/src/templates/antigravity-skills/content-creator/references/content_frameworks.md +534 -0
  242. package/src/templates/antigravity-skills/content-creator/references/social_media_optimization.md +317 -0
  243. package/src/templates/antigravity-skills/content-creator/scripts/brand_voice_analyzer.py +185 -0
  244. package/src/templates/antigravity-skills/content-creator/scripts/seo_optimizer.py +419 -0
  245. package/src/templates/antigravity-skills/context-window-management/SKILL.md +53 -0
  246. package/src/templates/antigravity-skills/context7-auto-research/SKILL.md +36 -0
  247. package/src/templates/antigravity-skills/conversation-memory/SKILL.md +61 -0
  248. package/src/templates/antigravity-skills/copy-editing/SKILL.md +439 -0
  249. package/src/templates/antigravity-skills/copywriting/SKILL.md +455 -0
  250. package/src/templates/antigravity-skills/core-components/SKILL.md +264 -0
  251. package/src/templates/antigravity-skills/crewai/SKILL.md +243 -0
  252. package/src/templates/antigravity-skills/database-design/SKILL.md +52 -0
  253. package/src/templates/antigravity-skills/database-design/database-selection.md +43 -0
  254. package/src/templates/antigravity-skills/database-design/indexing.md +39 -0
  255. package/src/templates/antigravity-skills/database-design/migrations.md +48 -0
  256. package/src/templates/antigravity-skills/database-design/optimization.md +36 -0
  257. package/src/templates/antigravity-skills/database-design/orm-selection.md +30 -0
  258. package/src/templates/antigravity-skills/database-design/schema-design.md +56 -0
  259. package/src/templates/antigravity-skills/database-design/scripts/schema_validator.py +172 -0
  260. package/src/templates/antigravity-skills/deployment-procedures/SKILL.md +241 -0
  261. package/src/templates/antigravity-skills/discord-bot-architect/SKILL.md +277 -0
  262. package/src/templates/antigravity-skills/dispatching-parallel-agents/SKILL.md +180 -0
  263. package/src/templates/antigravity-skills/doc-coauthoring/SKILL.md +375 -0
  264. package/src/templates/antigravity-skills/docker-expert/SKILL.md +409 -0
  265. package/src/templates/antigravity-skills/documentation-templates/SKILL.md +194 -0
  266. package/src/templates/antigravity-skills/docx +1 -0
  267. package/src/templates/antigravity-skills/docx-official/LICENSE.txt +30 -0
  268. package/src/templates/antigravity-skills/docx-official/SKILL.md +197 -0
  269. package/src/templates/antigravity-skills/docx-official/docx-js.md +350 -0
  270. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  271. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  272. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  273. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  274. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  275. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  276. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  277. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  278. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  279. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  280. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  281. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  282. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  283. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  284. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  285. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  286. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  287. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  288. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  289. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  290. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  291. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  292. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  293. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  294. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  295. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  296. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  297. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  298. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  299. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  300. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  301. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/mce/mc.xsd +75 -0
  302. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  303. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  304. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  305. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  306. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  307. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  308. package/src/templates/antigravity-skills/docx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  309. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/pack.py +159 -0
  310. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/unpack.py +29 -0
  311. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/validate.py +69 -0
  312. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/validation/__init__.py +15 -0
  313. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/validation/base.py +951 -0
  314. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/validation/docx.py +274 -0
  315. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/validation/pptx.py +315 -0
  316. package/src/templates/antigravity-skills/docx-official/ooxml/scripts/validation/redlining.py +279 -0
  317. package/src/templates/antigravity-skills/docx-official/ooxml.md +610 -0
  318. package/src/templates/antigravity-skills/docx-official/scripts/__init__.py +1 -0
  319. package/src/templates/antigravity-skills/docx-official/scripts/document.py +1276 -0
  320. package/src/templates/antigravity-skills/docx-official/scripts/templates/comments.xml +3 -0
  321. package/src/templates/antigravity-skills/docx-official/scripts/templates/commentsExtended.xml +3 -0
  322. package/src/templates/antigravity-skills/docx-official/scripts/templates/commentsExtensible.xml +3 -0
  323. package/src/templates/antigravity-skills/docx-official/scripts/templates/commentsIds.xml +3 -0
  324. package/src/templates/antigravity-skills/docx-official/scripts/templates/people.xml +3 -0
  325. package/src/templates/antigravity-skills/docx-official/scripts/utilities.py +374 -0
  326. package/src/templates/antigravity-skills/email-sequence/SKILL.md +925 -0
  327. package/src/templates/antigravity-skills/email-systems/SKILL.md +54 -0
  328. package/src/templates/antigravity-skills/environment-setup-guide/SKILL.md +479 -0
  329. package/src/templates/antigravity-skills/ethical-hacking-methodology/SKILL.md +466 -0
  330. package/src/templates/antigravity-skills/exa-search/SKILL.md +36 -0
  331. package/src/templates/antigravity-skills/executing-plans/SKILL.md +76 -0
  332. package/src/templates/antigravity-skills/file-organizer/SKILL.md +250 -0
  333. package/src/templates/antigravity-skills/file-path-traversal/SKILL.md +486 -0
  334. package/src/templates/antigravity-skills/file-uploads/SKILL.md +22 -0
  335. package/src/templates/antigravity-skills/finishing-a-development-branch/SKILL.md +200 -0
  336. package/src/templates/antigravity-skills/firebase/SKILL.md +56 -0
  337. package/src/templates/antigravity-skills/firecrawl-scraper/SKILL.md +37 -0
  338. package/src/templates/antigravity-skills/form-cro/SKILL.md +425 -0
  339. package/src/templates/antigravity-skills/free-tool-strategy/SKILL.md +576 -0
  340. package/src/templates/antigravity-skills/frontend-design/LICENSE.txt +177 -0
  341. package/src/templates/antigravity-skills/frontend-design/SKILL.md +42 -0
  342. package/src/templates/antigravity-skills/frontend-dev-guidelines/SKILL.md +399 -0
  343. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  344. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  345. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  346. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  347. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  348. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  349. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/performance.md +406 -0
  350. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  351. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  352. package/src/templates/antigravity-skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  353. package/src/templates/antigravity-skills/game-development/2d-games/SKILL.md +119 -0
  354. package/src/templates/antigravity-skills/game-development/3d-games/SKILL.md +135 -0
  355. package/src/templates/antigravity-skills/game-development/SKILL.md +167 -0
  356. package/src/templates/antigravity-skills/game-development/game-art/SKILL.md +185 -0
  357. package/src/templates/antigravity-skills/game-development/game-audio/SKILL.md +190 -0
  358. package/src/templates/antigravity-skills/game-development/game-design/SKILL.md +129 -0
  359. package/src/templates/antigravity-skills/game-development/mobile-games/SKILL.md +108 -0
  360. package/src/templates/antigravity-skills/game-development/multiplayer/SKILL.md +132 -0
  361. package/src/templates/antigravity-skills/game-development/pc-games/SKILL.md +144 -0
  362. package/src/templates/antigravity-skills/game-development/vr-ar/SKILL.md +123 -0
  363. package/src/templates/antigravity-skills/game-development/web-games/SKILL.md +150 -0
  364. package/src/templates/antigravity-skills/gcp-cloud-run/SKILL.md +288 -0
  365. package/src/templates/antigravity-skills/geo-fundamentals/SKILL.md +156 -0
  366. package/src/templates/antigravity-skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  367. package/src/templates/antigravity-skills/git-pushing/SKILL.md +33 -0
  368. package/src/templates/antigravity-skills/git-pushing/scripts/smart_commit.sh +19 -0
  369. package/src/templates/antigravity-skills/github-workflow-automation/SKILL.md +846 -0
  370. package/src/templates/antigravity-skills/graphql/SKILL.md +68 -0
  371. package/src/templates/antigravity-skills/html-injection-testing/SKILL.md +498 -0
  372. package/src/templates/antigravity-skills/hubspot-integration/SKILL.md +42 -0
  373. package/src/templates/antigravity-skills/i18n-localization/SKILL.md +154 -0
  374. package/src/templates/antigravity-skills/i18n-localization/scripts/i18n_checker.py +241 -0
  375. package/src/templates/antigravity-skills/idor-testing/SKILL.md +442 -0
  376. package/src/templates/antigravity-skills/inngest/SKILL.md +55 -0
  377. package/src/templates/antigravity-skills/interactive-portfolio/SKILL.md +223 -0
  378. package/src/templates/antigravity-skills/internal-comms-anthropic/LICENSE.txt +202 -0
  379. package/src/templates/antigravity-skills/internal-comms-anthropic/SKILL.md +32 -0
  380. package/src/templates/antigravity-skills/internal-comms-anthropic/examples/3p-updates.md +47 -0
  381. package/src/templates/antigravity-skills/internal-comms-anthropic/examples/company-newsletter.md +65 -0
  382. package/src/templates/antigravity-skills/internal-comms-anthropic/examples/faq-answers.md +30 -0
  383. package/src/templates/antigravity-skills/internal-comms-anthropic/examples/general-comms.md +16 -0
  384. package/src/templates/antigravity-skills/internal-comms-community/LICENSE.txt +202 -0
  385. package/src/templates/antigravity-skills/internal-comms-community/SKILL.md +32 -0
  386. package/src/templates/antigravity-skills/javascript-mastery/SKILL.md +645 -0
  387. package/src/templates/antigravity-skills/kaizen/SKILL.md +730 -0
  388. package/src/templates/antigravity-skills/langfuse/SKILL.md +238 -0
  389. package/src/templates/antigravity-skills/langgraph/SKILL.md +287 -0
  390. package/src/templates/antigravity-skills/launch-strategy/SKILL.md +344 -0
  391. package/src/templates/antigravity-skills/lint-and-validate/SKILL.md +45 -0
  392. package/src/templates/antigravity-skills/lint-and-validate/scripts/lint_runner.py +172 -0
  393. package/src/templates/antigravity-skills/lint-and-validate/scripts/type_coverage.py +173 -0
  394. package/src/templates/antigravity-skills/linux-privilege-escalation/SKILL.md +504 -0
  395. package/src/templates/antigravity-skills/linux-shell-scripting/SKILL.md +504 -0
  396. package/src/templates/antigravity-skills/llm-app-patterns/SKILL.md +760 -0
  397. package/src/templates/antigravity-skills/loki-mode/.github/workflows/claude-code-review.yml +57 -0
  398. package/src/templates/antigravity-skills/loki-mode/.github/workflows/claude.yml +50 -0
  399. package/src/templates/antigravity-skills/loki-mode/.github/workflows/release.yml +128 -0
  400. package/src/templates/antigravity-skills/loki-mode/ACKNOWLEDGEMENTS.md +184 -0
  401. package/src/templates/antigravity-skills/loki-mode/CHANGELOG.md +1822 -0
  402. package/src/templates/antigravity-skills/loki-mode/CLAUDE.md +120 -0
  403. package/src/templates/antigravity-skills/loki-mode/CONTEXT-EXPORT.md +206 -0
  404. package/src/templates/antigravity-skills/loki-mode/INSTALLATION.md +384 -0
  405. package/src/templates/antigravity-skills/loki-mode/LICENSE +21 -0
  406. package/src/templates/antigravity-skills/loki-mode/README.md +548 -0
  407. package/src/templates/antigravity-skills/loki-mode/SKILL.md +721 -0
  408. package/src/templates/antigravity-skills/loki-mode/VERSION +1 -0
  409. package/src/templates/antigravity-skills/loki-mode/autonomy/.loki/dashboard/index.html +497 -0
  410. package/src/templates/antigravity-skills/loki-mode/autonomy/CONSTITUTION.md +402 -0
  411. package/src/templates/antigravity-skills/loki-mode/autonomy/README.md +201 -0
  412. package/src/templates/antigravity-skills/loki-mode/autonomy/run.sh +1991 -0
  413. package/src/templates/antigravity-skills/loki-mode/benchmarks/datasets/humaneval.jsonl +164 -0
  414. package/src/templates/antigravity-skills/loki-mode/benchmarks/datasets/swebench-lite.json +10 -0
  415. package/src/templates/antigravity-skills/loki-mode/benchmarks/prepare-submission.sh +215 -0
  416. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/SUMMARY.md +48 -0
  417. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/humaneval-results.json +15 -0
  418. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/swebench-results.json +10 -0
  419. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/SUMMARY.md +50 -0
  420. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-results.json +1000 -0
  421. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/0.py +16 -0
  422. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/1.py +28 -0
  423. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/10.py +25 -0
  424. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/100.py +20 -0
  425. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/101.py +15 -0
  426. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/102.py +16 -0
  427. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/103.py +15 -0
  428. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/104.py +22 -0
  429. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/105.py +39 -0
  430. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/106.py +21 -0
  431. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/107.py +35 -0
  432. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/108.py +22 -0
  433. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/109.py +41 -0
  434. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/11.py +16 -0
  435. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/110.py +20 -0
  436. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/111.py +28 -0
  437. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/112.py +14 -0
  438. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/113.py +19 -0
  439. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/114.py +16 -0
  440. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/115.py +41 -0
  441. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/116.py +12 -0
  442. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/117.py +25 -0
  443. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/118.py +26 -0
  444. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/119.py +30 -0
  445. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/12.py +21 -0
  446. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/120.py +28 -0
  447. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/121.py +10 -0
  448. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/122.py +19 -0
  449. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/123.py +31 -0
  450. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/124.py +56 -0
  451. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/125.py +20 -0
  452. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/126.py +29 -0
  453. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/127.py +47 -0
  454. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/128.py +25 -0
  455. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/129.py +61 -0
  456. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/13.py +10 -0
  457. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/130.py +29 -0
  458. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/131.py +18 -0
  459. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/132.py +36 -0
  460. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/133.py +16 -0
  461. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/134.py +27 -0
  462. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/135.py +15 -0
  463. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/136.py +19 -0
  464. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/137.py +26 -0
  465. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/138.py +8 -0
  466. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/139.py +18 -0
  467. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/14.py +9 -0
  468. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/140.py +30 -0
  469. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/141.py +35 -0
  470. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/142.py +20 -0
  471. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/143.py +35 -0
  472. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/144.py +19 -0
  473. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/145.py +22 -0
  474. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/146.py +21 -0
  475. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/147.py +22 -0
  476. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/148.py +28 -0
  477. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/149.py +17 -0
  478. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/15.py +8 -0
  479. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/150.py +15 -0
  480. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/151.py +20 -0
  481. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/152.py +16 -0
  482. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/153.py +30 -0
  483. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/154.py +15 -0
  484. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/155.py +15 -0
  485. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/156.py +32 -0
  486. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/157.py +12 -0
  487. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/158.py +11 -0
  488. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/159.py +33 -0
  489. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/16.py +8 -0
  490. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/160.py +29 -0
  491. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/161.py +24 -0
  492. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/162.py +11 -0
  493. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/163.py +14 -0
  494. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/17.py +27 -0
  495. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/18.py +23 -0
  496. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/19.py +21 -0
  497. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/2.py +10 -0
  498. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/20.py +22 -0
  499. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/21.py +13 -0
  500. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/22.py +11 -0
  501. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/23.py +8 -0
  502. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/24.py +9 -0
  503. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/25.py +24 -0
  504. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/26.py +12 -0
  505. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/27.py +6 -0
  506. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/28.py +11 -0
  507. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/29.py +11 -0
  508. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/3.py +18 -0
  509. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/30.py +8 -0
  510. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/31.py +27 -0
  511. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/32.py +50 -0
  512. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/33.py +20 -0
  513. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/34.py +6 -0
  514. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/35.py +8 -0
  515. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/36.py +14 -0
  516. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/37.py +14 -0
  517. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/38.py +11 -0
  518. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/39.py +35 -0
  519. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/4.py +14 -0
  520. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/40.py +24 -0
  521. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/41.py +13 -0
  522. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/42.py +8 -0
  523. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/43.py +22 -0
  524. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/44.py +18 -0
  525. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/45.py +6 -0
  526. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/46.py +23 -0
  527. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/47.py +14 -0
  528. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/48.py +13 -0
  529. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/49.py +14 -0
  530. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/5.py +19 -0
  531. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/50.py +12 -0
  532. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/51.py +18 -0
  533. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/52.py +8 -0
  534. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/53.py +8 -0
  535. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/54.py +17 -0
  536. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/55.py +18 -0
  537. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/56.py +22 -0
  538. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/57.py +16 -0
  539. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/58.py +9 -0
  540. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/59.py +22 -0
  541. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/6.py +26 -0
  542. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/60.py +14 -0
  543. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/61.py +22 -0
  544. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/62.py +10 -0
  545. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/63.py +25 -0
  546. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/64.py +20 -0
  547. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/65.py +14 -0
  548. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/66.py +14 -0
  549. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/67.py +16 -0
  550. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/68.py +50 -0
  551. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/69.py +21 -0
  552. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/7.py +11 -0
  553. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/70.py +26 -0
  554. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/71.py +17 -0
  555. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/72.py +21 -0
  556. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/73.py +17 -0
  557. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/74.py +21 -0
  558. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/75.py +30 -0
  559. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/76.py +20 -0
  560. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/77.py +17 -0
  561. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/78.py +24 -0
  562. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/79.py +13 -0
  563. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/8.py +17 -0
  564. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/80.py +18 -0
  565. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/81.py +54 -0
  566. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/82.py +20 -0
  567. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/83.py +21 -0
  568. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/84.py +16 -0
  569. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/85.py +12 -0
  570. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/86.py +16 -0
  571. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/87.py +29 -0
  572. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/88.py +24 -0
  573. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/89.py +23 -0
  574. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/9.py +20 -0
  575. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/90.py +20 -0
  576. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/91.py +20 -0
  577. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/92.py +25 -0
  578. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/93.py +34 -0
  579. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/94.py +33 -0
  580. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/95.py +27 -0
  581. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/96.py +28 -0
  582. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/97.py +13 -0
  583. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/98.py +15 -0
  584. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/99.py +30 -0
  585. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/SUMMARY.md +48 -0
  586. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-12907.patch +16 -0
  587. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14182.patch +59 -0
  588. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14365.patch +21 -0
  589. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14995.patch +15 -0
  590. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-6938.patch +20 -0
  591. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-7746.patch +31 -0
  592. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-10914.patch +72 -0
  593. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-10924.patch +41 -0
  594. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11001.patch +80 -0
  595. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11019.patch +489 -0
  596. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11039.patch +87 -0
  597. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11049.patch +24 -0
  598. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11099.patch +28 -0
  599. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11133.patch +20 -0
  600. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11179.patch +49 -0
  601. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11283.patch +47 -0
  602. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11422.patch +25 -0
  603. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11564.patch +285 -0
  604. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11583.patch +22 -0
  605. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11620.patch +21 -0
  606. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11630.patch +45 -0
  607. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11742.patch +32 -0
  608. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11797.patch +38 -0
  609. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11815.patch +20 -0
  610. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11848.patch +21 -0
  611. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11905.patch +16 -0
  612. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11910.patch +29 -0
  613. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11964.patch +54 -0
  614. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11999.patch +15 -0
  615. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12113.patch +31 -0
  616. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12125.patch +27 -0
  617. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12184.patch +28 -0
  618. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12284.patch +31 -0
  619. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12286.patch +29 -0
  620. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12308.patch +22 -0
  621. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12453.patch +31 -0
  622. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12470.patch +53 -0
  623. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12497.patch +26 -0
  624. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12589.patch +157 -0
  625. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12700.patch +27 -0
  626. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12708.patch +64 -0
  627. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12747.patch +15 -0
  628. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12856.patch +16 -0
  629. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12908.patch +15 -0
  630. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12915.patch +82 -0
  631. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12983.patch +21 -0
  632. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13028.patch +13 -0
  633. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13033.patch +17 -0
  634. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13158.patch +14 -0
  635. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13220.patch +57 -0
  636. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13230.patch +14 -0
  637. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13265.patch +44 -0
  638. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13315.patch +53 -0
  639. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13321.patch +33 -0
  640. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13401.patch +30 -0
  641. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13447.patch +40 -0
  642. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13448.patch +203 -0
  643. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13551.patch +17 -0
  644. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13590.patch +17 -0
  645. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13658.patch +19 -0
  646. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13660.patch +27 -0
  647. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13710.patch +23 -0
  648. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13757.patch +51 -0
  649. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13768.patch +32 -0
  650. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13925.patch +116 -0
  651. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13933.patch +62 -0
  652. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13964.patch +17 -0
  653. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14016.patch +138 -0
  654. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14017.patch +88 -0
  655. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14155.patch +74 -0
  656. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14238.patch +132 -0
  657. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14382.patch +17 -0
  658. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14411.patch +16 -0
  659. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14534.patch +29 -0
  660. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14580.patch +15 -0
  661. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14608.patch +32 -0
  662. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14667.patch +33 -0
  663. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14672.patch +59 -0
  664. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14730.patch +80 -0
  665. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14752.patch +35 -0
  666. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14787.patch +24 -0
  667. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14855.patch +23 -0
  668. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14915.patch +19 -0
  669. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14997.patch +40 -0
  670. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14999.patch +26 -0
  671. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15061.patch +24 -0
  672. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15202.patch +18 -0
  673. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15213.patch +70 -0
  674. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15252.patch +63 -0
  675. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15320.patch +36 -0
  676. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15347.patch +36 -0
  677. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15388.patch +26 -0
  678. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15400.patch +14 -0
  679. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15498.patch +14 -0
  680. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15695.patch +32 -0
  681. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15738.patch +251 -0
  682. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15781.patch +18 -0
  683. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15789.patch +50 -0
  684. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15790.patch +34 -0
  685. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15814.patch +18 -0
  686. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15819.patch +127 -0
  687. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15851.patch +16 -0
  688. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15902.patch +15 -0
  689. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15996.patch +33 -0
  690. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16041.patch +30 -0
  691. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16046.patch +16 -0
  692. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16139.patch +19 -0
  693. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16229.patch +142 -0
  694. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16255.patch +21 -0
  695. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16379.patch +32 -0
  696. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16400.patch +34 -0
  697. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16408.patch +27 -0
  698. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16527.patch +14 -0
  699. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16595.patch +14 -0
  700. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16816.patch +30 -0
  701. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16820.patch +188 -0
  702. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16873.patch +37 -0
  703. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-17051.patch +51 -0
  704. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-17087.patch +21 -0
  705. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-18869.patch +75 -0
  706. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-22711.patch +42 -0
  707. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-22835.patch +58 -0
  708. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23299.patch +92 -0
  709. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23314.patch +16 -0
  710. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23476.patch +73 -0
  711. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23562.patch +33 -0
  712. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23563.patch +22 -0
  713. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23913.patch +207 -0
  714. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23964.patch +29 -0
  715. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23987.patch +43 -0
  716. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24149.patch +27 -0
  717. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24265.patch +76 -0
  718. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24334.patch +17 -0
  719. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24970.patch +24 -0
  720. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25079.patch +15 -0
  721. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25311.patch +29 -0
  722. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25332.patch +28 -0
  723. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25433.patch +240 -0
  724. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25442.patch +28 -0
  725. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25498.patch +79 -0
  726. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-26011.patch +90 -0
  727. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-26020.patch +35 -0
  728. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-2848.patch +55 -0
  729. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3010.patch +60 -0
  730. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3190.patch +18 -0
  731. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3407.patch +28 -0
  732. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-4045.patch +23 -0
  733. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-4992.patch +33 -0
  734. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-5063.patch +99 -0
  735. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-1963.patch +117 -0
  736. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2148.patch +37 -0
  737. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2317.patch +54 -0
  738. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2674.patch +157 -0
  739. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-3362.patch +19 -0
  740. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-863.patch +35 -0
  741. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-3364.patch +392 -0
  742. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4094.patch +40 -0
  743. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4248.patch +124 -0
  744. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4493.patch +39 -0
  745. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-5131.patch +45 -0
  746. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-5859.patch +13 -0
  747. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-6506.patch +25 -0
  748. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7080.patch +33 -0
  749. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7114.patch +161 -0
  750. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7228.patch +34 -0
  751. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7993.patch +21 -0
  752. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-11143.patch +25 -0
  753. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-11148.patch +57 -0
  754. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5103.patch +345 -0
  755. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5221.patch +28 -0
  756. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5227.patch +16 -0
  757. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5413.patch +35 -0
  758. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5495.patch +24 -0
  759. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5692.patch +33 -0
  760. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-6116.patch +12 -0
  761. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7168.patch +28 -0
  762. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7220.patch +535 -0
  763. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7373.patch +47 -0
  764. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7432.patch +76 -0
  765. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7490.patch +61 -0
  766. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-8365.patch +123 -0
  767. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-8906.patch +38 -0
  768. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-9359.patch +22 -0
  769. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10297.patch +53 -0
  770. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10508.patch +17 -0
  771. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10949.patch +94 -0
  772. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-11040.patch +39 -0
  773. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-11281.patch +65 -0
  774. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-12471.patch +54 -0
  775. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13142.patch +35 -0
  776. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13241.patch +29 -0
  777. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13439.patch +34 -0
  778. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13496.patch +59 -0
  779. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13497.patch +15 -0
  780. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13584.patch +25 -0
  781. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13779.patch +16 -0
  782. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14087.patch +33 -0
  783. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14092.patch +35 -0
  784. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14894.patch +24 -0
  785. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14983.patch +23 -0
  786. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-15512.patch +77 -0
  787. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-15535.patch +44 -0
  788. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25500.patch +64 -0
  789. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25570.patch +96 -0
  790. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25638.patch +52 -0
  791. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25747.patch +29 -0
  792. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-10325.patch +185 -0
  793. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-10451.patch +129 -0
  794. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-11445.patch +119 -0
  795. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7686.patch +19 -0
  796. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7738.patch +37 -0
  797. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7975.patch +89 -0
  798. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8273.patch +38 -0
  799. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8282.patch +95 -0
  800. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8435.patch +104 -0
  801. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8474.patch +73 -0
  802. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8506.patch +49 -0
  803. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8595.patch +15 -0
  804. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8627.patch +50 -0
  805. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8713.patch +41 -0
  806. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8721.patch +25 -0
  807. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8801.patch +73 -0
  808. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11400.patch +27 -0
  809. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11870.patch +96 -0
  810. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11897.patch +134 -0
  811. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12171.patch +17 -0
  812. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12236.patch +20 -0
  813. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12419.patch +35 -0
  814. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12454.patch +55 -0
  815. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12481.patch +68 -0
  816. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13031.patch +33 -0
  817. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13043.patch +35 -0
  818. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13146.patch +32 -0
  819. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13177.patch +36 -0
  820. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13437.patch +15 -0
  821. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13471.patch +26 -0
  822. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13480.patch +13 -0
  823. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13647.patch +41 -0
  824. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13773.patch +22 -0
  825. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13895.patch +28 -0
  826. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13915.patch +97 -0
  827. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13971.patch +19 -0
  828. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14024.patch +27 -0
  829. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14308.patch +20 -0
  830. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14317.patch +42 -0
  831. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14396.patch +38 -0
  832. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14774.patch +13 -0
  833. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14817.patch +54 -0
  834. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15011.patch +38 -0
  835. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15308.patch +21 -0
  836. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15345.patch +27 -0
  837. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15346.patch +26 -0
  838. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15609.patch +29 -0
  839. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15678.patch +92 -0
  840. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16106.patch +78 -0
  841. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16281.patch +141 -0
  842. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16503.patch +69 -0
  843. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16792.patch +16 -0
  844. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16988.patch +16 -0
  845. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17022.patch +65 -0
  846. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17139.patch +33 -0
  847. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17630.patch +90 -0
  848. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17655.patch +23 -0
  849. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18057.patch +28 -0
  850. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18087.patch +81 -0
  851. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18189.patch +13 -0
  852. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18199.patch +23 -0
  853. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18532.patch +130 -0
  854. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18621.patch +15 -0
  855. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18698.patch +105 -0
  856. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18835.patch +30 -0
  857. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19007.patch +66 -0
  858. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19254.patch +72 -0
  859. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19487.patch +23 -0
  860. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20049.patch +125 -0
  861. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20154.patch +46 -0
  862. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20212.patch +17 -0
  863. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20322.patch +24 -0
  864. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20442.patch +27 -0
  865. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20590.patch +23 -0
  866. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20639.patch +66 -0
  867. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21055.patch +56 -0
  868. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21171.patch +36 -0
  869. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21379.patch +36 -0
  870. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21612.patch +26 -0
  871. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21614.patch +37 -0
  872. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21627.patch +26 -0
  873. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21847.patch +24 -0
  874. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22005.patch +36 -0
  875. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22714.patch +486 -0
  876. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22840.patch +76 -0
  877. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23117.patch +24 -0
  878. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23191.patch +302 -0
  879. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23262.patch +13 -0
  880. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24066.patch +66 -0
  881. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24102.patch +12 -0
  882. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24152.patch +25 -0
  883. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24213.patch +25 -0
  884. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24909.patch +19 -0
  885. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-predictions.json +1502 -0
  886. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-results.json +1516 -0
  887. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/SUMMARY.md +48 -0
  888. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-12907.patch +31 -0
  889. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14182.patch +42 -0
  890. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14365.patch +50 -0
  891. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14995.patch +17 -0
  892. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-6938.patch +13 -0
  893. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-7746.patch +21 -0
  894. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-10914.patch +76 -0
  895. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-10924.patch +33 -0
  896. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11001.patch +35 -0
  897. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11019.patch +90 -0
  898. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11039.patch +37 -0
  899. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11049.patch +10 -0
  900. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11099.patch +24 -0
  901. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11133.patch +21 -0
  902. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11179.patch +47 -0
  903. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11283.patch +35 -0
  904. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11422.patch +18 -0
  905. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11564.patch +62 -0
  906. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11583.patch +25 -0
  907. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11620.patch +19 -0
  908. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11630.patch +79 -0
  909. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11742.patch +38 -0
  910. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11797.patch +15 -0
  911. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11815.patch +20 -0
  912. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11848.patch +19 -0
  913. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11905.patch +18 -0
  914. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11910.patch +17 -0
  915. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11964.patch +31 -0
  916. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11999.patch +26 -0
  917. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12113.patch +27 -0
  918. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12125.patch +17 -0
  919. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12184.patch +83 -0
  920. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12284.patch +21 -0
  921. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12286.patch +21 -0
  922. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12308.patch +24 -0
  923. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12453.patch +31 -0
  924. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12470.patch +137 -0
  925. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12497.patch +21 -0
  926. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12589.patch +28 -0
  927. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12700.patch +17 -0
  928. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12708.patch +22 -0
  929. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12747.patch +43 -0
  930. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12856.patch +61 -0
  931. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12908.patch +19 -0
  932. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12915.patch +39 -0
  933. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12983.patch +21 -0
  934. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13028.patch +13 -0
  935. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13033.patch +26 -0
  936. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13158.patch +12 -0
  937. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13220.patch +55 -0
  938. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-predictions.json +252 -0
  939. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-results.json +266 -0
  940. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/SUMMARY.md +32 -0
  941. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-12907.patch +23 -0
  942. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14182.patch +19 -0
  943. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14365.patch +44 -0
  944. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14995.patch +19 -0
  945. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-6938.patch +14 -0
  946. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-7746.patch +28 -0
  947. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-10914.patch +76 -0
  948. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-10924.patch +25 -0
  949. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11001.patch +20 -0
  950. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11019.patch +158 -0
  951. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11039.patch +38 -0
  952. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11049.patch +18 -0
  953. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11099.patch +24 -0
  954. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11133.patch +15 -0
  955. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11179.patch +14 -0
  956. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11283.patch +29 -0
  957. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11422.patch +21 -0
  958. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11564.patch +140 -0
  959. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11583.patch +24 -0
  960. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11620.patch +18 -0
  961. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11630.patch +38 -0
  962. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11742.patch +49 -0
  963. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11797.patch +18 -0
  964. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11815.patch +22 -0
  965. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11848.patch +24 -0
  966. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11905.patch +32 -0
  967. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11910.patch +100 -0
  968. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11964.patch +62 -0
  969. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11999.patch +20 -0
  970. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12113.patch +24 -0
  971. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12125.patch +17 -0
  972. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12184.patch +82 -0
  973. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12284.patch +15 -0
  974. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12286.patch +41 -0
  975. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12308.patch +31 -0
  976. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12453.patch +32 -0
  977. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12470.patch +21 -0
  978. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12497.patch +17 -0
  979. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12589.patch +56 -0
  980. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12700.patch +28 -0
  981. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12708.patch +61 -0
  982. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12747.patch +15 -0
  983. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12856.patch +62 -0
  984. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12908.patch +21 -0
  985. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12915.patch +18 -0
  986. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12983.patch +21 -0
  987. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13028.patch +18 -0
  988. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13033.patch +15 -0
  989. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13158.patch +15 -0
  990. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13220.patch +126 -0
  991. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13230.patch +24 -0
  992. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13265.patch +87 -0
  993. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13315.patch +16 -0
  994. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13321.patch +29 -0
  995. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13401.patch +31 -0
  996. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13447.patch +42 -0
  997. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13448.patch +94 -0
  998. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13551.patch +16 -0
  999. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13590.patch +15 -0
  1000. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13658.patch +22 -0
  1001. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13660.patch +22 -0
  1002. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13710.patch +42 -0
  1003. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13757.patch +32 -0
  1004. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13768.patch +32 -0
  1005. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13925.patch +20 -0
  1006. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13933.patch +31 -0
  1007. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13964.patch +15 -0
  1008. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14016.patch +103 -0
  1009. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14017.patch +20 -0
  1010. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14155.patch +121 -0
  1011. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14238.patch +14 -0
  1012. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14382.patch +15 -0
  1013. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14411.patch +16 -0
  1014. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14534.patch +15 -0
  1015. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14580.patch +15 -0
  1016. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14608.patch +34 -0
  1017. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14667.patch +29 -0
  1018. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14672.patch +12 -0
  1019. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14730.patch +43 -0
  1020. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14752.patch +32 -0
  1021. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14787.patch +35 -0
  1022. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14855.patch +23 -0
  1023. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14915.patch +21 -0
  1024. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14997.patch +15 -0
  1025. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14999.patch +28 -0
  1026. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15061.patch +19 -0
  1027. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15202.patch +22 -0
  1028. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15213.patch +16 -0
  1029. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15252.patch +59 -0
  1030. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15320.patch +13 -0
  1031. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15347.patch +15 -0
  1032. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15388.patch +25 -0
  1033. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15400.patch +19 -0
  1034. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15498.patch +14 -0
  1035. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15695.patch +39 -0
  1036. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15738.patch +185 -0
  1037. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15781.patch +20 -0
  1038. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15789.patch +69 -0
  1039. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15790.patch +38 -0
  1040. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15814.patch +14 -0
  1041. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15819.patch +101 -0
  1042. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15851.patch +40 -0
  1043. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15902.patch +17 -0
  1044. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15996.patch +28 -0
  1045. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16041.patch +27 -0
  1046. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16046.patch +17 -0
  1047. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16139.patch +15 -0
  1048. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16229.patch +19 -0
  1049. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16255.patch +17 -0
  1050. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16379.patch +21 -0
  1051. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16400.patch +29 -0
  1052. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16408.patch +39 -0
  1053. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16527.patch +14 -0
  1054. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16595.patch +39 -0
  1055. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16816.patch +27 -0
  1056. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16820.patch +98 -0
  1057. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16873.patch +23 -0
  1058. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16910.patch +39 -0
  1059. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-17051.patch +15 -0
  1060. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-17087.patch +19 -0
  1061. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-18869.patch +29 -0
  1062. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-22711.patch +38 -0
  1063. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-22835.patch +27 -0
  1064. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23299.patch +65 -0
  1065. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23314.patch +15 -0
  1066. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23476.patch +19 -0
  1067. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23562.patch +23 -0
  1068. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23563.patch +14 -0
  1069. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23913.patch +95 -0
  1070. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23964.patch +14 -0
  1071. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23987.patch +55 -0
  1072. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24149.patch +20 -0
  1073. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24265.patch +52 -0
  1074. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24334.patch +23 -0
  1075. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24970.patch +24 -0
  1076. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25079.patch +38 -0
  1077. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25311.patch +62 -0
  1078. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25332.patch +42 -0
  1079. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25433.patch +126 -0
  1080. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25442.patch +27 -0
  1081. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25498.patch +67 -0
  1082. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-26011.patch +55 -0
  1083. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-26020.patch +42 -0
  1084. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-2848.patch +95 -0
  1085. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3010.patch +17 -0
  1086. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3190.patch +73 -0
  1087. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3407.patch +31 -0
  1088. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-4045.patch +21 -0
  1089. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-4992.patch +47 -0
  1090. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-5063.patch +90 -0
  1091. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-1963.patch +29 -0
  1092. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2148.patch +79 -0
  1093. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2317.patch +38 -0
  1094. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2674.patch +58 -0
  1095. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-3362.patch +17 -0
  1096. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-863.patch +20 -0
  1097. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-3364.patch +159 -0
  1098. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4094.patch +17 -0
  1099. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4248.patch +134 -0
  1100. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4493.patch +20 -0
  1101. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-5131.patch +23 -0
  1102. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-5859.patch +15 -0
  1103. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-6506.patch +36 -0
  1104. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7080.patch +31 -0
  1105. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7114.patch +51 -0
  1106. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7228.patch +80 -0
  1107. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7993.patch +54 -0
  1108. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-11143.patch +17 -0
  1109. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-11148.patch +27 -0
  1110. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5103.patch +350 -0
  1111. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5221.patch +18 -0
  1112. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5227.patch +15 -0
  1113. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5413.patch +20 -0
  1114. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5495.patch +44 -0
  1115. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5692.patch +69 -0
  1116. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-6116.patch +17 -0
  1117. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7168.patch +14 -0
  1118. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7220.patch +391 -0
  1119. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7373.patch +48 -0
  1120. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7432.patch +99 -0
  1121. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7490.patch +4 -0
  1122. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-8365.patch +27 -0
  1123. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-8906.patch +23 -0
  1124. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-9359.patch +89 -0
  1125. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10297.patch +22 -0
  1126. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10508.patch +37 -0
  1127. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10949.patch +66 -0
  1128. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-11040.patch +147 -0
  1129. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-11281.patch +107 -0
  1130. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-12471.patch +22 -0
  1131. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13142.patch +19 -0
  1132. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13241.patch +26 -0
  1133. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13439.patch +29 -0
  1134. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13496.patch +62 -0
  1135. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13497.patch +23 -0
  1136. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13584.patch +38 -0
  1137. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13779.patch +16 -0
  1138. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14087.patch +17 -0
  1139. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14092.patch +61 -0
  1140. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14894.patch +45 -0
  1141. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14983.patch +36 -0
  1142. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-15512.patch +143 -0
  1143. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-15535.patch +17 -0
  1144. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25500.patch +79 -0
  1145. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25570.patch +71 -0
  1146. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25638.patch +70 -0
  1147. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25747.patch +14 -0
  1148. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-10325.patch +153 -0
  1149. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-10451.patch +99 -0
  1150. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-11445.patch +67 -0
  1151. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7686.patch +50 -0
  1152. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7738.patch +22 -0
  1153. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7975.patch +92 -0
  1154. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8273.patch +103 -0
  1155. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8282.patch +45 -0
  1156. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8435.patch +56 -0
  1157. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8474.patch +21 -0
  1158. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8506.patch +33 -0
  1159. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8595.patch +45 -0
  1160. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8627.patch +62 -0
  1161. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8713.patch +19 -0
  1162. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8721.patch +17 -0
  1163. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8801.patch +101 -0
  1164. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11400.patch +55 -0
  1165. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11870.patch +47 -0
  1166. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11897.patch +152 -0
  1167. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12171.patch +20 -0
  1168. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12236.patch +17 -0
  1169. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12419.patch +37 -0
  1170. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12454.patch +22 -0
  1171. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12481.patch +44 -0
  1172. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13031.patch +71 -0
  1173. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13043.patch +25 -0
  1174. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13146.patch +54 -0
  1175. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13177.patch +14 -0
  1176. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13437.patch +17 -0
  1177. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13471.patch +15 -0
  1178. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13480.patch +19 -0
  1179. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13647.patch +22 -0
  1180. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13773.patch +32 -0
  1181. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13895.patch +55 -0
  1182. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13915.patch +70 -0
  1183. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13971.patch +20 -0
  1184. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14024.patch +56 -0
  1185. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14308.patch +189 -0
  1186. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14317.patch +41 -0
  1187. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14396.patch +32 -0
  1188. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14774.patch +15 -0
  1189. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14817.patch +19 -0
  1190. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15011.patch +31 -0
  1191. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15308.patch +21 -0
  1192. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15345.patch +13 -0
  1193. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15346.patch +21 -0
  1194. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15609.patch +11 -0
  1195. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15678.patch +87 -0
  1196. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16106.patch +66 -0
  1197. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16281.patch +88 -0
  1198. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16503.patch +18 -0
  1199. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16792.patch +20 -0
  1200. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16988.patch +22 -0
  1201. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17022.patch +38 -0
  1202. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17139.patch +48 -0
  1203. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17630.patch +116 -0
  1204. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17655.patch +27 -0
  1205. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18057.patch +31 -0
  1206. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18087.patch +55 -0
  1207. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18189.patch +15 -0
  1208. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18199.patch +25 -0
  1209. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18532.patch +84 -0
  1210. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18621.patch +21 -0
  1211. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18698.patch +60 -0
  1212. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18835.patch +39 -0
  1213. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19007.patch +143 -0
  1214. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19254.patch +79 -0
  1215. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19487.patch +37 -0
  1216. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20049.patch +37 -0
  1217. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20154.patch +27 -0
  1218. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20212.patch +15 -0
  1219. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20322.patch +23 -0
  1220. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20442.patch +73 -0
  1221. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20590.patch +16 -0
  1222. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20639.patch +20 -0
  1223. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21055.patch +47 -0
  1224. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21171.patch +27 -0
  1225. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21379.patch +27 -0
  1226. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21612.patch +46 -0
  1227. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21614.patch +23 -0
  1228. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21627.patch +28 -0
  1229. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21847.patch +24 -0
  1230. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22005.patch +36 -0
  1231. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22714.patch +19 -0
  1232. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22840.patch +19 -0
  1233. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23117.patch +18 -0
  1234. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23191.patch +42 -0
  1235. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23262.patch +18 -0
  1236. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24066.patch +26 -0
  1237. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24102.patch +17 -0
  1238. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24152.patch +23 -0
  1239. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24213.patch +18 -0
  1240. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24909.patch +39 -0
  1241. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-predictions.json +1802 -0
  1242. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-results.json +1816 -0
  1243. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/SUMMARY.md +32 -0
  1244. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-results.json +1001 -0
  1245. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/0.py +21 -0
  1246. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/1.py +36 -0
  1247. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/10.py +30 -0
  1248. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/100.py +23 -0
  1249. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/101.py +17 -0
  1250. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/102.py +21 -0
  1251. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/103.py +22 -0
  1252. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/104.py +23 -0
  1253. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/105.py +34 -0
  1254. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/106.py +26 -0
  1255. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/107.py +40 -0
  1256. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/108.py +27 -0
  1257. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/109.py +53 -0
  1258. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/11.py +21 -0
  1259. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/110.py +25 -0
  1260. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/111.py +34 -0
  1261. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/112.py +20 -0
  1262. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/113.py +25 -0
  1263. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/114.py +24 -0
  1264. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/115.py +41 -0
  1265. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/116.py +17 -0
  1266. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/117.py +30 -0
  1267. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/118.py +31 -0
  1268. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/119.py +35 -0
  1269. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/12.py +27 -0
  1270. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/120.py +33 -0
  1271. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/121.py +15 -0
  1272. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/122.py +24 -0
  1273. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/123.py +35 -0
  1274. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/124.py +58 -0
  1275. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/125.py +25 -0
  1276. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/126.py +34 -0
  1277. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/127.py +41 -0
  1278. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/128.py +31 -0
  1279. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/129.py +62 -0
  1280. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/13.py +17 -0
  1281. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/130.py +35 -0
  1282. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/131.py +24 -0
  1283. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/132.py +32 -0
  1284. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/133.py +21 -0
  1285. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/134.py +23 -0
  1286. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/135.py +20 -0
  1287. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/136.py +24 -0
  1288. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/137.py +31 -0
  1289. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/138.py +13 -0
  1290. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/139.py +23 -0
  1291. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/14.py +14 -0
  1292. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/140.py +26 -0
  1293. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/141.py +42 -0
  1294. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/142.py +25 -0
  1295. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/143.py +40 -0
  1296. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/144.py +24 -0
  1297. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/145.py +24 -0
  1298. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/146.py +21 -0
  1299. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/147.py +32 -0
  1300. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/148.py +33 -0
  1301. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/149.py +22 -0
  1302. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/15.py +13 -0
  1303. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/150.py +26 -0
  1304. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/151.py +22 -0
  1305. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/152.py +21 -0
  1306. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/153.py +32 -0
  1307. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/154.py +25 -0
  1308. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/155.py +20 -0
  1309. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/156.py +39 -0
  1310. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/157.py +28 -0
  1311. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/158.py +16 -0
  1312. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/159.py +36 -0
  1313. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/16.py +13 -0
  1314. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/160.py +34 -0
  1315. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/161.py +29 -0
  1316. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/162.py +16 -0
  1317. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/163.py +18 -0
  1318. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/17.py +27 -0
  1319. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/18.py +23 -0
  1320. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/19.py +34 -0
  1321. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/2.py +15 -0
  1322. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/20.py +27 -0
  1323. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/21.py +18 -0
  1324. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/22.py +16 -0
  1325. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/23.py +13 -0
  1326. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/24.py +14 -0
  1327. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/25.py +29 -0
  1328. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/26.py +17 -0
  1329. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/27.py +11 -0
  1330. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/28.py +16 -0
  1331. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/29.py +16 -0
  1332. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/3.py +23 -0
  1333. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/30.py +13 -0
  1334. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/31.py +34 -0
  1335. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/32.py +37 -0
  1336. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/33.py +19 -0
  1337. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/34.py +11 -0
  1338. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/35.py +13 -0
  1339. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/36.py +19 -0
  1340. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/37.py +19 -0
  1341. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/38.py +25 -0
  1342. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/39.py +40 -0
  1343. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/4.py +23 -0
  1344. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/40.py +43 -0
  1345. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/41.py +18 -0
  1346. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/42.py +13 -0
  1347. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/43.py +27 -0
  1348. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/44.py +25 -0
  1349. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/45.py +11 -0
  1350. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/46.py +35 -0
  1351. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/47.py +19 -0
  1352. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/48.py +18 -0
  1353. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/49.py +26 -0
  1354. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/5.py +25 -0
  1355. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/50.py +10 -0
  1356. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/51.py +23 -0
  1357. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/52.py +13 -0
  1358. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/53.py +13 -0
  1359. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/54.py +22 -0
  1360. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/55.py +20 -0
  1361. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/56.py +27 -0
  1362. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/57.py +27 -0
  1363. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/58.py +14 -0
  1364. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/59.py +32 -0
  1365. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/6.py +33 -0
  1366. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/60.py +19 -0
  1367. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/61.py +27 -0
  1368. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/62.py +15 -0
  1369. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/63.py +30 -0
  1370. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/64.py +29 -0
  1371. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/65.py +18 -0
  1372. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/66.py +23 -0
  1373. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/67.py +22 -0
  1374. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/68.py +55 -0
  1375. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/69.py +26 -0
  1376. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/7.py +16 -0
  1377. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/70.py +35 -0
  1378. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/71.py +29 -0
  1379. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/72.py +24 -0
  1380. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/73.py +22 -0
  1381. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/74.py +26 -0
  1382. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/75.py +42 -0
  1383. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/76.py +25 -0
  1384. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/77.py +25 -0
  1385. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/78.py +29 -0
  1386. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/79.py +18 -0
  1387. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/8.py +24 -0
  1388. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/80.py +26 -0
  1389. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/81.py +61 -0
  1390. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/82.py +21 -0
  1391. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/83.py +13 -0
  1392. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/84.py +21 -0
  1393. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/85.py +17 -0
  1394. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/86.py +21 -0
  1395. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/87.py +31 -0
  1396. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/88.py +29 -0
  1397. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/89.py +25 -0
  1398. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/9.py +25 -0
  1399. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/90.py +21 -0
  1400. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/91.py +31 -0
  1401. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/92.py +29 -0
  1402. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/93.py +30 -0
  1403. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/94.py +32 -0
  1404. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/95.py +32 -0
  1405. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/96.py +38 -0
  1406. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/97.py +16 -0
  1407. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/98.py +20 -0
  1408. package/src/templates/antigravity-skills/loki-mode/benchmarks/results/humaneval-loki-solutions/99.py +36 -0
  1409. package/src/templates/antigravity-skills/loki-mode/benchmarks/run-benchmarks.sh +1948 -0
  1410. package/src/templates/antigravity-skills/loki-mode/benchmarks/submission-template/README.md +111 -0
  1411. package/src/templates/antigravity-skills/loki-mode/benchmarks/submission-template/metadata.yaml +76 -0
  1412. package/src/templates/antigravity-skills/loki-mode/demo/README.md +137 -0
  1413. package/src/templates/antigravity-skills/loki-mode/demo/loki-demo.gif +0 -0
  1414. package/src/templates/antigravity-skills/loki-mode/demo/record-demo.sh +69 -0
  1415. package/src/templates/antigravity-skills/loki-mode/demo/record-full-demo.sh +208 -0
  1416. package/src/templates/antigravity-skills/loki-mode/demo/recordings/loki-demo.cast +93 -0
  1417. package/src/templates/antigravity-skills/loki-mode/demo/run-demo-auto.sh +293 -0
  1418. package/src/templates/antigravity-skills/loki-mode/demo/run-demo.sh +323 -0
  1419. package/src/templates/antigravity-skills/loki-mode/demo/vhs-tape.tape +223 -0
  1420. package/src/templates/antigravity-skills/loki-mode/demo/voice-over-script.md +246 -0
  1421. package/src/templates/antigravity-skills/loki-mode/docs/COMPETITIVE-ANALYSIS.md +333 -0
  1422. package/src/templates/antigravity-skills/loki-mode/docs/screenshots/README.md +149 -0
  1423. package/src/templates/antigravity-skills/loki-mode/docs/screenshots/dashboard-agents.png +0 -0
  1424. package/src/templates/antigravity-skills/loki-mode/docs/screenshots/dashboard-tasks.png +0 -0
  1425. package/src/templates/antigravity-skills/loki-mode/examples/api-only.md +79 -0
  1426. package/src/templates/antigravity-skills/loki-mode/examples/full-stack-demo.md +123 -0
  1427. package/src/templates/antigravity-skills/loki-mode/examples/simple-todo-app.md +60 -0
  1428. package/src/templates/antigravity-skills/loki-mode/examples/static-landing-page.md +73 -0
  1429. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/.loki/CONTINUITY.md +59 -0
  1430. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/.loki/queue/completed.json +1 -0
  1431. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/.loki/queue/dead-letter.json +1 -0
  1432. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/.loki/queue/failed.json +1 -0
  1433. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/.loki/queue/in-progress.json +1 -0
  1434. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/.loki/queue/pending.json +382 -0
  1435. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/.loki/state/orchestrator.json +41 -0
  1436. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/E2E_VERIFICATION_REPORT.md +668 -0
  1437. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/PRD.md +60 -0
  1438. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/TASK_018_COMPLETION.md +229 -0
  1439. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/TESTING_DOCUMENTATION.md +327 -0
  1440. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/TEST_REPORT.md +201 -0
  1441. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/VERIFICATION_SUMMARY.txt +362 -0
  1442. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +2698 -0
  1443. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/package.json +26 -0
  1444. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/db/database.ts +24 -0
  1445. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/db/db.ts +35 -0
  1446. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/db/index.ts +2 -0
  1447. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/db/migrations.ts +31 -0
  1448. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/db/schema.sql +8 -0
  1449. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/index.ts +44 -0
  1450. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/routes/todos.ts +155 -0
  1451. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/src/types/index.ts +35 -0
  1452. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/todos.db-shm +0 -0
  1453. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/todos.db-wal +0 -0
  1454. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/backend/tsconfig.json +30 -0
  1455. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/index.html +13 -0
  1456. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +2014 -0
  1457. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/package.json +26 -0
  1458. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/App.css +384 -0
  1459. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/App.tsx +81 -0
  1460. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/api/todos.ts +57 -0
  1461. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/components/ConfirmDialog.tsx +26 -0
  1462. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/components/EmptyState.tsx +8 -0
  1463. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoForm.tsx +43 -0
  1464. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoItem.tsx +36 -0
  1465. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoList.tsx +27 -0
  1466. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/hooks/useTodos.ts +81 -0
  1467. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/index.css +48 -0
  1468. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/main.tsx +10 -0
  1469. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/src/vite-env.d.ts +1 -0
  1470. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/tsconfig.json +23 -0
  1471. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/tsconfig.node.json +10 -0
  1472. package/src/templates/antigravity-skills/loki-mode/examples/todo-app-generated/frontend/vite.config.ts +15 -0
  1473. package/src/templates/antigravity-skills/loki-mode/integrations/vibe-kanban.md +194 -0
  1474. package/src/templates/antigravity-skills/loki-mode/references/advanced-patterns.md +453 -0
  1475. package/src/templates/antigravity-skills/loki-mode/references/agent-types.md +188 -0
  1476. package/src/templates/antigravity-skills/loki-mode/references/agents.md +1043 -0
  1477. package/src/templates/antigravity-skills/loki-mode/references/business-ops.md +550 -0
  1478. package/src/templates/antigravity-skills/loki-mode/references/core-workflow.md +275 -0
  1479. package/src/templates/antigravity-skills/loki-mode/references/deployment.md +604 -0
  1480. package/src/templates/antigravity-skills/loki-mode/references/lab-research-patterns.md +534 -0
  1481. package/src/templates/antigravity-skills/loki-mode/references/memory-system.md +444 -0
  1482. package/src/templates/antigravity-skills/loki-mode/references/openai-patterns.md +647 -0
  1483. package/src/templates/antigravity-skills/loki-mode/references/production-patterns.md +568 -0
  1484. package/src/templates/antigravity-skills/loki-mode/references/quality-control.md +437 -0
  1485. package/src/templates/antigravity-skills/loki-mode/references/sdlc-phases.md +410 -0
  1486. package/src/templates/antigravity-skills/loki-mode/references/task-queue.md +361 -0
  1487. package/src/templates/antigravity-skills/loki-mode/references/tool-orchestration.md +691 -0
  1488. package/src/templates/antigravity-skills/loki-mode/scripts/export-to-vibe-kanban.sh +178 -0
  1489. package/src/templates/antigravity-skills/loki-mode/scripts/loki-wrapper.sh +281 -0
  1490. package/src/templates/antigravity-skills/loki-mode/scripts/take-screenshots.js +55 -0
  1491. package/src/templates/antigravity-skills/loki-mode/tests/run-all-tests.sh +78 -0
  1492. package/src/templates/antigravity-skills/loki-mode/tests/test-agent-timeout.sh +348 -0
  1493. package/src/templates/antigravity-skills/loki-mode/tests/test-bootstrap.sh +196 -0
  1494. package/src/templates/antigravity-skills/loki-mode/tests/test-circuit-breaker.sh +389 -0
  1495. package/src/templates/antigravity-skills/loki-mode/tests/test-state-recovery.sh +393 -0
  1496. package/src/templates/antigravity-skills/loki-mode/tests/test-task-queue.sh +396 -0
  1497. package/src/templates/antigravity-skills/loki-mode/tests/test-wrapper.sh +314 -0
  1498. package/src/templates/antigravity-skills/marketing-ideas/SKILL.md +565 -0
  1499. package/src/templates/antigravity-skills/marketing-psychology/SKILL.md +451 -0
  1500. package/src/templates/antigravity-skills/mcp-builder/LICENSE.txt +202 -0
  1501. package/src/templates/antigravity-skills/mcp-builder/SKILL.md +236 -0
  1502. package/src/templates/antigravity-skills/mcp-builder/reference/evaluation.md +602 -0
  1503. package/src/templates/antigravity-skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  1504. package/src/templates/antigravity-skills/mcp-builder/reference/node_mcp_server.md +970 -0
  1505. package/src/templates/antigravity-skills/mcp-builder/reference/python_mcp_server.md +719 -0
  1506. package/src/templates/antigravity-skills/mcp-builder/scripts/connections.py +151 -0
  1507. package/src/templates/antigravity-skills/mcp-builder/scripts/evaluation.py +373 -0
  1508. package/src/templates/antigravity-skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  1509. package/src/templates/antigravity-skills/mcp-builder/scripts/requirements.txt +2 -0
  1510. package/src/templates/antigravity-skills/metasploit-framework/SKILL.md +478 -0
  1511. package/src/templates/antigravity-skills/micro-saas-launcher/SKILL.md +212 -0
  1512. package/src/templates/antigravity-skills/mobile-design/SKILL.md +394 -0
  1513. package/src/templates/antigravity-skills/mobile-design/decision-trees.md +516 -0
  1514. package/src/templates/antigravity-skills/mobile-design/mobile-backend.md +491 -0
  1515. package/src/templates/antigravity-skills/mobile-design/mobile-color-system.md +420 -0
  1516. package/src/templates/antigravity-skills/mobile-design/mobile-debugging.md +122 -0
  1517. package/src/templates/antigravity-skills/mobile-design/mobile-design-thinking.md +357 -0
  1518. package/src/templates/antigravity-skills/mobile-design/mobile-navigation.md +458 -0
  1519. package/src/templates/antigravity-skills/mobile-design/mobile-performance.md +767 -0
  1520. package/src/templates/antigravity-skills/mobile-design/mobile-testing.md +356 -0
  1521. package/src/templates/antigravity-skills/mobile-design/mobile-typography.md +433 -0
  1522. package/src/templates/antigravity-skills/mobile-design/platform-android.md +666 -0
  1523. package/src/templates/antigravity-skills/mobile-design/platform-ios.md +561 -0
  1524. package/src/templates/antigravity-skills/mobile-design/scripts/mobile_audit.py +670 -0
  1525. package/src/templates/antigravity-skills/mobile-design/touch-psychology.md +537 -0
  1526. package/src/templates/antigravity-skills/moodle-external-api-development/SKILL.md +597 -0
  1527. package/src/templates/antigravity-skills/neon-postgres/SKILL.md +56 -0
  1528. package/src/templates/antigravity-skills/nestjs-expert/SKILL.md +552 -0
  1529. package/src/templates/antigravity-skills/network-101/SKILL.md +342 -0
  1530. package/src/templates/antigravity-skills/nextjs-best-practices/SKILL.md +203 -0
  1531. package/src/templates/antigravity-skills/nextjs-supabase-auth/SKILL.md +56 -0
  1532. package/src/templates/antigravity-skills/nodejs-best-practices/SKILL.md +333 -0
  1533. package/src/templates/antigravity-skills/nosql-expert/SKILL.md +111 -0
  1534. package/src/templates/antigravity-skills/notebooklm/AUTHENTICATION.md +154 -0
  1535. package/src/templates/antigravity-skills/notebooklm/CHANGELOG.md +44 -0
  1536. package/src/templates/antigravity-skills/notebooklm/LICENSE +21 -0
  1537. package/src/templates/antigravity-skills/notebooklm/README.md +412 -0
  1538. package/src/templates/antigravity-skills/notebooklm/SKILL.md +269 -0
  1539. package/src/templates/antigravity-skills/notebooklm/images/example_notebookchat.png +0 -0
  1540. package/src/templates/antigravity-skills/notebooklm/references/api_reference.md +309 -0
  1541. package/src/templates/antigravity-skills/notebooklm/references/troubleshooting.md +376 -0
  1542. package/src/templates/antigravity-skills/notebooklm/references/usage_patterns.md +338 -0
  1543. package/src/templates/antigravity-skills/notebooklm/requirements.txt +10 -0
  1544. package/src/templates/antigravity-skills/notebooklm/scripts/__init__.py +81 -0
  1545. package/src/templates/antigravity-skills/notebooklm/scripts/ask_question.py +256 -0
  1546. package/src/templates/antigravity-skills/notebooklm/scripts/auth_manager.py +358 -0
  1547. package/src/templates/antigravity-skills/notebooklm/scripts/browser_session.py +255 -0
  1548. package/src/templates/antigravity-skills/notebooklm/scripts/browser_utils.py +107 -0
  1549. package/src/templates/antigravity-skills/notebooklm/scripts/cleanup_manager.py +302 -0
  1550. package/src/templates/antigravity-skills/notebooklm/scripts/config.py +44 -0
  1551. package/src/templates/antigravity-skills/notebooklm/scripts/notebook_manager.py +410 -0
  1552. package/src/templates/antigravity-skills/notebooklm/scripts/run.py +102 -0
  1553. package/src/templates/antigravity-skills/notebooklm/scripts/setup_environment.py +204 -0
  1554. package/src/templates/antigravity-skills/notion-template-business/SKILL.md +216 -0
  1555. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/SKILL.md +54 -0
  1556. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -0
  1557. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -0
  1558. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/references/analysis-workflow.md +67 -0
  1559. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -0
  1560. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/references/filters.md +51 -0
  1561. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/references/json-schema.md +71 -0
  1562. package/src/templates/antigravity-skills/obsidian-clipper-template-creator/references/variables.md +59 -0
  1563. package/src/templates/antigravity-skills/onboarding-cro/SKILL.md +433 -0
  1564. package/src/templates/antigravity-skills/page-cro/SKILL.md +334 -0
  1565. package/src/templates/antigravity-skills/paid-ads/SKILL.md +551 -0
  1566. package/src/templates/antigravity-skills/parallel-agents/SKILL.md +175 -0
  1567. package/src/templates/antigravity-skills/paywall-upgrade-cro/SKILL.md +570 -0
  1568. package/src/templates/antigravity-skills/pdf +1 -0
  1569. package/src/templates/antigravity-skills/pdf-official/LICENSE.txt +30 -0
  1570. package/src/templates/antigravity-skills/pdf-official/SKILL.md +294 -0
  1571. package/src/templates/antigravity-skills/pdf-official/forms.md +205 -0
  1572. package/src/templates/antigravity-skills/pdf-official/reference.md +612 -0
  1573. package/src/templates/antigravity-skills/pdf-official/scripts/check_bounding_boxes.py +70 -0
  1574. package/src/templates/antigravity-skills/pdf-official/scripts/check_bounding_boxes_test.py +226 -0
  1575. package/src/templates/antigravity-skills/pdf-official/scripts/check_fillable_fields.py +12 -0
  1576. package/src/templates/antigravity-skills/pdf-official/scripts/convert_pdf_to_images.py +35 -0
  1577. package/src/templates/antigravity-skills/pdf-official/scripts/create_validation_image.py +41 -0
  1578. package/src/templates/antigravity-skills/pdf-official/scripts/extract_form_field_info.py +152 -0
  1579. package/src/templates/antigravity-skills/pdf-official/scripts/fill_fillable_fields.py +114 -0
  1580. package/src/templates/antigravity-skills/pdf-official/scripts/fill_pdf_form_with_annotations.py +108 -0
  1581. package/src/templates/antigravity-skills/pentest-checklist/SKILL.md +334 -0
  1582. package/src/templates/antigravity-skills/pentest-commands/SKILL.md +438 -0
  1583. package/src/templates/antigravity-skills/performance-profiling/SKILL.md +143 -0
  1584. package/src/templates/antigravity-skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  1585. package/src/templates/antigravity-skills/personal-tool-builder/SKILL.md +289 -0
  1586. package/src/templates/antigravity-skills/plaid-fintech/SKILL.md +50 -0
  1587. package/src/templates/antigravity-skills/plan-writing/SKILL.md +152 -0
  1588. package/src/templates/antigravity-skills/planning-with-files/SKILL.md +211 -0
  1589. package/src/templates/antigravity-skills/planning-with-files/examples.md +202 -0
  1590. package/src/templates/antigravity-skills/planning-with-files/reference.md +218 -0
  1591. package/src/templates/antigravity-skills/planning-with-files/scripts/check-complete.sh +44 -0
  1592. package/src/templates/antigravity-skills/planning-with-files/scripts/init-session.sh +120 -0
  1593. package/src/templates/antigravity-skills/planning-with-files/templates/findings.md +95 -0
  1594. package/src/templates/antigravity-skills/planning-with-files/templates/progress.md +114 -0
  1595. package/src/templates/antigravity-skills/planning-with-files/templates/task_plan.md +132 -0
  1596. package/src/templates/antigravity-skills/playwright-skill/API_REFERENCE.md +653 -0
  1597. package/src/templates/antigravity-skills/playwright-skill/SKILL.md +453 -0
  1598. package/src/templates/antigravity-skills/playwright-skill/lib/helpers.js +441 -0
  1599. package/src/templates/antigravity-skills/playwright-skill/package.json +26 -0
  1600. package/src/templates/antigravity-skills/playwright-skill/run.js +228 -0
  1601. package/src/templates/antigravity-skills/popup-cro/SKILL.md +449 -0
  1602. package/src/templates/antigravity-skills/postgres-best-practices/AGENTS.md +1490 -0
  1603. package/src/templates/antigravity-skills/postgres-best-practices/README.md +119 -0
  1604. package/src/templates/antigravity-skills/postgres-best-practices/SKILL.md +57 -0
  1605. package/src/templates/antigravity-skills/postgres-best-practices/metadata.json +13 -0
  1606. package/src/templates/antigravity-skills/postgres-best-practices/rules/_contributing.md +171 -0
  1607. package/src/templates/antigravity-skills/postgres-best-practices/rules/_sections.md +39 -0
  1608. package/src/templates/antigravity-skills/postgres-best-practices/rules/_template.md +34 -0
  1609. package/src/templates/antigravity-skills/postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  1610. package/src/templates/antigravity-skills/postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  1611. package/src/templates/antigravity-skills/postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  1612. package/src/templates/antigravity-skills/postgres-best-practices/rules/conn-limits.md +44 -0
  1613. package/src/templates/antigravity-skills/postgres-best-practices/rules/conn-pooling.md +41 -0
  1614. package/src/templates/antigravity-skills/postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  1615. package/src/templates/antigravity-skills/postgres-best-practices/rules/data-batch-inserts.md +54 -0
  1616. package/src/templates/antigravity-skills/postgres-best-practices/rules/data-n-plus-one.md +53 -0
  1617. package/src/templates/antigravity-skills/postgres-best-practices/rules/data-pagination.md +50 -0
  1618. package/src/templates/antigravity-skills/postgres-best-practices/rules/data-upsert.md +50 -0
  1619. package/src/templates/antigravity-skills/postgres-best-practices/rules/lock-advisory.md +56 -0
  1620. package/src/templates/antigravity-skills/postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  1621. package/src/templates/antigravity-skills/postgres-best-practices/rules/lock-short-transactions.md +50 -0
  1622. package/src/templates/antigravity-skills/postgres-best-practices/rules/lock-skip-locked.md +54 -0
  1623. package/src/templates/antigravity-skills/postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  1624. package/src/templates/antigravity-skills/postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  1625. package/src/templates/antigravity-skills/postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  1626. package/src/templates/antigravity-skills/postgres-best-practices/rules/query-composite-indexes.md +44 -0
  1627. package/src/templates/antigravity-skills/postgres-best-practices/rules/query-covering-indexes.md +40 -0
  1628. package/src/templates/antigravity-skills/postgres-best-practices/rules/query-index-types.md +45 -0
  1629. package/src/templates/antigravity-skills/postgres-best-practices/rules/query-missing-indexes.md +43 -0
  1630. package/src/templates/antigravity-skills/postgres-best-practices/rules/query-partial-indexes.md +45 -0
  1631. package/src/templates/antigravity-skills/postgres-best-practices/rules/schema-data-types.md +46 -0
  1632. package/src/templates/antigravity-skills/postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  1633. package/src/templates/antigravity-skills/postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  1634. package/src/templates/antigravity-skills/postgres-best-practices/rules/schema-partitioning.md +55 -0
  1635. package/src/templates/antigravity-skills/postgres-best-practices/rules/schema-primary-keys.md +61 -0
  1636. package/src/templates/antigravity-skills/postgres-best-practices/rules/security-privileges.md +54 -0
  1637. package/src/templates/antigravity-skills/postgres-best-practices/rules/security-rls-basics.md +50 -0
  1638. package/src/templates/antigravity-skills/postgres-best-practices/rules/security-rls-performance.md +57 -0
  1639. package/src/templates/antigravity-skills/powershell-windows/SKILL.md +167 -0
  1640. package/src/templates/antigravity-skills/pptx +1 -0
  1641. package/src/templates/antigravity-skills/pptx-official/LICENSE.txt +30 -0
  1642. package/src/templates/antigravity-skills/pptx-official/SKILL.md +484 -0
  1643. package/src/templates/antigravity-skills/pptx-official/html2pptx.md +625 -0
  1644. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1645. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1646. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1647. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1648. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1649. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1650. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1651. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1652. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1653. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1654. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1655. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1656. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1657. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1658. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1659. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1660. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1661. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1662. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1663. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1664. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1665. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1666. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1667. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1668. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1669. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1670. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1671. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1672. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1673. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1674. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1675. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/mce/mc.xsd +75 -0
  1676. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  1677. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  1678. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  1679. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1680. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1681. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1682. package/src/templates/antigravity-skills/pptx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1683. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/pack.py +159 -0
  1684. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/unpack.py +29 -0
  1685. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/validate.py +69 -0
  1686. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/validation/__init__.py +15 -0
  1687. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/validation/base.py +951 -0
  1688. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/validation/docx.py +274 -0
  1689. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/validation/pptx.py +315 -0
  1690. package/src/templates/antigravity-skills/pptx-official/ooxml/scripts/validation/redlining.py +279 -0
  1691. package/src/templates/antigravity-skills/pptx-official/ooxml.md +427 -0
  1692. package/src/templates/antigravity-skills/pptx-official/scripts/html2pptx.js +979 -0
  1693. package/src/templates/antigravity-skills/pptx-official/scripts/inventory.py +1020 -0
  1694. package/src/templates/antigravity-skills/pptx-official/scripts/rearrange.py +231 -0
  1695. package/src/templates/antigravity-skills/pptx-official/scripts/replace.py +385 -0
  1696. package/src/templates/antigravity-skills/pptx-official/scripts/thumbnail.py +450 -0
  1697. package/src/templates/antigravity-skills/pricing-strategy/SKILL.md +710 -0
  1698. package/src/templates/antigravity-skills/prisma-expert/SKILL.md +355 -0
  1699. package/src/templates/antigravity-skills/privilege-escalation-methods/SKILL.md +333 -0
  1700. package/src/templates/antigravity-skills/product-manager-toolkit/SKILL.md +351 -0
  1701. package/src/templates/antigravity-skills/product-manager-toolkit/references/prd_templates.md +317 -0
  1702. package/src/templates/antigravity-skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +441 -0
  1703. package/src/templates/antigravity-skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
  1704. package/src/templates/antigravity-skills/production-code-audit/SKILL.md +540 -0
  1705. package/src/templates/antigravity-skills/programmatic-seo/SKILL.md +626 -0
  1706. package/src/templates/antigravity-skills/prompt-caching/SKILL.md +61 -0
  1707. package/src/templates/antigravity-skills/prompt-engineer/SKILL.md +93 -0
  1708. package/src/templates/antigravity-skills/prompt-engineering/SKILL.md +171 -0
  1709. package/src/templates/antigravity-skills/prompt-library/SKILL.md +322 -0
  1710. package/src/templates/antigravity-skills/python-patterns/SKILL.md +441 -0
  1711. package/src/templates/antigravity-skills/rag-engineer/SKILL.md +90 -0
  1712. package/src/templates/antigravity-skills/rag-implementation/SKILL.md +63 -0
  1713. package/src/templates/antigravity-skills/react-best-practices/AGENTS.md +2249 -0
  1714. package/src/templates/antigravity-skills/react-best-practices/README.md +123 -0
  1715. package/src/templates/antigravity-skills/react-best-practices/SKILL.md +121 -0
  1716. package/src/templates/antigravity-skills/react-best-practices/metadata.json +15 -0
  1717. package/src/templates/antigravity-skills/react-best-practices/rules/_sections.md +46 -0
  1718. package/src/templates/antigravity-skills/react-best-practices/rules/_template.md +28 -0
  1719. package/src/templates/antigravity-skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  1720. package/src/templates/antigravity-skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  1721. package/src/templates/antigravity-skills/react-best-practices/rules/async-api-routes.md +38 -0
  1722. package/src/templates/antigravity-skills/react-best-practices/rules/async-defer-await.md +80 -0
  1723. package/src/templates/antigravity-skills/react-best-practices/rules/async-dependencies.md +36 -0
  1724. package/src/templates/antigravity-skills/react-best-practices/rules/async-parallel.md +28 -0
  1725. package/src/templates/antigravity-skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  1726. package/src/templates/antigravity-skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  1727. package/src/templates/antigravity-skills/react-best-practices/rules/bundle-conditional.md +31 -0
  1728. package/src/templates/antigravity-skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  1729. package/src/templates/antigravity-skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  1730. package/src/templates/antigravity-skills/react-best-practices/rules/bundle-preload.md +50 -0
  1731. package/src/templates/antigravity-skills/react-best-practices/rules/client-event-listeners.md +74 -0
  1732. package/src/templates/antigravity-skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  1733. package/src/templates/antigravity-skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  1734. package/src/templates/antigravity-skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  1735. package/src/templates/antigravity-skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  1736. package/src/templates/antigravity-skills/react-best-practices/rules/js-cache-storage.md +70 -0
  1737. package/src/templates/antigravity-skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  1738. package/src/templates/antigravity-skills/react-best-practices/rules/js-early-exit.md +50 -0
  1739. package/src/templates/antigravity-skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  1740. package/src/templates/antigravity-skills/react-best-practices/rules/js-index-maps.md +37 -0
  1741. package/src/templates/antigravity-skills/react-best-practices/rules/js-length-check-first.md +49 -0
  1742. package/src/templates/antigravity-skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  1743. package/src/templates/antigravity-skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  1744. package/src/templates/antigravity-skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  1745. package/src/templates/antigravity-skills/react-best-practices/rules/rendering-activity.md +26 -0
  1746. package/src/templates/antigravity-skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  1747. package/src/templates/antigravity-skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  1748. package/src/templates/antigravity-skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  1749. package/src/templates/antigravity-skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  1750. package/src/templates/antigravity-skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  1751. package/src/templates/antigravity-skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  1752. package/src/templates/antigravity-skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  1753. package/src/templates/antigravity-skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  1754. package/src/templates/antigravity-skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  1755. package/src/templates/antigravity-skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  1756. package/src/templates/antigravity-skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  1757. package/src/templates/antigravity-skills/react-best-practices/rules/rerender-memo.md +44 -0
  1758. package/src/templates/antigravity-skills/react-best-practices/rules/rerender-transitions.md +40 -0
  1759. package/src/templates/antigravity-skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  1760. package/src/templates/antigravity-skills/react-best-practices/rules/server-cache-lru.md +41 -0
  1761. package/src/templates/antigravity-skills/react-best-practices/rules/server-cache-react.md +26 -0
  1762. package/src/templates/antigravity-skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  1763. package/src/templates/antigravity-skills/react-best-practices/rules/server-serialization.md +38 -0
  1764. package/src/templates/antigravity-skills/react-patterns/SKILL.md +198 -0
  1765. package/src/templates/antigravity-skills/react-ui-patterns/SKILL.md +289 -0
  1766. package/src/templates/antigravity-skills/receiving-code-review/SKILL.md +213 -0
  1767. package/src/templates/antigravity-skills/red-team-tactics/SKILL.md +199 -0
  1768. package/src/templates/antigravity-skills/red-team-tools/SKILL.md +310 -0
  1769. package/src/templates/antigravity-skills/referral-program/SKILL.md +602 -0
  1770. package/src/templates/antigravity-skills/remotion-best-practices/SKILL.md +45 -0
  1771. package/src/templates/antigravity-skills/remotion-best-practices/rules/3d.md +86 -0
  1772. package/src/templates/antigravity-skills/remotion-best-practices/rules/animations.md +29 -0
  1773. package/src/templates/antigravity-skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  1774. package/src/templates/antigravity-skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  1775. package/src/templates/antigravity-skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  1776. package/src/templates/antigravity-skills/remotion-best-practices/rules/assets.md +78 -0
  1777. package/src/templates/antigravity-skills/remotion-best-practices/rules/audio.md +172 -0
  1778. package/src/templates/antigravity-skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  1779. package/src/templates/antigravity-skills/remotion-best-practices/rules/can-decode.md +75 -0
  1780. package/src/templates/antigravity-skills/remotion-best-practices/rules/charts.md +58 -0
  1781. package/src/templates/antigravity-skills/remotion-best-practices/rules/compositions.md +146 -0
  1782. package/src/templates/antigravity-skills/remotion-best-practices/rules/display-captions.md +126 -0
  1783. package/src/templates/antigravity-skills/remotion-best-practices/rules/extract-frames.md +229 -0
  1784. package/src/templates/antigravity-skills/remotion-best-practices/rules/fonts.md +152 -0
  1785. package/src/templates/antigravity-skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  1786. package/src/templates/antigravity-skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  1787. package/src/templates/antigravity-skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  1788. package/src/templates/antigravity-skills/remotion-best-practices/rules/gifs.md +138 -0
  1789. package/src/templates/antigravity-skills/remotion-best-practices/rules/images.md +130 -0
  1790. package/src/templates/antigravity-skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
  1791. package/src/templates/antigravity-skills/remotion-best-practices/rules/lottie.md +68 -0
  1792. package/src/templates/antigravity-skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  1793. package/src/templates/antigravity-skills/remotion-best-practices/rules/measuring-text.md +143 -0
  1794. package/src/templates/antigravity-skills/remotion-best-practices/rules/sequencing.md +106 -0
  1795. package/src/templates/antigravity-skills/remotion-best-practices/rules/tailwind.md +11 -0
  1796. package/src/templates/antigravity-skills/remotion-best-practices/rules/text-animations.md +20 -0
  1797. package/src/templates/antigravity-skills/remotion-best-practices/rules/timing.md +179 -0
  1798. package/src/templates/antigravity-skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
  1799. package/src/templates/antigravity-skills/remotion-best-practices/rules/transitions.md +122 -0
  1800. package/src/templates/antigravity-skills/remotion-best-practices/rules/trimming.md +53 -0
  1801. package/src/templates/antigravity-skills/remotion-best-practices/rules/videos.md +171 -0
  1802. package/src/templates/antigravity-skills/requesting-code-review/SKILL.md +105 -0
  1803. package/src/templates/antigravity-skills/requesting-code-review/code-reviewer.md +146 -0
  1804. package/src/templates/antigravity-skills/research-engineer/SKILL.md +135 -0
  1805. package/src/templates/antigravity-skills/salesforce-development/SKILL.md +51 -0
  1806. package/src/templates/antigravity-skills/scanning-tools/SKILL.md +589 -0
  1807. package/src/templates/antigravity-skills/schema-markup/SKILL.md +596 -0
  1808. package/src/templates/antigravity-skills/scroll-experience/SKILL.md +263 -0
  1809. package/src/templates/antigravity-skills/segment-cdp/SKILL.md +50 -0
  1810. package/src/templates/antigravity-skills/senior-architect/SKILL.md +209 -0
  1811. package/src/templates/antigravity-skills/senior-architect/references/architecture_patterns.md +103 -0
  1812. package/src/templates/antigravity-skills/senior-architect/references/system_design_workflows.md +103 -0
  1813. package/src/templates/antigravity-skills/senior-architect/references/tech_decision_guide.md +103 -0
  1814. package/src/templates/antigravity-skills/senior-architect/scripts/architecture_diagram_generator.py +114 -0
  1815. package/src/templates/antigravity-skills/senior-architect/scripts/dependency_analyzer.py +114 -0
  1816. package/src/templates/antigravity-skills/senior-architect/scripts/project_architect.py +114 -0
  1817. package/src/templates/antigravity-skills/senior-fullstack/SKILL.md +209 -0
  1818. package/src/templates/antigravity-skills/senior-fullstack/references/architecture_patterns.md +103 -0
  1819. package/src/templates/antigravity-skills/senior-fullstack/references/development_workflows.md +103 -0
  1820. package/src/templates/antigravity-skills/senior-fullstack/references/tech_stack_guide.md +103 -0
  1821. package/src/templates/antigravity-skills/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
  1822. package/src/templates/antigravity-skills/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
  1823. package/src/templates/antigravity-skills/senior-fullstack/scripts/project_scaffolder.py +114 -0
  1824. package/src/templates/antigravity-skills/seo-audit/SKILL.md +384 -0
  1825. package/src/templates/antigravity-skills/seo-fundamentals/SKILL.md +129 -0
  1826. package/src/templates/antigravity-skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  1827. package/src/templates/antigravity-skills/server-management/SKILL.md +161 -0
  1828. package/src/templates/antigravity-skills/shodan-reconnaissance/SKILL.md +503 -0
  1829. package/src/templates/antigravity-skills/shopify-apps/SKILL.md +42 -0
  1830. package/src/templates/antigravity-skills/shopify-development/README.md +60 -0
  1831. package/src/templates/antigravity-skills/shopify-development/SKILL.md +366 -0
  1832. package/src/templates/antigravity-skills/shopify-development/references/app-development.md +578 -0
  1833. package/src/templates/antigravity-skills/shopify-development/references/extensions.md +555 -0
  1834. package/src/templates/antigravity-skills/shopify-development/references/themes.md +498 -0
  1835. package/src/templates/antigravity-skills/shopify-development/scripts/requirements.txt +19 -0
  1836. package/src/templates/antigravity-skills/shopify-development/scripts/shopify_graphql.py +428 -0
  1837. package/src/templates/antigravity-skills/shopify-development/scripts/shopify_init.py +441 -0
  1838. package/src/templates/antigravity-skills/shopify-development/scripts/tests/test_shopify_init.py +379 -0
  1839. package/src/templates/antigravity-skills/signup-flow-cro/SKILL.md +355 -0
  1840. package/src/templates/antigravity-skills/skill-creator/LICENSE.txt +202 -0
  1841. package/src/templates/antigravity-skills/skill-creator/SKILL.md +356 -0
  1842. package/src/templates/antigravity-skills/skill-creator/references/output-patterns.md +82 -0
  1843. package/src/templates/antigravity-skills/skill-creator/references/workflows.md +28 -0
  1844. package/src/templates/antigravity-skills/skill-creator/scripts/init_skill.py +303 -0
  1845. package/src/templates/antigravity-skills/skill-creator/scripts/package_skill.py +110 -0
  1846. package/src/templates/antigravity-skills/skill-creator/scripts/quick_validate.py +95 -0
  1847. package/src/templates/antigravity-skills/skill-developer/ADVANCED.md +197 -0
  1848. package/src/templates/antigravity-skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  1849. package/src/templates/antigravity-skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  1850. package/src/templates/antigravity-skills/skill-developer/SKILL.md +426 -0
  1851. package/src/templates/antigravity-skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  1852. package/src/templates/antigravity-skills/skill-developer/TRIGGER_TYPES.md +305 -0
  1853. package/src/templates/antigravity-skills/skill-developer/TROUBLESHOOTING.md +514 -0
  1854. package/src/templates/antigravity-skills/slack-bot-builder/SKILL.md +264 -0
  1855. package/src/templates/antigravity-skills/slack-gif-creator/LICENSE.txt +202 -0
  1856. package/src/templates/antigravity-skills/slack-gif-creator/SKILL.md +254 -0
  1857. package/src/templates/antigravity-skills/slack-gif-creator/core/easing.py +234 -0
  1858. package/src/templates/antigravity-skills/slack-gif-creator/core/frame_composer.py +176 -0
  1859. package/src/templates/antigravity-skills/slack-gif-creator/core/gif_builder.py +269 -0
  1860. package/src/templates/antigravity-skills/slack-gif-creator/core/validators.py +136 -0
  1861. package/src/templates/antigravity-skills/slack-gif-creator/requirements.txt +4 -0
  1862. package/src/templates/antigravity-skills/smtp-penetration-testing/SKILL.md +500 -0
  1863. package/src/templates/antigravity-skills/social-content/SKILL.md +807 -0
  1864. package/src/templates/antigravity-skills/software-architecture/SKILL.md +75 -0
  1865. package/src/templates/antigravity-skills/sql-injection-testing/SKILL.md +448 -0
  1866. package/src/templates/antigravity-skills/sqlmap-database-pentesting/SKILL.md +400 -0
  1867. package/src/templates/antigravity-skills/ssh-penetration-testing/SKILL.md +488 -0
  1868. package/src/templates/antigravity-skills/stripe-integration/SKILL.md +69 -0
  1869. package/src/templates/antigravity-skills/subagent-driven-development/SKILL.md +240 -0
  1870. package/src/templates/antigravity-skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  1871. package/src/templates/antigravity-skills/subagent-driven-development/implementer-prompt.md +78 -0
  1872. package/src/templates/antigravity-skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  1873. package/src/templates/antigravity-skills/systematic-debugging/CREATION-LOG.md +119 -0
  1874. package/src/templates/antigravity-skills/systematic-debugging/SKILL.md +296 -0
  1875. package/src/templates/antigravity-skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  1876. package/src/templates/antigravity-skills/systematic-debugging/condition-based-waiting.md +115 -0
  1877. package/src/templates/antigravity-skills/systematic-debugging/defense-in-depth.md +122 -0
  1878. package/src/templates/antigravity-skills/systematic-debugging/find-polluter.sh +63 -0
  1879. package/src/templates/antigravity-skills/systematic-debugging/root-cause-tracing.md +169 -0
  1880. package/src/templates/antigravity-skills/systematic-debugging/test-academic.md +14 -0
  1881. package/src/templates/antigravity-skills/systematic-debugging/test-pressure-1.md +58 -0
  1882. package/src/templates/antigravity-skills/systematic-debugging/test-pressure-2.md +68 -0
  1883. package/src/templates/antigravity-skills/systematic-debugging/test-pressure-3.md +69 -0
  1884. package/src/templates/antigravity-skills/tailwind-patterns/SKILL.md +269 -0
  1885. package/src/templates/antigravity-skills/tavily-web/SKILL.md +36 -0
  1886. package/src/templates/antigravity-skills/tdd-workflow/SKILL.md +149 -0
  1887. package/src/templates/antigravity-skills/telegram-bot-builder/SKILL.md +254 -0
  1888. package/src/templates/antigravity-skills/telegram-mini-app/SKILL.md +279 -0
  1889. package/src/templates/antigravity-skills/test-driven-development/SKILL.md +371 -0
  1890. package/src/templates/antigravity-skills/test-driven-development/testing-anti-patterns.md +299 -0
  1891. package/src/templates/antigravity-skills/test-fixing/SKILL.md +119 -0
  1892. package/src/templates/antigravity-skills/testing-patterns/SKILL.md +259 -0
  1893. package/src/templates/antigravity-skills/theme-factory/LICENSE.txt +202 -0
  1894. package/src/templates/antigravity-skills/theme-factory/SKILL.md +59 -0
  1895. package/src/templates/antigravity-skills/theme-factory/theme-showcase.pdf +0 -0
  1896. package/src/templates/antigravity-skills/theme-factory/themes/arctic-frost.md +19 -0
  1897. package/src/templates/antigravity-skills/theme-factory/themes/botanical-garden.md +19 -0
  1898. package/src/templates/antigravity-skills/theme-factory/themes/desert-rose.md +19 -0
  1899. package/src/templates/antigravity-skills/theme-factory/themes/forest-canopy.md +19 -0
  1900. package/src/templates/antigravity-skills/theme-factory/themes/golden-hour.md +19 -0
  1901. package/src/templates/antigravity-skills/theme-factory/themes/midnight-galaxy.md +19 -0
  1902. package/src/templates/antigravity-skills/theme-factory/themes/modern-minimalist.md +19 -0
  1903. package/src/templates/antigravity-skills/theme-factory/themes/ocean-depths.md +19 -0
  1904. package/src/templates/antigravity-skills/theme-factory/themes/sunset-boulevard.md +19 -0
  1905. package/src/templates/antigravity-skills/theme-factory/themes/tech-innovation.md +19 -0
  1906. package/src/templates/antigravity-skills/top-web-vulnerabilities/SKILL.md +543 -0
  1907. package/src/templates/antigravity-skills/trigger-dev/SKILL.md +67 -0
  1908. package/src/templates/antigravity-skills/twilio-communications/SKILL.md +295 -0
  1909. package/src/templates/antigravity-skills/typescript-expert/SKILL.md +429 -0
  1910. package/src/templates/antigravity-skills/typescript-expert/references/tsconfig-strict.json +92 -0
  1911. package/src/templates/antigravity-skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  1912. package/src/templates/antigravity-skills/typescript-expert/references/utility-types.ts +335 -0
  1913. package/src/templates/antigravity-skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  1914. package/src/templates/antigravity-skills/ui-ux-pro-max/SKILL.md +351 -0
  1915. package/src/templates/antigravity-skills/ui-ux-pro-max/data/charts.csv +26 -0
  1916. package/src/templates/antigravity-skills/ui-ux-pro-max/data/colors.csv +97 -0
  1917. package/src/templates/antigravity-skills/ui-ux-pro-max/data/icons.csv +101 -0
  1918. package/src/templates/antigravity-skills/ui-ux-pro-max/data/landing.csv +31 -0
  1919. package/src/templates/antigravity-skills/ui-ux-pro-max/data/products.csv +97 -0
  1920. package/src/templates/antigravity-skills/ui-ux-pro-max/data/prompts.csv +24 -0
  1921. package/src/templates/antigravity-skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  1922. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  1923. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  1924. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  1925. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  1926. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  1927. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  1928. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  1929. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  1930. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  1931. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  1932. package/src/templates/antigravity-skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  1933. package/src/templates/antigravity-skills/ui-ux-pro-max/data/styles.csv +59 -0
  1934. package/src/templates/antigravity-skills/ui-ux-pro-max/data/typography.csv +58 -0
  1935. package/src/templates/antigravity-skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  1936. package/src/templates/antigravity-skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  1937. package/src/templates/antigravity-skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  1938. package/src/templates/antigravity-skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  1939. package/src/templates/antigravity-skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  1940. package/src/templates/antigravity-skills/ui-ux-pro-max/scripts/core.py +257 -0
  1941. package/src/templates/antigravity-skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  1942. package/src/templates/antigravity-skills/ui-ux-pro-max/scripts/search.py +76 -0
  1943. package/src/templates/antigravity-skills/upstash-qstash/SKILL.md +68 -0
  1944. package/src/templates/antigravity-skills/using-git-worktrees/SKILL.md +217 -0
  1945. package/src/templates/antigravity-skills/using-superpowers/SKILL.md +87 -0
  1946. package/src/templates/antigravity-skills/vercel-deployment/SKILL.md +69 -0
  1947. package/src/templates/antigravity-skills/verification-before-completion/SKILL.md +139 -0
  1948. package/src/templates/antigravity-skills/viral-generator-builder/SKILL.md +199 -0
  1949. package/src/templates/antigravity-skills/voice-agents/SKILL.md +68 -0
  1950. package/src/templates/antigravity-skills/voice-ai-development/SKILL.md +302 -0
  1951. package/src/templates/antigravity-skills/vulnerability-scanner/SKILL.md +276 -0
  1952. package/src/templates/antigravity-skills/vulnerability-scanner/checklists.md +121 -0
  1953. package/src/templates/antigravity-skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  1954. package/src/templates/antigravity-skills/web-artifacts-builder/LICENSE.txt +202 -0
  1955. package/src/templates/antigravity-skills/web-artifacts-builder/SKILL.md +74 -0
  1956. package/src/templates/antigravity-skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  1957. package/src/templates/antigravity-skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  1958. package/src/templates/antigravity-skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  1959. package/src/templates/antigravity-skills/web-design-guidelines/SKILL.md +36 -0
  1960. package/src/templates/antigravity-skills/web-performance-optimization/SKILL.md +646 -0
  1961. package/src/templates/antigravity-skills/webapp-testing/LICENSE.txt +202 -0
  1962. package/src/templates/antigravity-skills/webapp-testing/SKILL.md +96 -0
  1963. package/src/templates/antigravity-skills/webapp-testing/scripts/with_server.py +106 -0
  1964. package/src/templates/antigravity-skills/windows-privilege-escalation/SKILL.md +496 -0
  1965. package/src/templates/antigravity-skills/wireshark-analysis/SKILL.md +497 -0
  1966. package/src/templates/antigravity-skills/wordpress-penetration-testing/SKILL.md +485 -0
  1967. package/src/templates/antigravity-skills/workflow-automation/SKILL.md +68 -0
  1968. package/src/templates/antigravity-skills/writing-plans/SKILL.md +116 -0
  1969. package/src/templates/antigravity-skills/writing-skills/SKILL.md +737 -0
  1970. package/src/templates/antigravity-skills/writing-skills/anthropic-best-practices.md +1150 -0
  1971. package/src/templates/antigravity-skills/writing-skills/graphviz-conventions.dot +172 -0
  1972. package/src/templates/antigravity-skills/writing-skills/persuasion-principles.md +187 -0
  1973. package/src/templates/antigravity-skills/writing-skills/render-graphs.js +168 -0
  1974. package/src/templates/antigravity-skills/writing-skills/testing-skills-with-subagents.md +384 -0
  1975. package/src/templates/antigravity-skills/xlsx +1 -0
  1976. package/src/templates/antigravity-skills/xlsx-official/LICENSE.txt +30 -0
  1977. package/src/templates/antigravity-skills/xlsx-official/SKILL.md +289 -0
  1978. package/src/templates/antigravity-skills/xlsx-official/recalc.py +178 -0
  1979. package/src/templates/antigravity-skills/xss-html-injection/SKILL.md +499 -0
  1980. package/src/templates/antigravity-skills/zapier-make-patterns/SKILL.md +67 -0
  1981. package/src/templates/antigravity-skills-index.json +1508 -0
@@ -0,0 +1,2249 @@
1
+ # React Best Practices
2
+
3
+ **Version 0.1.0**
4
+ Vercel Engineering
5
+ January 2026
6
+
7
+ > **Note:**
8
+ > This document is mainly for agents and LLMs to follow when maintaining,
9
+ > generating, or refactoring React and Next.js codebases at Vercel. Humans
10
+ > may also find it useful, but guidance here is optimized for automation
11
+ > and consistency by AI-assisted workflows.
12
+
13
+ ---
14
+
15
+ ## Abstract
16
+
17
+ Comprehensive performance optimization guide for React and Next.js applications, designed for AI agents and LLMs. Contains 40+ rules across 8 categories, prioritized by impact from critical (eliminating waterfalls, reducing bundle size) to incremental (advanced patterns). Each rule includes detailed explanations, real-world examples comparing incorrect vs. correct implementations, and specific impact metrics to guide automated refactoring and code generation.
18
+
19
+ ---
20
+
21
+ ## Table of Contents
22
+
23
+ 1. [Eliminating Waterfalls](#1-eliminating-waterfalls) — **CRITICAL**
24
+ - 1.1 [Defer Await Until Needed](#11-defer-await-until-needed)
25
+ - 1.2 [Dependency-Based Parallelization](#12-dependency-based-parallelization)
26
+ - 1.3 [Prevent Waterfall Chains in API Routes](#13-prevent-waterfall-chains-in-api-routes)
27
+ - 1.4 [Promise.all() for Independent Operations](#14-promiseall-for-independent-operations)
28
+ - 1.5 [Strategic Suspense Boundaries](#15-strategic-suspense-boundaries)
29
+ 2. [Bundle Size Optimization](#2-bundle-size-optimization) — **CRITICAL**
30
+ - 2.1 [Avoid Barrel File Imports](#21-avoid-barrel-file-imports)
31
+ - 2.2 [Conditional Module Loading](#22-conditional-module-loading)
32
+ - 2.3 [Defer Non-Critical Third-Party Libraries](#23-defer-non-critical-third-party-libraries)
33
+ - 2.4 [Dynamic Imports for Heavy Components](#24-dynamic-imports-for-heavy-components)
34
+ - 2.5 [Preload Based on User Intent](#25-preload-based-on-user-intent)
35
+ 3. [Server-Side Performance](#3-server-side-performance) — **HIGH**
36
+ - 3.1 [Cross-Request LRU Caching](#31-cross-request-lru-caching)
37
+ - 3.2 [Minimize Serialization at RSC Boundaries](#32-minimize-serialization-at-rsc-boundaries)
38
+ - 3.3 [Parallel Data Fetching with Component Composition](#33-parallel-data-fetching-with-component-composition)
39
+ - 3.4 [Per-Request Deduplication with React.cache()](#34-per-request-deduplication-with-reactcache)
40
+ - 3.5 [Use after() for Non-Blocking Operations](#35-use-after-for-non-blocking-operations)
41
+ 4. [Client-Side Data Fetching](#4-client-side-data-fetching) — **MEDIUM-HIGH**
42
+ - 4.1 [Deduplicate Global Event Listeners](#41-deduplicate-global-event-listeners)
43
+ - 4.2 [Use SWR for Automatic Deduplication](#42-use-swr-for-automatic-deduplication)
44
+ 5. [Re-render Optimization](#5-re-render-optimization) — **MEDIUM**
45
+ - 5.1 [Defer State Reads to Usage Point](#51-defer-state-reads-to-usage-point)
46
+ - 5.2 [Extract to Memoized Components](#52-extract-to-memoized-components)
47
+ - 5.3 [Narrow Effect Dependencies](#53-narrow-effect-dependencies)
48
+ - 5.4 [Subscribe to Derived State](#54-subscribe-to-derived-state)
49
+ - 5.5 [Use Functional setState Updates](#55-use-functional-setstate-updates)
50
+ - 5.6 [Use Lazy State Initialization](#56-use-lazy-state-initialization)
51
+ - 5.7 [Use Transitions for Non-Urgent Updates](#57-use-transitions-for-non-urgent-updates)
52
+ 6. [Rendering Performance](#6-rendering-performance) — **MEDIUM**
53
+ - 6.1 [Animate SVG Wrapper Instead of SVG Element](#61-animate-svg-wrapper-instead-of-svg-element)
54
+ - 6.2 [CSS content-visibility for Long Lists](#62-css-content-visibility-for-long-lists)
55
+ - 6.3 [Hoist Static JSX Elements](#63-hoist-static-jsx-elements)
56
+ - 6.4 [Optimize SVG Precision](#64-optimize-svg-precision)
57
+ - 6.5 [Prevent Hydration Mismatch Without Flickering](#65-prevent-hydration-mismatch-without-flickering)
58
+ - 6.6 [Use Activity Component for Show/Hide](#66-use-activity-component-for-showhide)
59
+ - 6.7 [Use Explicit Conditional Rendering](#67-use-explicit-conditional-rendering)
60
+ 7. [JavaScript Performance](#7-javascript-performance) — **LOW-MEDIUM**
61
+ - 7.1 [Batch DOM CSS Changes](#71-batch-dom-css-changes)
62
+ - 7.2 [Build Index Maps for Repeated Lookups](#72-build-index-maps-for-repeated-lookups)
63
+ - 7.3 [Cache Property Access in Loops](#73-cache-property-access-in-loops)
64
+ - 7.4 [Cache Repeated Function Calls](#74-cache-repeated-function-calls)
65
+ - 7.5 [Cache Storage API Calls](#75-cache-storage-api-calls)
66
+ - 7.6 [Combine Multiple Array Iterations](#76-combine-multiple-array-iterations)
67
+ - 7.7 [Early Length Check for Array Comparisons](#77-early-length-check-for-array-comparisons)
68
+ - 7.8 [Early Return from Functions](#78-early-return-from-functions)
69
+ - 7.9 [Hoist RegExp Creation](#79-hoist-regexp-creation)
70
+ - 7.10 [Use Loop for Min/Max Instead of Sort](#710-use-loop-for-minmax-instead-of-sort)
71
+ - 7.11 [Use Set/Map for O(1) Lookups](#711-use-setmap-for-o1-lookups)
72
+ - 7.12 [Use toSorted() Instead of sort() for Immutability](#712-use-tosorted-instead-of-sort-for-immutability)
73
+ 8. [Advanced Patterns](#8-advanced-patterns) — **LOW**
74
+ - 8.1 [Store Event Handlers in Refs](#81-store-event-handlers-in-refs)
75
+ - 8.2 [useLatest for Stable Callback Refs](#82-uselatest-for-stable-callback-refs)
76
+
77
+ ---
78
+
79
+ ## 1. Eliminating Waterfalls
80
+
81
+ **Impact: CRITICAL**
82
+
83
+ Waterfalls are the #1 performance killer. Each sequential await adds full network latency. Eliminating them yields the largest gains.
84
+
85
+ ### 1.1 Defer Await Until Needed
86
+
87
+ **Impact: HIGH (avoids blocking unused code paths)**
88
+
89
+ Move `await` operations into the branches where they're actually used to avoid blocking code paths that don't need them.
90
+
91
+ **Incorrect: blocks both branches**
92
+
93
+ ```typescript
94
+ async function handleRequest(userId: string, skipProcessing: boolean) {
95
+ const userData = await fetchUserData(userId)
96
+
97
+ if (skipProcessing) {
98
+ // Returns immediately but still waited for userData
99
+ return { skipped: true }
100
+ }
101
+
102
+ // Only this branch uses userData
103
+ return processUserData(userData)
104
+ }
105
+ ```
106
+
107
+ **Correct: only blocks when needed**
108
+
109
+ ```typescript
110
+ async function handleRequest(userId: string, skipProcessing: boolean) {
111
+ if (skipProcessing) {
112
+ // Returns immediately without waiting
113
+ return { skipped: true }
114
+ }
115
+
116
+ // Fetch only when needed
117
+ const userData = await fetchUserData(userId)
118
+ return processUserData(userData)
119
+ }
120
+ ```
121
+
122
+ **Another example: early return optimization**
123
+
124
+ ```typescript
125
+ // Incorrect: always fetches permissions
126
+ async function updateResource(resourceId: string, userId: string) {
127
+ const permissions = await fetchPermissions(userId)
128
+ const resource = await getResource(resourceId)
129
+
130
+ if (!resource) {
131
+ return { error: 'Not found' }
132
+ }
133
+
134
+ if (!permissions.canEdit) {
135
+ return { error: 'Forbidden' }
136
+ }
137
+
138
+ return await updateResourceData(resource, permissions)
139
+ }
140
+
141
+ // Correct: fetches only when needed
142
+ async function updateResource(resourceId: string, userId: string) {
143
+ const resource = await getResource(resourceId)
144
+
145
+ if (!resource) {
146
+ return { error: 'Not found' }
147
+ }
148
+
149
+ const permissions = await fetchPermissions(userId)
150
+
151
+ if (!permissions.canEdit) {
152
+ return { error: 'Forbidden' }
153
+ }
154
+
155
+ return await updateResourceData(resource, permissions)
156
+ }
157
+ ```
158
+
159
+ This optimization is especially valuable when the skipped branch is frequently taken, or when the deferred operation is expensive.
160
+
161
+ ### 1.2 Dependency-Based Parallelization
162
+
163
+ **Impact: CRITICAL (2-10× improvement)**
164
+
165
+ For operations with partial dependencies, use `better-all` to maximize parallelism. It automatically starts each task at the earliest possible moment.
166
+
167
+ **Incorrect: profile waits for config unnecessarily**
168
+
169
+ ```typescript
170
+ const [user, config] = await Promise.all([
171
+ fetchUser(),
172
+ fetchConfig()
173
+ ])
174
+ const profile = await fetchProfile(user.id)
175
+ ```
176
+
177
+ **Correct: config and profile run in parallel**
178
+
179
+ ```typescript
180
+ import { all } from 'better-all'
181
+
182
+ const { user, config, profile } = await all({
183
+ async user() { return fetchUser() },
184
+ async config() { return fetchConfig() },
185
+ async profile() {
186
+ return fetchProfile((await this.$.user).id)
187
+ }
188
+ })
189
+ ```
190
+
191
+ Reference: [https://github.com/shuding/better-all](https://github.com/shuding/better-all)
192
+
193
+ ### 1.3 Prevent Waterfall Chains in API Routes
194
+
195
+ **Impact: CRITICAL (2-10× improvement)**
196
+
197
+ In API routes and Server Actions, start independent operations immediately, even if you don't await them yet.
198
+
199
+ **Incorrect: config waits for auth, data waits for both**
200
+
201
+ ```typescript
202
+ export async function GET(request: Request) {
203
+ const session = await auth()
204
+ const config = await fetchConfig()
205
+ const data = await fetchData(session.user.id)
206
+ return Response.json({ data, config })
207
+ }
208
+ ```
209
+
210
+ **Correct: auth and config start immediately**
211
+
212
+ ```typescript
213
+ export async function GET(request: Request) {
214
+ const sessionPromise = auth()
215
+ const configPromise = fetchConfig()
216
+ const session = await sessionPromise
217
+ const [config, data] = await Promise.all([
218
+ configPromise,
219
+ fetchData(session.user.id)
220
+ ])
221
+ return Response.json({ data, config })
222
+ }
223
+ ```
224
+
225
+ For operations with more complex dependency chains, use `better-all` to automatically maximize parallelism (see Dependency-Based Parallelization).
226
+
227
+ ### 1.4 Promise.all() for Independent Operations
228
+
229
+ **Impact: CRITICAL (2-10× improvement)**
230
+
231
+ When async operations have no interdependencies, execute them concurrently using `Promise.all()`.
232
+
233
+ **Incorrect: sequential execution, 3 round trips**
234
+
235
+ ```typescript
236
+ const user = await fetchUser()
237
+ const posts = await fetchPosts()
238
+ const comments = await fetchComments()
239
+ ```
240
+
241
+ **Correct: parallel execution, 1 round trip**
242
+
243
+ ```typescript
244
+ const [user, posts, comments] = await Promise.all([
245
+ fetchUser(),
246
+ fetchPosts(),
247
+ fetchComments()
248
+ ])
249
+ ```
250
+
251
+ ### 1.5 Strategic Suspense Boundaries
252
+
253
+ **Impact: HIGH (faster initial paint)**
254
+
255
+ Instead of awaiting data in async components before returning JSX, use Suspense boundaries to show the wrapper UI faster while data loads.
256
+
257
+ **Incorrect: wrapper blocked by data fetching**
258
+
259
+ ```tsx
260
+ async function Page() {
261
+ const data = await fetchData() // Blocks entire page
262
+
263
+ return (
264
+ <div>
265
+ <div>Sidebar</div>
266
+ <div>Header</div>
267
+ <div>
268
+ <DataDisplay data={data} />
269
+ </div>
270
+ <div>Footer</div>
271
+ </div>
272
+ )
273
+ }
274
+ ```
275
+
276
+ The entire layout waits for data even though only the middle section needs it.
277
+
278
+ **Correct: wrapper shows immediately, data streams in**
279
+
280
+ ```tsx
281
+ function Page() {
282
+ return (
283
+ <div>
284
+ <div>Sidebar</div>
285
+ <div>Header</div>
286
+ <div>
287
+ <Suspense fallback={<Skeleton />}>
288
+ <DataDisplay />
289
+ </Suspense>
290
+ </div>
291
+ <div>Footer</div>
292
+ </div>
293
+ )
294
+ }
295
+
296
+ async function DataDisplay() {
297
+ const data = await fetchData() // Only blocks this component
298
+ return <div>{data.content}</div>
299
+ }
300
+ ```
301
+
302
+ Sidebar, Header, and Footer render immediately. Only DataDisplay waits for data.
303
+
304
+ **Alternative: share promise across components**
305
+
306
+ ```tsx
307
+ function Page() {
308
+ // Start fetch immediately, but don't await
309
+ const dataPromise = fetchData()
310
+
311
+ return (
312
+ <div>
313
+ <div>Sidebar</div>
314
+ <div>Header</div>
315
+ <Suspense fallback={<Skeleton />}>
316
+ <DataDisplay dataPromise={dataPromise} />
317
+ <DataSummary dataPromise={dataPromise} />
318
+ </Suspense>
319
+ <div>Footer</div>
320
+ </div>
321
+ )
322
+ }
323
+
324
+ function DataDisplay({ dataPromise }: { dataPromise: Promise<Data> }) {
325
+ const data = use(dataPromise) // Unwraps the promise
326
+ return <div>{data.content}</div>
327
+ }
328
+
329
+ function DataSummary({ dataPromise }: { dataPromise: Promise<Data> }) {
330
+ const data = use(dataPromise) // Reuses the same promise
331
+ return <div>{data.summary}</div>
332
+ }
333
+ ```
334
+
335
+ Both components share the same promise, so only one fetch occurs. Layout renders immediately while both components wait together.
336
+
337
+ **When NOT to use this pattern:**
338
+
339
+ - Critical data needed for layout decisions (affects positioning)
340
+
341
+ - SEO-critical content above the fold
342
+
343
+ - Small, fast queries where suspense overhead isn't worth it
344
+
345
+ - When you want to avoid layout shift (loading → content jump)
346
+
347
+ **Trade-off:** Faster initial paint vs potential layout shift. Choose based on your UX priorities.
348
+
349
+ ---
350
+
351
+ ## 2. Bundle Size Optimization
352
+
353
+ **Impact: CRITICAL**
354
+
355
+ Reducing initial bundle size improves Time to Interactive and Largest Contentful Paint.
356
+
357
+ ### 2.1 Avoid Barrel File Imports
358
+
359
+ **Impact: CRITICAL (200-800ms import cost, slow builds)**
360
+
361
+ Import directly from source files instead of barrel files to avoid loading thousands of unused modules. **Barrel files** are entry points that re-export multiple modules (e.g., `index.js` that does `export * from './module'`).
362
+
363
+ Popular icon and component libraries can have **up to 10,000 re-exports** in their entry file. For many React packages, **it takes 200-800ms just to import them**, affecting both development speed and production cold starts.
364
+
365
+ **Why tree-shaking doesn't help:** When a library is marked as external (not bundled), the bundler can't optimize it. If you bundle it to enable tree-shaking, builds become substantially slower analyzing the entire module graph.
366
+
367
+ **Incorrect: imports entire library**
368
+
369
+ ```tsx
370
+ import { Check, X, Menu } from 'lucide-react'
371
+ // Loads 1,583 modules, takes ~2.8s extra in dev
372
+ // Runtime cost: 200-800ms on every cold start
373
+
374
+ import { Button, TextField } from '@mui/material'
375
+ // Loads 2,225 modules, takes ~4.2s extra in dev
376
+ ```
377
+
378
+ **Correct: imports only what you need**
379
+
380
+ ```tsx
381
+ import Check from 'lucide-react/dist/esm/icons/check'
382
+ import X from 'lucide-react/dist/esm/icons/x'
383
+ import Menu from 'lucide-react/dist/esm/icons/menu'
384
+ // Loads only 3 modules (~2KB vs ~1MB)
385
+
386
+ import Button from '@mui/material/Button'
387
+ import TextField from '@mui/material/TextField'
388
+ // Loads only what you use
389
+ ```
390
+
391
+ **Alternative: Next.js 13.5+**
392
+
393
+ ```js
394
+ // next.config.js - use optimizePackageImports
395
+ module.exports = {
396
+ experimental: {
397
+ optimizePackageImports: ['lucide-react', '@mui/material']
398
+ }
399
+ }
400
+
401
+ // Then you can keep the ergonomic barrel imports:
402
+ import { Check, X, Menu } from 'lucide-react'
403
+ // Automatically transformed to direct imports at build time
404
+ ```
405
+
406
+ Direct imports provide 15-70% faster dev boot, 28% faster builds, 40% faster cold starts, and significantly faster HMR.
407
+
408
+ Libraries commonly affected: `lucide-react`, `@mui/material`, `@mui/icons-material`, `@tabler/icons-react`, `react-icons`, `@headlessui/react`, `@radix-ui/react-*`, `lodash`, `ramda`, `date-fns`, `rxjs`, `react-use`.
409
+
410
+ Reference: [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
411
+
412
+ ### 2.2 Conditional Module Loading
413
+
414
+ **Impact: HIGH (loads large data only when needed)**
415
+
416
+ Load large data or modules only when a feature is activated.
417
+
418
+ **Example: lazy-load animation frames**
419
+
420
+ ```tsx
421
+ function AnimationPlayer({ enabled }: { enabled: boolean }) {
422
+ const [frames, setFrames] = useState<Frame[] | null>(null)
423
+
424
+ useEffect(() => {
425
+ if (enabled && !frames && typeof window !== 'undefined') {
426
+ import('./animation-frames.js')
427
+ .then(mod => setFrames(mod.frames))
428
+ .catch(() => setEnabled(false))
429
+ }
430
+ }, [enabled, frames])
431
+
432
+ if (!frames) return <Skeleton />
433
+ return <Canvas frames={frames} />
434
+ }
435
+ ```
436
+
437
+ The `typeof window !== 'undefined'` check prevents bundling this module for SSR, optimizing server bundle size and build speed.
438
+
439
+ ### 2.3 Defer Non-Critical Third-Party Libraries
440
+
441
+ **Impact: MEDIUM (loads after hydration)**
442
+
443
+ Analytics, logging, and error tracking don't block user interaction. Load them after hydration.
444
+
445
+ **Incorrect: blocks initial bundle**
446
+
447
+ ```tsx
448
+ import { Analytics } from '@vercel/analytics/react'
449
+
450
+ export default function RootLayout({ children }) {
451
+ return (
452
+ <html>
453
+ <body>
454
+ {children}
455
+ <Analytics />
456
+ </body>
457
+ </html>
458
+ )
459
+ }
460
+ ```
461
+
462
+ **Correct: loads after hydration**
463
+
464
+ ```tsx
465
+ import dynamic from 'next/dynamic'
466
+
467
+ const Analytics = dynamic(
468
+ () => import('@vercel/analytics/react').then(m => m.Analytics),
469
+ { ssr: false }
470
+ )
471
+
472
+ export default function RootLayout({ children }) {
473
+ return (
474
+ <html>
475
+ <body>
476
+ {children}
477
+ <Analytics />
478
+ </body>
479
+ </html>
480
+ )
481
+ }
482
+ ```
483
+
484
+ ### 2.4 Dynamic Imports for Heavy Components
485
+
486
+ **Impact: CRITICAL (directly affects TTI and LCP)**
487
+
488
+ Use `next/dynamic` to lazy-load large components not needed on initial render.
489
+
490
+ **Incorrect: Monaco bundles with main chunk ~300KB**
491
+
492
+ ```tsx
493
+ import { MonacoEditor } from './monaco-editor'
494
+
495
+ function CodePanel({ code }: { code: string }) {
496
+ return <MonacoEditor value={code} />
497
+ }
498
+ ```
499
+
500
+ **Correct: Monaco loads on demand**
501
+
502
+ ```tsx
503
+ import dynamic from 'next/dynamic'
504
+
505
+ const MonacoEditor = dynamic(
506
+ () => import('./monaco-editor').then(m => m.MonacoEditor),
507
+ { ssr: false }
508
+ )
509
+
510
+ function CodePanel({ code }: { code: string }) {
511
+ return <MonacoEditor value={code} />
512
+ }
513
+ ```
514
+
515
+ ### 2.5 Preload Based on User Intent
516
+
517
+ **Impact: MEDIUM (reduces perceived latency)**
518
+
519
+ Preload heavy bundles before they're needed to reduce perceived latency.
520
+
521
+ **Example: preload on hover/focus**
522
+
523
+ ```tsx
524
+ function EditorButton({ onClick }: { onClick: () => void }) {
525
+ const preload = () => {
526
+ if (typeof window !== 'undefined') {
527
+ void import('./monaco-editor')
528
+ }
529
+ }
530
+
531
+ return (
532
+ <button
533
+ onMouseEnter={preload}
534
+ onFocus={preload}
535
+ onClick={onClick}
536
+ >
537
+ Open Editor
538
+ </button>
539
+ )
540
+ }
541
+ ```
542
+
543
+ **Example: preload when feature flag is enabled**
544
+
545
+ ```tsx
546
+ function FlagsProvider({ children, flags }: Props) {
547
+ useEffect(() => {
548
+ if (flags.editorEnabled && typeof window !== 'undefined') {
549
+ void import('./monaco-editor').then(mod => mod.init())
550
+ }
551
+ }, [flags.editorEnabled])
552
+
553
+ return <FlagsContext.Provider value={flags}>
554
+ {children}
555
+ </FlagsContext.Provider>
556
+ }
557
+ ```
558
+
559
+ The `typeof window !== 'undefined'` check prevents bundling preloaded modules for SSR, optimizing server bundle size and build speed.
560
+
561
+ ---
562
+
563
+ ## 3. Server-Side Performance
564
+
565
+ **Impact: HIGH**
566
+
567
+ Optimizing server-side rendering and data fetching eliminates server-side waterfalls and reduces response times.
568
+
569
+ ### 3.1 Cross-Request LRU Caching
570
+
571
+ **Impact: HIGH (caches across requests)**
572
+
573
+ `React.cache()` only works within one request. For data shared across sequential requests (user clicks button A then button B), use an LRU cache.
574
+
575
+ **Implementation:**
576
+
577
+ ```typescript
578
+ import { LRUCache } from 'lru-cache'
579
+
580
+ const cache = new LRUCache<string, any>({
581
+ max: 1000,
582
+ ttl: 5 * 60 * 1000 // 5 minutes
583
+ })
584
+
585
+ export async function getUser(id: string) {
586
+ const cached = cache.get(id)
587
+ if (cached) return cached
588
+
589
+ const user = await db.user.findUnique({ where: { id } })
590
+ cache.set(id, user)
591
+ return user
592
+ }
593
+
594
+ // Request 1: DB query, result cached
595
+ // Request 2: cache hit, no DB query
596
+ ```
597
+
598
+ Use when sequential user actions hit multiple endpoints needing the same data within seconds.
599
+
600
+ **With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute):** LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests without needing external storage like Redis.
601
+
602
+ **In traditional serverless:** Each invocation runs in isolation, so consider Redis for cross-process caching.
603
+
604
+ Reference: [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
605
+
606
+ ### 3.2 Minimize Serialization at RSC Boundaries
607
+
608
+ **Impact: HIGH (reduces data transfer size)**
609
+
610
+ The React Server/Client boundary serializes all object properties into strings and embeds them in the HTML response and subsequent RSC requests. This serialized data directly impacts page weight and load time, so **size matters a lot**. Only pass fields that the client actually uses.
611
+
612
+ **Incorrect: serializes all 50 fields**
613
+
614
+ ```tsx
615
+ async function Page() {
616
+ const user = await fetchUser() // 50 fields
617
+ return <Profile user={user} />
618
+ }
619
+
620
+ 'use client'
621
+ function Profile({ user }: { user: User }) {
622
+ return <div>{user.name}</div> // uses 1 field
623
+ }
624
+ ```
625
+
626
+ **Correct: serializes only 1 field**
627
+
628
+ ```tsx
629
+ async function Page() {
630
+ const user = await fetchUser()
631
+ return <Profile name={user.name} />
632
+ }
633
+
634
+ 'use client'
635
+ function Profile({ name }: { name: string }) {
636
+ return <div>{name}</div>
637
+ }
638
+ ```
639
+
640
+ ### 3.3 Parallel Data Fetching with Component Composition
641
+
642
+ **Impact: CRITICAL (eliminates server-side waterfalls)**
643
+
644
+ React Server Components execute sequentially within a tree. Restructure with composition to parallelize data fetching.
645
+
646
+ **Incorrect: Sidebar waits for Page's fetch to complete**
647
+
648
+ ```tsx
649
+ export default async function Page() {
650
+ const header = await fetchHeader()
651
+ return (
652
+ <div>
653
+ <div>{header}</div>
654
+ <Sidebar />
655
+ </div>
656
+ )
657
+ }
658
+
659
+ async function Sidebar() {
660
+ const items = await fetchSidebarItems()
661
+ return <nav>{items.map(renderItem)}</nav>
662
+ }
663
+ ```
664
+
665
+ **Correct: both fetch simultaneously**
666
+
667
+ ```tsx
668
+ async function Header() {
669
+ const data = await fetchHeader()
670
+ return <div>{data}</div>
671
+ }
672
+
673
+ async function Sidebar() {
674
+ const items = await fetchSidebarItems()
675
+ return <nav>{items.map(renderItem)}</nav>
676
+ }
677
+
678
+ export default function Page() {
679
+ return (
680
+ <div>
681
+ <Header />
682
+ <Sidebar />
683
+ </div>
684
+ )
685
+ }
686
+ ```
687
+
688
+ **Alternative with children prop:**
689
+
690
+ ```tsx
691
+ async function Layout({ children }: { children: ReactNode }) {
692
+ const header = await fetchHeader()
693
+ return (
694
+ <div>
695
+ <div>{header}</div>
696
+ {children}
697
+ </div>
698
+ )
699
+ }
700
+
701
+ async function Sidebar() {
702
+ const items = await fetchSidebarItems()
703
+ return <nav>{items.map(renderItem)}</nav>
704
+ }
705
+
706
+ export default function Page() {
707
+ return (
708
+ <Layout>
709
+ <Sidebar />
710
+ </Layout>
711
+ )
712
+ }
713
+ ```
714
+
715
+ ### 3.4 Per-Request Deduplication with React.cache()
716
+
717
+ **Impact: MEDIUM (deduplicates within request)**
718
+
719
+ Use `React.cache()` for server-side request deduplication. Authentication and database queries benefit most.
720
+
721
+ **Usage:**
722
+
723
+ ```typescript
724
+ import { cache } from 'react'
725
+
726
+ export const getCurrentUser = cache(async () => {
727
+ const session = await auth()
728
+ if (!session?.user?.id) return null
729
+ return await db.user.findUnique({
730
+ where: { id: session.user.id }
731
+ })
732
+ })
733
+ ```
734
+
735
+ Within a single request, multiple calls to `getCurrentUser()` execute the query only once.
736
+
737
+ ### 3.5 Use after() for Non-Blocking Operations
738
+
739
+ **Impact: MEDIUM (faster response times)**
740
+
741
+ Use Next.js's `after()` to schedule work that should execute after a response is sent. This prevents logging, analytics, and other side effects from blocking the response.
742
+
743
+ **Incorrect: blocks response**
744
+
745
+ ```tsx
746
+ import { logUserAction } from '@/app/utils'
747
+
748
+ export async function POST(request: Request) {
749
+ // Perform mutation
750
+ await updateDatabase(request)
751
+
752
+ // Logging blocks the response
753
+ const userAgent = request.headers.get('user-agent') || 'unknown'
754
+ await logUserAction({ userAgent })
755
+
756
+ return new Response(JSON.stringify({ status: 'success' }), {
757
+ status: 200,
758
+ headers: { 'Content-Type': 'application/json' }
759
+ })
760
+ }
761
+ ```
762
+
763
+ **Correct: non-blocking**
764
+
765
+ ```tsx
766
+ import { after } from 'next/server'
767
+ import { headers, cookies } from 'next/headers'
768
+ import { logUserAction } from '@/app/utils'
769
+
770
+ export async function POST(request: Request) {
771
+ // Perform mutation
772
+ await updateDatabase(request)
773
+
774
+ // Log after response is sent
775
+ after(async () => {
776
+ const userAgent = (await headers()).get('user-agent') || 'unknown'
777
+ const sessionCookie = (await cookies()).get('session-id')?.value || 'anonymous'
778
+
779
+ logUserAction({ sessionCookie, userAgent })
780
+ })
781
+
782
+ return new Response(JSON.stringify({ status: 'success' }), {
783
+ status: 200,
784
+ headers: { 'Content-Type': 'application/json' }
785
+ })
786
+ }
787
+ ```
788
+
789
+ The response is sent immediately while logging happens in the background.
790
+
791
+ **Common use cases:**
792
+
793
+ - Analytics tracking
794
+
795
+ - Audit logging
796
+
797
+ - Sending notifications
798
+
799
+ - Cache invalidation
800
+
801
+ - Cleanup tasks
802
+
803
+ **Important notes:**
804
+
805
+ - `after()` runs even if the response fails or redirects
806
+
807
+ - Works in Server Actions, Route Handlers, and Server Components
808
+
809
+ Reference: [https://nextjs.org/docs/app/api-reference/functions/after](https://nextjs.org/docs/app/api-reference/functions/after)
810
+
811
+ ---
812
+
813
+ ## 4. Client-Side Data Fetching
814
+
815
+ **Impact: MEDIUM-HIGH**
816
+
817
+ Automatic deduplication and efficient data fetching patterns reduce redundant network requests.
818
+
819
+ ### 4.1 Deduplicate Global Event Listeners
820
+
821
+ **Impact: LOW (single listener for N components)**
822
+
823
+ Use `useSWRSubscription()` to share global event listeners across component instances.
824
+
825
+ **Incorrect: N instances = N listeners**
826
+
827
+ ```tsx
828
+ function useKeyboardShortcut(key: string, callback: () => void) {
829
+ useEffect(() => {
830
+ const handler = (e: KeyboardEvent) => {
831
+ if (e.metaKey && e.key === key) {
832
+ callback()
833
+ }
834
+ }
835
+ window.addEventListener('keydown', handler)
836
+ return () => window.removeEventListener('keydown', handler)
837
+ }, [key, callback])
838
+ }
839
+ ```
840
+
841
+ When using the `useKeyboardShortcut` hook multiple times, each instance will register a new listener.
842
+
843
+ **Correct: N instances = 1 listener**
844
+
845
+ ```tsx
846
+ import useSWRSubscription from 'swr/subscription'
847
+
848
+ // Module-level Map to track callbacks per key
849
+ const keyCallbacks = new Map<string, Set<() => void>>()
850
+
851
+ function useKeyboardShortcut(key: string, callback: () => void) {
852
+ // Register this callback in the Map
853
+ useEffect(() => {
854
+ if (!keyCallbacks.has(key)) {
855
+ keyCallbacks.set(key, new Set())
856
+ }
857
+ keyCallbacks.get(key)!.add(callback)
858
+
859
+ return () => {
860
+ const set = keyCallbacks.get(key)
861
+ if (set) {
862
+ set.delete(callback)
863
+ if (set.size === 0) {
864
+ keyCallbacks.delete(key)
865
+ }
866
+ }
867
+ }
868
+ }, [key, callback])
869
+
870
+ useSWRSubscription('global-keydown', () => {
871
+ const handler = (e: KeyboardEvent) => {
872
+ if (e.metaKey && keyCallbacks.has(e.key)) {
873
+ keyCallbacks.get(e.key)!.forEach(cb => cb())
874
+ }
875
+ }
876
+ window.addEventListener('keydown', handler)
877
+ return () => window.removeEventListener('keydown', handler)
878
+ })
879
+ }
880
+
881
+ function Profile() {
882
+ // Multiple shortcuts will share the same listener
883
+ useKeyboardShortcut('p', () => { /* ... */ })
884
+ useKeyboardShortcut('k', () => { /* ... */ })
885
+ // ...
886
+ }
887
+ ```
888
+
889
+ ### 4.2 Use SWR for Automatic Deduplication
890
+
891
+ **Impact: MEDIUM-HIGH (automatic deduplication)**
892
+
893
+ SWR enables request deduplication, caching, and revalidation across component instances.
894
+
895
+ **Incorrect: no deduplication, each instance fetches**
896
+
897
+ ```tsx
898
+ function UserList() {
899
+ const [users, setUsers] = useState([])
900
+ useEffect(() => {
901
+ fetch('/api/users')
902
+ .then(r => r.json())
903
+ .then(setUsers)
904
+ }, [])
905
+ }
906
+ ```
907
+
908
+ **Correct: multiple instances share one request**
909
+
910
+ ```tsx
911
+ import useSWR from 'swr'
912
+
913
+ function UserList() {
914
+ const { data: users } = useSWR('/api/users', fetcher)
915
+ }
916
+ ```
917
+
918
+ **For immutable data:**
919
+
920
+ ```tsx
921
+ import { useImmutableSWR } from '@/lib/swr'
922
+
923
+ function StaticContent() {
924
+ const { data } = useImmutableSWR('/api/config', fetcher)
925
+ }
926
+ ```
927
+
928
+ **For mutations:**
929
+
930
+ ```tsx
931
+ import { useSWRMutation } from 'swr/mutation'
932
+
933
+ function UpdateButton() {
934
+ const { trigger } = useSWRMutation('/api/user', updateUser)
935
+ return <button onClick={() => trigger()}>Update</button>
936
+ }
937
+ ```
938
+
939
+ Reference: [https://swr.vercel.app](https://swr.vercel.app)
940
+
941
+ ---
942
+
943
+ ## 5. Re-render Optimization
944
+
945
+ **Impact: MEDIUM**
946
+
947
+ Reducing unnecessary re-renders minimizes wasted computation and improves UI responsiveness.
948
+
949
+ ### 5.1 Defer State Reads to Usage Point
950
+
951
+ **Impact: MEDIUM (avoids unnecessary subscriptions)**
952
+
953
+ Don't subscribe to dynamic state (searchParams, localStorage) if you only read it inside callbacks.
954
+
955
+ **Incorrect: subscribes to all searchParams changes**
956
+
957
+ ```tsx
958
+ function ShareButton({ chatId }: { chatId: string }) {
959
+ const searchParams = useSearchParams()
960
+
961
+ const handleShare = () => {
962
+ const ref = searchParams.get('ref')
963
+ shareChat(chatId, { ref })
964
+ }
965
+
966
+ return <button onClick={handleShare}>Share</button>
967
+ }
968
+ ```
969
+
970
+ **Correct: reads on demand, no subscription**
971
+
972
+ ```tsx
973
+ function ShareButton({ chatId }: { chatId: string }) {
974
+ const handleShare = () => {
975
+ const params = new URLSearchParams(window.location.search)
976
+ const ref = params.get('ref')
977
+ shareChat(chatId, { ref })
978
+ }
979
+
980
+ return <button onClick={handleShare}>Share</button>
981
+ }
982
+ ```
983
+
984
+ ### 5.2 Extract to Memoized Components
985
+
986
+ **Impact: MEDIUM (enables early returns)**
987
+
988
+ Extract expensive work into memoized components to enable early returns before computation.
989
+
990
+ **Incorrect: computes avatar even when loading**
991
+
992
+ ```tsx
993
+ function Profile({ user, loading }: Props) {
994
+ const avatar = useMemo(() => {
995
+ const id = computeAvatarId(user)
996
+ return <Avatar id={id} />
997
+ }, [user])
998
+
999
+ if (loading) return <Skeleton />
1000
+ return <div>{avatar}</div>
1001
+ }
1002
+ ```
1003
+
1004
+ **Correct: skips computation when loading**
1005
+
1006
+ ```tsx
1007
+ const UserAvatar = memo(function UserAvatar({ user }: { user: User }) {
1008
+ const id = useMemo(() => computeAvatarId(user), [user])
1009
+ return <Avatar id={id} />
1010
+ })
1011
+
1012
+ function Profile({ user, loading }: Props) {
1013
+ if (loading) return <Skeleton />
1014
+ return (
1015
+ <div>
1016
+ <UserAvatar user={user} />
1017
+ </div>
1018
+ )
1019
+ }
1020
+ ```
1021
+
1022
+ **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.
1023
+
1024
+ ### 5.3 Narrow Effect Dependencies
1025
+
1026
+ **Impact: LOW (minimizes effect re-runs)**
1027
+
1028
+ Specify primitive dependencies instead of objects to minimize effect re-runs.
1029
+
1030
+ **Incorrect: re-runs on any user field change**
1031
+
1032
+ ```tsx
1033
+ useEffect(() => {
1034
+ console.log(user.id)
1035
+ }, [user])
1036
+ ```
1037
+
1038
+ **Correct: re-runs only when id changes**
1039
+
1040
+ ```tsx
1041
+ useEffect(() => {
1042
+ console.log(user.id)
1043
+ }, [user.id])
1044
+ ```
1045
+
1046
+ **For derived state, compute outside effect:**
1047
+
1048
+ ```tsx
1049
+ // Incorrect: runs on width=767, 766, 765...
1050
+ useEffect(() => {
1051
+ if (width < 768) {
1052
+ enableMobileMode()
1053
+ }
1054
+ }, [width])
1055
+
1056
+ // Correct: runs only on boolean transition
1057
+ const isMobile = width < 768
1058
+ useEffect(() => {
1059
+ if (isMobile) {
1060
+ enableMobileMode()
1061
+ }
1062
+ }, [isMobile])
1063
+ ```
1064
+
1065
+ ### 5.4 Subscribe to Derived State
1066
+
1067
+ **Impact: MEDIUM (reduces re-render frequency)**
1068
+
1069
+ Subscribe to derived boolean state instead of continuous values to reduce re-render frequency.
1070
+
1071
+ **Incorrect: re-renders on every pixel change**
1072
+
1073
+ ```tsx
1074
+ function Sidebar() {
1075
+ const width = useWindowWidth() // updates continuously
1076
+ const isMobile = width < 768
1077
+ return <nav className={isMobile ? 'mobile' : 'desktop'}>
1078
+ }
1079
+ ```
1080
+
1081
+ **Correct: re-renders only when boolean changes**
1082
+
1083
+ ```tsx
1084
+ function Sidebar() {
1085
+ const isMobile = useMediaQuery('(max-width: 767px)')
1086
+ return <nav className={isMobile ? 'mobile' : 'desktop'}>
1087
+ }
1088
+ ```
1089
+
1090
+ ### 5.5 Use Functional setState Updates
1091
+
1092
+ **Impact: MEDIUM (prevents stale closures and unnecessary callback recreations)**
1093
+
1094
+ When updating state based on the current state value, use the functional update form of setState instead of directly referencing the state variable. This prevents stale closures, eliminates unnecessary dependencies, and creates stable callback references.
1095
+
1096
+ **Incorrect: requires state as dependency**
1097
+
1098
+ ```tsx
1099
+ function TodoList() {
1100
+ const [items, setItems] = useState(initialItems)
1101
+
1102
+ // Callback must depend on items, recreated on every items change
1103
+ const addItems = useCallback((newItems: Item[]) => {
1104
+ setItems([...items, ...newItems])
1105
+ }, [items]) // ❌ items dependency causes recreations
1106
+
1107
+ // Risk of stale closure if dependency is forgotten
1108
+ const removeItem = useCallback((id: string) => {
1109
+ setItems(items.filter(item => item.id !== id))
1110
+ }, []) // ❌ Missing items dependency - will use stale items!
1111
+
1112
+ return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
1113
+ }
1114
+ ```
1115
+
1116
+ The first callback is recreated every time `items` changes, which can cause child components to re-render unnecessarily. The second callback has a stale closure bug—it will always reference the initial `items` value.
1117
+
1118
+ **Correct: stable callbacks, no stale closures**
1119
+
1120
+ ```tsx
1121
+ function TodoList() {
1122
+ const [items, setItems] = useState(initialItems)
1123
+
1124
+ // Stable callback, never recreated
1125
+ const addItems = useCallback((newItems: Item[]) => {
1126
+ setItems(curr => [...curr, ...newItems])
1127
+ }, []) // ✅ No dependencies needed
1128
+
1129
+ // Always uses latest state, no stale closure risk
1130
+ const removeItem = useCallback((id: string) => {
1131
+ setItems(curr => curr.filter(item => item.id !== id))
1132
+ }, []) // ✅ Safe and stable
1133
+
1134
+ return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
1135
+ }
1136
+ ```
1137
+
1138
+ **Benefits:**
1139
+
1140
+ 1. **Stable callback references** - Callbacks don't need to be recreated when state changes
1141
+
1142
+ 2. **No stale closures** - Always operates on the latest state value
1143
+
1144
+ 3. **Fewer dependencies** - Simplifies dependency arrays and reduces memory leaks
1145
+
1146
+ 4. **Prevents bugs** - Eliminates the most common source of React closure bugs
1147
+
1148
+ **When to use functional updates:**
1149
+
1150
+ - Any setState that depends on the current state value
1151
+
1152
+ - Inside useCallback/useMemo when state is needed
1153
+
1154
+ - Event handlers that reference state
1155
+
1156
+ - Async operations that update state
1157
+
1158
+ **When direct updates are fine:**
1159
+
1160
+ - Setting state to a static value: `setCount(0)`
1161
+
1162
+ - Setting state from props/arguments only: `setName(newName)`
1163
+
1164
+ - State doesn't depend on previous value
1165
+
1166
+ **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bugs.
1167
+
1168
+ ### 5.6 Use Lazy State Initialization
1169
+
1170
+ **Impact: MEDIUM (wasted computation on every render)**
1171
+
1172
+ Pass a function to `useState` for expensive initial values. Without the function form, the initializer runs on every render even though the value is only used once.
1173
+
1174
+ **Incorrect: runs on every render**
1175
+
1176
+ ```tsx
1177
+ function FilteredList({ items }: { items: Item[] }) {
1178
+ // buildSearchIndex() runs on EVERY render, even after initialization
1179
+ const [searchIndex, setSearchIndex] = useState(buildSearchIndex(items))
1180
+ const [query, setQuery] = useState('')
1181
+
1182
+ // When query changes, buildSearchIndex runs again unnecessarily
1183
+ return <SearchResults index={searchIndex} query={query} />
1184
+ }
1185
+
1186
+ function UserProfile() {
1187
+ // JSON.parse runs on every render
1188
+ const [settings, setSettings] = useState(
1189
+ JSON.parse(localStorage.getItem('settings') || '{}')
1190
+ )
1191
+
1192
+ return <SettingsForm settings={settings} onChange={setSettings} />
1193
+ }
1194
+ ```
1195
+
1196
+ **Correct: runs only once**
1197
+
1198
+ ```tsx
1199
+ function FilteredList({ items }: { items: Item[] }) {
1200
+ // buildSearchIndex() runs ONLY on initial render
1201
+ const [searchIndex, setSearchIndex] = useState(() => buildSearchIndex(items))
1202
+ const [query, setQuery] = useState('')
1203
+
1204
+ return <SearchResults index={searchIndex} query={query} />
1205
+ }
1206
+
1207
+ function UserProfile() {
1208
+ // JSON.parse runs only on initial render
1209
+ const [settings, setSettings] = useState(() => {
1210
+ const stored = localStorage.getItem('settings')
1211
+ return stored ? JSON.parse(stored) : {}
1212
+ })
1213
+
1214
+ return <SettingsForm settings={settings} onChange={setSettings} />
1215
+ }
1216
+ ```
1217
+
1218
+ Use lazy initialization when computing initial values from localStorage/sessionStorage, building data structures (indexes, maps), reading from the DOM, or performing heavy transformations.
1219
+
1220
+ For simple primitives (`useState(0)`), direct references (`useState(props.value)`), or cheap literals (`useState({})`), the function form is unnecessary.
1221
+
1222
+ ### 5.7 Use Transitions for Non-Urgent Updates
1223
+
1224
+ **Impact: MEDIUM (maintains UI responsiveness)**
1225
+
1226
+ Mark frequent, non-urgent state updates as transitions to maintain UI responsiveness.
1227
+
1228
+ **Incorrect: blocks UI on every scroll**
1229
+
1230
+ ```tsx
1231
+ function ScrollTracker() {
1232
+ const [scrollY, setScrollY] = useState(0)
1233
+ useEffect(() => {
1234
+ const handler = () => setScrollY(window.scrollY)
1235
+ window.addEventListener('scroll', handler, { passive: true })
1236
+ return () => window.removeEventListener('scroll', handler)
1237
+ }, [])
1238
+ }
1239
+ ```
1240
+
1241
+ **Correct: non-blocking updates**
1242
+
1243
+ ```tsx
1244
+ import { startTransition } from 'react'
1245
+
1246
+ function ScrollTracker() {
1247
+ const [scrollY, setScrollY] = useState(0)
1248
+ useEffect(() => {
1249
+ const handler = () => {
1250
+ startTransition(() => setScrollY(window.scrollY))
1251
+ }
1252
+ window.addEventListener('scroll', handler, { passive: true })
1253
+ return () => window.removeEventListener('scroll', handler)
1254
+ }, [])
1255
+ }
1256
+ ```
1257
+
1258
+ ---
1259
+
1260
+ ## 6. Rendering Performance
1261
+
1262
+ **Impact: MEDIUM**
1263
+
1264
+ Optimizing the rendering process reduces the work the browser needs to do.
1265
+
1266
+ ### 6.1 Animate SVG Wrapper Instead of SVG Element
1267
+
1268
+ **Impact: LOW (enables hardware acceleration)**
1269
+
1270
+ Many browsers don't have hardware acceleration for CSS3 animations on SVG elements. Wrap SVG in a `<div>` and animate the wrapper instead.
1271
+
1272
+ **Incorrect: animating SVG directly - no hardware acceleration**
1273
+
1274
+ ```tsx
1275
+ function LoadingSpinner() {
1276
+ return (
1277
+ <svg
1278
+ className="animate-spin"
1279
+ width="24"
1280
+ height="24"
1281
+ viewBox="0 0 24 24"
1282
+ >
1283
+ <circle cx="12" cy="12" r="10" stroke="currentColor" />
1284
+ </svg>
1285
+ )
1286
+ }
1287
+ ```
1288
+
1289
+ **Correct: animating wrapper div - hardware accelerated**
1290
+
1291
+ ```tsx
1292
+ function LoadingSpinner() {
1293
+ return (
1294
+ <div className="animate-spin">
1295
+ <svg
1296
+ width="24"
1297
+ height="24"
1298
+ viewBox="0 0 24 24"
1299
+ >
1300
+ <circle cx="12" cy="12" r="10" stroke="currentColor" />
1301
+ </svg>
1302
+ </div>
1303
+ )
1304
+ }
1305
+ ```
1306
+
1307
+ This applies to all CSS transforms and transitions (`transform`, `opacity`, `translate`, `scale`, `rotate`). The wrapper div allows browsers to use GPU acceleration for smoother animations.
1308
+
1309
+ ### 6.2 CSS content-visibility for Long Lists
1310
+
1311
+ **Impact: HIGH (faster initial render)**
1312
+
1313
+ Apply `content-visibility: auto` to defer off-screen rendering.
1314
+
1315
+ **CSS:**
1316
+
1317
+ ```css
1318
+ .message-item {
1319
+ content-visibility: auto;
1320
+ contain-intrinsic-size: 0 80px;
1321
+ }
1322
+ ```
1323
+
1324
+ **Example:**
1325
+
1326
+ ```tsx
1327
+ function MessageList({ messages }: { messages: Message[] }) {
1328
+ return (
1329
+ <div className="overflow-y-auto h-screen">
1330
+ {messages.map(msg => (
1331
+ <div key={msg.id} className="message-item">
1332
+ <Avatar user={msg.author} />
1333
+ <div>{msg.content}</div>
1334
+ </div>
1335
+ ))}
1336
+ </div>
1337
+ )
1338
+ }
1339
+ ```
1340
+
1341
+ For 1000 messages, browser skips layout/paint for ~990 off-screen items (10× faster initial render).
1342
+
1343
+ ### 6.3 Hoist Static JSX Elements
1344
+
1345
+ **Impact: LOW (avoids re-creation)**
1346
+
1347
+ Extract static JSX outside components to avoid re-creation.
1348
+
1349
+ **Incorrect: recreates element every render**
1350
+
1351
+ ```tsx
1352
+ function LoadingSkeleton() {
1353
+ return <div className="animate-pulse h-20 bg-gray-200" />
1354
+ }
1355
+
1356
+ function Container() {
1357
+ return (
1358
+ <div>
1359
+ {loading && <LoadingSkeleton />}
1360
+ </div>
1361
+ )
1362
+ }
1363
+ ```
1364
+
1365
+ **Correct: reuses same element**
1366
+
1367
+ ```tsx
1368
+ const loadingSkeleton = (
1369
+ <div className="animate-pulse h-20 bg-gray-200" />
1370
+ )
1371
+
1372
+ function Container() {
1373
+ return (
1374
+ <div>
1375
+ {loading && loadingSkeleton}
1376
+ </div>
1377
+ )
1378
+ }
1379
+ ```
1380
+
1381
+ This is especially helpful for large and static SVG nodes, which can be expensive to recreate on every render.
1382
+
1383
+ **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.
1384
+
1385
+ ### 6.4 Optimize SVG Precision
1386
+
1387
+ **Impact: LOW (reduces file size)**
1388
+
1389
+ Reduce SVG coordinate precision to decrease file size. The optimal precision depends on the viewBox size, but in general reducing precision should be considered.
1390
+
1391
+ **Incorrect: excessive precision**
1392
+
1393
+ ```svg
1394
+ <path d="M 10.293847 20.847362 L 30.938472 40.192837" />
1395
+ ```
1396
+
1397
+ **Correct: 1 decimal place**
1398
+
1399
+ ```svg
1400
+ <path d="M 10.3 20.8 L 30.9 40.2" />
1401
+ ```
1402
+
1403
+ **Automate with SVGO:**
1404
+
1405
+ ```bash
1406
+ npx svgo --precision=1 --multipass icon.svg
1407
+ ```
1408
+
1409
+ ### 6.5 Prevent Hydration Mismatch Without Flickering
1410
+
1411
+ **Impact: MEDIUM (avoids visual flicker and hydration errors)**
1412
+
1413
+ When rendering content that depends on client-side storage (localStorage, cookies), avoid both SSR breakage and post-hydration flickering by injecting a synchronous script that updates the DOM before React hydrates.
1414
+
1415
+ **Incorrect: breaks SSR**
1416
+
1417
+ ```tsx
1418
+ function ThemeWrapper({ children }: { children: ReactNode }) {
1419
+ // localStorage is not available on server - throws error
1420
+ const theme = localStorage.getItem('theme') || 'light'
1421
+
1422
+ return (
1423
+ <div className={theme}>
1424
+ {children}
1425
+ </div>
1426
+ )
1427
+ }
1428
+ ```
1429
+
1430
+ Server-side rendering will fail because `localStorage` is undefined.
1431
+
1432
+ **Incorrect: visual flickering**
1433
+
1434
+ ```tsx
1435
+ function ThemeWrapper({ children }: { children: ReactNode }) {
1436
+ const [theme, setTheme] = useState('light')
1437
+
1438
+ useEffect(() => {
1439
+ // Runs after hydration - causes visible flash
1440
+ const stored = localStorage.getItem('theme')
1441
+ if (stored) {
1442
+ setTheme(stored)
1443
+ }
1444
+ }, [])
1445
+
1446
+ return (
1447
+ <div className={theme}>
1448
+ {children}
1449
+ </div>
1450
+ )
1451
+ }
1452
+ ```
1453
+
1454
+ Component first renders with default value (`light`), then updates after hydration, causing a visible flash of incorrect content.
1455
+
1456
+ **Correct: no flicker, no hydration mismatch**
1457
+
1458
+ ```tsx
1459
+ function ThemeWrapper({ children }: { children: ReactNode }) {
1460
+ return (
1461
+ <>
1462
+ <div id="theme-wrapper">
1463
+ {children}
1464
+ </div>
1465
+ <script
1466
+ dangerouslySetInnerHTML={{
1467
+ __html: `
1468
+ (function() {
1469
+ try {
1470
+ var theme = localStorage.getItem('theme') || 'light';
1471
+ var el = document.getElementById('theme-wrapper');
1472
+ if (el) el.className = theme;
1473
+ } catch (e) {}
1474
+ })();
1475
+ `,
1476
+ }}
1477
+ />
1478
+ </>
1479
+ )
1480
+ }
1481
+ ```
1482
+
1483
+ The inline script executes synchronously before showing the element, ensuring the DOM already has the correct value. No flickering, no hydration mismatch.
1484
+
1485
+ This pattern is especially useful for theme toggles, user preferences, authentication states, and any client-only data that should render immediately without flashing default values.
1486
+
1487
+ ### 6.6 Use Activity Component for Show/Hide
1488
+
1489
+ **Impact: MEDIUM (preserves state/DOM)**
1490
+
1491
+ Use React's `<Activity>` to preserve state/DOM for expensive components that frequently toggle visibility.
1492
+
1493
+ **Usage:**
1494
+
1495
+ ```tsx
1496
+ import { Activity } from 'react'
1497
+
1498
+ function Dropdown({ isOpen }: Props) {
1499
+ return (
1500
+ <Activity mode={isOpen ? 'visible' : 'hidden'}>
1501
+ <ExpensiveMenu />
1502
+ </Activity>
1503
+ )
1504
+ }
1505
+ ```
1506
+
1507
+ Avoids expensive re-renders and state loss.
1508
+
1509
+ ### 6.7 Use Explicit Conditional Rendering
1510
+
1511
+ **Impact: LOW (prevents rendering 0 or NaN)**
1512
+
1513
+ Use explicit ternary operators (`? :`) instead of `&&` for conditional rendering when the condition can be `0`, `NaN`, or other falsy values that render.
1514
+
1515
+ **Incorrect: renders "0" when count is 0**
1516
+
1517
+ ```tsx
1518
+ function Badge({ count }: { count: number }) {
1519
+ return (
1520
+ <div>
1521
+ {count && <span className="badge">{count}</span>}
1522
+ </div>
1523
+ )
1524
+ }
1525
+
1526
+ // When count = 0, renders: <div>0</div>
1527
+ // When count = 5, renders: <div><span class="badge">5</span></div>
1528
+ ```
1529
+
1530
+ **Correct: renders nothing when count is 0**
1531
+
1532
+ ```tsx
1533
+ function Badge({ count }: { count: number }) {
1534
+ return (
1535
+ <div>
1536
+ {count > 0 ? <span className="badge">{count}</span> : null}
1537
+ </div>
1538
+ )
1539
+ }
1540
+
1541
+ // When count = 0, renders: <div></div>
1542
+ // When count = 5, renders: <div><span class="badge">5</span></div>
1543
+ ```
1544
+
1545
+ ---
1546
+
1547
+ ## 7. JavaScript Performance
1548
+
1549
+ **Impact: LOW-MEDIUM**
1550
+
1551
+ Micro-optimizations for hot paths can add up to meaningful improvements.
1552
+
1553
+ ### 7.1 Batch DOM CSS Changes
1554
+
1555
+ **Impact: MEDIUM (reduces reflows/repaints)**
1556
+
1557
+ Avoid changing styles one property at a time. Group multiple CSS changes together via classes or `cssText` to minimize browser reflows.
1558
+
1559
+ **Incorrect: multiple reflows**
1560
+
1561
+ ```typescript
1562
+ function updateElementStyles(element: HTMLElement) {
1563
+ // Each line triggers a reflow
1564
+ element.style.width = '100px'
1565
+ element.style.height = '200px'
1566
+ element.style.backgroundColor = 'blue'
1567
+ element.style.border = '1px solid black'
1568
+ }
1569
+ ```
1570
+
1571
+ **Correct: add class - single reflow**
1572
+
1573
+ ```typescript
1574
+ // CSS file
1575
+ .highlighted-box {
1576
+ width: 100px;
1577
+ height: 200px;
1578
+ background-color: blue;
1579
+ border: 1px solid black;
1580
+ }
1581
+
1582
+ // JavaScript
1583
+ function updateElementStyles(element: HTMLElement) {
1584
+ element.classList.add('highlighted-box')
1585
+ }
1586
+ ```
1587
+
1588
+ **Correct: change cssText - single reflow**
1589
+
1590
+ ```typescript
1591
+ function updateElementStyles(element: HTMLElement) {
1592
+ element.style.cssText = `
1593
+ width: 100px;
1594
+ height: 200px;
1595
+ background-color: blue;
1596
+ border: 1px solid black;
1597
+ `
1598
+ }
1599
+ ```
1600
+
1601
+ **React example:**
1602
+
1603
+ ```tsx
1604
+ // Incorrect: changing styles one by one
1605
+ function Box({ isHighlighted }: { isHighlighted: boolean }) {
1606
+ const ref = useRef<HTMLDivElement>(null)
1607
+
1608
+ useEffect(() => {
1609
+ if (ref.current && isHighlighted) {
1610
+ ref.current.style.width = '100px'
1611
+ ref.current.style.height = '200px'
1612
+ ref.current.style.backgroundColor = 'blue'
1613
+ }
1614
+ }, [isHighlighted])
1615
+
1616
+ return <div ref={ref}>Content</div>
1617
+ }
1618
+
1619
+ // Correct: toggle class
1620
+ function Box({ isHighlighted }: { isHighlighted: boolean }) {
1621
+ return (
1622
+ <div className={isHighlighted ? 'highlighted-box' : ''}>
1623
+ Content
1624
+ </div>
1625
+ )
1626
+ }
1627
+ ```
1628
+
1629
+ Prefer CSS classes over inline styles when possible. Classes are cached by the browser and provide better separation of concerns.
1630
+
1631
+ ### 7.2 Build Index Maps for Repeated Lookups
1632
+
1633
+ **Impact: LOW-MEDIUM (1M ops to 2K ops)**
1634
+
1635
+ Multiple `.find()` calls by the same key should use a Map.
1636
+
1637
+ **Incorrect (O(n) per lookup):**
1638
+
1639
+ ```typescript
1640
+ function processOrders(orders: Order[], users: User[]) {
1641
+ return orders.map(order => ({
1642
+ ...order,
1643
+ user: users.find(u => u.id === order.userId)
1644
+ }))
1645
+ }
1646
+ ```
1647
+
1648
+ **Correct (O(1) per lookup):**
1649
+
1650
+ ```typescript
1651
+ function processOrders(orders: Order[], users: User[]) {
1652
+ const userById = new Map(users.map(u => [u.id, u]))
1653
+
1654
+ return orders.map(order => ({
1655
+ ...order,
1656
+ user: userById.get(order.userId)
1657
+ }))
1658
+ }
1659
+ ```
1660
+
1661
+ Build map once (O(n)), then all lookups are O(1).
1662
+
1663
+ For 1000 orders × 1000 users: 1M ops → 2K ops.
1664
+
1665
+ ### 7.3 Cache Property Access in Loops
1666
+
1667
+ **Impact: LOW-MEDIUM (reduces lookups)**
1668
+
1669
+ Cache object property lookups in hot paths.
1670
+
1671
+ **Incorrect: 3 lookups × N iterations**
1672
+
1673
+ ```typescript
1674
+ for (let i = 0; i < arr.length; i++) {
1675
+ process(obj.config.settings.value)
1676
+ }
1677
+ ```
1678
+
1679
+ **Correct: 1 lookup total**
1680
+
1681
+ ```typescript
1682
+ const value = obj.config.settings.value
1683
+ const len = arr.length
1684
+ for (let i = 0; i < len; i++) {
1685
+ process(value)
1686
+ }
1687
+ ```
1688
+
1689
+ ### 7.4 Cache Repeated Function Calls
1690
+
1691
+ **Impact: MEDIUM (avoid redundant computation)**
1692
+
1693
+ Use a module-level Map to cache function results when the same function is called repeatedly with the same inputs during render.
1694
+
1695
+ **Incorrect: redundant computation**
1696
+
1697
+ ```typescript
1698
+ function ProjectList({ projects }: { projects: Project[] }) {
1699
+ return (
1700
+ <div>
1701
+ {projects.map(project => {
1702
+ // slugify() called 100+ times for same project names
1703
+ const slug = slugify(project.name)
1704
+
1705
+ return <ProjectCard key={project.id} slug={slug} />
1706
+ })}
1707
+ </div>
1708
+ )
1709
+ }
1710
+ ```
1711
+
1712
+ **Correct: cached results**
1713
+
1714
+ ```typescript
1715
+ // Module-level cache
1716
+ const slugifyCache = new Map<string, string>()
1717
+
1718
+ function cachedSlugify(text: string): string {
1719
+ if (slugifyCache.has(text)) {
1720
+ return slugifyCache.get(text)!
1721
+ }
1722
+ const result = slugify(text)
1723
+ slugifyCache.set(text, result)
1724
+ return result
1725
+ }
1726
+
1727
+ function ProjectList({ projects }: { projects: Project[] }) {
1728
+ return (
1729
+ <div>
1730
+ {projects.map(project => {
1731
+ // Computed only once per unique project name
1732
+ const slug = cachedSlugify(project.name)
1733
+
1734
+ return <ProjectCard key={project.id} slug={slug} />
1735
+ })}
1736
+ </div>
1737
+ )
1738
+ }
1739
+ ```
1740
+
1741
+ **Simpler pattern for single-value functions:**
1742
+
1743
+ ```typescript
1744
+ let isLoggedInCache: boolean | null = null
1745
+
1746
+ function isLoggedIn(): boolean {
1747
+ if (isLoggedInCache !== null) {
1748
+ return isLoggedInCache
1749
+ }
1750
+
1751
+ isLoggedInCache = document.cookie.includes('auth=')
1752
+ return isLoggedInCache
1753
+ }
1754
+
1755
+ // Clear cache when auth changes
1756
+ function onAuthChange() {
1757
+ isLoggedInCache = null
1758
+ }
1759
+ ```
1760
+
1761
+ Use a Map (not a hook) so it works everywhere: utilities, event handlers, not just React components.
1762
+
1763
+ Reference: [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)
1764
+
1765
+ ### 7.5 Cache Storage API Calls
1766
+
1767
+ **Impact: LOW-MEDIUM (reduces expensive I/O)**
1768
+
1769
+ `localStorage`, `sessionStorage`, and `document.cookie` are synchronous and expensive. Cache reads in memory.
1770
+
1771
+ **Incorrect: reads storage on every call**
1772
+
1773
+ ```typescript
1774
+ function getTheme() {
1775
+ return localStorage.getItem('theme') ?? 'light'
1776
+ }
1777
+ // Called 10 times = 10 storage reads
1778
+ ```
1779
+
1780
+ **Correct: Map cache**
1781
+
1782
+ ```typescript
1783
+ const storageCache = new Map<string, string | null>()
1784
+
1785
+ function getLocalStorage(key: string) {
1786
+ if (!storageCache.has(key)) {
1787
+ storageCache.set(key, localStorage.getItem(key))
1788
+ }
1789
+ return storageCache.get(key)
1790
+ }
1791
+
1792
+ function setLocalStorage(key: string, value: string) {
1793
+ localStorage.setItem(key, value)
1794
+ storageCache.set(key, value) // keep cache in sync
1795
+ }
1796
+ ```
1797
+
1798
+ Use a Map (not a hook) so it works everywhere: utilities, event handlers, not just React components.
1799
+
1800
+ **Cookie caching:**
1801
+
1802
+ ```typescript
1803
+ let cookieCache: Record<string, string> | null = null
1804
+
1805
+ function getCookie(name: string) {
1806
+ if (!cookieCache) {
1807
+ cookieCache = Object.fromEntries(
1808
+ document.cookie.split('; ').map(c => c.split('='))
1809
+ )
1810
+ }
1811
+ return cookieCache[name]
1812
+ }
1813
+ ```
1814
+
1815
+ **Important: invalidate on external changes**
1816
+
1817
+ ```typescript
1818
+ window.addEventListener('storage', (e) => {
1819
+ if (e.key) storageCache.delete(e.key)
1820
+ })
1821
+
1822
+ document.addEventListener('visibilitychange', () => {
1823
+ if (document.visibilityState === 'visible') {
1824
+ storageCache.clear()
1825
+ }
1826
+ })
1827
+ ```
1828
+
1829
+ If storage can change externally (another tab, server-set cookies), invalidate cache:
1830
+
1831
+ ### 7.6 Combine Multiple Array Iterations
1832
+
1833
+ **Impact: LOW-MEDIUM (reduces iterations)**
1834
+
1835
+ Multiple `.filter()` or `.map()` calls iterate the array multiple times. Combine into one loop.
1836
+
1837
+ **Incorrect: 3 iterations**
1838
+
1839
+ ```typescript
1840
+ const admins = users.filter(u => u.isAdmin)
1841
+ const testers = users.filter(u => u.isTester)
1842
+ const inactive = users.filter(u => !u.isActive)
1843
+ ```
1844
+
1845
+ **Correct: 1 iteration**
1846
+
1847
+ ```typescript
1848
+ const admins: User[] = []
1849
+ const testers: User[] = []
1850
+ const inactive: User[] = []
1851
+
1852
+ for (const user of users) {
1853
+ if (user.isAdmin) admins.push(user)
1854
+ if (user.isTester) testers.push(user)
1855
+ if (!user.isActive) inactive.push(user)
1856
+ }
1857
+ ```
1858
+
1859
+ ### 7.7 Early Length Check for Array Comparisons
1860
+
1861
+ **Impact: MEDIUM-HIGH (avoids expensive operations when lengths differ)**
1862
+
1863
+ When comparing arrays with expensive operations (sorting, deep equality, serialization), check lengths first. If lengths differ, the arrays cannot be equal.
1864
+
1865
+ In real-world applications, this optimization is especially valuable when the comparison runs in hot paths (event handlers, render loops).
1866
+
1867
+ **Incorrect: always runs expensive comparison**
1868
+
1869
+ ```typescript
1870
+ function hasChanges(current: string[], original: string[]) {
1871
+ // Always sorts and joins, even when lengths differ
1872
+ return current.sort().join() !== original.sort().join()
1873
+ }
1874
+ ```
1875
+
1876
+ Two O(n log n) sorts run even when `current.length` is 5 and `original.length` is 100. There is also overhead of joining the arrays and comparing the strings.
1877
+
1878
+ **Correct (O(1) length check first):**
1879
+
1880
+ ```typescript
1881
+ function hasChanges(current: string[], original: string[]) {
1882
+ // Early return if lengths differ
1883
+ if (current.length !== original.length) {
1884
+ return true
1885
+ }
1886
+ // Only sort/join when lengths match
1887
+ const currentSorted = current.toSorted()
1888
+ const originalSorted = original.toSorted()
1889
+ for (let i = 0; i < currentSorted.length; i++) {
1890
+ if (currentSorted[i] !== originalSorted[i]) {
1891
+ return true
1892
+ }
1893
+ }
1894
+ return false
1895
+ }
1896
+ ```
1897
+
1898
+ This new approach is more efficient because:
1899
+
1900
+ - It avoids the overhead of sorting and joining the arrays when lengths differ
1901
+
1902
+ - It avoids consuming memory for the joined strings (especially important for large arrays)
1903
+
1904
+ - It avoids mutating the original arrays
1905
+
1906
+ - It returns early when a difference is found
1907
+
1908
+ ### 7.8 Early Return from Functions
1909
+
1910
+ **Impact: LOW-MEDIUM (avoids unnecessary computation)**
1911
+
1912
+ Return early when result is determined to skip unnecessary processing.
1913
+
1914
+ **Incorrect: processes all items even after finding answer**
1915
+
1916
+ ```typescript
1917
+ function validateUsers(users: User[]) {
1918
+ let hasError = false
1919
+ let errorMessage = ''
1920
+
1921
+ for (const user of users) {
1922
+ if (!user.email) {
1923
+ hasError = true
1924
+ errorMessage = 'Email required'
1925
+ }
1926
+ if (!user.name) {
1927
+ hasError = true
1928
+ errorMessage = 'Name required'
1929
+ }
1930
+ // Continues checking all users even after error found
1931
+ }
1932
+
1933
+ return hasError ? { valid: false, error: errorMessage } : { valid: true }
1934
+ }
1935
+ ```
1936
+
1937
+ **Correct: returns immediately on first error**
1938
+
1939
+ ```typescript
1940
+ function validateUsers(users: User[]) {
1941
+ for (const user of users) {
1942
+ if (!user.email) {
1943
+ return { valid: false, error: 'Email required' }
1944
+ }
1945
+ if (!user.name) {
1946
+ return { valid: false, error: 'Name required' }
1947
+ }
1948
+ }
1949
+
1950
+ return { valid: true }
1951
+ }
1952
+ ```
1953
+
1954
+ ### 7.9 Hoist RegExp Creation
1955
+
1956
+ **Impact: LOW-MEDIUM (avoids recreation)**
1957
+
1958
+ Don't create RegExp inside render. Hoist to module scope or memoize with `useMemo()`.
1959
+
1960
+ **Incorrect: new RegExp every render**
1961
+
1962
+ ```tsx
1963
+ function Highlighter({ text, query }: Props) {
1964
+ const regex = new RegExp(`(${query})`, 'gi')
1965
+ const parts = text.split(regex)
1966
+ return <>{parts.map((part, i) => ...)}</>
1967
+ }
1968
+ ```
1969
+
1970
+ **Correct: memoize or hoist**
1971
+
1972
+ ```tsx
1973
+ const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
1974
+
1975
+ function Highlighter({ text, query }: Props) {
1976
+ const regex = useMemo(
1977
+ () => new RegExp(`(${escapeRegex(query)})`, 'gi'),
1978
+ [query]
1979
+ )
1980
+ const parts = text.split(regex)
1981
+ return <>{parts.map((part, i) => ...)}</>
1982
+ }
1983
+ ```
1984
+
1985
+ **Warning: global regex has mutable state**
1986
+
1987
+ ```typescript
1988
+ const regex = /foo/g
1989
+ regex.test('foo') // true, lastIndex = 3
1990
+ regex.test('foo') // false, lastIndex = 0
1991
+ ```
1992
+
1993
+ Global regex (`/g`) has mutable `lastIndex` state:
1994
+
1995
+ ### 7.10 Use Loop for Min/Max Instead of Sort
1996
+
1997
+ **Impact: LOW (O(n) instead of O(n log n))**
1998
+
1999
+ Finding the smallest or largest element only requires a single pass through the array. Sorting is wasteful and slower.
2000
+
2001
+ **Incorrect (O(n log n) - sort to find latest):**
2002
+
2003
+ ```typescript
2004
+ interface Project {
2005
+ id: string
2006
+ name: string
2007
+ updatedAt: number
2008
+ }
2009
+
2010
+ function getLatestProject(projects: Project[]) {
2011
+ const sorted = [...projects].sort((a, b) => b.updatedAt - a.updatedAt)
2012
+ return sorted[0]
2013
+ }
2014
+ ```
2015
+
2016
+ Sorts the entire array just to find the maximum value.
2017
+
2018
+ **Incorrect (O(n log n) - sort for oldest and newest):**
2019
+
2020
+ ```typescript
2021
+ function getOldestAndNewest(projects: Project[]) {
2022
+ const sorted = [...projects].sort((a, b) => a.updatedAt - b.updatedAt)
2023
+ return { oldest: sorted[0], newest: sorted[sorted.length - 1] }
2024
+ }
2025
+ ```
2026
+
2027
+ Still sorts unnecessarily when only min/max are needed.
2028
+
2029
+ **Correct (O(n) - single loop):**
2030
+
2031
+ ```typescript
2032
+ function getLatestProject(projects: Project[]) {
2033
+ if (projects.length === 0) return null
2034
+
2035
+ let latest = projects[0]
2036
+
2037
+ for (let i = 1; i < projects.length; i++) {
2038
+ if (projects[i].updatedAt > latest.updatedAt) {
2039
+ latest = projects[i]
2040
+ }
2041
+ }
2042
+
2043
+ return latest
2044
+ }
2045
+
2046
+ function getOldestAndNewest(projects: Project[]) {
2047
+ if (projects.length === 0) return { oldest: null, newest: null }
2048
+
2049
+ let oldest = projects[0]
2050
+ let newest = projects[0]
2051
+
2052
+ for (let i = 1; i < projects.length; i++) {
2053
+ if (projects[i].updatedAt < oldest.updatedAt) oldest = projects[i]
2054
+ if (projects[i].updatedAt > newest.updatedAt) newest = projects[i]
2055
+ }
2056
+
2057
+ return { oldest, newest }
2058
+ }
2059
+ ```
2060
+
2061
+ Single pass through the array, no copying, no sorting.
2062
+
2063
+ **Alternative: Math.min/Math.max for small arrays**
2064
+
2065
+ ```typescript
2066
+ const numbers = [5, 2, 8, 1, 9]
2067
+ const min = Math.min(...numbers)
2068
+ const max = Math.max(...numbers)
2069
+ ```
2070
+
2071
+ This works for small arrays but can be slower for very large arrays due to spread operator limitations. Use the loop approach for reliability.
2072
+
2073
+ ### 7.11 Use Set/Map for O(1) Lookups
2074
+
2075
+ **Impact: LOW-MEDIUM (O(n) to O(1))**
2076
+
2077
+ Convert arrays to Set/Map for repeated membership checks.
2078
+
2079
+ **Incorrect (O(n) per check):**
2080
+
2081
+ ```typescript
2082
+ const allowedIds = ['a', 'b', 'c', ...]
2083
+ items.filter(item => allowedIds.includes(item.id))
2084
+ ```
2085
+
2086
+ **Correct (O(1) per check):**
2087
+
2088
+ ```typescript
2089
+ const allowedIds = new Set(['a', 'b', 'c', ...])
2090
+ items.filter(item => allowedIds.has(item.id))
2091
+ ```
2092
+
2093
+ ### 7.12 Use toSorted() Instead of sort() for Immutability
2094
+
2095
+ **Impact: MEDIUM-HIGH (prevents mutation bugs in React state)**
2096
+
2097
+ `.sort()` mutates the array in place, which can cause bugs with React state and props. Use `.toSorted()` to create a new sorted array without mutation.
2098
+
2099
+ **Incorrect: mutates original array**
2100
+
2101
+ ```typescript
2102
+ function UserList({ users }: { users: User[] }) {
2103
+ // Mutates the users prop array!
2104
+ const sorted = useMemo(
2105
+ () => users.sort((a, b) => a.name.localeCompare(b.name)),
2106
+ [users]
2107
+ )
2108
+ return <div>{sorted.map(renderUser)}</div>
2109
+ }
2110
+ ```
2111
+
2112
+ **Correct: creates new array**
2113
+
2114
+ ```typescript
2115
+ function UserList({ users }: { users: User[] }) {
2116
+ // Creates new sorted array, original unchanged
2117
+ const sorted = useMemo(
2118
+ () => users.toSorted((a, b) => a.name.localeCompare(b.name)),
2119
+ [users]
2120
+ )
2121
+ return <div>{sorted.map(renderUser)}</div>
2122
+ }
2123
+ ```
2124
+
2125
+ **Why this matters in React:**
2126
+
2127
+ 1. Props/state mutations break React's immutability model - React expects props and state to be treated as read-only
2128
+
2129
+ 2. Causes stale closure bugs - Mutating arrays inside closures (callbacks, effects) can lead to unexpected behavior
2130
+
2131
+ **Browser support: fallback for older browsers**
2132
+
2133
+ ```typescript
2134
+ // Fallback for older browsers
2135
+ const sorted = [...items].sort((a, b) => a.value - b.value)
2136
+ ```
2137
+
2138
+ `.toSorted()` is available in all modern browsers (Chrome 110+, Safari 16+, Firefox 115+, Node.js 20+). For older environments, use spread operator:
2139
+
2140
+ **Other immutable array methods:**
2141
+
2142
+ - `.toSorted()` - immutable sort
2143
+
2144
+ - `.toReversed()` - immutable reverse
2145
+
2146
+ - `.toSpliced()` - immutable splice
2147
+
2148
+ - `.with()` - immutable element replacement
2149
+
2150
+ ---
2151
+
2152
+ ## 8. Advanced Patterns
2153
+
2154
+ **Impact: LOW**
2155
+
2156
+ Advanced patterns for specific cases that require careful implementation.
2157
+
2158
+ ### 8.1 Store Event Handlers in Refs
2159
+
2160
+ **Impact: LOW (stable subscriptions)**
2161
+
2162
+ Store callbacks in refs when used in effects that shouldn't re-subscribe on callback changes.
2163
+
2164
+ **Incorrect: re-subscribes on every render**
2165
+
2166
+ ```tsx
2167
+ function useWindowEvent(event: string, handler: () => void) {
2168
+ useEffect(() => {
2169
+ window.addEventListener(event, handler)
2170
+ return () => window.removeEventListener(event, handler)
2171
+ }, [event, handler])
2172
+ }
2173
+ ```
2174
+
2175
+ **Correct: stable subscription**
2176
+
2177
+ ```tsx
2178
+ import { useEffectEvent } from 'react'
2179
+
2180
+ function useWindowEvent(event: string, handler: () => void) {
2181
+ const onEvent = useEffectEvent(handler)
2182
+
2183
+ useEffect(() => {
2184
+ window.addEventListener(event, onEvent)
2185
+ return () => window.removeEventListener(event, onEvent)
2186
+ }, [event])
2187
+ }
2188
+ ```
2189
+
2190
+ **Alternative: use `useEffectEvent` if you're on latest React:**
2191
+
2192
+ `useEffectEvent` provides a cleaner API for the same pattern: it creates a stable function reference that always calls the latest version of the handler.
2193
+
2194
+ ### 8.2 useLatest for Stable Callback Refs
2195
+
2196
+ **Impact: LOW (prevents effect re-runs)**
2197
+
2198
+ Access latest values in callbacks without adding them to dependency arrays. Prevents effect re-runs while avoiding stale closures.
2199
+
2200
+ **Implementation:**
2201
+
2202
+ ```typescript
2203
+ function useLatest<T>(value: T) {
2204
+ const ref = useRef(value)
2205
+ useEffect(() => {
2206
+ ref.current = value
2207
+ }, [value])
2208
+ return ref
2209
+ }
2210
+ ```
2211
+
2212
+ **Incorrect: effect re-runs on every callback change**
2213
+
2214
+ ```tsx
2215
+ function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
2216
+ const [query, setQuery] = useState('')
2217
+
2218
+ useEffect(() => {
2219
+ const timeout = setTimeout(() => onSearch(query), 300)
2220
+ return () => clearTimeout(timeout)
2221
+ }, [query, onSearch])
2222
+ }
2223
+ ```
2224
+
2225
+ **Correct: stable effect, fresh callback**
2226
+
2227
+ ```tsx
2228
+ function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
2229
+ const [query, setQuery] = useState('')
2230
+ const onSearchRef = useLatest(onSearch)
2231
+
2232
+ useEffect(() => {
2233
+ const timeout = setTimeout(() => onSearchRef.current(query), 300)
2234
+ return () => clearTimeout(timeout)
2235
+ }, [query])
2236
+ }
2237
+ ```
2238
+
2239
+ ---
2240
+
2241
+ ## References
2242
+
2243
+ 1. [https://react.dev](https://react.dev)
2244
+ 2. [https://nextjs.org](https://nextjs.org)
2245
+ 3. [https://swr.vercel.app](https://swr.vercel.app)
2246
+ 4. [https://github.com/shuding/better-all](https://github.com/shuding/better-all)
2247
+ 5. [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
2248
+ 6. [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
2249
+ 7. [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)