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,1276 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Library for working with Word documents: comments, tracked changes, and editing.
4
+
5
+ Usage:
6
+ from skills.docx.scripts.document import Document
7
+
8
+ # Initialize
9
+ doc = Document('workspace/unpacked')
10
+ doc = Document('workspace/unpacked', author="John Doe", initials="JD")
11
+
12
+ # Find nodes
13
+ node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
14
+ node = doc["word/document.xml"].get_node(tag="w:p", line_number=10)
15
+
16
+ # Add comments
17
+ doc.add_comment(start=node, end=node, text="Comment text")
18
+ doc.reply_to_comment(parent_comment_id=0, text="Reply text")
19
+
20
+ # Suggest tracked changes
21
+ doc["word/document.xml"].suggest_deletion(node) # Delete content
22
+ doc["word/document.xml"].revert_insertion(ins_node) # Reject insertion
23
+ doc["word/document.xml"].revert_deletion(del_node) # Reject deletion
24
+
25
+ # Save
26
+ doc.save()
27
+ """
28
+
29
+ import html
30
+ import random
31
+ import shutil
32
+ import tempfile
33
+ from datetime import datetime, timezone
34
+ from pathlib import Path
35
+
36
+ from defusedxml import minidom
37
+ from ooxml.scripts.pack import pack_document
38
+ from ooxml.scripts.validation.docx import DOCXSchemaValidator
39
+ from ooxml.scripts.validation.redlining import RedliningValidator
40
+
41
+ from .utilities import XMLEditor
42
+
43
+ # Path to template files
44
+ TEMPLATE_DIR = Path(__file__).parent / "templates"
45
+
46
+
47
+ class DocxXMLEditor(XMLEditor):
48
+ """XMLEditor that automatically applies RSID, author, and date to new elements.
49
+
50
+ Automatically adds attributes to elements that support them when inserting new content:
51
+ - w:rsidR, w:rsidRDefault, w:rsidP (for w:p and w:r elements)
52
+ - w:author and w:date (for w:ins, w:del, w:comment elements)
53
+ - w:id (for w:ins and w:del elements)
54
+
55
+ Attributes:
56
+ dom (defusedxml.minidom.Document): The DOM document for direct manipulation
57
+ """
58
+
59
+ def __init__(
60
+ self, xml_path, rsid: str, author: str = "Claude", initials: str = "C"
61
+ ):
62
+ """Initialize with required RSID and optional author.
63
+
64
+ Args:
65
+ xml_path: Path to XML file to edit
66
+ rsid: RSID to automatically apply to new elements
67
+ author: Author name for tracked changes and comments (default: "Claude")
68
+ initials: Author initials (default: "C")
69
+ """
70
+ super().__init__(xml_path)
71
+ self.rsid = rsid
72
+ self.author = author
73
+ self.initials = initials
74
+
75
+ def _get_next_change_id(self):
76
+ """Get the next available change ID by checking all tracked change elements."""
77
+ max_id = -1
78
+ for tag in ("w:ins", "w:del"):
79
+ elements = self.dom.getElementsByTagName(tag)
80
+ for elem in elements:
81
+ change_id = elem.getAttribute("w:id")
82
+ if change_id:
83
+ try:
84
+ max_id = max(max_id, int(change_id))
85
+ except ValueError:
86
+ pass
87
+ return max_id + 1
88
+
89
+ def _ensure_w16du_namespace(self):
90
+ """Ensure w16du namespace is declared on the root element."""
91
+ root = self.dom.documentElement
92
+ if not root.hasAttribute("xmlns:w16du"): # type: ignore
93
+ root.setAttribute( # type: ignore
94
+ "xmlns:w16du",
95
+ "http://schemas.microsoft.com/office/word/2023/wordml/word16du",
96
+ )
97
+
98
+ def _ensure_w16cex_namespace(self):
99
+ """Ensure w16cex namespace is declared on the root element."""
100
+ root = self.dom.documentElement
101
+ if not root.hasAttribute("xmlns:w16cex"): # type: ignore
102
+ root.setAttribute( # type: ignore
103
+ "xmlns:w16cex",
104
+ "http://schemas.microsoft.com/office/word/2018/wordml/cex",
105
+ )
106
+
107
+ def _ensure_w14_namespace(self):
108
+ """Ensure w14 namespace is declared on the root element."""
109
+ root = self.dom.documentElement
110
+ if not root.hasAttribute("xmlns:w14"): # type: ignore
111
+ root.setAttribute( # type: ignore
112
+ "xmlns:w14",
113
+ "http://schemas.microsoft.com/office/word/2010/wordml",
114
+ )
115
+
116
+ def _inject_attributes_to_nodes(self, nodes):
117
+ """Inject RSID, author, and date attributes into DOM nodes where applicable.
118
+
119
+ Adds attributes to elements that support them:
120
+ - w:r: gets w:rsidR (or w:rsidDel if inside w:del)
121
+ - w:p: gets w:rsidR, w:rsidRDefault, w:rsidP, w14:paraId, w14:textId
122
+ - w:t: gets xml:space="preserve" if text has leading/trailing whitespace
123
+ - w:ins, w:del: get w:id, w:author, w:date, w16du:dateUtc
124
+ - w:comment: gets w:author, w:date, w:initials
125
+ - w16cex:commentExtensible: gets w16cex:dateUtc
126
+
127
+ Args:
128
+ nodes: List of DOM nodes to process
129
+ """
130
+ from datetime import datetime, timezone
131
+
132
+ timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
133
+
134
+ def is_inside_deletion(elem):
135
+ """Check if element is inside a w:del element."""
136
+ parent = elem.parentNode
137
+ while parent:
138
+ if parent.nodeType == parent.ELEMENT_NODE and parent.tagName == "w:del":
139
+ return True
140
+ parent = parent.parentNode
141
+ return False
142
+
143
+ def add_rsid_to_p(elem):
144
+ if not elem.hasAttribute("w:rsidR"):
145
+ elem.setAttribute("w:rsidR", self.rsid)
146
+ if not elem.hasAttribute("w:rsidRDefault"):
147
+ elem.setAttribute("w:rsidRDefault", self.rsid)
148
+ if not elem.hasAttribute("w:rsidP"):
149
+ elem.setAttribute("w:rsidP", self.rsid)
150
+ # Add w14:paraId and w14:textId if not present
151
+ if not elem.hasAttribute("w14:paraId"):
152
+ self._ensure_w14_namespace()
153
+ elem.setAttribute("w14:paraId", _generate_hex_id())
154
+ if not elem.hasAttribute("w14:textId"):
155
+ self._ensure_w14_namespace()
156
+ elem.setAttribute("w14:textId", _generate_hex_id())
157
+
158
+ def add_rsid_to_r(elem):
159
+ # Use w:rsidDel for <w:r> inside <w:del>, otherwise w:rsidR
160
+ if is_inside_deletion(elem):
161
+ if not elem.hasAttribute("w:rsidDel"):
162
+ elem.setAttribute("w:rsidDel", self.rsid)
163
+ else:
164
+ if not elem.hasAttribute("w:rsidR"):
165
+ elem.setAttribute("w:rsidR", self.rsid)
166
+
167
+ def add_tracked_change_attrs(elem):
168
+ # Auto-assign w:id if not present
169
+ if not elem.hasAttribute("w:id"):
170
+ elem.setAttribute("w:id", str(self._get_next_change_id()))
171
+ if not elem.hasAttribute("w:author"):
172
+ elem.setAttribute("w:author", self.author)
173
+ if not elem.hasAttribute("w:date"):
174
+ elem.setAttribute("w:date", timestamp)
175
+ # Add w16du:dateUtc for tracked changes (same as w:date since we generate UTC timestamps)
176
+ if elem.tagName in ("w:ins", "w:del") and not elem.hasAttribute(
177
+ "w16du:dateUtc"
178
+ ):
179
+ self._ensure_w16du_namespace()
180
+ elem.setAttribute("w16du:dateUtc", timestamp)
181
+
182
+ def add_comment_attrs(elem):
183
+ if not elem.hasAttribute("w:author"):
184
+ elem.setAttribute("w:author", self.author)
185
+ if not elem.hasAttribute("w:date"):
186
+ elem.setAttribute("w:date", timestamp)
187
+ if not elem.hasAttribute("w:initials"):
188
+ elem.setAttribute("w:initials", self.initials)
189
+
190
+ def add_comment_extensible_date(elem):
191
+ # Add w16cex:dateUtc for comment extensible elements
192
+ if not elem.hasAttribute("w16cex:dateUtc"):
193
+ self._ensure_w16cex_namespace()
194
+ elem.setAttribute("w16cex:dateUtc", timestamp)
195
+
196
+ def add_xml_space_to_t(elem):
197
+ # Add xml:space="preserve" to w:t if text has leading/trailing whitespace
198
+ if (
199
+ elem.firstChild
200
+ and elem.firstChild.nodeType == elem.firstChild.TEXT_NODE
201
+ ):
202
+ text = elem.firstChild.data
203
+ if text and (text[0].isspace() or text[-1].isspace()):
204
+ if not elem.hasAttribute("xml:space"):
205
+ elem.setAttribute("xml:space", "preserve")
206
+
207
+ for node in nodes:
208
+ if node.nodeType != node.ELEMENT_NODE:
209
+ continue
210
+
211
+ # Handle the node itself
212
+ if node.tagName == "w:p":
213
+ add_rsid_to_p(node)
214
+ elif node.tagName == "w:r":
215
+ add_rsid_to_r(node)
216
+ elif node.tagName == "w:t":
217
+ add_xml_space_to_t(node)
218
+ elif node.tagName in ("w:ins", "w:del"):
219
+ add_tracked_change_attrs(node)
220
+ elif node.tagName == "w:comment":
221
+ add_comment_attrs(node)
222
+ elif node.tagName == "w16cex:commentExtensible":
223
+ add_comment_extensible_date(node)
224
+
225
+ # Process descendants (getElementsByTagName doesn't return the element itself)
226
+ for elem in node.getElementsByTagName("w:p"):
227
+ add_rsid_to_p(elem)
228
+ for elem in node.getElementsByTagName("w:r"):
229
+ add_rsid_to_r(elem)
230
+ for elem in node.getElementsByTagName("w:t"):
231
+ add_xml_space_to_t(elem)
232
+ for tag in ("w:ins", "w:del"):
233
+ for elem in node.getElementsByTagName(tag):
234
+ add_tracked_change_attrs(elem)
235
+ for elem in node.getElementsByTagName("w:comment"):
236
+ add_comment_attrs(elem)
237
+ for elem in node.getElementsByTagName("w16cex:commentExtensible"):
238
+ add_comment_extensible_date(elem)
239
+
240
+ def replace_node(self, elem, new_content):
241
+ """Replace node with automatic attribute injection."""
242
+ nodes = super().replace_node(elem, new_content)
243
+ self._inject_attributes_to_nodes(nodes)
244
+ return nodes
245
+
246
+ def insert_after(self, elem, xml_content):
247
+ """Insert after with automatic attribute injection."""
248
+ nodes = super().insert_after(elem, xml_content)
249
+ self._inject_attributes_to_nodes(nodes)
250
+ return nodes
251
+
252
+ def insert_before(self, elem, xml_content):
253
+ """Insert before with automatic attribute injection."""
254
+ nodes = super().insert_before(elem, xml_content)
255
+ self._inject_attributes_to_nodes(nodes)
256
+ return nodes
257
+
258
+ def append_to(self, elem, xml_content):
259
+ """Append to with automatic attribute injection."""
260
+ nodes = super().append_to(elem, xml_content)
261
+ self._inject_attributes_to_nodes(nodes)
262
+ return nodes
263
+
264
+ def revert_insertion(self, elem):
265
+ """Reject an insertion by wrapping its content in a deletion.
266
+
267
+ Wraps all runs inside w:ins in w:del, converting w:t to w:delText.
268
+ Can process a single w:ins element or a container element with multiple w:ins.
269
+
270
+ Args:
271
+ elem: Element to process (w:ins, w:p, w:body, etc.)
272
+
273
+ Returns:
274
+ list: List containing the processed element(s)
275
+
276
+ Raises:
277
+ ValueError: If the element contains no w:ins elements
278
+
279
+ Example:
280
+ # Reject a single insertion
281
+ ins = doc["word/document.xml"].get_node(tag="w:ins", attrs={"w:id": "5"})
282
+ doc["word/document.xml"].revert_insertion(ins)
283
+
284
+ # Reject all insertions in a paragraph
285
+ para = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
286
+ doc["word/document.xml"].revert_insertion(para)
287
+ """
288
+ # Collect insertions
289
+ ins_elements = []
290
+ if elem.tagName == "w:ins":
291
+ ins_elements.append(elem)
292
+ else:
293
+ ins_elements.extend(elem.getElementsByTagName("w:ins"))
294
+
295
+ # Validate that there are insertions to reject
296
+ if not ins_elements:
297
+ raise ValueError(
298
+ f"revert_insertion requires w:ins elements. "
299
+ f"The provided element <{elem.tagName}> contains no insertions. "
300
+ )
301
+
302
+ # Process all insertions - wrap all children in w:del
303
+ for ins_elem in ins_elements:
304
+ runs = list(ins_elem.getElementsByTagName("w:r"))
305
+ if not runs:
306
+ continue
307
+
308
+ # Create deletion wrapper
309
+ del_wrapper = self.dom.createElement("w:del")
310
+
311
+ # Process each run
312
+ for run in runs:
313
+ # Convert w:t → w:delText and w:rsidR → w:rsidDel
314
+ if run.hasAttribute("w:rsidR"):
315
+ run.setAttribute("w:rsidDel", run.getAttribute("w:rsidR"))
316
+ run.removeAttribute("w:rsidR")
317
+ elif not run.hasAttribute("w:rsidDel"):
318
+ run.setAttribute("w:rsidDel", self.rsid)
319
+
320
+ for t_elem in list(run.getElementsByTagName("w:t")):
321
+ del_text = self.dom.createElement("w:delText")
322
+ # Copy ALL child nodes (not just firstChild) to handle entities
323
+ while t_elem.firstChild:
324
+ del_text.appendChild(t_elem.firstChild)
325
+ for i in range(t_elem.attributes.length):
326
+ attr = t_elem.attributes.item(i)
327
+ del_text.setAttribute(attr.name, attr.value)
328
+ t_elem.parentNode.replaceChild(del_text, t_elem)
329
+
330
+ # Move all children from ins to del wrapper
331
+ while ins_elem.firstChild:
332
+ del_wrapper.appendChild(ins_elem.firstChild)
333
+
334
+ # Add del wrapper back to ins
335
+ ins_elem.appendChild(del_wrapper)
336
+
337
+ # Inject attributes to the deletion wrapper
338
+ self._inject_attributes_to_nodes([del_wrapper])
339
+
340
+ return [elem]
341
+
342
+ def revert_deletion(self, elem):
343
+ """Reject a deletion by re-inserting the deleted content.
344
+
345
+ Creates w:ins elements after each w:del, copying deleted content and
346
+ converting w:delText back to w:t.
347
+ Can process a single w:del element or a container element with multiple w:del.
348
+
349
+ Args:
350
+ elem: Element to process (w:del, w:p, w:body, etc.)
351
+
352
+ Returns:
353
+ list: If elem is w:del, returns [elem, new_ins]. Otherwise returns [elem].
354
+
355
+ Raises:
356
+ ValueError: If the element contains no w:del elements
357
+
358
+ Example:
359
+ # Reject a single deletion - returns [w:del, w:ins]
360
+ del_elem = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "3"})
361
+ nodes = doc["word/document.xml"].revert_deletion(del_elem)
362
+
363
+ # Reject all deletions in a paragraph - returns [para]
364
+ para = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
365
+ nodes = doc["word/document.xml"].revert_deletion(para)
366
+ """
367
+ # Collect deletions FIRST - before we modify the DOM
368
+ del_elements = []
369
+ is_single_del = elem.tagName == "w:del"
370
+
371
+ if is_single_del:
372
+ del_elements.append(elem)
373
+ else:
374
+ del_elements.extend(elem.getElementsByTagName("w:del"))
375
+
376
+ # Validate that there are deletions to reject
377
+ if not del_elements:
378
+ raise ValueError(
379
+ f"revert_deletion requires w:del elements. "
380
+ f"The provided element <{elem.tagName}> contains no deletions. "
381
+ )
382
+
383
+ # Track created insertion (only relevant if elem is a single w:del)
384
+ created_insertion = None
385
+
386
+ # Process all deletions - create insertions that copy the deleted content
387
+ for del_elem in del_elements:
388
+ # Clone the deleted runs and convert them to insertions
389
+ runs = list(del_elem.getElementsByTagName("w:r"))
390
+ if not runs:
391
+ continue
392
+
393
+ # Create insertion wrapper
394
+ ins_elem = self.dom.createElement("w:ins")
395
+
396
+ for run in runs:
397
+ # Clone the run
398
+ new_run = run.cloneNode(True)
399
+
400
+ # Convert w:delText → w:t
401
+ for del_text in list(new_run.getElementsByTagName("w:delText")):
402
+ t_elem = self.dom.createElement("w:t")
403
+ # Copy ALL child nodes (not just firstChild) to handle entities
404
+ while del_text.firstChild:
405
+ t_elem.appendChild(del_text.firstChild)
406
+ for i in range(del_text.attributes.length):
407
+ attr = del_text.attributes.item(i)
408
+ t_elem.setAttribute(attr.name, attr.value)
409
+ del_text.parentNode.replaceChild(t_elem, del_text)
410
+
411
+ # Update run attributes: w:rsidDel → w:rsidR
412
+ if new_run.hasAttribute("w:rsidDel"):
413
+ new_run.setAttribute("w:rsidR", new_run.getAttribute("w:rsidDel"))
414
+ new_run.removeAttribute("w:rsidDel")
415
+ elif not new_run.hasAttribute("w:rsidR"):
416
+ new_run.setAttribute("w:rsidR", self.rsid)
417
+
418
+ ins_elem.appendChild(new_run)
419
+
420
+ # Insert the new insertion after the deletion
421
+ nodes = self.insert_after(del_elem, ins_elem.toxml())
422
+
423
+ # If processing a single w:del, track the created insertion
424
+ if is_single_del and nodes:
425
+ created_insertion = nodes[0]
426
+
427
+ # Return based on input type
428
+ if is_single_del and created_insertion:
429
+ return [elem, created_insertion]
430
+ else:
431
+ return [elem]
432
+
433
+ @staticmethod
434
+ def suggest_paragraph(xml_content: str) -> str:
435
+ """Transform paragraph XML to add tracked change wrapping for insertion.
436
+
437
+ Wraps runs in <w:ins> and adds <w:ins/> to w:rPr in w:pPr for numbered lists.
438
+
439
+ Args:
440
+ xml_content: XML string containing a <w:p> element
441
+
442
+ Returns:
443
+ str: Transformed XML with tracked change wrapping
444
+ """
445
+ wrapper = f'<root xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">{xml_content}</root>'
446
+ doc = minidom.parseString(wrapper)
447
+ para = doc.getElementsByTagName("w:p")[0]
448
+
449
+ # Ensure w:pPr exists
450
+ pPr_list = para.getElementsByTagName("w:pPr")
451
+ if not pPr_list:
452
+ pPr = doc.createElement("w:pPr")
453
+ para.insertBefore(
454
+ pPr, para.firstChild
455
+ ) if para.firstChild else para.appendChild(pPr)
456
+ else:
457
+ pPr = pPr_list[0]
458
+
459
+ # Ensure w:rPr exists in w:pPr
460
+ rPr_list = pPr.getElementsByTagName("w:rPr")
461
+ if not rPr_list:
462
+ rPr = doc.createElement("w:rPr")
463
+ pPr.appendChild(rPr)
464
+ else:
465
+ rPr = rPr_list[0]
466
+
467
+ # Add <w:ins/> to w:rPr
468
+ ins_marker = doc.createElement("w:ins")
469
+ rPr.insertBefore(
470
+ ins_marker, rPr.firstChild
471
+ ) if rPr.firstChild else rPr.appendChild(ins_marker)
472
+
473
+ # Wrap all non-pPr children in <w:ins>
474
+ ins_wrapper = doc.createElement("w:ins")
475
+ for child in [c for c in para.childNodes if c.nodeName != "w:pPr"]:
476
+ para.removeChild(child)
477
+ ins_wrapper.appendChild(child)
478
+ para.appendChild(ins_wrapper)
479
+
480
+ return para.toxml()
481
+
482
+ def suggest_deletion(self, elem):
483
+ """Mark a w:r or w:p element as deleted with tracked changes (in-place DOM manipulation).
484
+
485
+ For w:r: wraps in <w:del>, converts <w:t> to <w:delText>, preserves w:rPr
486
+ For w:p (regular): wraps content in <w:del>, converts <w:t> to <w:delText>
487
+ For w:p (numbered list): adds <w:del/> to w:rPr in w:pPr, wraps content in <w:del>
488
+
489
+ Args:
490
+ elem: A w:r or w:p DOM element without existing tracked changes
491
+
492
+ Returns:
493
+ Element: The modified element
494
+
495
+ Raises:
496
+ ValueError: If element has existing tracked changes or invalid structure
497
+ """
498
+ if elem.nodeName == "w:r":
499
+ # Check for existing w:delText
500
+ if elem.getElementsByTagName("w:delText"):
501
+ raise ValueError("w:r element already contains w:delText")
502
+
503
+ # Convert w:t → w:delText
504
+ for t_elem in list(elem.getElementsByTagName("w:t")):
505
+ del_text = self.dom.createElement("w:delText")
506
+ # Copy ALL child nodes (not just firstChild) to handle entities
507
+ while t_elem.firstChild:
508
+ del_text.appendChild(t_elem.firstChild)
509
+ # Preserve attributes like xml:space
510
+ for i in range(t_elem.attributes.length):
511
+ attr = t_elem.attributes.item(i)
512
+ del_text.setAttribute(attr.name, attr.value)
513
+ t_elem.parentNode.replaceChild(del_text, t_elem)
514
+
515
+ # Update run attributes: w:rsidR → w:rsidDel
516
+ if elem.hasAttribute("w:rsidR"):
517
+ elem.setAttribute("w:rsidDel", elem.getAttribute("w:rsidR"))
518
+ elem.removeAttribute("w:rsidR")
519
+ elif not elem.hasAttribute("w:rsidDel"):
520
+ elem.setAttribute("w:rsidDel", self.rsid)
521
+
522
+ # Wrap in w:del
523
+ del_wrapper = self.dom.createElement("w:del")
524
+ parent = elem.parentNode
525
+ parent.insertBefore(del_wrapper, elem)
526
+ parent.removeChild(elem)
527
+ del_wrapper.appendChild(elem)
528
+
529
+ # Inject attributes to the deletion wrapper
530
+ self._inject_attributes_to_nodes([del_wrapper])
531
+
532
+ return del_wrapper
533
+
534
+ elif elem.nodeName == "w:p":
535
+ # Check for existing tracked changes
536
+ if elem.getElementsByTagName("w:ins") or elem.getElementsByTagName("w:del"):
537
+ raise ValueError("w:p element already contains tracked changes")
538
+
539
+ # Check if it's a numbered list item
540
+ pPr_list = elem.getElementsByTagName("w:pPr")
541
+ is_numbered = pPr_list and pPr_list[0].getElementsByTagName("w:numPr")
542
+
543
+ if is_numbered:
544
+ # Add <w:del/> to w:rPr in w:pPr
545
+ pPr = pPr_list[0]
546
+ rPr_list = pPr.getElementsByTagName("w:rPr")
547
+
548
+ if not rPr_list:
549
+ rPr = self.dom.createElement("w:rPr")
550
+ pPr.appendChild(rPr)
551
+ else:
552
+ rPr = rPr_list[0]
553
+
554
+ # Add <w:del/> marker
555
+ del_marker = self.dom.createElement("w:del")
556
+ rPr.insertBefore(
557
+ del_marker, rPr.firstChild
558
+ ) if rPr.firstChild else rPr.appendChild(del_marker)
559
+
560
+ # Convert w:t → w:delText in all runs
561
+ for t_elem in list(elem.getElementsByTagName("w:t")):
562
+ del_text = self.dom.createElement("w:delText")
563
+ # Copy ALL child nodes (not just firstChild) to handle entities
564
+ while t_elem.firstChild:
565
+ del_text.appendChild(t_elem.firstChild)
566
+ # Preserve attributes like xml:space
567
+ for i in range(t_elem.attributes.length):
568
+ attr = t_elem.attributes.item(i)
569
+ del_text.setAttribute(attr.name, attr.value)
570
+ t_elem.parentNode.replaceChild(del_text, t_elem)
571
+
572
+ # Update run attributes: w:rsidR → w:rsidDel
573
+ for run in elem.getElementsByTagName("w:r"):
574
+ if run.hasAttribute("w:rsidR"):
575
+ run.setAttribute("w:rsidDel", run.getAttribute("w:rsidR"))
576
+ run.removeAttribute("w:rsidR")
577
+ elif not run.hasAttribute("w:rsidDel"):
578
+ run.setAttribute("w:rsidDel", self.rsid)
579
+
580
+ # Wrap all non-pPr children in <w:del>
581
+ del_wrapper = self.dom.createElement("w:del")
582
+ for child in [c for c in elem.childNodes if c.nodeName != "w:pPr"]:
583
+ elem.removeChild(child)
584
+ del_wrapper.appendChild(child)
585
+ elem.appendChild(del_wrapper)
586
+
587
+ # Inject attributes to the deletion wrapper
588
+ self._inject_attributes_to_nodes([del_wrapper])
589
+
590
+ return elem
591
+
592
+ else:
593
+ raise ValueError(f"Element must be w:r or w:p, got {elem.nodeName}")
594
+
595
+
596
+ def _generate_hex_id() -> str:
597
+ """Generate random 8-character hex ID for para/durable IDs.
598
+
599
+ Values are constrained to be less than 0x7FFFFFFF per OOXML spec:
600
+ - paraId must be < 0x80000000
601
+ - durableId must be < 0x7FFFFFFF
602
+ We use the stricter constraint (0x7FFFFFFF) for both.
603
+ """
604
+ return f"{random.randint(1, 0x7FFFFFFE):08X}"
605
+
606
+
607
+ def _generate_rsid() -> str:
608
+ """Generate random 8-character hex RSID."""
609
+ return "".join(random.choices("0123456789ABCDEF", k=8))
610
+
611
+
612
+ class Document:
613
+ """Manages comments in unpacked Word documents."""
614
+
615
+ def __init__(
616
+ self,
617
+ unpacked_dir,
618
+ rsid=None,
619
+ track_revisions=False,
620
+ author="Claude",
621
+ initials="C",
622
+ ):
623
+ """
624
+ Initialize with path to unpacked Word document directory.
625
+ Automatically sets up comment infrastructure (people.xml, RSIDs).
626
+
627
+ Args:
628
+ unpacked_dir: Path to unpacked DOCX directory (must contain word/ subdirectory)
629
+ rsid: Optional RSID to use for all comment elements. If not provided, one will be generated.
630
+ track_revisions: If True, enables track revisions in settings.xml (default: False)
631
+ author: Default author name for comments (default: "Claude")
632
+ initials: Default author initials for comments (default: "C")
633
+ """
634
+ self.original_path = Path(unpacked_dir)
635
+
636
+ if not self.original_path.exists() or not self.original_path.is_dir():
637
+ raise ValueError(f"Directory not found: {unpacked_dir}")
638
+
639
+ # Create temporary directory with subdirectories for unpacked content and baseline
640
+ self.temp_dir = tempfile.mkdtemp(prefix="docx_")
641
+ self.unpacked_path = Path(self.temp_dir) / "unpacked"
642
+ shutil.copytree(self.original_path, self.unpacked_path)
643
+
644
+ # Pack original directory into temporary .docx for validation baseline (outside unpacked dir)
645
+ self.original_docx = Path(self.temp_dir) / "original.docx"
646
+ pack_document(self.original_path, self.original_docx, validate=False)
647
+
648
+ self.word_path = self.unpacked_path / "word"
649
+
650
+ # Generate RSID if not provided
651
+ self.rsid = rsid if rsid else _generate_rsid()
652
+ print(f"Using RSID: {self.rsid}")
653
+
654
+ # Set default author and initials
655
+ self.author = author
656
+ self.initials = initials
657
+
658
+ # Cache for lazy-loaded editors
659
+ self._editors = {}
660
+
661
+ # Comment file paths
662
+ self.comments_path = self.word_path / "comments.xml"
663
+ self.comments_extended_path = self.word_path / "commentsExtended.xml"
664
+ self.comments_ids_path = self.word_path / "commentsIds.xml"
665
+ self.comments_extensible_path = self.word_path / "commentsExtensible.xml"
666
+
667
+ # Load existing comments and determine next ID (before setup modifies files)
668
+ self.existing_comments = self._load_existing_comments()
669
+ self.next_comment_id = self._get_next_comment_id()
670
+
671
+ # Convenient access to document.xml editor (semi-private)
672
+ self._document = self["word/document.xml"]
673
+
674
+ # Setup tracked changes infrastructure
675
+ self._setup_tracking(track_revisions=track_revisions)
676
+
677
+ # Add author to people.xml
678
+ self._add_author_to_people(author)
679
+
680
+ def __getitem__(self, xml_path: str) -> DocxXMLEditor:
681
+ """
682
+ Get or create a DocxXMLEditor for the specified XML file.
683
+
684
+ Enables lazy-loaded editors with bracket notation:
685
+ node = doc["word/document.xml"].get_node(tag="w:p", line_number=42)
686
+
687
+ Args:
688
+ xml_path: Relative path to XML file (e.g., "word/document.xml", "word/comments.xml")
689
+
690
+ Returns:
691
+ DocxXMLEditor instance for the specified file
692
+
693
+ Raises:
694
+ ValueError: If the file does not exist
695
+
696
+ Example:
697
+ # Get node from document.xml
698
+ node = doc["word/document.xml"].get_node(tag="w:del", attrs={"w:id": "1"})
699
+
700
+ # Get node from comments.xml
701
+ comment = doc["word/comments.xml"].get_node(tag="w:comment", attrs={"w:id": "0"})
702
+ """
703
+ if xml_path not in self._editors:
704
+ file_path = self.unpacked_path / xml_path
705
+ if not file_path.exists():
706
+ raise ValueError(f"XML file not found: {xml_path}")
707
+ # Use DocxXMLEditor with RSID, author, and initials for all editors
708
+ self._editors[xml_path] = DocxXMLEditor(
709
+ file_path, rsid=self.rsid, author=self.author, initials=self.initials
710
+ )
711
+ return self._editors[xml_path]
712
+
713
+ def add_comment(self, start, end, text: str) -> int:
714
+ """
715
+ Add a comment spanning from one element to another.
716
+
717
+ Args:
718
+ start: DOM element for the starting point
719
+ end: DOM element for the ending point
720
+ text: Comment content
721
+
722
+ Returns:
723
+ The comment ID that was created
724
+
725
+ Example:
726
+ start_node = cm.get_document_node(tag="w:del", id="1")
727
+ end_node = cm.get_document_node(tag="w:ins", id="2")
728
+ cm.add_comment(start=start_node, end=end_node, text="Explanation")
729
+ """
730
+ comment_id = self.next_comment_id
731
+ para_id = _generate_hex_id()
732
+ durable_id = _generate_hex_id()
733
+ timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
734
+
735
+ # Add comment ranges to document.xml immediately
736
+ self._document.insert_before(start, self._comment_range_start_xml(comment_id))
737
+
738
+ # If end node is a paragraph, append comment markup inside it
739
+ # Otherwise insert after it (for run-level anchors)
740
+ if end.tagName == "w:p":
741
+ self._document.append_to(end, self._comment_range_end_xml(comment_id))
742
+ else:
743
+ self._document.insert_after(end, self._comment_range_end_xml(comment_id))
744
+
745
+ # Add to comments.xml immediately
746
+ self._add_to_comments_xml(
747
+ comment_id, para_id, text, self.author, self.initials, timestamp
748
+ )
749
+
750
+ # Add to commentsExtended.xml immediately
751
+ self._add_to_comments_extended_xml(para_id, parent_para_id=None)
752
+
753
+ # Add to commentsIds.xml immediately
754
+ self._add_to_comments_ids_xml(para_id, durable_id)
755
+
756
+ # Add to commentsExtensible.xml immediately
757
+ self._add_to_comments_extensible_xml(durable_id)
758
+
759
+ # Update existing_comments so replies work
760
+ self.existing_comments[comment_id] = {"para_id": para_id}
761
+
762
+ self.next_comment_id += 1
763
+ return comment_id
764
+
765
+ def reply_to_comment(
766
+ self,
767
+ parent_comment_id: int,
768
+ text: str,
769
+ ) -> int:
770
+ """
771
+ Add a reply to an existing comment.
772
+
773
+ Args:
774
+ parent_comment_id: The w:id of the parent comment to reply to
775
+ text: Reply text
776
+
777
+ Returns:
778
+ The comment ID that was created for the reply
779
+
780
+ Example:
781
+ cm.reply_to_comment(parent_comment_id=0, text="I agree with this change")
782
+ """
783
+ if parent_comment_id not in self.existing_comments:
784
+ raise ValueError(f"Parent comment with id={parent_comment_id} not found")
785
+
786
+ parent_info = self.existing_comments[parent_comment_id]
787
+ comment_id = self.next_comment_id
788
+ para_id = _generate_hex_id()
789
+ durable_id = _generate_hex_id()
790
+ timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
791
+
792
+ # Add comment ranges to document.xml immediately
793
+ parent_start_elem = self._document.get_node(
794
+ tag="w:commentRangeStart", attrs={"w:id": str(parent_comment_id)}
795
+ )
796
+ parent_ref_elem = self._document.get_node(
797
+ tag="w:commentReference", attrs={"w:id": str(parent_comment_id)}
798
+ )
799
+
800
+ self._document.insert_after(
801
+ parent_start_elem, self._comment_range_start_xml(comment_id)
802
+ )
803
+ parent_ref_run = parent_ref_elem.parentNode
804
+ self._document.insert_after(
805
+ parent_ref_run, f'<w:commentRangeEnd w:id="{comment_id}"/>'
806
+ )
807
+ self._document.insert_after(
808
+ parent_ref_run, self._comment_ref_run_xml(comment_id)
809
+ )
810
+
811
+ # Add to comments.xml immediately
812
+ self._add_to_comments_xml(
813
+ comment_id, para_id, text, self.author, self.initials, timestamp
814
+ )
815
+
816
+ # Add to commentsExtended.xml immediately (with parent)
817
+ self._add_to_comments_extended_xml(
818
+ para_id, parent_para_id=parent_info["para_id"]
819
+ )
820
+
821
+ # Add to commentsIds.xml immediately
822
+ self._add_to_comments_ids_xml(para_id, durable_id)
823
+
824
+ # Add to commentsExtensible.xml immediately
825
+ self._add_to_comments_extensible_xml(durable_id)
826
+
827
+ # Update existing_comments so replies work
828
+ self.existing_comments[comment_id] = {"para_id": para_id}
829
+
830
+ self.next_comment_id += 1
831
+ return comment_id
832
+
833
+ def __del__(self):
834
+ """Clean up temporary directory on deletion."""
835
+ if hasattr(self, "temp_dir") and Path(self.temp_dir).exists():
836
+ shutil.rmtree(self.temp_dir)
837
+
838
+ def validate(self) -> None:
839
+ """
840
+ Validate the document against XSD schema and redlining rules.
841
+
842
+ Raises:
843
+ ValueError: If validation fails.
844
+ """
845
+ # Create validators with current state
846
+ schema_validator = DOCXSchemaValidator(
847
+ self.unpacked_path, self.original_docx, verbose=False
848
+ )
849
+ redlining_validator = RedliningValidator(
850
+ self.unpacked_path, self.original_docx, verbose=False
851
+ )
852
+
853
+ # Run validations
854
+ if not schema_validator.validate():
855
+ raise ValueError("Schema validation failed")
856
+ if not redlining_validator.validate():
857
+ raise ValueError("Redlining validation failed")
858
+
859
+ def save(self, destination=None, validate=True) -> None:
860
+ """
861
+ Save all modified XML files to disk and copy to destination directory.
862
+
863
+ This persists all changes made via add_comment() and reply_to_comment().
864
+
865
+ Args:
866
+ destination: Optional path to save to. If None, saves back to original directory.
867
+ validate: If True, validates document before saving (default: True).
868
+ """
869
+ # Only ensure comment relationships and content types if comment files exist
870
+ if self.comments_path.exists():
871
+ self._ensure_comment_relationships()
872
+ self._ensure_comment_content_types()
873
+
874
+ # Save all modified XML files in temp directory
875
+ for editor in self._editors.values():
876
+ editor.save()
877
+
878
+ # Validate by default
879
+ if validate:
880
+ self.validate()
881
+
882
+ # Copy contents from temp directory to destination (or original directory)
883
+ target_path = Path(destination) if destination else self.original_path
884
+ shutil.copytree(self.unpacked_path, target_path, dirs_exist_ok=True)
885
+
886
+ # ==================== Private: Initialization ====================
887
+
888
+ def _get_next_comment_id(self):
889
+ """Get the next available comment ID."""
890
+ if not self.comments_path.exists():
891
+ return 0
892
+
893
+ editor = self["word/comments.xml"]
894
+ max_id = -1
895
+ for comment_elem in editor.dom.getElementsByTagName("w:comment"):
896
+ comment_id = comment_elem.getAttribute("w:id")
897
+ if comment_id:
898
+ try:
899
+ max_id = max(max_id, int(comment_id))
900
+ except ValueError:
901
+ pass
902
+ return max_id + 1
903
+
904
+ def _load_existing_comments(self):
905
+ """Load existing comments from files to enable replies."""
906
+ if not self.comments_path.exists():
907
+ return {}
908
+
909
+ editor = self["word/comments.xml"]
910
+ existing = {}
911
+
912
+ for comment_elem in editor.dom.getElementsByTagName("w:comment"):
913
+ comment_id = comment_elem.getAttribute("w:id")
914
+ if not comment_id:
915
+ continue
916
+
917
+ # Find para_id from the w:p element within the comment
918
+ para_id = None
919
+ for p_elem in comment_elem.getElementsByTagName("w:p"):
920
+ para_id = p_elem.getAttribute("w14:paraId")
921
+ if para_id:
922
+ break
923
+
924
+ if not para_id:
925
+ continue
926
+
927
+ existing[int(comment_id)] = {"para_id": para_id}
928
+
929
+ return existing
930
+
931
+ # ==================== Private: Setup Methods ====================
932
+
933
+ def _setup_tracking(self, track_revisions=False):
934
+ """Set up comment infrastructure in unpacked directory.
935
+
936
+ Args:
937
+ track_revisions: If True, enables track revisions in settings.xml
938
+ """
939
+ # Create or update word/people.xml
940
+ people_file = self.word_path / "people.xml"
941
+ self._update_people_xml(people_file)
942
+
943
+ # Update XML files
944
+ self._add_content_type_for_people(self.unpacked_path / "[Content_Types].xml")
945
+ self._add_relationship_for_people(
946
+ self.word_path / "_rels" / "document.xml.rels"
947
+ )
948
+
949
+ # Always add RSID to settings.xml, optionally enable trackRevisions
950
+ self._update_settings(
951
+ self.word_path / "settings.xml", track_revisions=track_revisions
952
+ )
953
+
954
+ def _update_people_xml(self, path):
955
+ """Create people.xml if it doesn't exist."""
956
+ if not path.exists():
957
+ # Copy from template
958
+ shutil.copy(TEMPLATE_DIR / "people.xml", path)
959
+
960
+ def _add_content_type_for_people(self, path):
961
+ """Add people.xml content type to [Content_Types].xml if not already present."""
962
+ editor = self["[Content_Types].xml"]
963
+
964
+ if self._has_override(editor, "/word/people.xml"):
965
+ return
966
+
967
+ # Add Override element
968
+ root = editor.dom.documentElement
969
+ override_xml = '<Override PartName="/word/people.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.people+xml"/>'
970
+ editor.append_to(root, override_xml)
971
+
972
+ def _add_relationship_for_people(self, path):
973
+ """Add people.xml relationship to document.xml.rels if not already present."""
974
+ editor = self["word/_rels/document.xml.rels"]
975
+
976
+ if self._has_relationship(editor, "people.xml"):
977
+ return
978
+
979
+ root = editor.dom.documentElement
980
+ root_tag = root.tagName # type: ignore
981
+ prefix = root_tag.split(":")[0] + ":" if ":" in root_tag else ""
982
+ next_rid = editor.get_next_rid()
983
+
984
+ # Create the relationship entry
985
+ rel_xml = f'<{prefix}Relationship Id="{next_rid}" Type="http://schemas.microsoft.com/office/2011/relationships/people" Target="people.xml"/>'
986
+ editor.append_to(root, rel_xml)
987
+
988
+ def _update_settings(self, path, track_revisions=False):
989
+ """Add RSID and optionally enable track revisions in settings.xml.
990
+
991
+ Args:
992
+ path: Path to settings.xml
993
+ track_revisions: If True, adds trackRevisions element
994
+
995
+ Places elements per OOXML schema order:
996
+ - trackRevisions: early (before defaultTabStop)
997
+ - rsids: late (after compat)
998
+ """
999
+ editor = self["word/settings.xml"]
1000
+ root = editor.get_node(tag="w:settings")
1001
+ prefix = root.tagName.split(":")[0] if ":" in root.tagName else "w"
1002
+
1003
+ # Conditionally add trackRevisions if requested
1004
+ if track_revisions:
1005
+ track_revisions_exists = any(
1006
+ elem.tagName == f"{prefix}:trackRevisions"
1007
+ for elem in editor.dom.getElementsByTagName(f"{prefix}:trackRevisions")
1008
+ )
1009
+
1010
+ if not track_revisions_exists:
1011
+ track_rev_xml = f"<{prefix}:trackRevisions/>"
1012
+ # Try to insert before documentProtection, defaultTabStop, or at start
1013
+ inserted = False
1014
+ for tag in [f"{prefix}:documentProtection", f"{prefix}:defaultTabStop"]:
1015
+ elements = editor.dom.getElementsByTagName(tag)
1016
+ if elements:
1017
+ editor.insert_before(elements[0], track_rev_xml)
1018
+ inserted = True
1019
+ break
1020
+ if not inserted:
1021
+ # Insert as first child of settings
1022
+ if root.firstChild:
1023
+ editor.insert_before(root.firstChild, track_rev_xml)
1024
+ else:
1025
+ editor.append_to(root, track_rev_xml)
1026
+
1027
+ # Always check if rsids section exists
1028
+ rsids_elements = editor.dom.getElementsByTagName(f"{prefix}:rsids")
1029
+
1030
+ if not rsids_elements:
1031
+ # Add new rsids section
1032
+ rsids_xml = f'''<{prefix}:rsids>
1033
+ <{prefix}:rsidRoot {prefix}:val="{self.rsid}"/>
1034
+ <{prefix}:rsid {prefix}:val="{self.rsid}"/>
1035
+ </{prefix}:rsids>'''
1036
+
1037
+ # Try to insert after compat, before clrSchemeMapping, or before closing tag
1038
+ inserted = False
1039
+ compat_elements = editor.dom.getElementsByTagName(f"{prefix}:compat")
1040
+ if compat_elements:
1041
+ editor.insert_after(compat_elements[0], rsids_xml)
1042
+ inserted = True
1043
+
1044
+ if not inserted:
1045
+ clr_elements = editor.dom.getElementsByTagName(
1046
+ f"{prefix}:clrSchemeMapping"
1047
+ )
1048
+ if clr_elements:
1049
+ editor.insert_before(clr_elements[0], rsids_xml)
1050
+ inserted = True
1051
+
1052
+ if not inserted:
1053
+ editor.append_to(root, rsids_xml)
1054
+ else:
1055
+ # Check if this rsid already exists
1056
+ rsids_elem = rsids_elements[0]
1057
+ rsid_exists = any(
1058
+ elem.getAttribute(f"{prefix}:val") == self.rsid
1059
+ for elem in rsids_elem.getElementsByTagName(f"{prefix}:rsid")
1060
+ )
1061
+
1062
+ if not rsid_exists:
1063
+ rsid_xml = f'<{prefix}:rsid {prefix}:val="{self.rsid}"/>'
1064
+ editor.append_to(rsids_elem, rsid_xml)
1065
+
1066
+ # ==================== Private: XML File Creation ====================
1067
+
1068
+ def _add_to_comments_xml(
1069
+ self, comment_id, para_id, text, author, initials, timestamp
1070
+ ):
1071
+ """Add a single comment to comments.xml."""
1072
+ if not self.comments_path.exists():
1073
+ shutil.copy(TEMPLATE_DIR / "comments.xml", self.comments_path)
1074
+
1075
+ editor = self["word/comments.xml"]
1076
+ root = editor.get_node(tag="w:comments")
1077
+
1078
+ escaped_text = (
1079
+ text.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
1080
+ )
1081
+ # Note: w:rsidR, w:rsidRDefault, w:rsidP on w:p, w:rsidR on w:r,
1082
+ # and w:author, w:date, w:initials on w:comment are automatically added by DocxXMLEditor
1083
+ comment_xml = f'''<w:comment w:id="{comment_id}">
1084
+ <w:p w14:paraId="{para_id}" w14:textId="77777777">
1085
+ <w:r><w:rPr><w:rStyle w:val="CommentReference"/></w:rPr><w:annotationRef/></w:r>
1086
+ <w:r><w:rPr><w:color w:val="000000"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr><w:t>{escaped_text}</w:t></w:r>
1087
+ </w:p>
1088
+ </w:comment>'''
1089
+ editor.append_to(root, comment_xml)
1090
+
1091
+ def _add_to_comments_extended_xml(self, para_id, parent_para_id):
1092
+ """Add a single comment to commentsExtended.xml."""
1093
+ if not self.comments_extended_path.exists():
1094
+ shutil.copy(
1095
+ TEMPLATE_DIR / "commentsExtended.xml", self.comments_extended_path
1096
+ )
1097
+
1098
+ editor = self["word/commentsExtended.xml"]
1099
+ root = editor.get_node(tag="w15:commentsEx")
1100
+
1101
+ if parent_para_id:
1102
+ xml = f'<w15:commentEx w15:paraId="{para_id}" w15:paraIdParent="{parent_para_id}" w15:done="0"/>'
1103
+ else:
1104
+ xml = f'<w15:commentEx w15:paraId="{para_id}" w15:done="0"/>'
1105
+ editor.append_to(root, xml)
1106
+
1107
+ def _add_to_comments_ids_xml(self, para_id, durable_id):
1108
+ """Add a single comment to commentsIds.xml."""
1109
+ if not self.comments_ids_path.exists():
1110
+ shutil.copy(TEMPLATE_DIR / "commentsIds.xml", self.comments_ids_path)
1111
+
1112
+ editor = self["word/commentsIds.xml"]
1113
+ root = editor.get_node(tag="w16cid:commentsIds")
1114
+
1115
+ xml = f'<w16cid:commentId w16cid:paraId="{para_id}" w16cid:durableId="{durable_id}"/>'
1116
+ editor.append_to(root, xml)
1117
+
1118
+ def _add_to_comments_extensible_xml(self, durable_id):
1119
+ """Add a single comment to commentsExtensible.xml."""
1120
+ if not self.comments_extensible_path.exists():
1121
+ shutil.copy(
1122
+ TEMPLATE_DIR / "commentsExtensible.xml", self.comments_extensible_path
1123
+ )
1124
+
1125
+ editor = self["word/commentsExtensible.xml"]
1126
+ root = editor.get_node(tag="w16cex:commentsExtensible")
1127
+
1128
+ xml = f'<w16cex:commentExtensible w16cex:durableId="{durable_id}"/>'
1129
+ editor.append_to(root, xml)
1130
+
1131
+ # ==================== Private: XML Fragments ====================
1132
+
1133
+ def _comment_range_start_xml(self, comment_id):
1134
+ """Generate XML for comment range start."""
1135
+ return f'<w:commentRangeStart w:id="{comment_id}"/>'
1136
+
1137
+ def _comment_range_end_xml(self, comment_id):
1138
+ """Generate XML for comment range end with reference run.
1139
+
1140
+ Note: w:rsidR is automatically added by DocxXMLEditor.
1141
+ """
1142
+ return f'''<w:commentRangeEnd w:id="{comment_id}"/>
1143
+ <w:r>
1144
+ <w:rPr><w:rStyle w:val="CommentReference"/></w:rPr>
1145
+ <w:commentReference w:id="{comment_id}"/>
1146
+ </w:r>'''
1147
+
1148
+ def _comment_ref_run_xml(self, comment_id):
1149
+ """Generate XML for comment reference run.
1150
+
1151
+ Note: w:rsidR is automatically added by DocxXMLEditor.
1152
+ """
1153
+ return f'''<w:r>
1154
+ <w:rPr><w:rStyle w:val="CommentReference"/></w:rPr>
1155
+ <w:commentReference w:id="{comment_id}"/>
1156
+ </w:r>'''
1157
+
1158
+ # ==================== Private: Metadata Updates ====================
1159
+
1160
+ def _has_relationship(self, editor, target):
1161
+ """Check if a relationship with given target exists."""
1162
+ for rel_elem in editor.dom.getElementsByTagName("Relationship"):
1163
+ if rel_elem.getAttribute("Target") == target:
1164
+ return True
1165
+ return False
1166
+
1167
+ def _has_override(self, editor, part_name):
1168
+ """Check if an override with given part name exists."""
1169
+ for override_elem in editor.dom.getElementsByTagName("Override"):
1170
+ if override_elem.getAttribute("PartName") == part_name:
1171
+ return True
1172
+ return False
1173
+
1174
+ def _has_author(self, editor, author):
1175
+ """Check if an author already exists in people.xml."""
1176
+ for person_elem in editor.dom.getElementsByTagName("w15:person"):
1177
+ if person_elem.getAttribute("w15:author") == author:
1178
+ return True
1179
+ return False
1180
+
1181
+ def _add_author_to_people(self, author):
1182
+ """Add author to people.xml (called during initialization)."""
1183
+ people_path = self.word_path / "people.xml"
1184
+
1185
+ # people.xml should already exist from _setup_tracking
1186
+ if not people_path.exists():
1187
+ raise ValueError("people.xml should exist after _setup_tracking")
1188
+
1189
+ editor = self["word/people.xml"]
1190
+ root = editor.get_node(tag="w15:people")
1191
+
1192
+ # Check if author already exists
1193
+ if self._has_author(editor, author):
1194
+ return
1195
+
1196
+ # Add author with proper XML escaping to prevent injection
1197
+ escaped_author = html.escape(author, quote=True)
1198
+ person_xml = f'''<w15:person w15:author="{escaped_author}">
1199
+ <w15:presenceInfo w15:providerId="None" w15:userId="{escaped_author}"/>
1200
+ </w15:person>'''
1201
+ editor.append_to(root, person_xml)
1202
+
1203
+ def _ensure_comment_relationships(self):
1204
+ """Ensure word/_rels/document.xml.rels has comment relationships."""
1205
+ editor = self["word/_rels/document.xml.rels"]
1206
+
1207
+ if self._has_relationship(editor, "comments.xml"):
1208
+ return
1209
+
1210
+ root = editor.dom.documentElement
1211
+ root_tag = root.tagName # type: ignore
1212
+ prefix = root_tag.split(":")[0] + ":" if ":" in root_tag else ""
1213
+ next_rid_num = int(editor.get_next_rid()[3:])
1214
+
1215
+ # Add relationship elements
1216
+ rels = [
1217
+ (
1218
+ next_rid_num,
1219
+ "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
1220
+ "comments.xml",
1221
+ ),
1222
+ (
1223
+ next_rid_num + 1,
1224
+ "http://schemas.microsoft.com/office/2011/relationships/commentsExtended",
1225
+ "commentsExtended.xml",
1226
+ ),
1227
+ (
1228
+ next_rid_num + 2,
1229
+ "http://schemas.microsoft.com/office/2016/09/relationships/commentsIds",
1230
+ "commentsIds.xml",
1231
+ ),
1232
+ (
1233
+ next_rid_num + 3,
1234
+ "http://schemas.microsoft.com/office/2018/08/relationships/commentsExtensible",
1235
+ "commentsExtensible.xml",
1236
+ ),
1237
+ ]
1238
+
1239
+ for rel_id, rel_type, target in rels:
1240
+ rel_xml = f'<{prefix}Relationship Id="rId{rel_id}" Type="{rel_type}" Target="{target}"/>'
1241
+ editor.append_to(root, rel_xml)
1242
+
1243
+ def _ensure_comment_content_types(self):
1244
+ """Ensure [Content_Types].xml has comment content types."""
1245
+ editor = self["[Content_Types].xml"]
1246
+
1247
+ if self._has_override(editor, "/word/comments.xml"):
1248
+ return
1249
+
1250
+ root = editor.dom.documentElement
1251
+
1252
+ # Add Override elements
1253
+ overrides = [
1254
+ (
1255
+ "/word/comments.xml",
1256
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml",
1257
+ ),
1258
+ (
1259
+ "/word/commentsExtended.xml",
1260
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml",
1261
+ ),
1262
+ (
1263
+ "/word/commentsIds.xml",
1264
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsIds+xml",
1265
+ ),
1266
+ (
1267
+ "/word/commentsExtensible.xml",
1268
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtensible+xml",
1269
+ ),
1270
+ ]
1271
+
1272
+ for part_name, content_type in overrides:
1273
+ override_xml = (
1274
+ f'<Override PartName="{part_name}" ContentType="{content_type}"/>'
1275
+ )
1276
+ editor.append_to(root, override_xml)