port-nuker 1.0.0

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 (2053) hide show
  1. package/.agent/skills/.github/CODEOWNERS +8 -0
  2. package/.agent/skills/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
  3. package/.agent/skills/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  4. package/.agent/skills/.github/MAINTENANCE.md +230 -0
  5. package/.agent/skills/.github/PULL_REQUEST_TEMPLATE.md +23 -0
  6. package/.agent/skills/.github/workflows/ci.yml +38 -0
  7. package/.agent/skills/CHANGELOG.md +359 -0
  8. package/.agent/skills/CONTRIBUTING.md +236 -0
  9. package/.agent/skills/FAQ.md +178 -0
  10. package/.agent/skills/GETTING_STARTED.md +108 -0
  11. package/.agent/skills/LICENSE +21 -0
  12. package/.agent/skills/README.md +527 -0
  13. package/.agent/skills/SECURITY.md +19 -0
  14. package/.agent/skills/docs/BUNDLES.md +124 -0
  15. package/.agent/skills/docs/CI_DRIFT_FIX.md +38 -0
  16. package/.agent/skills/docs/COMMUNITY_GUIDELINES.md +33 -0
  17. package/.agent/skills/docs/EXAMPLES.md +56 -0
  18. package/.agent/skills/docs/QUALITY_BAR.md +64 -0
  19. package/.agent/skills/docs/SECURITY_GUARDRAILS.md +51 -0
  20. package/.agent/skills/docs/SKILL_ANATOMY.md +605 -0
  21. package/.agent/skills/docs/SOURCES.md +21 -0
  22. package/.agent/skills/docs/VISUAL_GUIDE.md +512 -0
  23. package/.agent/skills/scripts/generate_index.py +95 -0
  24. package/.agent/skills/scripts/skills_manager.py +119 -0
  25. package/.agent/skills/scripts/sync_recommended_skills.sh +114 -0
  26. package/.agent/skills/scripts/update_readme.py +125 -0
  27. package/.agent/skills/scripts/validate_skills.py +124 -0
  28. package/.agent/skills/skills/3d-web-experience/SKILL.md +254 -0
  29. package/.agent/skills/skills/README.md +201 -0
  30. package/.agent/skills/skills/ab-test-setup/SKILL.md +232 -0
  31. package/.agent/skills/skills/active-directory-attacks/SKILL.md +383 -0
  32. package/.agent/skills/skills/active-directory-attacks/references/advanced-attacks.md +382 -0
  33. package/.agent/skills/skills/address-github-comments/SKILL.md +55 -0
  34. package/.agent/skills/skills/agent-evaluation/SKILL.md +64 -0
  35. package/.agent/skills/skills/agent-manager-skill/SKILL.md +40 -0
  36. package/.agent/skills/skills/agent-memory-mcp/SKILL.md +82 -0
  37. package/.agent/skills/skills/agent-memory-systems/SKILL.md +67 -0
  38. package/.agent/skills/skills/agent-tool-builder/SKILL.md +53 -0
  39. package/.agent/skills/skills/ai-agents-architect/SKILL.md +90 -0
  40. package/.agent/skills/skills/ai-product/SKILL.md +54 -0
  41. package/.agent/skills/skills/ai-wrapper-product/SKILL.md +273 -0
  42. package/.agent/skills/skills/algolia-search/SKILL.md +66 -0
  43. package/.agent/skills/skills/algorithmic-art/LICENSE.txt +202 -0
  44. package/.agent/skills/skills/algorithmic-art/SKILL.md +405 -0
  45. package/.agent/skills/skills/algorithmic-art/templates/generator_template.js +223 -0
  46. package/.agent/skills/skills/algorithmic-art/templates/viewer.html +599 -0
  47. package/.agent/skills/skills/analytics-tracking/SKILL.md +404 -0
  48. package/.agent/skills/skills/api-documentation-generator/SKILL.md +484 -0
  49. package/.agent/skills/skills/api-fuzzing-bug-bounty/SKILL.md +433 -0
  50. package/.agent/skills/skills/api-patterns/SKILL.md +81 -0
  51. package/.agent/skills/skills/api-patterns/api-style.md +42 -0
  52. package/.agent/skills/skills/api-patterns/auth.md +24 -0
  53. package/.agent/skills/skills/api-patterns/documentation.md +26 -0
  54. package/.agent/skills/skills/api-patterns/graphql.md +41 -0
  55. package/.agent/skills/skills/api-patterns/rate-limiting.md +31 -0
  56. package/.agent/skills/skills/api-patterns/response.md +37 -0
  57. package/.agent/skills/skills/api-patterns/rest.md +40 -0
  58. package/.agent/skills/skills/api-patterns/scripts/api_validator.py +211 -0
  59. package/.agent/skills/skills/api-patterns/security-testing.md +122 -0
  60. package/.agent/skills/skills/api-patterns/trpc.md +41 -0
  61. package/.agent/skills/skills/api-patterns/versioning.md +22 -0
  62. package/.agent/skills/skills/api-security-best-practices/SKILL.md +907 -0
  63. package/.agent/skills/skills/app-builder/SKILL.md +75 -0
  64. package/.agent/skills/skills/app-builder/agent-coordination.md +71 -0
  65. package/.agent/skills/skills/app-builder/feature-building.md +53 -0
  66. package/.agent/skills/skills/app-builder/project-detection.md +34 -0
  67. package/.agent/skills/skills/app-builder/scaffolding.md +118 -0
  68. package/.agent/skills/skills/app-builder/tech-stack.md +40 -0
  69. package/.agent/skills/skills/app-builder/templates/SKILL.md +39 -0
  70. package/.agent/skills/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  71. package/.agent/skills/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  72. package/.agent/skills/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  73. package/.agent/skills/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  74. package/.agent/skills/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  75. package/.agent/skills/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  76. package/.agent/skills/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  77. package/.agent/skills/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  78. package/.agent/skills/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  79. package/.agent/skills/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  80. package/.agent/skills/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  81. package/.agent/skills/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  82. package/.agent/skills/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  83. package/.agent/skills/skills/app-store-optimization/HOW_TO_USE.md +281 -0
  84. package/.agent/skills/skills/app-store-optimization/README.md +430 -0
  85. package/.agent/skills/skills/app-store-optimization/SKILL.md +403 -0
  86. package/.agent/skills/skills/app-store-optimization/ab_test_planner.py +662 -0
  87. package/.agent/skills/skills/app-store-optimization/aso_scorer.py +482 -0
  88. package/.agent/skills/skills/app-store-optimization/competitor_analyzer.py +577 -0
  89. package/.agent/skills/skills/app-store-optimization/expected_output.json +170 -0
  90. package/.agent/skills/skills/app-store-optimization/keyword_analyzer.py +406 -0
  91. package/.agent/skills/skills/app-store-optimization/launch_checklist.py +739 -0
  92. package/.agent/skills/skills/app-store-optimization/localization_helper.py +588 -0
  93. package/.agent/skills/skills/app-store-optimization/metadata_optimizer.py +581 -0
  94. package/.agent/skills/skills/app-store-optimization/review_analyzer.py +714 -0
  95. package/.agent/skills/skills/app-store-optimization/sample_input.json +30 -0
  96. package/.agent/skills/skills/architecture/SKILL.md +55 -0
  97. package/.agent/skills/skills/architecture/context-discovery.md +43 -0
  98. package/.agent/skills/skills/architecture/examples.md +94 -0
  99. package/.agent/skills/skills/architecture/pattern-selection.md +68 -0
  100. package/.agent/skills/skills/architecture/patterns-reference.md +50 -0
  101. package/.agent/skills/skills/architecture/trade-off-analysis.md +77 -0
  102. package/.agent/skills/skills/autonomous-agent-patterns/SKILL.md +761 -0
  103. package/.agent/skills/skills/autonomous-agents/SKILL.md +68 -0
  104. package/.agent/skills/skills/avalonia-layout-zafiro/SKILL.md +59 -0
  105. package/.agent/skills/skills/avalonia-layout-zafiro/behaviors.md +35 -0
  106. package/.agent/skills/skills/avalonia-layout-zafiro/components.md +41 -0
  107. package/.agent/skills/skills/avalonia-layout-zafiro/containers.md +50 -0
  108. package/.agent/skills/skills/avalonia-layout-zafiro/icons.md +53 -0
  109. package/.agent/skills/skills/avalonia-layout-zafiro/themes.md +51 -0
  110. package/.agent/skills/skills/avalonia-viewmodels-zafiro/SKILL.md +29 -0
  111. package/.agent/skills/skills/avalonia-viewmodels-zafiro/composition.md +75 -0
  112. package/.agent/skills/skills/avalonia-viewmodels-zafiro/navigation_sections.md +53 -0
  113. package/.agent/skills/skills/avalonia-viewmodels-zafiro/viewmodels.md +68 -0
  114. package/.agent/skills/skills/avalonia-viewmodels-zafiro/wizards.md +47 -0
  115. package/.agent/skills/skills/avalonia-zafiro-development/SKILL.md +29 -0
  116. package/.agent/skills/skills/avalonia-zafiro-development/avalonia-reactive-rules.md +49 -0
  117. package/.agent/skills/skills/avalonia-zafiro-development/core-technical-skills.md +19 -0
  118. package/.agent/skills/skills/avalonia-zafiro-development/naming-standards.md +15 -0
  119. package/.agent/skills/skills/avalonia-zafiro-development/patterns.md +45 -0
  120. package/.agent/skills/skills/avalonia-zafiro-development/zafiro-shortcuts.md +43 -0
  121. package/.agent/skills/skills/aws-penetration-testing/SKILL.md +405 -0
  122. package/.agent/skills/skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -0
  123. package/.agent/skills/skills/aws-serverless/SKILL.md +323 -0
  124. package/.agent/skills/skills/azure-functions/SKILL.md +42 -0
  125. package/.agent/skills/skills/backend-dev-guidelines/SKILL.md +342 -0
  126. package/.agent/skills/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  127. package/.agent/skills/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  128. package/.agent/skills/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  129. package/.agent/skills/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  130. package/.agent/skills/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  131. package/.agent/skills/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  132. package/.agent/skills/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  133. package/.agent/skills/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  134. package/.agent/skills/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  135. package/.agent/skills/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  136. package/.agent/skills/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  137. package/.agent/skills/skills/bash-linux/SKILL.md +199 -0
  138. package/.agent/skills/skills/behavioral-modes/SKILL.md +242 -0
  139. package/.agent/skills/skills/blockrun/SKILL.md +292 -0
  140. package/.agent/skills/skills/brainstorming/SKILL.md +230 -0
  141. package/.agent/skills/skills/brand-guidelines-anthropic/LICENSE.txt +202 -0
  142. package/.agent/skills/skills/brand-guidelines-anthropic/SKILL.md +73 -0
  143. package/.agent/skills/skills/brand-guidelines-community/LICENSE.txt +202 -0
  144. package/.agent/skills/skills/brand-guidelines-community/SKILL.md +73 -0
  145. package/.agent/skills/skills/broken-authentication/SKILL.md +476 -0
  146. package/.agent/skills/skills/browser-automation/SKILL.md +70 -0
  147. package/.agent/skills/skills/browser-extension-builder/SKILL.md +261 -0
  148. package/.agent/skills/skills/bullmq-specialist/SKILL.md +57 -0
  149. package/.agent/skills/skills/bun-development/SKILL.md +691 -0
  150. package/.agent/skills/skills/burp-suite-testing/SKILL.md +380 -0
  151. package/.agent/skills/skills/busybox-on-windows/SKILL.md +30 -0
  152. package/.agent/skills/skills/canvas-design/LICENSE.txt +202 -0
  153. package/.agent/skills/skills/canvas-design/SKILL.md +130 -0
  154. package/.agent/skills/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  155. package/.agent/skills/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  156. package/.agent/skills/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  157. package/.agent/skills/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  158. package/.agent/skills/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  159. package/.agent/skills/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  160. package/.agent/skills/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  161. package/.agent/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  162. package/.agent/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  163. package/.agent/skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  164. package/.agent/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  165. package/.agent/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  166. package/.agent/skills/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  167. package/.agent/skills/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  168. package/.agent/skills/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  169. package/.agent/skills/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  170. package/.agent/skills/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  171. package/.agent/skills/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  172. package/.agent/skills/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  173. package/.agent/skills/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  174. package/.agent/skills/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  175. package/.agent/skills/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  176. package/.agent/skills/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  177. package/.agent/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  178. package/.agent/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  179. package/.agent/skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  180. package/.agent/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  181. package/.agent/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  182. package/.agent/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  183. package/.agent/skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  184. package/.agent/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  185. package/.agent/skills/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  186. package/.agent/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  187. package/.agent/skills/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  188. package/.agent/skills/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  189. package/.agent/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  190. package/.agent/skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  191. package/.agent/skills/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  192. package/.agent/skills/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  193. package/.agent/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  194. package/.agent/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  195. package/.agent/skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  196. package/.agent/skills/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  197. package/.agent/skills/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  198. package/.agent/skills/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  199. package/.agent/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  200. package/.agent/skills/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  201. package/.agent/skills/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  202. package/.agent/skills/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  203. package/.agent/skills/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  204. package/.agent/skills/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  205. package/.agent/skills/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  206. package/.agent/skills/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  207. package/.agent/skills/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  208. package/.agent/skills/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  209. package/.agent/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  210. package/.agent/skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  211. package/.agent/skills/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  212. package/.agent/skills/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  213. package/.agent/skills/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  214. package/.agent/skills/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  215. package/.agent/skills/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  216. package/.agent/skills/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  217. package/.agent/skills/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  218. package/.agent/skills/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  219. package/.agent/skills/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  220. package/.agent/skills/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  221. package/.agent/skills/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  222. package/.agent/skills/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  223. package/.agent/skills/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  224. package/.agent/skills/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  225. package/.agent/skills/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  226. package/.agent/skills/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  227. package/.agent/skills/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  228. package/.agent/skills/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  229. package/.agent/skills/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  230. package/.agent/skills/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  231. package/.agent/skills/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  232. package/.agent/skills/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  233. package/.agent/skills/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  234. package/.agent/skills/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  235. package/.agent/skills/skills/cc-skill-backend-patterns/SKILL.md +584 -0
  236. package/.agent/skills/skills/cc-skill-clickhouse-io/SKILL.md +431 -0
  237. package/.agent/skills/skills/cc-skill-coding-standards/SKILL.md +522 -0
  238. package/.agent/skills/skills/cc-skill-continuous-learning/SKILL.md +10 -0
  239. package/.agent/skills/skills/cc-skill-continuous-learning/config.json +18 -0
  240. package/.agent/skills/skills/cc-skill-continuous-learning/evaluate-session.sh +60 -0
  241. package/.agent/skills/skills/cc-skill-frontend-patterns/SKILL.md +633 -0
  242. package/.agent/skills/skills/cc-skill-project-guidelines-example/SKILL.md +352 -0
  243. package/.agent/skills/skills/cc-skill-security-review/SKILL.md +496 -0
  244. package/.agent/skills/skills/cc-skill-strategic-compact/SKILL.md +10 -0
  245. package/.agent/skills/skills/cc-skill-strategic-compact/suggest-compact.sh +52 -0
  246. package/.agent/skills/skills/claude-code-guide/SKILL.md +68 -0
  247. package/.agent/skills/skills/claude-d3js-skill/SKILL.md +820 -0
  248. package/.agent/skills/skills/claude-d3js-skill/assets/chart-template.jsx +106 -0
  249. package/.agent/skills/skills/claude-d3js-skill/assets/interactive-template.jsx +227 -0
  250. package/.agent/skills/skills/claude-d3js-skill/assets/sample-data.json +115 -0
  251. package/.agent/skills/skills/claude-d3js-skill/references/colour-schemes.md +564 -0
  252. package/.agent/skills/skills/claude-d3js-skill/references/d3-patterns.md +869 -0
  253. package/.agent/skills/skills/claude-d3js-skill/references/scale-reference.md +509 -0
  254. package/.agent/skills/skills/clean-code/SKILL.md +201 -0
  255. package/.agent/skills/skills/clerk-auth/SKILL.md +56 -0
  256. package/.agent/skills/skills/cloud-penetration-testing/SKILL.md +501 -0
  257. package/.agent/skills/skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -0
  258. package/.agent/skills/skills/code-review-checklist/SKILL.md +444 -0
  259. package/.agent/skills/skills/codex-review/SKILL.md +37 -0
  260. package/.agent/skills/skills/competitor-alternatives/SKILL.md +750 -0
  261. package/.agent/skills/skills/computer-use-agents/SKILL.md +315 -0
  262. package/.agent/skills/skills/concise-planning/SKILL.md +62 -0
  263. package/.agent/skills/skills/content-creator/SKILL.md +248 -0
  264. package/.agent/skills/skills/content-creator/assets/content_calendar_template.md +99 -0
  265. package/.agent/skills/skills/content-creator/references/brand_guidelines.md +199 -0
  266. package/.agent/skills/skills/content-creator/references/content_frameworks.md +534 -0
  267. package/.agent/skills/skills/content-creator/references/social_media_optimization.md +317 -0
  268. package/.agent/skills/skills/content-creator/scripts/brand_voice_analyzer.py +185 -0
  269. package/.agent/skills/skills/content-creator/scripts/seo_optimizer.py +419 -0
  270. package/.agent/skills/skills/context-window-management/SKILL.md +53 -0
  271. package/.agent/skills/skills/context7-auto-research/SKILL.md +36 -0
  272. package/.agent/skills/skills/conversation-memory/SKILL.md +61 -0
  273. package/.agent/skills/skills/copy-editing/SKILL.md +439 -0
  274. package/.agent/skills/skills/copywriting/SKILL.md +225 -0
  275. package/.agent/skills/skills/core-components/SKILL.md +264 -0
  276. package/.agent/skills/skills/crewai/SKILL.md +243 -0
  277. package/.agent/skills/skills/daily-news-report/SKILL.md +357 -0
  278. package/.agent/skills/skills/daily-news-report/cache.json +41 -0
  279. package/.agent/skills/skills/daily-news-report/sources.json +183 -0
  280. package/.agent/skills/skills/database-design/SKILL.md +52 -0
  281. package/.agent/skills/skills/database-design/database-selection.md +43 -0
  282. package/.agent/skills/skills/database-design/indexing.md +39 -0
  283. package/.agent/skills/skills/database-design/migrations.md +48 -0
  284. package/.agent/skills/skills/database-design/optimization.md +36 -0
  285. package/.agent/skills/skills/database-design/orm-selection.md +30 -0
  286. package/.agent/skills/skills/database-design/schema-design.md +56 -0
  287. package/.agent/skills/skills/database-design/scripts/schema_validator.py +172 -0
  288. package/.agent/skills/skills/deployment-procedures/SKILL.md +241 -0
  289. package/.agent/skills/skills/design-orchestration/SKILL.md +167 -0
  290. package/.agent/skills/skills/discord-bot-architect/SKILL.md +277 -0
  291. package/.agent/skills/skills/dispatching-parallel-agents/SKILL.md +180 -0
  292. package/.agent/skills/skills/doc-coauthoring/SKILL.md +375 -0
  293. package/.agent/skills/skills/docker-expert/SKILL.md +409 -0
  294. package/.agent/skills/skills/documentation-templates/SKILL.md +194 -0
  295. package/.agent/skills/skills/docx-official/LICENSE.txt +30 -0
  296. package/.agent/skills/skills/docx-official/SKILL.md +197 -0
  297. package/.agent/skills/skills/docx-official/docx-js.md +350 -0
  298. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  299. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  300. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  301. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  302. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  303. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  304. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  305. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  306. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  307. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  308. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  309. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  310. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  311. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  312. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  313. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  314. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  315. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  316. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  317. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  318. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  319. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  320. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  321. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  322. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  323. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  324. package/.agent/skills/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  325. package/.agent/skills/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  326. package/.agent/skills/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  327. package/.agent/skills/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  328. package/.agent/skills/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  329. package/.agent/skills/skills/docx-official/ooxml/schemas/mce/mc.xsd +75 -0
  330. package/.agent/skills/skills/docx-official/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  331. package/.agent/skills/skills/docx-official/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  332. package/.agent/skills/skills/docx-official/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  333. package/.agent/skills/skills/docx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  334. package/.agent/skills/skills/docx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  335. package/.agent/skills/skills/docx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  336. package/.agent/skills/skills/docx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  337. package/.agent/skills/skills/docx-official/ooxml/scripts/pack.py +159 -0
  338. package/.agent/skills/skills/docx-official/ooxml/scripts/unpack.py +29 -0
  339. package/.agent/skills/skills/docx-official/ooxml/scripts/validate.py +69 -0
  340. package/.agent/skills/skills/docx-official/ooxml/scripts/validation/__init__.py +15 -0
  341. package/.agent/skills/skills/docx-official/ooxml/scripts/validation/base.py +951 -0
  342. package/.agent/skills/skills/docx-official/ooxml/scripts/validation/docx.py +274 -0
  343. package/.agent/skills/skills/docx-official/ooxml/scripts/validation/pptx.py +315 -0
  344. package/.agent/skills/skills/docx-official/ooxml/scripts/validation/redlining.py +279 -0
  345. package/.agent/skills/skills/docx-official/ooxml.md +610 -0
  346. package/.agent/skills/skills/docx-official/scripts/__init__.py +1 -0
  347. package/.agent/skills/skills/docx-official/scripts/document.py +1276 -0
  348. package/.agent/skills/skills/docx-official/scripts/templates/comments.xml +3 -0
  349. package/.agent/skills/skills/docx-official/scripts/templates/commentsExtended.xml +3 -0
  350. package/.agent/skills/skills/docx-official/scripts/templates/commentsExtensible.xml +3 -0
  351. package/.agent/skills/skills/docx-official/scripts/templates/commentsIds.xml +3 -0
  352. package/.agent/skills/skills/docx-official/scripts/templates/people.xml +3 -0
  353. package/.agent/skills/skills/docx-official/scripts/utilities.py +374 -0
  354. package/.agent/skills/skills/email-sequence/SKILL.md +925 -0
  355. package/.agent/skills/skills/email-systems/SKILL.md +54 -0
  356. package/.agent/skills/skills/environment-setup-guide/SKILL.md +479 -0
  357. package/.agent/skills/skills/ethical-hacking-methodology/SKILL.md +466 -0
  358. package/.agent/skills/skills/exa-search/SKILL.md +36 -0
  359. package/.agent/skills/skills/executing-plans/SKILL.md +76 -0
  360. package/.agent/skills/skills/file-organizer/SKILL.md +250 -0
  361. package/.agent/skills/skills/file-path-traversal/SKILL.md +486 -0
  362. package/.agent/skills/skills/file-uploads/SKILL.md +22 -0
  363. package/.agent/skills/skills/finishing-a-development-branch/SKILL.md +200 -0
  364. package/.agent/skills/skills/firebase/SKILL.md +56 -0
  365. package/.agent/skills/skills/firecrawl-scraper/SKILL.md +37 -0
  366. package/.agent/skills/skills/form-cro/SKILL.md +441 -0
  367. package/.agent/skills/skills/free-tool-strategy/SKILL.md +576 -0
  368. package/.agent/skills/skills/frontend-design/LICENSE.txt +177 -0
  369. package/.agent/skills/skills/frontend-design/SKILL.md +272 -0
  370. package/.agent/skills/skills/frontend-dev-guidelines/SKILL.md +359 -0
  371. package/.agent/skills/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  372. package/.agent/skills/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  373. package/.agent/skills/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  374. package/.agent/skills/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  375. package/.agent/skills/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  376. package/.agent/skills/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  377. package/.agent/skills/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  378. package/.agent/skills/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  379. package/.agent/skills/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  380. package/.agent/skills/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  381. package/.agent/skills/skills/game-development/2d-games/SKILL.md +119 -0
  382. package/.agent/skills/skills/game-development/3d-games/SKILL.md +135 -0
  383. package/.agent/skills/skills/game-development/SKILL.md +167 -0
  384. package/.agent/skills/skills/game-development/game-art/SKILL.md +185 -0
  385. package/.agent/skills/skills/game-development/game-audio/SKILL.md +190 -0
  386. package/.agent/skills/skills/game-development/game-design/SKILL.md +129 -0
  387. package/.agent/skills/skills/game-development/mobile-games/SKILL.md +108 -0
  388. package/.agent/skills/skills/game-development/multiplayer/SKILL.md +132 -0
  389. package/.agent/skills/skills/game-development/pc-games/SKILL.md +144 -0
  390. package/.agent/skills/skills/game-development/vr-ar/SKILL.md +123 -0
  391. package/.agent/skills/skills/game-development/web-games/SKILL.md +150 -0
  392. package/.agent/skills/skills/gcp-cloud-run/SKILL.md +288 -0
  393. package/.agent/skills/skills/geo-fundamentals/SKILL.md +156 -0
  394. package/.agent/skills/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  395. package/.agent/skills/skills/git-pushing/SKILL.md +33 -0
  396. package/.agent/skills/skills/git-pushing/scripts/smart_commit.sh +19 -0
  397. package/.agent/skills/skills/github-workflow-automation/SKILL.md +846 -0
  398. package/.agent/skills/skills/graphql/SKILL.md +68 -0
  399. package/.agent/skills/skills/html-injection-testing/SKILL.md +498 -0
  400. package/.agent/skills/skills/hubspot-integration/SKILL.md +42 -0
  401. package/.agent/skills/skills/i18n-localization/SKILL.md +154 -0
  402. package/.agent/skills/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  403. package/.agent/skills/skills/idor-testing/SKILL.md +442 -0
  404. package/.agent/skills/skills/inngest/SKILL.md +55 -0
  405. package/.agent/skills/skills/interactive-portfolio/SKILL.md +223 -0
  406. package/.agent/skills/skills/internal-comms-anthropic/LICENSE.txt +202 -0
  407. package/.agent/skills/skills/internal-comms-anthropic/SKILL.md +32 -0
  408. package/.agent/skills/skills/internal-comms-anthropic/examples/3p-updates.md +47 -0
  409. package/.agent/skills/skills/internal-comms-anthropic/examples/company-newsletter.md +65 -0
  410. package/.agent/skills/skills/internal-comms-anthropic/examples/faq-answers.md +30 -0
  411. package/.agent/skills/skills/internal-comms-anthropic/examples/general-comms.md +16 -0
  412. package/.agent/skills/skills/internal-comms-community/LICENSE.txt +202 -0
  413. package/.agent/skills/skills/internal-comms-community/SKILL.md +32 -0
  414. package/.agent/skills/skills/javascript-mastery/SKILL.md +645 -0
  415. package/.agent/skills/skills/kaizen/SKILL.md +730 -0
  416. package/.agent/skills/skills/langfuse/SKILL.md +238 -0
  417. package/.agent/skills/skills/langgraph/SKILL.md +287 -0
  418. package/.agent/skills/skills/last30days/README.md +721 -0
  419. package/.agent/skills/skills/last30days/SKILL.md +421 -0
  420. package/.agent/skills/skills/last30days/SPEC.md +75 -0
  421. package/.agent/skills/skills/last30days/TASKS.md +47 -0
  422. package/.agent/skills/skills/last30days/assets/aging-portrait.jpeg +0 -0
  423. package/.agent/skills/skills/last30days/assets/claude-code-rap.mp3 +0 -0
  424. package/.agent/skills/skills/last30days/assets/dog-as-human.png +0 -0
  425. package/.agent/skills/skills/last30days/assets/dog-original.jpeg +0 -0
  426. package/.agent/skills/skills/last30days/assets/swimmom-mockup.jpeg +0 -0
  427. package/.agent/skills/skills/last30days/fixtures/models_openai_sample.json +41 -0
  428. package/.agent/skills/skills/last30days/fixtures/models_xai_sample.json +23 -0
  429. package/.agent/skills/skills/last30days/fixtures/openai_sample.json +22 -0
  430. package/.agent/skills/skills/last30days/fixtures/reddit_thread_sample.json +108 -0
  431. package/.agent/skills/skills/last30days/fixtures/xai_sample.json +22 -0
  432. package/.agent/skills/skills/last30days/plans/feat-add-websearch-source.md +395 -0
  433. package/.agent/skills/skills/last30days/plans/fix-strict-date-filtering.md +328 -0
  434. package/.agent/skills/skills/last30days/scripts/last30days.py +521 -0
  435. package/.agent/skills/skills/last30days/scripts/lib/__init__.py +1 -0
  436. package/.agent/skills/skills/last30days/scripts/lib/cache.py +152 -0
  437. package/.agent/skills/skills/last30days/scripts/lib/dates.py +124 -0
  438. package/.agent/skills/skills/last30days/scripts/lib/dedupe.py +120 -0
  439. package/.agent/skills/skills/last30days/scripts/lib/env.py +149 -0
  440. package/.agent/skills/skills/last30days/scripts/lib/http.py +152 -0
  441. package/.agent/skills/skills/last30days/scripts/lib/models.py +175 -0
  442. package/.agent/skills/skills/last30days/scripts/lib/normalize.py +160 -0
  443. package/.agent/skills/skills/last30days/scripts/lib/openai_reddit.py +230 -0
  444. package/.agent/skills/skills/last30days/scripts/lib/reddit_enrich.py +232 -0
  445. package/.agent/skills/skills/last30days/scripts/lib/render.py +383 -0
  446. package/.agent/skills/skills/last30days/scripts/lib/schema.py +336 -0
  447. package/.agent/skills/skills/last30days/scripts/lib/score.py +311 -0
  448. package/.agent/skills/skills/last30days/scripts/lib/ui.py +324 -0
  449. package/.agent/skills/skills/last30days/scripts/lib/websearch.py +401 -0
  450. package/.agent/skills/skills/last30days/scripts/lib/xai_x.py +217 -0
  451. package/.agent/skills/skills/last30days/tests/__init__.py +1 -0
  452. package/.agent/skills/skills/last30days/tests/test_cache.py +59 -0
  453. package/.agent/skills/skills/last30days/tests/test_dates.py +114 -0
  454. package/.agent/skills/skills/last30days/tests/test_dedupe.py +111 -0
  455. package/.agent/skills/skills/last30days/tests/test_models.py +135 -0
  456. package/.agent/skills/skills/last30days/tests/test_normalize.py +138 -0
  457. package/.agent/skills/skills/last30days/tests/test_render.py +116 -0
  458. package/.agent/skills/skills/last30days/tests/test_score.py +168 -0
  459. package/.agent/skills/skills/launch-strategy/SKILL.md +344 -0
  460. package/.agent/skills/skills/lint-and-validate/SKILL.md +45 -0
  461. package/.agent/skills/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  462. package/.agent/skills/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  463. package/.agent/skills/skills/linux-privilege-escalation/SKILL.md +504 -0
  464. package/.agent/skills/skills/linux-shell-scripting/SKILL.md +504 -0
  465. package/.agent/skills/skills/llm-app-patterns/SKILL.md +760 -0
  466. package/.agent/skills/skills/loki-mode/.github/workflows/claude-code-review.yml +57 -0
  467. package/.agent/skills/skills/loki-mode/.github/workflows/claude.yml +50 -0
  468. package/.agent/skills/skills/loki-mode/.github/workflows/release.yml +128 -0
  469. package/.agent/skills/skills/loki-mode/ACKNOWLEDGEMENTS.md +184 -0
  470. package/.agent/skills/skills/loki-mode/CHANGELOG.md +1822 -0
  471. package/.agent/skills/skills/loki-mode/CLAUDE.md +120 -0
  472. package/.agent/skills/skills/loki-mode/CONTEXT-EXPORT.md +206 -0
  473. package/.agent/skills/skills/loki-mode/INSTALLATION.md +384 -0
  474. package/.agent/skills/skills/loki-mode/LICENSE +21 -0
  475. package/.agent/skills/skills/loki-mode/README.md +548 -0
  476. package/.agent/skills/skills/loki-mode/SKILL.md +721 -0
  477. package/.agent/skills/skills/loki-mode/VERSION +1 -0
  478. package/.agent/skills/skills/loki-mode/autonomy/.loki/dashboard/index.html +497 -0
  479. package/.agent/skills/skills/loki-mode/autonomy/CONSTITUTION.md +402 -0
  480. package/.agent/skills/skills/loki-mode/autonomy/README.md +201 -0
  481. package/.agent/skills/skills/loki-mode/autonomy/run.sh +1991 -0
  482. package/.agent/skills/skills/loki-mode/benchmarks/datasets/humaneval.jsonl +164 -0
  483. package/.agent/skills/skills/loki-mode/benchmarks/datasets/swebench-lite.json +10 -0
  484. package/.agent/skills/skills/loki-mode/benchmarks/prepare-submission.sh +215 -0
  485. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/SUMMARY.md +48 -0
  486. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/humaneval-results.json +15 -0
  487. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/swebench-results.json +10 -0
  488. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/SUMMARY.md +50 -0
  489. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-results.json +1000 -0
  490. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/0.py +16 -0
  491. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/1.py +28 -0
  492. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/10.py +25 -0
  493. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/100.py +20 -0
  494. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/101.py +15 -0
  495. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/102.py +16 -0
  496. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/103.py +15 -0
  497. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/104.py +22 -0
  498. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/105.py +39 -0
  499. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/106.py +21 -0
  500. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/107.py +35 -0
  501. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/108.py +22 -0
  502. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/109.py +41 -0
  503. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/11.py +16 -0
  504. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/110.py +20 -0
  505. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/111.py +28 -0
  506. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/112.py +14 -0
  507. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/113.py +19 -0
  508. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/114.py +16 -0
  509. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/115.py +41 -0
  510. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/116.py +12 -0
  511. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/117.py +25 -0
  512. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/118.py +26 -0
  513. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/119.py +30 -0
  514. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/12.py +21 -0
  515. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/120.py +28 -0
  516. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/121.py +10 -0
  517. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/122.py +19 -0
  518. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/123.py +31 -0
  519. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/124.py +56 -0
  520. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/125.py +20 -0
  521. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/126.py +29 -0
  522. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/127.py +47 -0
  523. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/128.py +25 -0
  524. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/129.py +61 -0
  525. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/13.py +10 -0
  526. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/130.py +29 -0
  527. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/131.py +18 -0
  528. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/132.py +36 -0
  529. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/133.py +16 -0
  530. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/134.py +27 -0
  531. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/135.py +15 -0
  532. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/136.py +19 -0
  533. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/137.py +26 -0
  534. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/138.py +8 -0
  535. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/139.py +18 -0
  536. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/14.py +9 -0
  537. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/140.py +30 -0
  538. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/141.py +35 -0
  539. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/142.py +20 -0
  540. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/143.py +35 -0
  541. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/144.py +19 -0
  542. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/145.py +22 -0
  543. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/146.py +21 -0
  544. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/147.py +22 -0
  545. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/148.py +28 -0
  546. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/149.py +17 -0
  547. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/15.py +8 -0
  548. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/150.py +15 -0
  549. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/151.py +20 -0
  550. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/152.py +16 -0
  551. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/153.py +30 -0
  552. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/154.py +15 -0
  553. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/155.py +15 -0
  554. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/156.py +32 -0
  555. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/157.py +12 -0
  556. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/158.py +11 -0
  557. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/159.py +33 -0
  558. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/16.py +8 -0
  559. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/160.py +29 -0
  560. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/161.py +24 -0
  561. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/162.py +11 -0
  562. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/163.py +14 -0
  563. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/17.py +27 -0
  564. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/18.py +23 -0
  565. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/19.py +21 -0
  566. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/2.py +10 -0
  567. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/20.py +22 -0
  568. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/21.py +13 -0
  569. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/22.py +11 -0
  570. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/23.py +8 -0
  571. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/24.py +9 -0
  572. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/25.py +24 -0
  573. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/26.py +12 -0
  574. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/27.py +6 -0
  575. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/28.py +11 -0
  576. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/29.py +11 -0
  577. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/3.py +18 -0
  578. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/30.py +8 -0
  579. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/31.py +27 -0
  580. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/32.py +50 -0
  581. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/33.py +20 -0
  582. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/34.py +6 -0
  583. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/35.py +8 -0
  584. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/36.py +14 -0
  585. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/37.py +14 -0
  586. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/38.py +11 -0
  587. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/39.py +35 -0
  588. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/4.py +14 -0
  589. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/40.py +24 -0
  590. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/41.py +13 -0
  591. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/42.py +8 -0
  592. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/43.py +22 -0
  593. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/44.py +18 -0
  594. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/45.py +6 -0
  595. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/46.py +23 -0
  596. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/47.py +14 -0
  597. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/48.py +13 -0
  598. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/49.py +14 -0
  599. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/5.py +19 -0
  600. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/50.py +12 -0
  601. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/51.py +18 -0
  602. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/52.py +8 -0
  603. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/53.py +8 -0
  604. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/54.py +17 -0
  605. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/55.py +18 -0
  606. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/56.py +22 -0
  607. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/57.py +16 -0
  608. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/58.py +9 -0
  609. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/59.py +22 -0
  610. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/6.py +26 -0
  611. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/60.py +14 -0
  612. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/61.py +22 -0
  613. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/62.py +10 -0
  614. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/63.py +25 -0
  615. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/64.py +20 -0
  616. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/65.py +14 -0
  617. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/66.py +14 -0
  618. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/67.py +16 -0
  619. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/68.py +50 -0
  620. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/69.py +21 -0
  621. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/7.py +11 -0
  622. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/70.py +26 -0
  623. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/71.py +17 -0
  624. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/72.py +21 -0
  625. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/73.py +17 -0
  626. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/74.py +21 -0
  627. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/75.py +30 -0
  628. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/76.py +20 -0
  629. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/77.py +17 -0
  630. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/78.py +24 -0
  631. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/79.py +13 -0
  632. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/8.py +17 -0
  633. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/80.py +18 -0
  634. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/81.py +54 -0
  635. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/82.py +20 -0
  636. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/83.py +21 -0
  637. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/84.py +16 -0
  638. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/85.py +12 -0
  639. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/86.py +16 -0
  640. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/87.py +29 -0
  641. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/88.py +24 -0
  642. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/89.py +23 -0
  643. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/9.py +20 -0
  644. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/90.py +20 -0
  645. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/91.py +20 -0
  646. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/92.py +25 -0
  647. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/93.py +34 -0
  648. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/94.py +33 -0
  649. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/95.py +27 -0
  650. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/96.py +28 -0
  651. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/97.py +13 -0
  652. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/98.py +15 -0
  653. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/99.py +30 -0
  654. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/SUMMARY.md +48 -0
  655. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-12907.patch +16 -0
  656. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14182.patch +59 -0
  657. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14365.patch +21 -0
  658. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14995.patch +15 -0
  659. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-6938.patch +20 -0
  660. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-7746.patch +31 -0
  661. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-10914.patch +72 -0
  662. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-10924.patch +41 -0
  663. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11001.patch +80 -0
  664. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11019.patch +489 -0
  665. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11039.patch +87 -0
  666. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11049.patch +24 -0
  667. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11099.patch +28 -0
  668. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11133.patch +20 -0
  669. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11179.patch +49 -0
  670. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11283.patch +47 -0
  671. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11422.patch +25 -0
  672. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11564.patch +285 -0
  673. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11583.patch +22 -0
  674. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11620.patch +21 -0
  675. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11630.patch +45 -0
  676. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11742.patch +32 -0
  677. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11797.patch +38 -0
  678. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11815.patch +20 -0
  679. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11848.patch +21 -0
  680. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11905.patch +16 -0
  681. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11910.patch +29 -0
  682. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11964.patch +54 -0
  683. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11999.patch +15 -0
  684. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12113.patch +31 -0
  685. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12125.patch +27 -0
  686. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12184.patch +28 -0
  687. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12284.patch +31 -0
  688. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12286.patch +29 -0
  689. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12308.patch +22 -0
  690. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12453.patch +31 -0
  691. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12470.patch +53 -0
  692. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12497.patch +26 -0
  693. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12589.patch +157 -0
  694. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12700.patch +27 -0
  695. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12708.patch +64 -0
  696. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12747.patch +15 -0
  697. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12856.patch +16 -0
  698. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12908.patch +15 -0
  699. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12915.patch +82 -0
  700. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12983.patch +21 -0
  701. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13028.patch +13 -0
  702. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13033.patch +17 -0
  703. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13158.patch +14 -0
  704. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13220.patch +57 -0
  705. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13230.patch +14 -0
  706. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13265.patch +44 -0
  707. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13315.patch +53 -0
  708. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13321.patch +33 -0
  709. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13401.patch +30 -0
  710. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13447.patch +40 -0
  711. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13448.patch +203 -0
  712. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13551.patch +17 -0
  713. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13590.patch +17 -0
  714. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13658.patch +19 -0
  715. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13660.patch +27 -0
  716. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13710.patch +23 -0
  717. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13757.patch +51 -0
  718. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13768.patch +32 -0
  719. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13925.patch +116 -0
  720. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13933.patch +62 -0
  721. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13964.patch +17 -0
  722. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14016.patch +138 -0
  723. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14017.patch +88 -0
  724. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14155.patch +74 -0
  725. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14238.patch +132 -0
  726. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14382.patch +17 -0
  727. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14411.patch +16 -0
  728. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14534.patch +29 -0
  729. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14580.patch +15 -0
  730. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14608.patch +32 -0
  731. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14667.patch +33 -0
  732. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14672.patch +59 -0
  733. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14730.patch +80 -0
  734. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14752.patch +35 -0
  735. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14787.patch +24 -0
  736. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14855.patch +23 -0
  737. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14915.patch +19 -0
  738. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14997.patch +40 -0
  739. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14999.patch +26 -0
  740. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15061.patch +24 -0
  741. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15202.patch +18 -0
  742. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15213.patch +70 -0
  743. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15252.patch +63 -0
  744. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15320.patch +36 -0
  745. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15347.patch +36 -0
  746. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15388.patch +26 -0
  747. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15400.patch +14 -0
  748. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15498.patch +14 -0
  749. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15695.patch +32 -0
  750. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15738.patch +251 -0
  751. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15781.patch +18 -0
  752. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15789.patch +50 -0
  753. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15790.patch +34 -0
  754. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15814.patch +18 -0
  755. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15819.patch +127 -0
  756. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15851.patch +16 -0
  757. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15902.patch +15 -0
  758. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15996.patch +33 -0
  759. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16041.patch +30 -0
  760. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16046.patch +16 -0
  761. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16139.patch +19 -0
  762. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16229.patch +142 -0
  763. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16255.patch +21 -0
  764. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16379.patch +32 -0
  765. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16400.patch +34 -0
  766. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16408.patch +27 -0
  767. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16527.patch +14 -0
  768. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16595.patch +14 -0
  769. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16816.patch +30 -0
  770. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16820.patch +188 -0
  771. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16873.patch +37 -0
  772. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-17051.patch +51 -0
  773. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-17087.patch +21 -0
  774. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-18869.patch +75 -0
  775. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-22711.patch +42 -0
  776. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-22835.patch +58 -0
  777. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23299.patch +92 -0
  778. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23314.patch +16 -0
  779. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23476.patch +73 -0
  780. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23562.patch +33 -0
  781. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23563.patch +22 -0
  782. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23913.patch +207 -0
  783. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23964.patch +29 -0
  784. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23987.patch +43 -0
  785. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24149.patch +27 -0
  786. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24265.patch +76 -0
  787. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24334.patch +17 -0
  788. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24970.patch +24 -0
  789. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25079.patch +15 -0
  790. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25311.patch +29 -0
  791. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25332.patch +28 -0
  792. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25433.patch +240 -0
  793. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25442.patch +28 -0
  794. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25498.patch +79 -0
  795. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-26011.patch +90 -0
  796. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-26020.patch +35 -0
  797. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-2848.patch +55 -0
  798. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3010.patch +60 -0
  799. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3190.patch +18 -0
  800. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3407.patch +28 -0
  801. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-4045.patch +23 -0
  802. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-4992.patch +33 -0
  803. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-5063.patch +99 -0
  804. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-1963.patch +117 -0
  805. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2148.patch +37 -0
  806. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2317.patch +54 -0
  807. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2674.patch +157 -0
  808. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-3362.patch +19 -0
  809. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-863.patch +35 -0
  810. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-3364.patch +392 -0
  811. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4094.patch +40 -0
  812. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4248.patch +124 -0
  813. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4493.patch +39 -0
  814. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-5131.patch +45 -0
  815. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-5859.patch +13 -0
  816. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-6506.patch +25 -0
  817. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7080.patch +33 -0
  818. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7114.patch +161 -0
  819. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7228.patch +34 -0
  820. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7993.patch +21 -0
  821. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-11143.patch +25 -0
  822. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-11148.patch +57 -0
  823. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5103.patch +345 -0
  824. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5221.patch +28 -0
  825. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5227.patch +16 -0
  826. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5413.patch +35 -0
  827. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5495.patch +24 -0
  828. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5692.patch +33 -0
  829. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-6116.patch +12 -0
  830. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7168.patch +28 -0
  831. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7220.patch +535 -0
  832. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7373.patch +47 -0
  833. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7432.patch +76 -0
  834. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7490.patch +61 -0
  835. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-8365.patch +123 -0
  836. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-8906.patch +38 -0
  837. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-9359.patch +22 -0
  838. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10297.patch +53 -0
  839. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10508.patch +17 -0
  840. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10949.patch +94 -0
  841. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-11040.patch +39 -0
  842. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-11281.patch +65 -0
  843. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-12471.patch +54 -0
  844. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13142.patch +35 -0
  845. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13241.patch +29 -0
  846. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13439.patch +34 -0
  847. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13496.patch +59 -0
  848. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13497.patch +15 -0
  849. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13584.patch +25 -0
  850. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13779.patch +16 -0
  851. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14087.patch +33 -0
  852. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14092.patch +35 -0
  853. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14894.patch +24 -0
  854. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14983.patch +23 -0
  855. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-15512.patch +77 -0
  856. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-15535.patch +44 -0
  857. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25500.patch +64 -0
  858. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25570.patch +96 -0
  859. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25638.patch +52 -0
  860. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25747.patch +29 -0
  861. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-10325.patch +185 -0
  862. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-10451.patch +129 -0
  863. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-11445.patch +119 -0
  864. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7686.patch +19 -0
  865. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7738.patch +37 -0
  866. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7975.patch +89 -0
  867. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8273.patch +38 -0
  868. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8282.patch +95 -0
  869. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8435.patch +104 -0
  870. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8474.patch +73 -0
  871. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8506.patch +49 -0
  872. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8595.patch +15 -0
  873. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8627.patch +50 -0
  874. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8713.patch +41 -0
  875. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8721.patch +25 -0
  876. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8801.patch +73 -0
  877. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11400.patch +27 -0
  878. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11870.patch +96 -0
  879. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11897.patch +134 -0
  880. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12171.patch +17 -0
  881. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12236.patch +20 -0
  882. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12419.patch +35 -0
  883. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12454.patch +55 -0
  884. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12481.patch +68 -0
  885. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13031.patch +33 -0
  886. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13043.patch +35 -0
  887. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13146.patch +32 -0
  888. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13177.patch +36 -0
  889. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13437.patch +15 -0
  890. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13471.patch +26 -0
  891. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13480.patch +13 -0
  892. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13647.patch +41 -0
  893. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13773.patch +22 -0
  894. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13895.patch +28 -0
  895. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13915.patch +97 -0
  896. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13971.patch +19 -0
  897. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14024.patch +27 -0
  898. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14308.patch +20 -0
  899. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14317.patch +42 -0
  900. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14396.patch +38 -0
  901. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14774.patch +13 -0
  902. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14817.patch +54 -0
  903. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15011.patch +38 -0
  904. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15308.patch +21 -0
  905. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15345.patch +27 -0
  906. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15346.patch +26 -0
  907. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15609.patch +29 -0
  908. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15678.patch +92 -0
  909. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16106.patch +78 -0
  910. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16281.patch +141 -0
  911. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16503.patch +69 -0
  912. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16792.patch +16 -0
  913. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16988.patch +16 -0
  914. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17022.patch +65 -0
  915. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17139.patch +33 -0
  916. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17630.patch +90 -0
  917. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17655.patch +23 -0
  918. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18057.patch +28 -0
  919. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18087.patch +81 -0
  920. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18189.patch +13 -0
  921. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18199.patch +23 -0
  922. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18532.patch +130 -0
  923. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18621.patch +15 -0
  924. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18698.patch +105 -0
  925. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18835.patch +30 -0
  926. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19007.patch +66 -0
  927. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19254.patch +72 -0
  928. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19487.patch +23 -0
  929. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20049.patch +125 -0
  930. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20154.patch +46 -0
  931. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20212.patch +17 -0
  932. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20322.patch +24 -0
  933. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20442.patch +27 -0
  934. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20590.patch +23 -0
  935. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20639.patch +66 -0
  936. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21055.patch +56 -0
  937. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21171.patch +36 -0
  938. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21379.patch +36 -0
  939. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21612.patch +26 -0
  940. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21614.patch +37 -0
  941. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21627.patch +26 -0
  942. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21847.patch +24 -0
  943. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22005.patch +36 -0
  944. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22714.patch +486 -0
  945. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22840.patch +76 -0
  946. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23117.patch +24 -0
  947. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23191.patch +302 -0
  948. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23262.patch +13 -0
  949. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24066.patch +66 -0
  950. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24102.patch +12 -0
  951. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24152.patch +25 -0
  952. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24213.patch +25 -0
  953. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24909.patch +19 -0
  954. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-predictions.json +1502 -0
  955. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-results.json +1516 -0
  956. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/SUMMARY.md +48 -0
  957. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-12907.patch +31 -0
  958. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14182.patch +42 -0
  959. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14365.patch +50 -0
  960. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14995.patch +17 -0
  961. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-6938.patch +13 -0
  962. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-7746.patch +21 -0
  963. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-10914.patch +76 -0
  964. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-10924.patch +33 -0
  965. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11001.patch +35 -0
  966. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11019.patch +90 -0
  967. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11039.patch +37 -0
  968. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11049.patch +10 -0
  969. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11099.patch +24 -0
  970. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11133.patch +21 -0
  971. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11179.patch +47 -0
  972. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11283.patch +35 -0
  973. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11422.patch +18 -0
  974. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11564.patch +62 -0
  975. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11583.patch +25 -0
  976. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11620.patch +19 -0
  977. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11630.patch +79 -0
  978. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11742.patch +38 -0
  979. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11797.patch +15 -0
  980. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11815.patch +20 -0
  981. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11848.patch +19 -0
  982. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11905.patch +18 -0
  983. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11910.patch +17 -0
  984. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11964.patch +31 -0
  985. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11999.patch +26 -0
  986. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12113.patch +27 -0
  987. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12125.patch +17 -0
  988. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12184.patch +83 -0
  989. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12284.patch +21 -0
  990. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12286.patch +21 -0
  991. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12308.patch +24 -0
  992. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12453.patch +31 -0
  993. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12470.patch +137 -0
  994. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12497.patch +21 -0
  995. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12589.patch +28 -0
  996. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12700.patch +17 -0
  997. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12708.patch +22 -0
  998. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12747.patch +43 -0
  999. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12856.patch +61 -0
  1000. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12908.patch +19 -0
  1001. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12915.patch +39 -0
  1002. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12983.patch +21 -0
  1003. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13028.patch +13 -0
  1004. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13033.patch +26 -0
  1005. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13158.patch +12 -0
  1006. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13220.patch +55 -0
  1007. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-predictions.json +252 -0
  1008. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-results.json +266 -0
  1009. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/SUMMARY.md +32 -0
  1010. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-12907.patch +23 -0
  1011. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14182.patch +19 -0
  1012. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14365.patch +44 -0
  1013. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14995.patch +19 -0
  1014. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-6938.patch +14 -0
  1015. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-7746.patch +28 -0
  1016. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-10914.patch +76 -0
  1017. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-10924.patch +25 -0
  1018. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11001.patch +20 -0
  1019. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11019.patch +158 -0
  1020. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11039.patch +38 -0
  1021. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11049.patch +18 -0
  1022. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11099.patch +24 -0
  1023. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11133.patch +15 -0
  1024. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11179.patch +14 -0
  1025. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11283.patch +29 -0
  1026. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11422.patch +21 -0
  1027. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11564.patch +140 -0
  1028. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11583.patch +24 -0
  1029. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11620.patch +18 -0
  1030. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11630.patch +38 -0
  1031. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11742.patch +49 -0
  1032. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11797.patch +18 -0
  1033. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11815.patch +22 -0
  1034. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11848.patch +24 -0
  1035. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11905.patch +32 -0
  1036. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11910.patch +100 -0
  1037. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11964.patch +62 -0
  1038. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11999.patch +20 -0
  1039. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12113.patch +24 -0
  1040. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12125.patch +17 -0
  1041. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12184.patch +82 -0
  1042. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12284.patch +15 -0
  1043. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12286.patch +41 -0
  1044. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12308.patch +31 -0
  1045. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12453.patch +32 -0
  1046. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12470.patch +21 -0
  1047. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12497.patch +17 -0
  1048. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12589.patch +56 -0
  1049. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12700.patch +28 -0
  1050. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12708.patch +61 -0
  1051. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12747.patch +15 -0
  1052. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12856.patch +62 -0
  1053. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12908.patch +21 -0
  1054. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12915.patch +18 -0
  1055. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12983.patch +21 -0
  1056. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13028.patch +18 -0
  1057. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13033.patch +15 -0
  1058. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13158.patch +15 -0
  1059. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13220.patch +126 -0
  1060. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13230.patch +24 -0
  1061. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13265.patch +87 -0
  1062. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13315.patch +16 -0
  1063. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13321.patch +29 -0
  1064. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13401.patch +31 -0
  1065. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13447.patch +42 -0
  1066. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13448.patch +94 -0
  1067. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13551.patch +16 -0
  1068. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13590.patch +15 -0
  1069. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13658.patch +22 -0
  1070. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13660.patch +22 -0
  1071. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13710.patch +42 -0
  1072. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13757.patch +32 -0
  1073. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13768.patch +32 -0
  1074. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13925.patch +20 -0
  1075. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13933.patch +31 -0
  1076. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13964.patch +15 -0
  1077. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14016.patch +103 -0
  1078. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14017.patch +20 -0
  1079. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14155.patch +121 -0
  1080. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14238.patch +14 -0
  1081. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14382.patch +15 -0
  1082. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14411.patch +16 -0
  1083. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14534.patch +15 -0
  1084. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14580.patch +15 -0
  1085. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14608.patch +34 -0
  1086. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14667.patch +29 -0
  1087. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14672.patch +12 -0
  1088. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14730.patch +43 -0
  1089. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14752.patch +32 -0
  1090. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14787.patch +35 -0
  1091. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14855.patch +23 -0
  1092. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14915.patch +21 -0
  1093. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14997.patch +15 -0
  1094. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14999.patch +28 -0
  1095. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15061.patch +19 -0
  1096. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15202.patch +22 -0
  1097. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15213.patch +16 -0
  1098. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15252.patch +59 -0
  1099. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15320.patch +13 -0
  1100. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15347.patch +15 -0
  1101. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15388.patch +25 -0
  1102. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15400.patch +19 -0
  1103. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15498.patch +14 -0
  1104. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15695.patch +39 -0
  1105. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15738.patch +185 -0
  1106. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15781.patch +20 -0
  1107. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15789.patch +69 -0
  1108. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15790.patch +38 -0
  1109. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15814.patch +14 -0
  1110. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15819.patch +101 -0
  1111. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15851.patch +40 -0
  1112. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15902.patch +17 -0
  1113. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15996.patch +28 -0
  1114. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16041.patch +27 -0
  1115. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16046.patch +17 -0
  1116. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16139.patch +15 -0
  1117. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16229.patch +19 -0
  1118. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16255.patch +17 -0
  1119. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16379.patch +21 -0
  1120. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16400.patch +29 -0
  1121. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16408.patch +39 -0
  1122. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16527.patch +14 -0
  1123. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16595.patch +39 -0
  1124. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16816.patch +27 -0
  1125. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16820.patch +98 -0
  1126. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16873.patch +23 -0
  1127. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16910.patch +39 -0
  1128. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-17051.patch +15 -0
  1129. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-17087.patch +19 -0
  1130. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-18869.patch +29 -0
  1131. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-22711.patch +38 -0
  1132. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-22835.patch +27 -0
  1133. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23299.patch +65 -0
  1134. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23314.patch +15 -0
  1135. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23476.patch +19 -0
  1136. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23562.patch +23 -0
  1137. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23563.patch +14 -0
  1138. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23913.patch +95 -0
  1139. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23964.patch +14 -0
  1140. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23987.patch +55 -0
  1141. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24149.patch +20 -0
  1142. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24265.patch +52 -0
  1143. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24334.patch +23 -0
  1144. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24970.patch +24 -0
  1145. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25079.patch +38 -0
  1146. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25311.patch +62 -0
  1147. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25332.patch +42 -0
  1148. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25433.patch +126 -0
  1149. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25442.patch +27 -0
  1150. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25498.patch +67 -0
  1151. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-26011.patch +55 -0
  1152. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-26020.patch +42 -0
  1153. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-2848.patch +95 -0
  1154. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3010.patch +17 -0
  1155. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3190.patch +73 -0
  1156. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3407.patch +31 -0
  1157. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-4045.patch +21 -0
  1158. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-4992.patch +47 -0
  1159. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-5063.patch +90 -0
  1160. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-1963.patch +29 -0
  1161. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2148.patch +79 -0
  1162. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2317.patch +38 -0
  1163. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2674.patch +58 -0
  1164. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-3362.patch +17 -0
  1165. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-863.patch +20 -0
  1166. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-3364.patch +159 -0
  1167. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4094.patch +17 -0
  1168. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4248.patch +134 -0
  1169. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4493.patch +20 -0
  1170. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-5131.patch +23 -0
  1171. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-5859.patch +15 -0
  1172. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-6506.patch +36 -0
  1173. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7080.patch +31 -0
  1174. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7114.patch +51 -0
  1175. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7228.patch +80 -0
  1176. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7993.patch +54 -0
  1177. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-11143.patch +17 -0
  1178. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-11148.patch +27 -0
  1179. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5103.patch +350 -0
  1180. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5221.patch +18 -0
  1181. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5227.patch +15 -0
  1182. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5413.patch +20 -0
  1183. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5495.patch +44 -0
  1184. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5692.patch +69 -0
  1185. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-6116.patch +17 -0
  1186. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7168.patch +14 -0
  1187. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7220.patch +391 -0
  1188. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7373.patch +48 -0
  1189. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7432.patch +99 -0
  1190. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7490.patch +4 -0
  1191. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-8365.patch +27 -0
  1192. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-8906.patch +23 -0
  1193. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-9359.patch +89 -0
  1194. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10297.patch +22 -0
  1195. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10508.patch +37 -0
  1196. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10949.patch +66 -0
  1197. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-11040.patch +147 -0
  1198. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-11281.patch +107 -0
  1199. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-12471.patch +22 -0
  1200. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13142.patch +19 -0
  1201. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13241.patch +26 -0
  1202. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13439.patch +29 -0
  1203. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13496.patch +62 -0
  1204. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13497.patch +23 -0
  1205. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13584.patch +38 -0
  1206. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13779.patch +16 -0
  1207. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14087.patch +17 -0
  1208. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14092.patch +61 -0
  1209. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14894.patch +45 -0
  1210. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14983.patch +36 -0
  1211. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-15512.patch +143 -0
  1212. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-15535.patch +17 -0
  1213. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25500.patch +79 -0
  1214. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25570.patch +71 -0
  1215. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25638.patch +70 -0
  1216. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25747.patch +14 -0
  1217. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-10325.patch +153 -0
  1218. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-10451.patch +99 -0
  1219. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-11445.patch +67 -0
  1220. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7686.patch +50 -0
  1221. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7738.patch +22 -0
  1222. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7975.patch +92 -0
  1223. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8273.patch +103 -0
  1224. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8282.patch +45 -0
  1225. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8435.patch +56 -0
  1226. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8474.patch +21 -0
  1227. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8506.patch +33 -0
  1228. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8595.patch +45 -0
  1229. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8627.patch +62 -0
  1230. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8713.patch +19 -0
  1231. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8721.patch +17 -0
  1232. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8801.patch +101 -0
  1233. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11400.patch +55 -0
  1234. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11870.patch +47 -0
  1235. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11897.patch +152 -0
  1236. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12171.patch +20 -0
  1237. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12236.patch +17 -0
  1238. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12419.patch +37 -0
  1239. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12454.patch +22 -0
  1240. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12481.patch +44 -0
  1241. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13031.patch +71 -0
  1242. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13043.patch +25 -0
  1243. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13146.patch +54 -0
  1244. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13177.patch +14 -0
  1245. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13437.patch +17 -0
  1246. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13471.patch +15 -0
  1247. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13480.patch +19 -0
  1248. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13647.patch +22 -0
  1249. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13773.patch +32 -0
  1250. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13895.patch +55 -0
  1251. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13915.patch +70 -0
  1252. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13971.patch +20 -0
  1253. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14024.patch +56 -0
  1254. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14308.patch +189 -0
  1255. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14317.patch +41 -0
  1256. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14396.patch +32 -0
  1257. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14774.patch +15 -0
  1258. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14817.patch +19 -0
  1259. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15011.patch +31 -0
  1260. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15308.patch +21 -0
  1261. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15345.patch +13 -0
  1262. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15346.patch +21 -0
  1263. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15609.patch +11 -0
  1264. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15678.patch +87 -0
  1265. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16106.patch +66 -0
  1266. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16281.patch +88 -0
  1267. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16503.patch +18 -0
  1268. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16792.patch +20 -0
  1269. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16988.patch +22 -0
  1270. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17022.patch +38 -0
  1271. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17139.patch +48 -0
  1272. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17630.patch +116 -0
  1273. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17655.patch +27 -0
  1274. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18057.patch +31 -0
  1275. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18087.patch +55 -0
  1276. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18189.patch +15 -0
  1277. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18199.patch +25 -0
  1278. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18532.patch +84 -0
  1279. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18621.patch +21 -0
  1280. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18698.patch +60 -0
  1281. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18835.patch +39 -0
  1282. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19007.patch +143 -0
  1283. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19254.patch +79 -0
  1284. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19487.patch +37 -0
  1285. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20049.patch +37 -0
  1286. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20154.patch +27 -0
  1287. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20212.patch +15 -0
  1288. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20322.patch +23 -0
  1289. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20442.patch +73 -0
  1290. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20590.patch +16 -0
  1291. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20639.patch +20 -0
  1292. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21055.patch +47 -0
  1293. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21171.patch +27 -0
  1294. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21379.patch +27 -0
  1295. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21612.patch +46 -0
  1296. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21614.patch +23 -0
  1297. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21627.patch +28 -0
  1298. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21847.patch +24 -0
  1299. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22005.patch +36 -0
  1300. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22714.patch +19 -0
  1301. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22840.patch +19 -0
  1302. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23117.patch +18 -0
  1303. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23191.patch +42 -0
  1304. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23262.patch +18 -0
  1305. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24066.patch +26 -0
  1306. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24102.patch +17 -0
  1307. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24152.patch +23 -0
  1308. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24213.patch +18 -0
  1309. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24909.patch +39 -0
  1310. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-predictions.json +1802 -0
  1311. package/.agent/skills/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-results.json +1816 -0
  1312. package/.agent/skills/skills/loki-mode/benchmarks/results/SUMMARY.md +32 -0
  1313. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-results.json +1001 -0
  1314. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/0.py +21 -0
  1315. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/1.py +36 -0
  1316. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/10.py +30 -0
  1317. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/100.py +23 -0
  1318. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/101.py +17 -0
  1319. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/102.py +21 -0
  1320. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/103.py +22 -0
  1321. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/104.py +23 -0
  1322. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/105.py +34 -0
  1323. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/106.py +26 -0
  1324. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/107.py +40 -0
  1325. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/108.py +27 -0
  1326. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/109.py +53 -0
  1327. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/11.py +21 -0
  1328. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/110.py +25 -0
  1329. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/111.py +34 -0
  1330. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/112.py +20 -0
  1331. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/113.py +25 -0
  1332. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/114.py +24 -0
  1333. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/115.py +41 -0
  1334. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/116.py +17 -0
  1335. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/117.py +30 -0
  1336. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/118.py +31 -0
  1337. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/119.py +35 -0
  1338. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/12.py +27 -0
  1339. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/120.py +33 -0
  1340. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/121.py +15 -0
  1341. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/122.py +24 -0
  1342. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/123.py +35 -0
  1343. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/124.py +58 -0
  1344. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/125.py +25 -0
  1345. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/126.py +34 -0
  1346. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/127.py +41 -0
  1347. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/128.py +31 -0
  1348. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/129.py +62 -0
  1349. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/13.py +17 -0
  1350. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/130.py +35 -0
  1351. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/131.py +24 -0
  1352. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/132.py +32 -0
  1353. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/133.py +21 -0
  1354. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/134.py +23 -0
  1355. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/135.py +20 -0
  1356. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/136.py +24 -0
  1357. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/137.py +31 -0
  1358. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/138.py +13 -0
  1359. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/139.py +23 -0
  1360. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/14.py +14 -0
  1361. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/140.py +26 -0
  1362. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/141.py +42 -0
  1363. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/142.py +25 -0
  1364. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/143.py +40 -0
  1365. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/144.py +24 -0
  1366. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/145.py +24 -0
  1367. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/146.py +21 -0
  1368. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/147.py +32 -0
  1369. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/148.py +33 -0
  1370. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/149.py +22 -0
  1371. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/15.py +13 -0
  1372. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/150.py +26 -0
  1373. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/151.py +22 -0
  1374. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/152.py +21 -0
  1375. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/153.py +32 -0
  1376. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/154.py +25 -0
  1377. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/155.py +20 -0
  1378. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/156.py +39 -0
  1379. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/157.py +28 -0
  1380. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/158.py +16 -0
  1381. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/159.py +36 -0
  1382. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/16.py +13 -0
  1383. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/160.py +34 -0
  1384. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/161.py +29 -0
  1385. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/162.py +16 -0
  1386. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/163.py +18 -0
  1387. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/17.py +27 -0
  1388. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/18.py +23 -0
  1389. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/19.py +34 -0
  1390. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/2.py +15 -0
  1391. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/20.py +27 -0
  1392. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/21.py +18 -0
  1393. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/22.py +16 -0
  1394. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/23.py +13 -0
  1395. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/24.py +14 -0
  1396. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/25.py +29 -0
  1397. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/26.py +17 -0
  1398. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/27.py +11 -0
  1399. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/28.py +16 -0
  1400. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/29.py +16 -0
  1401. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/3.py +23 -0
  1402. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/30.py +13 -0
  1403. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/31.py +34 -0
  1404. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/32.py +37 -0
  1405. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/33.py +19 -0
  1406. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/34.py +11 -0
  1407. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/35.py +13 -0
  1408. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/36.py +19 -0
  1409. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/37.py +19 -0
  1410. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/38.py +25 -0
  1411. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/39.py +40 -0
  1412. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/4.py +23 -0
  1413. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/40.py +43 -0
  1414. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/41.py +18 -0
  1415. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/42.py +13 -0
  1416. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/43.py +27 -0
  1417. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/44.py +25 -0
  1418. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/45.py +11 -0
  1419. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/46.py +35 -0
  1420. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/47.py +19 -0
  1421. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/48.py +18 -0
  1422. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/49.py +26 -0
  1423. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/5.py +25 -0
  1424. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/50.py +10 -0
  1425. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/51.py +23 -0
  1426. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/52.py +13 -0
  1427. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/53.py +13 -0
  1428. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/54.py +22 -0
  1429. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/55.py +20 -0
  1430. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/56.py +27 -0
  1431. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/57.py +27 -0
  1432. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/58.py +14 -0
  1433. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/59.py +32 -0
  1434. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/6.py +33 -0
  1435. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/60.py +19 -0
  1436. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/61.py +27 -0
  1437. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/62.py +15 -0
  1438. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/63.py +30 -0
  1439. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/64.py +29 -0
  1440. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/65.py +18 -0
  1441. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/66.py +23 -0
  1442. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/67.py +22 -0
  1443. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/68.py +55 -0
  1444. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/69.py +26 -0
  1445. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/7.py +16 -0
  1446. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/70.py +35 -0
  1447. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/71.py +29 -0
  1448. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/72.py +24 -0
  1449. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/73.py +22 -0
  1450. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/74.py +26 -0
  1451. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/75.py +42 -0
  1452. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/76.py +25 -0
  1453. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/77.py +25 -0
  1454. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/78.py +29 -0
  1455. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/79.py +18 -0
  1456. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/8.py +24 -0
  1457. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/80.py +26 -0
  1458. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/81.py +61 -0
  1459. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/82.py +21 -0
  1460. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/83.py +13 -0
  1461. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/84.py +21 -0
  1462. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/85.py +17 -0
  1463. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/86.py +21 -0
  1464. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/87.py +31 -0
  1465. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/88.py +29 -0
  1466. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/89.py +25 -0
  1467. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/9.py +25 -0
  1468. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/90.py +21 -0
  1469. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/91.py +31 -0
  1470. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/92.py +29 -0
  1471. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/93.py +30 -0
  1472. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/94.py +32 -0
  1473. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/95.py +32 -0
  1474. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/96.py +38 -0
  1475. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/97.py +16 -0
  1476. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/98.py +20 -0
  1477. package/.agent/skills/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/99.py +36 -0
  1478. package/.agent/skills/skills/loki-mode/benchmarks/run-benchmarks.sh +1948 -0
  1479. package/.agent/skills/skills/loki-mode/benchmarks/submission-template/README.md +111 -0
  1480. package/.agent/skills/skills/loki-mode/benchmarks/submission-template/metadata.yaml +76 -0
  1481. package/.agent/skills/skills/loki-mode/demo/README.md +137 -0
  1482. package/.agent/skills/skills/loki-mode/demo/loki-demo.gif +0 -0
  1483. package/.agent/skills/skills/loki-mode/demo/record-demo.sh +69 -0
  1484. package/.agent/skills/skills/loki-mode/demo/record-full-demo.sh +208 -0
  1485. package/.agent/skills/skills/loki-mode/demo/recordings/loki-demo.cast +93 -0
  1486. package/.agent/skills/skills/loki-mode/demo/run-demo-auto.sh +293 -0
  1487. package/.agent/skills/skills/loki-mode/demo/run-demo.sh +323 -0
  1488. package/.agent/skills/skills/loki-mode/demo/vhs-tape.tape +223 -0
  1489. package/.agent/skills/skills/loki-mode/demo/voice-over-script.md +246 -0
  1490. package/.agent/skills/skills/loki-mode/docs/COMPETITIVE-ANALYSIS.md +333 -0
  1491. package/.agent/skills/skills/loki-mode/docs/screenshots/README.md +149 -0
  1492. package/.agent/skills/skills/loki-mode/docs/screenshots/dashboard-agents.png +0 -0
  1493. package/.agent/skills/skills/loki-mode/docs/screenshots/dashboard-tasks.png +0 -0
  1494. package/.agent/skills/skills/loki-mode/examples/api-only.md +79 -0
  1495. package/.agent/skills/skills/loki-mode/examples/full-stack-demo.md +123 -0
  1496. package/.agent/skills/skills/loki-mode/examples/simple-todo-app.md +60 -0
  1497. package/.agent/skills/skills/loki-mode/examples/static-landing-page.md +73 -0
  1498. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/.loki/CONTINUITY.md +59 -0
  1499. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/.loki/queue/completed.json +1 -0
  1500. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/.loki/queue/dead-letter.json +1 -0
  1501. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/.loki/queue/failed.json +1 -0
  1502. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/.loki/queue/in-progress.json +1 -0
  1503. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/.loki/queue/pending.json +382 -0
  1504. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/.loki/state/orchestrator.json +41 -0
  1505. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/E2E_VERIFICATION_REPORT.md +668 -0
  1506. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/PRD.md +60 -0
  1507. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/TASK_018_COMPLETION.md +229 -0
  1508. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/TESTING_DOCUMENTATION.md +327 -0
  1509. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/TEST_REPORT.md +201 -0
  1510. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/VERIFICATION_SUMMARY.txt +362 -0
  1511. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +2698 -0
  1512. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/package.json +26 -0
  1513. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/db/database.ts +24 -0
  1514. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/db/db.ts +35 -0
  1515. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/db/index.ts +2 -0
  1516. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/db/migrations.ts +31 -0
  1517. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/db/schema.sql +8 -0
  1518. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/index.ts +44 -0
  1519. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/routes/todos.ts +155 -0
  1520. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/src/types/index.ts +35 -0
  1521. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/todos.db-shm +0 -0
  1522. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/todos.db-wal +0 -0
  1523. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/backend/tsconfig.json +30 -0
  1524. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/index.html +13 -0
  1525. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +2014 -0
  1526. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/package.json +26 -0
  1527. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/App.css +384 -0
  1528. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/App.tsx +81 -0
  1529. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/api/todos.ts +57 -0
  1530. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/components/ConfirmDialog.tsx +26 -0
  1531. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/components/EmptyState.tsx +8 -0
  1532. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoForm.tsx +43 -0
  1533. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoItem.tsx +36 -0
  1534. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoList.tsx +27 -0
  1535. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/hooks/useTodos.ts +81 -0
  1536. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/index.css +48 -0
  1537. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/main.tsx +10 -0
  1538. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/src/vite-env.d.ts +1 -0
  1539. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/tsconfig.json +23 -0
  1540. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/tsconfig.node.json +10 -0
  1541. package/.agent/skills/skills/loki-mode/examples/todo-app-generated/frontend/vite.config.ts +15 -0
  1542. package/.agent/skills/skills/loki-mode/integrations/vibe-kanban.md +194 -0
  1543. package/.agent/skills/skills/loki-mode/references/advanced-patterns.md +453 -0
  1544. package/.agent/skills/skills/loki-mode/references/agent-types.md +188 -0
  1545. package/.agent/skills/skills/loki-mode/references/agents.md +1043 -0
  1546. package/.agent/skills/skills/loki-mode/references/business-ops.md +550 -0
  1547. package/.agent/skills/skills/loki-mode/references/core-workflow.md +275 -0
  1548. package/.agent/skills/skills/loki-mode/references/deployment.md +604 -0
  1549. package/.agent/skills/skills/loki-mode/references/lab-research-patterns.md +534 -0
  1550. package/.agent/skills/skills/loki-mode/references/memory-system.md +444 -0
  1551. package/.agent/skills/skills/loki-mode/references/openai-patterns.md +647 -0
  1552. package/.agent/skills/skills/loki-mode/references/production-patterns.md +568 -0
  1553. package/.agent/skills/skills/loki-mode/references/quality-control.md +437 -0
  1554. package/.agent/skills/skills/loki-mode/references/sdlc-phases.md +410 -0
  1555. package/.agent/skills/skills/loki-mode/references/task-queue.md +361 -0
  1556. package/.agent/skills/skills/loki-mode/references/tool-orchestration.md +691 -0
  1557. package/.agent/skills/skills/loki-mode/scripts/export-to-vibe-kanban.sh +178 -0
  1558. package/.agent/skills/skills/loki-mode/scripts/loki-wrapper.sh +281 -0
  1559. package/.agent/skills/skills/loki-mode/scripts/take-screenshots.js +55 -0
  1560. package/.agent/skills/skills/loki-mode/tests/run-all-tests.sh +78 -0
  1561. package/.agent/skills/skills/loki-mode/tests/test-agent-timeout.sh +348 -0
  1562. package/.agent/skills/skills/loki-mode/tests/test-bootstrap.sh +196 -0
  1563. package/.agent/skills/skills/loki-mode/tests/test-circuit-breaker.sh +389 -0
  1564. package/.agent/skills/skills/loki-mode/tests/test-state-recovery.sh +393 -0
  1565. package/.agent/skills/skills/loki-mode/tests/test-task-queue.sh +396 -0
  1566. package/.agent/skills/skills/loki-mode/tests/test-wrapper.sh +314 -0
  1567. package/.agent/skills/skills/marketing-ideas/SKILL.md +221 -0
  1568. package/.agent/skills/skills/marketing-psychology/SKILL.md +255 -0
  1569. package/.agent/skills/skills/mcp-builder/LICENSE.txt +202 -0
  1570. package/.agent/skills/skills/mcp-builder/SKILL.md +236 -0
  1571. package/.agent/skills/skills/mcp-builder/reference/evaluation.md +602 -0
  1572. package/.agent/skills/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  1573. package/.agent/skills/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  1574. package/.agent/skills/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  1575. package/.agent/skills/skills/mcp-builder/scripts/connections.py +151 -0
  1576. package/.agent/skills/skills/mcp-builder/scripts/evaluation.py +373 -0
  1577. package/.agent/skills/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  1578. package/.agent/skills/skills/mcp-builder/scripts/requirements.txt +2 -0
  1579. package/.agent/skills/skills/metasploit-framework/SKILL.md +478 -0
  1580. package/.agent/skills/skills/micro-saas-launcher/SKILL.md +212 -0
  1581. package/.agent/skills/skills/mobile-design/SKILL.md +284 -0
  1582. package/.agent/skills/skills/mobile-design/decision-trees.md +516 -0
  1583. package/.agent/skills/skills/mobile-design/mobile-backend.md +491 -0
  1584. package/.agent/skills/skills/mobile-design/mobile-color-system.md +420 -0
  1585. package/.agent/skills/skills/mobile-design/mobile-debugging.md +122 -0
  1586. package/.agent/skills/skills/mobile-design/mobile-design-thinking.md +357 -0
  1587. package/.agent/skills/skills/mobile-design/mobile-navigation.md +458 -0
  1588. package/.agent/skills/skills/mobile-design/mobile-performance.md +767 -0
  1589. package/.agent/skills/skills/mobile-design/mobile-testing.md +356 -0
  1590. package/.agent/skills/skills/mobile-design/mobile-typography.md +433 -0
  1591. package/.agent/skills/skills/mobile-design/platform-android.md +666 -0
  1592. package/.agent/skills/skills/mobile-design/platform-ios.md +561 -0
  1593. package/.agent/skills/skills/mobile-design/scripts/mobile_audit.py +670 -0
  1594. package/.agent/skills/skills/mobile-design/touch-psychology.md +537 -0
  1595. package/.agent/skills/skills/moodle-external-api-development/SKILL.md +597 -0
  1596. package/.agent/skills/skills/multi-agent-brainstorming/SKILL.md +256 -0
  1597. package/.agent/skills/skills/neon-postgres/SKILL.md +56 -0
  1598. package/.agent/skills/skills/nestjs-expert/SKILL.md +552 -0
  1599. package/.agent/skills/skills/network-101/SKILL.md +342 -0
  1600. package/.agent/skills/skills/nextjs-best-practices/SKILL.md +203 -0
  1601. package/.agent/skills/skills/nextjs-supabase-auth/SKILL.md +56 -0
  1602. package/.agent/skills/skills/nodejs-best-practices/SKILL.md +333 -0
  1603. package/.agent/skills/skills/nosql-expert/SKILL.md +111 -0
  1604. package/.agent/skills/skills/notebooklm/AUTHENTICATION.md +154 -0
  1605. package/.agent/skills/skills/notebooklm/CHANGELOG.md +44 -0
  1606. package/.agent/skills/skills/notebooklm/LICENSE +21 -0
  1607. package/.agent/skills/skills/notebooklm/README.md +412 -0
  1608. package/.agent/skills/skills/notebooklm/SKILL.md +269 -0
  1609. package/.agent/skills/skills/notebooklm/images/example_notebookchat.png +0 -0
  1610. package/.agent/skills/skills/notebooklm/references/api_reference.md +309 -0
  1611. package/.agent/skills/skills/notebooklm/references/troubleshooting.md +376 -0
  1612. package/.agent/skills/skills/notebooklm/references/usage_patterns.md +338 -0
  1613. package/.agent/skills/skills/notebooklm/requirements.txt +10 -0
  1614. package/.agent/skills/skills/notebooklm/scripts/__init__.py +81 -0
  1615. package/.agent/skills/skills/notebooklm/scripts/ask_question.py +256 -0
  1616. package/.agent/skills/skills/notebooklm/scripts/auth_manager.py +358 -0
  1617. package/.agent/skills/skills/notebooklm/scripts/browser_session.py +255 -0
  1618. package/.agent/skills/skills/notebooklm/scripts/browser_utils.py +107 -0
  1619. package/.agent/skills/skills/notebooklm/scripts/cleanup_manager.py +302 -0
  1620. package/.agent/skills/skills/notebooklm/scripts/config.py +44 -0
  1621. package/.agent/skills/skills/notebooklm/scripts/notebook_manager.py +410 -0
  1622. package/.agent/skills/skills/notebooklm/scripts/run.py +102 -0
  1623. package/.agent/skills/skills/notebooklm/scripts/setup_environment.py +204 -0
  1624. package/.agent/skills/skills/notion-template-business/SKILL.md +216 -0
  1625. package/.agent/skills/skills/obsidian-clipper-template-creator/SKILL.md +64 -0
  1626. package/.agent/skills/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -0
  1627. package/.agent/skills/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -0
  1628. package/.agent/skills/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -0
  1629. package/.agent/skills/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -0
  1630. package/.agent/skills/skills/obsidian-clipper-template-creator/references/filters.md +51 -0
  1631. package/.agent/skills/skills/obsidian-clipper-template-creator/references/json-schema.md +71 -0
  1632. package/.agent/skills/skills/obsidian-clipper-template-creator/references/variables.md +59 -0
  1633. package/.agent/skills/skills/onboarding-cro/SKILL.md +433 -0
  1634. package/.agent/skills/skills/page-cro/SKILL.md +343 -0
  1635. package/.agent/skills/skills/paid-ads/SKILL.md +551 -0
  1636. package/.agent/skills/skills/parallel-agents/SKILL.md +175 -0
  1637. package/.agent/skills/skills/paywall-upgrade-cro/SKILL.md +570 -0
  1638. package/.agent/skills/skills/pdf-official/LICENSE.txt +30 -0
  1639. package/.agent/skills/skills/pdf-official/SKILL.md +294 -0
  1640. package/.agent/skills/skills/pdf-official/forms.md +205 -0
  1641. package/.agent/skills/skills/pdf-official/reference.md +612 -0
  1642. package/.agent/skills/skills/pdf-official/scripts/check_bounding_boxes.py +70 -0
  1643. package/.agent/skills/skills/pdf-official/scripts/check_bounding_boxes_test.py +226 -0
  1644. package/.agent/skills/skills/pdf-official/scripts/check_fillable_fields.py +12 -0
  1645. package/.agent/skills/skills/pdf-official/scripts/convert_pdf_to_images.py +35 -0
  1646. package/.agent/skills/skills/pdf-official/scripts/create_validation_image.py +41 -0
  1647. package/.agent/skills/skills/pdf-official/scripts/extract_form_field_info.py +152 -0
  1648. package/.agent/skills/skills/pdf-official/scripts/fill_fillable_fields.py +114 -0
  1649. package/.agent/skills/skills/pdf-official/scripts/fill_pdf_form_with_annotations.py +108 -0
  1650. package/.agent/skills/skills/pentest-checklist/SKILL.md +334 -0
  1651. package/.agent/skills/skills/pentest-commands/SKILL.md +438 -0
  1652. package/.agent/skills/skills/performance-profiling/SKILL.md +143 -0
  1653. package/.agent/skills/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  1654. package/.agent/skills/skills/personal-tool-builder/SKILL.md +289 -0
  1655. package/.agent/skills/skills/plaid-fintech/SKILL.md +50 -0
  1656. package/.agent/skills/skills/plan-writing/SKILL.md +152 -0
  1657. package/.agent/skills/skills/planning-with-files/SKILL.md +211 -0
  1658. package/.agent/skills/skills/planning-with-files/examples.md +202 -0
  1659. package/.agent/skills/skills/planning-with-files/reference.md +218 -0
  1660. package/.agent/skills/skills/planning-with-files/scripts/check-complete.sh +44 -0
  1661. package/.agent/skills/skills/planning-with-files/scripts/init-session.sh +120 -0
  1662. package/.agent/skills/skills/planning-with-files/templates/findings.md +95 -0
  1663. package/.agent/skills/skills/planning-with-files/templates/progress.md +114 -0
  1664. package/.agent/skills/skills/planning-with-files/templates/task_plan.md +132 -0
  1665. package/.agent/skills/skills/playwright-skill/API_REFERENCE.md +653 -0
  1666. package/.agent/skills/skills/playwright-skill/SKILL.md +453 -0
  1667. package/.agent/skills/skills/playwright-skill/lib/helpers.js +441 -0
  1668. package/.agent/skills/skills/playwright-skill/package.json +26 -0
  1669. package/.agent/skills/skills/playwright-skill/run.js +228 -0
  1670. package/.agent/skills/skills/popup-cro/SKILL.md +346 -0
  1671. package/.agent/skills/skills/postgres-best-practices/AGENTS.md +1490 -0
  1672. package/.agent/skills/skills/postgres-best-practices/README.md +119 -0
  1673. package/.agent/skills/skills/postgres-best-practices/SKILL.md +57 -0
  1674. package/.agent/skills/skills/postgres-best-practices/metadata.json +13 -0
  1675. package/.agent/skills/skills/postgres-best-practices/rules/_contributing.md +171 -0
  1676. package/.agent/skills/skills/postgres-best-practices/rules/_sections.md +39 -0
  1677. package/.agent/skills/skills/postgres-best-practices/rules/_template.md +34 -0
  1678. package/.agent/skills/skills/postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  1679. package/.agent/skills/skills/postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  1680. package/.agent/skills/skills/postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  1681. package/.agent/skills/skills/postgres-best-practices/rules/conn-limits.md +44 -0
  1682. package/.agent/skills/skills/postgres-best-practices/rules/conn-pooling.md +41 -0
  1683. package/.agent/skills/skills/postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  1684. package/.agent/skills/skills/postgres-best-practices/rules/data-batch-inserts.md +54 -0
  1685. package/.agent/skills/skills/postgres-best-practices/rules/data-n-plus-one.md +53 -0
  1686. package/.agent/skills/skills/postgres-best-practices/rules/data-pagination.md +50 -0
  1687. package/.agent/skills/skills/postgres-best-practices/rules/data-upsert.md +50 -0
  1688. package/.agent/skills/skills/postgres-best-practices/rules/lock-advisory.md +56 -0
  1689. package/.agent/skills/skills/postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  1690. package/.agent/skills/skills/postgres-best-practices/rules/lock-short-transactions.md +50 -0
  1691. package/.agent/skills/skills/postgres-best-practices/rules/lock-skip-locked.md +54 -0
  1692. package/.agent/skills/skills/postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  1693. package/.agent/skills/skills/postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  1694. package/.agent/skills/skills/postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  1695. package/.agent/skills/skills/postgres-best-practices/rules/query-composite-indexes.md +44 -0
  1696. package/.agent/skills/skills/postgres-best-practices/rules/query-covering-indexes.md +40 -0
  1697. package/.agent/skills/skills/postgres-best-practices/rules/query-index-types.md +45 -0
  1698. package/.agent/skills/skills/postgres-best-practices/rules/query-missing-indexes.md +43 -0
  1699. package/.agent/skills/skills/postgres-best-practices/rules/query-partial-indexes.md +45 -0
  1700. package/.agent/skills/skills/postgres-best-practices/rules/schema-data-types.md +46 -0
  1701. package/.agent/skills/skills/postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  1702. package/.agent/skills/skills/postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  1703. package/.agent/skills/skills/postgres-best-practices/rules/schema-partitioning.md +55 -0
  1704. package/.agent/skills/skills/postgres-best-practices/rules/schema-primary-keys.md +61 -0
  1705. package/.agent/skills/skills/postgres-best-practices/rules/security-privileges.md +54 -0
  1706. package/.agent/skills/skills/postgres-best-practices/rules/security-rls-basics.md +50 -0
  1707. package/.agent/skills/skills/postgres-best-practices/rules/security-rls-performance.md +57 -0
  1708. package/.agent/skills/skills/powershell-windows/SKILL.md +167 -0
  1709. package/.agent/skills/skills/pptx-official/LICENSE.txt +30 -0
  1710. package/.agent/skills/skills/pptx-official/SKILL.md +484 -0
  1711. package/.agent/skills/skills/pptx-official/html2pptx.md +625 -0
  1712. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1713. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1714. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1715. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1716. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1717. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1718. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1719. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1720. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1721. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1722. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1723. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1724. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1725. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1726. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1727. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1728. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1729. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1730. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1731. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1732. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1733. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1734. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1735. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1736. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1737. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1738. package/.agent/skills/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1739. package/.agent/skills/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1740. package/.agent/skills/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1741. package/.agent/skills/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1742. package/.agent/skills/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1743. package/.agent/skills/skills/pptx-official/ooxml/schemas/mce/mc.xsd +75 -0
  1744. package/.agent/skills/skills/pptx-official/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  1745. package/.agent/skills/skills/pptx-official/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  1746. package/.agent/skills/skills/pptx-official/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  1747. package/.agent/skills/skills/pptx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1748. package/.agent/skills/skills/pptx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1749. package/.agent/skills/skills/pptx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1750. package/.agent/skills/skills/pptx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1751. package/.agent/skills/skills/pptx-official/ooxml/scripts/pack.py +159 -0
  1752. package/.agent/skills/skills/pptx-official/ooxml/scripts/unpack.py +29 -0
  1753. package/.agent/skills/skills/pptx-official/ooxml/scripts/validate.py +69 -0
  1754. package/.agent/skills/skills/pptx-official/ooxml/scripts/validation/__init__.py +15 -0
  1755. package/.agent/skills/skills/pptx-official/ooxml/scripts/validation/base.py +951 -0
  1756. package/.agent/skills/skills/pptx-official/ooxml/scripts/validation/docx.py +274 -0
  1757. package/.agent/skills/skills/pptx-official/ooxml/scripts/validation/pptx.py +315 -0
  1758. package/.agent/skills/skills/pptx-official/ooxml/scripts/validation/redlining.py +279 -0
  1759. package/.agent/skills/skills/pptx-official/ooxml.md +427 -0
  1760. package/.agent/skills/skills/pptx-official/scripts/html2pptx.js +979 -0
  1761. package/.agent/skills/skills/pptx-official/scripts/inventory.py +1020 -0
  1762. package/.agent/skills/skills/pptx-official/scripts/rearrange.py +231 -0
  1763. package/.agent/skills/skills/pptx-official/scripts/replace.py +385 -0
  1764. package/.agent/skills/skills/pptx-official/scripts/thumbnail.py +450 -0
  1765. package/.agent/skills/skills/pricing-strategy/SKILL.md +356 -0
  1766. package/.agent/skills/skills/prisma-expert/SKILL.md +355 -0
  1767. package/.agent/skills/skills/privilege-escalation-methods/SKILL.md +333 -0
  1768. package/.agent/skills/skills/product-manager-toolkit/SKILL.md +351 -0
  1769. package/.agent/skills/skills/product-manager-toolkit/references/prd_templates.md +317 -0
  1770. package/.agent/skills/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +441 -0
  1771. package/.agent/skills/skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
  1772. package/.agent/skills/skills/production-code-audit/SKILL.md +540 -0
  1773. package/.agent/skills/skills/programmatic-seo/SKILL.md +351 -0
  1774. package/.agent/skills/skills/prompt-caching/SKILL.md +61 -0
  1775. package/.agent/skills/skills/prompt-engineer/SKILL.md +93 -0
  1776. package/.agent/skills/skills/prompt-engineering/SKILL.md +171 -0
  1777. package/.agent/skills/skills/prompt-library/SKILL.md +322 -0
  1778. package/.agent/skills/skills/python-patterns/SKILL.md +441 -0
  1779. package/.agent/skills/skills/rag-engineer/SKILL.md +90 -0
  1780. package/.agent/skills/skills/rag-implementation/SKILL.md +63 -0
  1781. package/.agent/skills/skills/react-best-practices/AGENTS.md +2249 -0
  1782. package/.agent/skills/skills/react-best-practices/README.md +123 -0
  1783. package/.agent/skills/skills/react-best-practices/SKILL.md +121 -0
  1784. package/.agent/skills/skills/react-best-practices/metadata.json +15 -0
  1785. package/.agent/skills/skills/react-best-practices/rules/_sections.md +46 -0
  1786. package/.agent/skills/skills/react-best-practices/rules/_template.md +28 -0
  1787. package/.agent/skills/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  1788. package/.agent/skills/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  1789. package/.agent/skills/skills/react-best-practices/rules/async-api-routes.md +38 -0
  1790. package/.agent/skills/skills/react-best-practices/rules/async-defer-await.md +80 -0
  1791. package/.agent/skills/skills/react-best-practices/rules/async-dependencies.md +36 -0
  1792. package/.agent/skills/skills/react-best-practices/rules/async-parallel.md +28 -0
  1793. package/.agent/skills/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  1794. package/.agent/skills/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  1795. package/.agent/skills/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  1796. package/.agent/skills/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  1797. package/.agent/skills/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  1798. package/.agent/skills/skills/react-best-practices/rules/bundle-preload.md +50 -0
  1799. package/.agent/skills/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  1800. package/.agent/skills/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  1801. package/.agent/skills/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  1802. package/.agent/skills/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  1803. package/.agent/skills/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  1804. package/.agent/skills/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  1805. package/.agent/skills/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  1806. package/.agent/skills/skills/react-best-practices/rules/js-early-exit.md +50 -0
  1807. package/.agent/skills/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  1808. package/.agent/skills/skills/react-best-practices/rules/js-index-maps.md +37 -0
  1809. package/.agent/skills/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  1810. package/.agent/skills/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  1811. package/.agent/skills/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  1812. package/.agent/skills/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  1813. package/.agent/skills/skills/react-best-practices/rules/rendering-activity.md +26 -0
  1814. package/.agent/skills/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  1815. package/.agent/skills/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  1816. package/.agent/skills/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  1817. package/.agent/skills/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  1818. package/.agent/skills/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  1819. package/.agent/skills/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  1820. package/.agent/skills/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  1821. package/.agent/skills/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  1822. package/.agent/skills/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  1823. package/.agent/skills/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  1824. package/.agent/skills/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  1825. package/.agent/skills/skills/react-best-practices/rules/rerender-memo.md +44 -0
  1826. package/.agent/skills/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  1827. package/.agent/skills/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  1828. package/.agent/skills/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  1829. package/.agent/skills/skills/react-best-practices/rules/server-cache-react.md +26 -0
  1830. package/.agent/skills/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  1831. package/.agent/skills/skills/react-best-practices/rules/server-serialization.md +38 -0
  1832. package/.agent/skills/skills/react-patterns/SKILL.md +198 -0
  1833. package/.agent/skills/skills/react-ui-patterns/SKILL.md +289 -0
  1834. package/.agent/skills/skills/receiving-code-review/SKILL.md +213 -0
  1835. package/.agent/skills/skills/red-team-tactics/SKILL.md +199 -0
  1836. package/.agent/skills/skills/red-team-tools/SKILL.md +310 -0
  1837. package/.agent/skills/skills/referral-program/SKILL.md +602 -0
  1838. package/.agent/skills/skills/remotion-best-practices/SKILL.md +45 -0
  1839. package/.agent/skills/skills/remotion-best-practices/rules/3d.md +86 -0
  1840. package/.agent/skills/skills/remotion-best-practices/rules/animations.md +29 -0
  1841. package/.agent/skills/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  1842. package/.agent/skills/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  1843. package/.agent/skills/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  1844. package/.agent/skills/skills/remotion-best-practices/rules/assets.md +78 -0
  1845. package/.agent/skills/skills/remotion-best-practices/rules/audio.md +172 -0
  1846. package/.agent/skills/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  1847. package/.agent/skills/skills/remotion-best-practices/rules/can-decode.md +75 -0
  1848. package/.agent/skills/skills/remotion-best-practices/rules/charts.md +58 -0
  1849. package/.agent/skills/skills/remotion-best-practices/rules/compositions.md +146 -0
  1850. package/.agent/skills/skills/remotion-best-practices/rules/display-captions.md +126 -0
  1851. package/.agent/skills/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  1852. package/.agent/skills/skills/remotion-best-practices/rules/fonts.md +152 -0
  1853. package/.agent/skills/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  1854. package/.agent/skills/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  1855. package/.agent/skills/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  1856. package/.agent/skills/skills/remotion-best-practices/rules/gifs.md +138 -0
  1857. package/.agent/skills/skills/remotion-best-practices/rules/images.md +130 -0
  1858. package/.agent/skills/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
  1859. package/.agent/skills/skills/remotion-best-practices/rules/lottie.md +68 -0
  1860. package/.agent/skills/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  1861. package/.agent/skills/skills/remotion-best-practices/rules/measuring-text.md +143 -0
  1862. package/.agent/skills/skills/remotion-best-practices/rules/sequencing.md +106 -0
  1863. package/.agent/skills/skills/remotion-best-practices/rules/tailwind.md +11 -0
  1864. package/.agent/skills/skills/remotion-best-practices/rules/text-animations.md +20 -0
  1865. package/.agent/skills/skills/remotion-best-practices/rules/timing.md +179 -0
  1866. package/.agent/skills/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
  1867. package/.agent/skills/skills/remotion-best-practices/rules/transitions.md +122 -0
  1868. package/.agent/skills/skills/remotion-best-practices/rules/trimming.md +53 -0
  1869. package/.agent/skills/skills/remotion-best-practices/rules/videos.md +171 -0
  1870. package/.agent/skills/skills/requesting-code-review/SKILL.md +105 -0
  1871. package/.agent/skills/skills/requesting-code-review/code-reviewer.md +146 -0
  1872. package/.agent/skills/skills/research-engineer/SKILL.md +135 -0
  1873. package/.agent/skills/skills/salesforce-development/SKILL.md +51 -0
  1874. package/.agent/skills/skills/scanning-tools/SKILL.md +589 -0
  1875. package/.agent/skills/skills/schema-markup/SKILL.md +360 -0
  1876. package/.agent/skills/skills/scroll-experience/SKILL.md +263 -0
  1877. package/.agent/skills/skills/segment-cdp/SKILL.md +50 -0
  1878. package/.agent/skills/skills/senior-architect/SKILL.md +209 -0
  1879. package/.agent/skills/skills/senior-architect/references/architecture_patterns.md +103 -0
  1880. package/.agent/skills/skills/senior-architect/references/system_design_workflows.md +103 -0
  1881. package/.agent/skills/skills/senior-architect/references/tech_decision_guide.md +103 -0
  1882. package/.agent/skills/skills/senior-architect/scripts/architecture_diagram_generator.py +114 -0
  1883. package/.agent/skills/skills/senior-architect/scripts/dependency_analyzer.py +114 -0
  1884. package/.agent/skills/skills/senior-architect/scripts/project_architect.py +114 -0
  1885. package/.agent/skills/skills/senior-fullstack/SKILL.md +209 -0
  1886. package/.agent/skills/skills/senior-fullstack/references/architecture_patterns.md +103 -0
  1887. package/.agent/skills/skills/senior-fullstack/references/development_workflows.md +103 -0
  1888. package/.agent/skills/skills/senior-fullstack/references/tech_stack_guide.md +103 -0
  1889. package/.agent/skills/skills/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
  1890. package/.agent/skills/skills/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
  1891. package/.agent/skills/skills/senior-fullstack/scripts/project_scaffolder.py +114 -0
  1892. package/.agent/skills/skills/seo-audit/SKILL.md +487 -0
  1893. package/.agent/skills/skills/seo-fundamentals/SKILL.md +173 -0
  1894. package/.agent/skills/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  1895. package/.agent/skills/skills/server-management/SKILL.md +161 -0
  1896. package/.agent/skills/skills/shodan-reconnaissance/SKILL.md +503 -0
  1897. package/.agent/skills/skills/shopify-apps/SKILL.md +42 -0
  1898. package/.agent/skills/skills/shopify-development/README.md +60 -0
  1899. package/.agent/skills/skills/shopify-development/SKILL.md +366 -0
  1900. package/.agent/skills/skills/shopify-development/references/app-development.md +578 -0
  1901. package/.agent/skills/skills/shopify-development/references/extensions.md +555 -0
  1902. package/.agent/skills/skills/shopify-development/references/themes.md +498 -0
  1903. package/.agent/skills/skills/shopify-development/scripts/requirements.txt +19 -0
  1904. package/.agent/skills/skills/shopify-development/scripts/shopify_graphql.py +428 -0
  1905. package/.agent/skills/skills/shopify-development/scripts/shopify_init.py +441 -0
  1906. package/.agent/skills/skills/shopify-development/scripts/tests/test_shopify_init.py +379 -0
  1907. package/.agent/skills/skills/signup-flow-cro/SKILL.md +355 -0
  1908. package/.agent/skills/skills/skill-creator/LICENSE.txt +202 -0
  1909. package/.agent/skills/skills/skill-creator/SKILL.md +356 -0
  1910. package/.agent/skills/skills/skill-creator/references/output-patterns.md +82 -0
  1911. package/.agent/skills/skills/skill-creator/references/workflows.md +28 -0
  1912. package/.agent/skills/skills/skill-creator/scripts/init_skill.py +303 -0
  1913. package/.agent/skills/skills/skill-creator/scripts/package_skill.py +110 -0
  1914. package/.agent/skills/skills/skill-creator/scripts/quick_validate.py +95 -0
  1915. package/.agent/skills/skills/skill-developer/ADVANCED.md +197 -0
  1916. package/.agent/skills/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  1917. package/.agent/skills/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  1918. package/.agent/skills/skills/skill-developer/SKILL.md +426 -0
  1919. package/.agent/skills/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  1920. package/.agent/skills/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  1921. package/.agent/skills/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  1922. package/.agent/skills/skills/slack-bot-builder/SKILL.md +264 -0
  1923. package/.agent/skills/skills/slack-gif-creator/LICENSE.txt +202 -0
  1924. package/.agent/skills/skills/slack-gif-creator/SKILL.md +254 -0
  1925. package/.agent/skills/skills/slack-gif-creator/core/easing.py +234 -0
  1926. package/.agent/skills/skills/slack-gif-creator/core/frame_composer.py +176 -0
  1927. package/.agent/skills/skills/slack-gif-creator/core/gif_builder.py +269 -0
  1928. package/.agent/skills/skills/slack-gif-creator/core/validators.py +136 -0
  1929. package/.agent/skills/skills/slack-gif-creator/requirements.txt +4 -0
  1930. package/.agent/skills/skills/smtp-penetration-testing/SKILL.md +500 -0
  1931. package/.agent/skills/skills/social-content/SKILL.md +807 -0
  1932. package/.agent/skills/skills/software-architecture/SKILL.md +75 -0
  1933. package/.agent/skills/skills/sql-injection-testing/SKILL.md +448 -0
  1934. package/.agent/skills/skills/sqlmap-database-pentesting/SKILL.md +400 -0
  1935. package/.agent/skills/skills/ssh-penetration-testing/SKILL.md +488 -0
  1936. package/.agent/skills/skills/stripe-integration/SKILL.md +69 -0
  1937. package/.agent/skills/skills/subagent-driven-development/SKILL.md +240 -0
  1938. package/.agent/skills/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  1939. package/.agent/skills/skills/subagent-driven-development/implementer-prompt.md +78 -0
  1940. package/.agent/skills/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  1941. package/.agent/skills/skills/systematic-debugging/CREATION-LOG.md +119 -0
  1942. package/.agent/skills/skills/systematic-debugging/SKILL.md +296 -0
  1943. package/.agent/skills/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  1944. package/.agent/skills/skills/systematic-debugging/condition-based-waiting.md +115 -0
  1945. package/.agent/skills/skills/systematic-debugging/defense-in-depth.md +122 -0
  1946. package/.agent/skills/skills/systematic-debugging/find-polluter.sh +63 -0
  1947. package/.agent/skills/skills/systematic-debugging/root-cause-tracing.md +169 -0
  1948. package/.agent/skills/skills/systematic-debugging/test-academic.md +14 -0
  1949. package/.agent/skills/skills/systematic-debugging/test-pressure-1.md +58 -0
  1950. package/.agent/skills/skills/systematic-debugging/test-pressure-2.md +68 -0
  1951. package/.agent/skills/skills/systematic-debugging/test-pressure-3.md +69 -0
  1952. package/.agent/skills/skills/tailwind-patterns/SKILL.md +269 -0
  1953. package/.agent/skills/skills/tavily-web/SKILL.md +36 -0
  1954. package/.agent/skills/skills/tdd-workflow/SKILL.md +149 -0
  1955. package/.agent/skills/skills/telegram-bot-builder/SKILL.md +254 -0
  1956. package/.agent/skills/skills/telegram-mini-app/SKILL.md +279 -0
  1957. package/.agent/skills/skills/test-driven-development/SKILL.md +371 -0
  1958. package/.agent/skills/skills/test-driven-development/testing-anti-patterns.md +299 -0
  1959. package/.agent/skills/skills/test-fixing/SKILL.md +119 -0
  1960. package/.agent/skills/skills/testing-patterns/SKILL.md +259 -0
  1961. package/.agent/skills/skills/theme-factory/LICENSE.txt +202 -0
  1962. package/.agent/skills/skills/theme-factory/SKILL.md +59 -0
  1963. package/.agent/skills/skills/theme-factory/theme-showcase.pdf +0 -0
  1964. package/.agent/skills/skills/theme-factory/themes/arctic-frost.md +19 -0
  1965. package/.agent/skills/skills/theme-factory/themes/botanical-garden.md +19 -0
  1966. package/.agent/skills/skills/theme-factory/themes/desert-rose.md +19 -0
  1967. package/.agent/skills/skills/theme-factory/themes/forest-canopy.md +19 -0
  1968. package/.agent/skills/skills/theme-factory/themes/golden-hour.md +19 -0
  1969. package/.agent/skills/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  1970. package/.agent/skills/skills/theme-factory/themes/modern-minimalist.md +19 -0
  1971. package/.agent/skills/skills/theme-factory/themes/ocean-depths.md +19 -0
  1972. package/.agent/skills/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  1973. package/.agent/skills/skills/theme-factory/themes/tech-innovation.md +19 -0
  1974. package/.agent/skills/skills/top-web-vulnerabilities/SKILL.md +543 -0
  1975. package/.agent/skills/skills/trigger-dev/SKILL.md +67 -0
  1976. package/.agent/skills/skills/twilio-communications/SKILL.md +295 -0
  1977. package/.agent/skills/skills/typescript-expert/SKILL.md +429 -0
  1978. package/.agent/skills/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  1979. package/.agent/skills/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  1980. package/.agent/skills/skills/typescript-expert/references/utility-types.ts +335 -0
  1981. package/.agent/skills/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  1982. package/.agent/skills/skills/ui-ux-pro-max/SKILL.md +351 -0
  1983. package/.agent/skills/skills/ui-ux-pro-max/data/charts.csv +26 -0
  1984. package/.agent/skills/skills/ui-ux-pro-max/data/colors.csv +97 -0
  1985. package/.agent/skills/skills/ui-ux-pro-max/data/icons.csv +101 -0
  1986. package/.agent/skills/skills/ui-ux-pro-max/data/landing.csv +31 -0
  1987. package/.agent/skills/skills/ui-ux-pro-max/data/products.csv +97 -0
  1988. package/.agent/skills/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  1989. package/.agent/skills/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  1990. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  1991. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  1992. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  1993. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  1994. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  1995. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  1996. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  1997. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  1998. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  1999. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  2000. package/.agent/skills/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  2001. package/.agent/skills/skills/ui-ux-pro-max/data/styles.csv +59 -0
  2002. package/.agent/skills/skills/ui-ux-pro-max/data/typography.csv +58 -0
  2003. package/.agent/skills/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  2004. package/.agent/skills/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  2005. package/.agent/skills/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  2006. package/.agent/skills/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  2007. package/.agent/skills/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  2008. package/.agent/skills/skills/ui-ux-pro-max/scripts/core.py +257 -0
  2009. package/.agent/skills/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  2010. package/.agent/skills/skills/ui-ux-pro-max/scripts/search.py +76 -0
  2011. package/.agent/skills/skills/upstash-qstash/SKILL.md +68 -0
  2012. package/.agent/skills/skills/using-git-worktrees/SKILL.md +217 -0
  2013. package/.agent/skills/skills/using-superpowers/SKILL.md +87 -0
  2014. package/.agent/skills/skills/vercel-deployment/SKILL.md +69 -0
  2015. package/.agent/skills/skills/verification-before-completion/SKILL.md +139 -0
  2016. package/.agent/skills/skills/viral-generator-builder/SKILL.md +199 -0
  2017. package/.agent/skills/skills/voice-agents/SKILL.md +68 -0
  2018. package/.agent/skills/skills/voice-ai-development/SKILL.md +302 -0
  2019. package/.agent/skills/skills/vulnerability-scanner/SKILL.md +276 -0
  2020. package/.agent/skills/skills/vulnerability-scanner/checklists.md +121 -0
  2021. package/.agent/skills/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  2022. package/.agent/skills/skills/web-artifacts-builder/LICENSE.txt +202 -0
  2023. package/.agent/skills/skills/web-artifacts-builder/SKILL.md +74 -0
  2024. package/.agent/skills/skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  2025. package/.agent/skills/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  2026. package/.agent/skills/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  2027. package/.agent/skills/skills/web-design-guidelines/SKILL.md +36 -0
  2028. package/.agent/skills/skills/web-performance-optimization/SKILL.md +646 -0
  2029. package/.agent/skills/skills/webapp-testing/LICENSE.txt +202 -0
  2030. package/.agent/skills/skills/webapp-testing/SKILL.md +96 -0
  2031. package/.agent/skills/skills/webapp-testing/scripts/with_server.py +106 -0
  2032. package/.agent/skills/skills/windows-privilege-escalation/SKILL.md +496 -0
  2033. package/.agent/skills/skills/wireshark-analysis/SKILL.md +497 -0
  2034. package/.agent/skills/skills/wordpress-penetration-testing/SKILL.md +485 -0
  2035. package/.agent/skills/skills/workflow-automation/SKILL.md +68 -0
  2036. package/.agent/skills/skills/writing-plans/SKILL.md +116 -0
  2037. package/.agent/skills/skills/writing-skills/SKILL.md +737 -0
  2038. package/.agent/skills/skills/writing-skills/anthropic-best-practices.md +1150 -0
  2039. package/.agent/skills/skills/writing-skills/graphviz-conventions.dot +172 -0
  2040. package/.agent/skills/skills/writing-skills/persuasion-principles.md +187 -0
  2041. package/.agent/skills/skills/writing-skills/render-graphs.js +168 -0
  2042. package/.agent/skills/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  2043. package/.agent/skills/skills/xlsx-official/LICENSE.txt +30 -0
  2044. package/.agent/skills/skills/xlsx-official/SKILL.md +289 -0
  2045. package/.agent/skills/skills/xlsx-official/recalc.py +178 -0
  2046. package/.agent/skills/skills/xss-html-injection/SKILL.md +499 -0
  2047. package/.agent/skills/skills/zapier-make-patterns/SKILL.md +67 -0
  2048. package/.agent/skills/skills_index.json +2297 -0
  2049. package/LICENSE +21 -0
  2050. package/PUBLISHING.md +91 -0
  2051. package/README.md +91 -0
  2052. package/index.js +106 -0
  2053. package/package.json +39 -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)