@ngxtm/devkit 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 (4096) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +180 -0
  3. package/agents/backend-engineer.md +154 -0
  4. package/agents/brainstormer.md +169 -0
  5. package/agents/business-analyst.md +166 -0
  6. package/agents/database-architect.md +159 -0
  7. package/agents/debugger.md +155 -0
  8. package/agents/designer.md +150 -0
  9. package/agents/devops-engineer.md +155 -0
  10. package/agents/docs-manager.md +171 -0
  11. package/agents/frontend-engineer.md +159 -0
  12. package/agents/game-engineer.md +148 -0
  13. package/agents/mobile-engineer.md +149 -0
  14. package/agents/performance-engineer.md +152 -0
  15. package/agents/planner.md +161 -0
  16. package/agents/project-manager.md +160 -0
  17. package/agents/researcher.md +146 -0
  18. package/agents/reviewer.md +155 -0
  19. package/agents/scouter.md +157 -0
  20. package/agents/security-engineer.md +154 -0
  21. package/agents/tech-lead.md +159 -0
  22. package/agents/tester.md +157 -0
  23. package/agents-claudekit/brainstormer.md +113 -0
  24. package/agents-claudekit/code-reviewer.md +157 -0
  25. package/agents-claudekit/code-simplifier.md +42 -0
  26. package/agents-claudekit/copywriter.md +110 -0
  27. package/agents-claudekit/database-admin.md +92 -0
  28. package/agents-claudekit/debugger.md +137 -0
  29. package/agents-claudekit/docs-manager.md +208 -0
  30. package/agents-claudekit/fullstack-developer.md +95 -0
  31. package/agents-claudekit/git-manager.md +394 -0
  32. package/agents-claudekit/journal-writer.md +113 -0
  33. package/agents-claudekit/mcp-manager.md +93 -0
  34. package/agents-claudekit/planner.md +108 -0
  35. package/agents-claudekit/project-manager.md +125 -0
  36. package/agents-claudekit/researcher.md +38 -0
  37. package/agents-claudekit/scout-external.md +141 -0
  38. package/agents-claudekit/scout.md +107 -0
  39. package/agents-claudekit/tester.md +105 -0
  40. package/agents-claudekit/ui-ux-designer.md +236 -0
  41. package/cli/index.js +76 -0
  42. package/cli/install.js +274 -0
  43. package/commands/ask/fast.md +119 -0
  44. package/commands/ask/hard.md +161 -0
  45. package/commands/ask.md +64 -0
  46. package/commands/auto.md +111 -0
  47. package/commands/brainstorm/fast.md +166 -0
  48. package/commands/brainstorm/hard.md +195 -0
  49. package/commands/brainstorm.md +64 -0
  50. package/commands/code/fast.md +166 -0
  51. package/commands/code/hard.md +330 -0
  52. package/commands/code.md +64 -0
  53. package/commands/cook/fast.md +103 -0
  54. package/commands/cook/hard.md +202 -0
  55. package/commands/cook.md +64 -0
  56. package/commands/debug/fast.md +65 -0
  57. package/commands/debug/hard.md +96 -0
  58. package/commands/debug.md +64 -0
  59. package/commands/deploy/check.md +150 -0
  60. package/commands/deploy/preview.md +125 -0
  61. package/commands/deploy/production.md +160 -0
  62. package/commands/deploy/rollback.md +149 -0
  63. package/commands/deploy.md +71 -0
  64. package/commands/design/fast.md +134 -0
  65. package/commands/design/hard.md +209 -0
  66. package/commands/design.md +64 -0
  67. package/commands/docs/audit.md +167 -0
  68. package/commands/docs/business.md +167 -0
  69. package/commands/docs/core.md +161 -0
  70. package/commands/docs.md +178 -0
  71. package/commands/fix/fast.md +84 -0
  72. package/commands/fix/hard.md +116 -0
  73. package/commands/fix.md +64 -0
  74. package/commands/plan/fast.md +78 -0
  75. package/commands/plan/hard.md +131 -0
  76. package/commands/plan.md +64 -0
  77. package/commands/review/fast.md +65 -0
  78. package/commands/review/hard.md +96 -0
  79. package/commands/review.md +64 -0
  80. package/commands/test/fast.md +75 -0
  81. package/commands/test/hard.md +108 -0
  82. package/commands/test.md +64 -0
  83. package/commands-claudekit/ask.md +56 -0
  84. package/commands-claudekit/bootstrap/auto/fast.md +111 -0
  85. package/commands-claudekit/bootstrap/auto/parallel.md +66 -0
  86. package/commands-claudekit/bootstrap/auto.md +115 -0
  87. package/commands-claudekit/bootstrap.md +137 -0
  88. package/commands-claudekit/brainstorm.md +12 -0
  89. package/commands-claudekit/ck-help.md +129 -0
  90. package/commands-claudekit/code/auto.md +203 -0
  91. package/commands-claudekit/code/no-test.md +174 -0
  92. package/commands-claudekit/code/parallel.md +100 -0
  93. package/commands-claudekit/code.md +205 -0
  94. package/commands-claudekit/coding-level.md +48 -0
  95. package/commands-claudekit/content/cro.md +43 -0
  96. package/commands-claudekit/content/enhance.md +14 -0
  97. package/commands-claudekit/content/fast.md +13 -0
  98. package/commands-claudekit/content/good.md +16 -0
  99. package/commands-claudekit/cook/auto/fast.md +26 -0
  100. package/commands-claudekit/cook/auto/parallel.md +49 -0
  101. package/commands-claudekit/cook/auto.md +15 -0
  102. package/commands-claudekit/cook.md +105 -0
  103. package/commands-claudekit/debug.md +13 -0
  104. package/commands-claudekit/design/3d.md +83 -0
  105. package/commands-claudekit/design/describe.md +23 -0
  106. package/commands-claudekit/design/fast.md +31 -0
  107. package/commands-claudekit/design/good.md +35 -0
  108. package/commands-claudekit/design/screenshot.md +34 -0
  109. package/commands-claudekit/design/video.md +34 -0
  110. package/commands-claudekit/docs/init.md +40 -0
  111. package/commands-claudekit/docs/summarize.md +22 -0
  112. package/commands-claudekit/docs/update.md +78 -0
  113. package/commands-claudekit/fix/ci.md +17 -0
  114. package/commands-claudekit/fix/fast.md +19 -0
  115. package/commands-claudekit/fix/hard.md +39 -0
  116. package/commands-claudekit/fix/logs.md +26 -0
  117. package/commands-claudekit/fix/parallel.md +54 -0
  118. package/commands-claudekit/fix/test.md +20 -0
  119. package/commands-claudekit/fix/types.md +9 -0
  120. package/commands-claudekit/fix/ui.md +48 -0
  121. package/commands-claudekit/fix.md +43 -0
  122. package/commands-claudekit/git/cm.md +9 -0
  123. package/commands-claudekit/git/cp.md +9 -0
  124. package/commands-claudekit/git/merge.md +42 -0
  125. package/commands-claudekit/git/pr.md +52 -0
  126. package/commands-claudekit/integrate/polar.md +28 -0
  127. package/commands-claudekit/integrate/sepay.md +28 -0
  128. package/commands-claudekit/journal.md +7 -0
  129. package/commands-claudekit/kanban.md +99 -0
  130. package/commands-claudekit/plan/archive.md +57 -0
  131. package/commands-claudekit/plan/ci.md +33 -0
  132. package/commands-claudekit/plan/cro.md +69 -0
  133. package/commands-claudekit/plan/fast.md +66 -0
  134. package/commands-claudekit/plan/hard.md +92 -0
  135. package/commands-claudekit/plan/parallel.md +129 -0
  136. package/commands-claudekit/plan/two.md +45 -0
  137. package/commands-claudekit/plan/validate.md +117 -0
  138. package/commands-claudekit/plan.md +30 -0
  139. package/commands-claudekit/preview.md +85 -0
  140. package/commands-claudekit/review/codebase/parallel.md +122 -0
  141. package/commands-claudekit/review/codebase.md +49 -0
  142. package/commands-claudekit/scout/ext.md +35 -0
  143. package/commands-claudekit/scout.md +28 -0
  144. package/commands-claudekit/skill/add.md +36 -0
  145. package/commands-claudekit/skill/create.md +29 -0
  146. package/commands-claudekit/skill/fix-logs.md +22 -0
  147. package/commands-claudekit/skill/optimize/auto.md +25 -0
  148. package/commands-claudekit/skill/optimize.md +34 -0
  149. package/commands-claudekit/skill/plan.md +45 -0
  150. package/commands-claudekit/skill/update.md +36 -0
  151. package/commands-claudekit/test/ui.md +92 -0
  152. package/commands-claudekit/test.md +8 -0
  153. package/commands-claudekit/use-mcp.md +34 -0
  154. package/commands-claudekit/watzup.md +8 -0
  155. package/commands-claudekit/worktree.md +138 -0
  156. package/hooks/__tests__/ck-config-utils.test.cjs +557 -0
  157. package/hooks/__tests__/dev-rules-reminder.test.cjs +336 -0
  158. package/hooks/__tests__/integration/path-resolution.test.cjs +319 -0
  159. package/hooks/__tests__/privacy-block.test.cjs +273 -0
  160. package/hooks/__tests__/session-init.test.cjs +308 -0
  161. package/hooks/__tests__/subagent-init.test.cjs +622 -0
  162. package/hooks/dev-rules-reminder.cjs +52 -0
  163. package/hooks/docs/README.md +179 -0
  164. package/hooks/lib/__tests__/README.md +240 -0
  165. package/hooks/lib/__tests__/ck-config-utils.test.cjs +781 -0
  166. package/hooks/lib/__tests__/context-builder.test.cjs +373 -0
  167. package/hooks/lib/__tests__/statusline-integration.test.cjs +678 -0
  168. package/hooks/lib/__tests__/statusline.test.cjs +689 -0
  169. package/hooks/lib/ck-config-utils.cjs +769 -0
  170. package/hooks/lib/ck-paths.cjs +110 -0
  171. package/hooks/lib/colors.cjs +95 -0
  172. package/hooks/lib/config-counter.cjs +103 -0
  173. package/hooks/lib/context-builder.cjs +600 -0
  174. package/hooks/lib/context-tracker.cjs +335 -0
  175. package/hooks/lib/privacy-checker.cjs +297 -0
  176. package/hooks/lib/project-detector.cjs +430 -0
  177. package/hooks/lib/scout-checker.cjs +172 -0
  178. package/hooks/lib/transcript-parser.cjs +164 -0
  179. package/hooks/notifications/.env.example +21 -0
  180. package/hooks/notifications/discord_notify.sh +234 -0
  181. package/hooks/notifications/docs/discord-hook-setup.md +461 -0
  182. package/hooks/notifications/docs/slack-hook-setup.md +118 -0
  183. package/hooks/notifications/docs/telegram-hook-setup.md +813 -0
  184. package/hooks/notifications/lib/env-loader.cjs +105 -0
  185. package/hooks/notifications/lib/sender.cjs +128 -0
  186. package/hooks/notifications/notify.cjs +156 -0
  187. package/hooks/notifications/providers/discord.cjs +197 -0
  188. package/hooks/notifications/providers/slack.cjs +111 -0
  189. package/hooks/notifications/providers/telegram.cjs +109 -0
  190. package/hooks/notifications/send-discord.sh +75 -0
  191. package/hooks/notifications/telegram_notify.sh +137 -0
  192. package/hooks/post-edit-simplify-reminder.cjs +132 -0
  193. package/hooks/privacy-block.cjs +145 -0
  194. package/hooks/scout-block/broad-pattern-detector.cjs +266 -0
  195. package/hooks/scout-block/error-formatter.cjs +156 -0
  196. package/hooks/scout-block/path-extractor.cjs +238 -0
  197. package/hooks/scout-block/pattern-matcher.cjs +184 -0
  198. package/hooks/scout-block/tests/test-broad-pattern-detector.cjs +225 -0
  199. package/hooks/scout-block/tests/test-broad-pattern-detector.js +225 -0
  200. package/hooks/scout-block/tests/test-build-command-allowlist.cjs +137 -0
  201. package/hooks/scout-block/tests/test-build-command-allowlist.js +137 -0
  202. package/hooks/scout-block/tests/test-error-formatter.cjs +109 -0
  203. package/hooks/scout-block/tests/test-error-formatter.js +109 -0
  204. package/hooks/scout-block/tests/test-full-flow-edge-cases.cjs +75 -0
  205. package/hooks/scout-block/tests/test-full-flow-edge-cases.js +75 -0
  206. package/hooks/scout-block/tests/test-monorepo-scenarios.cjs +225 -0
  207. package/hooks/scout-block/tests/test-monorepo-scenarios.js +225 -0
  208. package/hooks/scout-block/tests/test-path-extractor.cjs +138 -0
  209. package/hooks/scout-block/tests/test-path-extractor.js +138 -0
  210. package/hooks/scout-block/tests/test-pattern-matcher.cjs +64 -0
  211. package/hooks/scout-block/tests/test-pattern-matcher.js +64 -0
  212. package/hooks/scout-block/vendor/ignore.cjs +627 -0
  213. package/hooks/scout-block/vendor/ignore.js +627 -0
  214. package/hooks/scout-block.cjs +117 -0
  215. package/hooks/session-end.cjs +35 -0
  216. package/hooks/session-init.cjs +201 -0
  217. package/hooks/subagent-init.cjs +167 -0
  218. package/hooks/tests/test-ckignore.cjs +194 -0
  219. package/hooks/tests/test-ckignore.js +194 -0
  220. package/hooks/tests/test-context-tracker.cjs +454 -0
  221. package/hooks/tests/test-modularization-hook.cjs +126 -0
  222. package/hooks/tests/test-modularization-hook.js +126 -0
  223. package/hooks/tests/test-privacy-block.cjs +298 -0
  224. package/hooks/tests/test-privacy-block.js +298 -0
  225. package/hooks/tests/test-scout-block.cjs +229 -0
  226. package/hooks/tests/test-scout-block.js +229 -0
  227. package/hooks/usage-context-awareness.cjs +146 -0
  228. package/hooks/write-compact-marker.cjs +159 -0
  229. package/matrix-skills/_index.yaml +275 -0
  230. package/matrix-skills/ai-ml.yaml +353 -0
  231. package/matrix-skills/architecture.yaml +93 -0
  232. package/matrix-skills/backend.yaml +280 -0
  233. package/matrix-skills/cloud.yaml +112 -0
  234. package/matrix-skills/data.yaml +74 -0
  235. package/matrix-skills/design.yaml +98 -0
  236. package/matrix-skills/devops.yaml +200 -0
  237. package/matrix-skills/frontend.yaml +200 -0
  238. package/matrix-skills/gaming.yaml +39 -0
  239. package/matrix-skills/languages.yaml +160 -0
  240. package/matrix-skills/management.yaml +50 -0
  241. package/matrix-skills/mcp.yaml +82 -0
  242. package/matrix-skills/mobile.yaml +85 -0
  243. package/matrix-skills/performance.yaml +23 -0
  244. package/matrix-skills/planning.yaml +117 -0
  245. package/matrix-skills/quality.yaml +195 -0
  246. package/matrix-skills/research.yaml +106 -0
  247. package/matrix-skills/security.yaml +293 -0
  248. package/matrix-skills/tools.yaml +352 -0
  249. package/output-styles/coding-level-0-eli5.md +103 -0
  250. package/output-styles/coding-level-1-junior.md +124 -0
  251. package/output-styles/coding-level-2-mid.md +146 -0
  252. package/output-styles/coding-level-3-senior.md +148 -0
  253. package/output-styles/coding-level-4-lead.md +159 -0
  254. package/output-styles/coding-level-5-god.md +91 -0
  255. package/package.json +87 -0
  256. package/rules/README.md +141 -0
  257. package/rules/dart/best-practices/SKILL.md +23 -0
  258. package/rules/dart/language/SKILL.md +52 -0
  259. package/rules/dart/tooling/SKILL.md +43 -0
  260. package/rules/flutter/auto-route-navigation/SKILL.md +43 -0
  261. package/rules/flutter/auto-route-navigation/references/REFERENCE.md +19 -0
  262. package/rules/flutter/auto-route-navigation/references/router-config.md +62 -0
  263. package/rules/flutter/bloc-state-management/SKILL.md +64 -0
  264. package/rules/flutter/bloc-state-management/references/REFERENCE.md +20 -0
  265. package/rules/flutter/bloc-state-management/references/auth-bloc-example.md +52 -0
  266. package/rules/flutter/bloc-state-management/references/equatable-usage.md +56 -0
  267. package/rules/flutter/bloc-state-management/references/property-based-state.md +68 -0
  268. package/rules/flutter/bloc.rule.md +76 -0
  269. package/rules/flutter/cicd/SKILL.md +48 -0
  270. package/rules/flutter/cicd/references/advanced-workflow.md +66 -0
  271. package/rules/flutter/cicd/references/fastlane.md +139 -0
  272. package/rules/flutter/cicd/references/github-actions.md +59 -0
  273. package/rules/flutter/dependency-injection/SKILL.md +42 -0
  274. package/rules/flutter/dependency-injection/references/REFERENCE.md +15 -0
  275. package/rules/flutter/dependency-injection/references/modules.md +37 -0
  276. package/rules/flutter/error-handling/SKILL.md +32 -0
  277. package/rules/flutter/error-handling/references/REFERENCE.md +19 -0
  278. package/rules/flutter/error-handling/references/error-mapping.md +31 -0
  279. package/rules/flutter/feature-based-clean-architecture/SKILL.md +46 -0
  280. package/rules/flutter/feature-based-clean-architecture/references/REFERENCE.md +14 -0
  281. package/rules/flutter/feature-based-clean-architecture/references/folder-structure.md +36 -0
  282. package/rules/flutter/getx-navigation/SKILL.md +70 -0
  283. package/rules/flutter/getx-navigation/references/app-pages.md +40 -0
  284. package/rules/flutter/getx-navigation/references/middleware-example.md +29 -0
  285. package/rules/flutter/getx-state-management/SKILL.md +76 -0
  286. package/rules/flutter/getx-state-management/references/binding-example.md +32 -0
  287. package/rules/flutter/getx-state-management/references/reactive-vs-simple.md +39 -0
  288. package/rules/flutter/go-router-navigation/SKILL.md +57 -0
  289. package/rules/flutter/idiomatic-flutter/SKILL.md +20 -0
  290. package/rules/flutter/layer-based-clean-architecture/SKILL.md +50 -0
  291. package/rules/flutter/layer-based-clean-architecture/references/REFERENCE.md +60 -0
  292. package/rules/flutter/layer-based-clean-architecture/references/repository-mapping.md +50 -0
  293. package/rules/flutter/localization/SKILL.md +50 -0
  294. package/rules/flutter/localization/references/REFERENCE.md +48 -0
  295. package/rules/flutter/localization/references/sheet-loader.md +33 -0
  296. package/rules/flutter/navigator-v1-navigation/SKILL.md +71 -0
  297. package/rules/flutter/navigator-v1-navigation/references/on-generate-route.md +48 -0
  298. package/rules/flutter/performance/SKILL.md +24 -0
  299. package/rules/flutter/retrofit-networking/SKILL.md +51 -0
  300. package/rules/flutter/retrofit-networking/references/REFERENCE.md +19 -0
  301. package/rules/flutter/retrofit-networking/references/token-refresh.md +40 -0
  302. package/rules/flutter/riverpod-state-management/SKILL.md +53 -0
  303. package/rules/flutter/riverpod-state-management/references/architecture.md +124 -0
  304. package/rules/flutter/riverpod-state-management/references/best-practices.md +89 -0
  305. package/rules/flutter/riverpod-state-management/references/testing.md +73 -0
  306. package/rules/flutter/riverpod.rule.md +78 -0
  307. package/rules/flutter/security/SKILL.md +33 -0
  308. package/rules/flutter/security/references/REFERENCE.md +15 -0
  309. package/rules/flutter/security/references/network-security.md +28 -0
  310. package/rules/flutter/testing/SKILL.md +44 -0
  311. package/rules/flutter/testing/references/REFERENCE.md +21 -0
  312. package/rules/flutter/testing/references/bloc-testing.md +38 -0
  313. package/rules/flutter/testing/references/integration-testing.md +128 -0
  314. package/rules/flutter/testing/references/robot-pattern.md +82 -0
  315. package/rules/flutter/testing/references/unit-testing.md +130 -0
  316. package/rules/flutter/testing/references/widget-testing.md +120 -0
  317. package/rules/flutter/widgets/SKILL.md +37 -0
  318. package/rules/golang/chi-router/SKILL.md +219 -0
  319. package/rules/golang/chi-router/references/REFERENCE.md +13 -0
  320. package/rules/golang/chi-router/references/routing-patterns.md +205 -0
  321. package/rules/golang/cobra-cli/SKILL.md +227 -0
  322. package/rules/golang/cobra-cli/references/REFERENCE.md +13 -0
  323. package/rules/golang/cobra-cli/references/command-patterns.md +224 -0
  324. package/rules/golang/core/SKILL.md +210 -0
  325. package/rules/golang/core/references/REFERENCE.md +14 -0
  326. package/rules/golang/core/references/concurrency-patterns.md +114 -0
  327. package/rules/golang/core/references/error-handling.md +87 -0
  328. package/rules/golang/echo-framework/SKILL.md +215 -0
  329. package/rules/golang/echo-framework/references/REFERENCE.md +14 -0
  330. package/rules/golang/echo-framework/references/middleware-patterns.md +141 -0
  331. package/rules/golang/echo-framework/references/routing-patterns.md +140 -0
  332. package/rules/golang/ent-orm/SKILL.md +239 -0
  333. package/rules/golang/ent-orm/references/REFERENCE.md +13 -0
  334. package/rules/golang/ent-orm/references/schema-patterns.md +255 -0
  335. package/rules/golang/fiber-framework/SKILL.md +196 -0
  336. package/rules/golang/fiber-framework/references/REFERENCE.md +13 -0
  337. package/rules/golang/fiber-framework/references/routing-patterns.md +191 -0
  338. package/rules/golang/gin-framework/SKILL.md +205 -0
  339. package/rules/golang/gin-framework/references/REFERENCE.md +14 -0
  340. package/rules/golang/gin-framework/references/middleware-patterns.md +119 -0
  341. package/rules/golang/gorm-orm/SKILL.md +196 -0
  342. package/rules/golang/gorm-orm/references/REFERENCE.md +14 -0
  343. package/rules/golang/gorm-orm/references/model-definitions.md +167 -0
  344. package/rules/golang/gorm-orm/references/query-patterns.md +161 -0
  345. package/rules/golang/grpc/SKILL.md +231 -0
  346. package/rules/golang/grpc/references/REFERENCE.md +13 -0
  347. package/rules/golang/grpc/references/service-patterns.md +276 -0
  348. package/rules/golang/testify/SKILL.md +239 -0
  349. package/rules/golang/testify/references/REFERENCE.md +13 -0
  350. package/rules/golang/testify/references/assert-patterns.md +170 -0
  351. package/rules/golang/validator/SKILL.md +234 -0
  352. package/rules/golang/validator/references/REFERENCE.md +13 -0
  353. package/rules/golang/validator/references/validation-tags.md +211 -0
  354. package/rules/golang/viper-config/SKILL.md +244 -0
  355. package/rules/golang/viper-config/references/REFERENCE.md +13 -0
  356. package/rules/golang/viper-config/references/config-loading.md +181 -0
  357. package/rules/golang/wire-di/SKILL.md +243 -0
  358. package/rules/golang/wire-di/references/REFERENCE.md +13 -0
  359. package/rules/golang/wire-di/references/provider-patterns.md +193 -0
  360. package/rules/golang/zap-logging/SKILL.md +203 -0
  361. package/rules/golang/zap-logging/references/REFERENCE.md +13 -0
  362. package/rules/golang/zap-logging/references/logger-config.md +165 -0
  363. package/rules/java/build-gradle/SKILL.md +92 -0
  364. package/rules/java/build-gradle/references/REFERENCE.md +14 -0
  365. package/rules/java/build-gradle/references/kotlin-dsl.md +118 -0
  366. package/rules/java/build-gradle/references/task-configuration.md +132 -0
  367. package/rules/java/build-maven/SKILL.md +86 -0
  368. package/rules/java/build-maven/references/REFERENCE.md +14 -0
  369. package/rules/java/build-maven/references/dependency-management.md +111 -0
  370. package/rules/java/build-maven/references/lifecycle-phases.md +114 -0
  371. package/rules/java/graalvm-native/SKILL.md +105 -0
  372. package/rules/java/graalvm-native/references/REFERENCE.md +12 -0
  373. package/rules/java/java-collections-streams/SKILL.md +148 -0
  374. package/rules/java/java-collections-streams/references/REFERENCE.md +15 -0
  375. package/rules/java/java-collections-streams/references/collectors-patterns.md +178 -0
  376. package/rules/java/java-collections-streams/references/stream-pipelines.md +165 -0
  377. package/rules/java/java-concurrency/SKILL.md +187 -0
  378. package/rules/java/java-concurrency/references/REFERENCE.md +17 -0
  379. package/rules/java/java-concurrency/references/completable-future.md +165 -0
  380. package/rules/java/java-concurrency/references/executor-patterns.md +176 -0
  381. package/rules/java/java-concurrency/references/virtual-threads.md +190 -0
  382. package/rules/java/java-core-language/SKILL.md +121 -0
  383. package/rules/java/java-core-language/references/REFERENCE.md +15 -0
  384. package/rules/java/java-core-language/references/jvm-memory-model.md +160 -0
  385. package/rules/java/java-core-language/references/modern-java-features.md +168 -0
  386. package/rules/java/java-project-structure/SKILL.md +195 -0
  387. package/rules/java/java-project-structure/references/REFERENCE.md +15 -0
  388. package/rules/java/java-project-structure/references/maven-project-layout.md +199 -0
  389. package/rules/java/java-project-structure/references/module-system.md +159 -0
  390. package/rules/java/micronaut-core/SKILL.md +99 -0
  391. package/rules/java/micronaut-core/references/REFERENCE.md +12 -0
  392. package/rules/java/micronaut-reactive/SKILL.md +68 -0
  393. package/rules/java/micronaut-reactive/references/REFERENCE.md +12 -0
  394. package/rules/java/quarkus-core/SKILL.md +85 -0
  395. package/rules/java/quarkus-core/references/REFERENCE.md +12 -0
  396. package/rules/java/quarkus-reactive/SKILL.md +67 -0
  397. package/rules/java/quarkus-reactive/references/REFERENCE.md +12 -0
  398. package/rules/java/spring-batch/SKILL.md +102 -0
  399. package/rules/java/spring-batch/references/REFERENCE.md +12 -0
  400. package/rules/java/spring-boot-architecture/SKILL.md +206 -0
  401. package/rules/java/spring-boot-architecture/references/REFERENCE.md +15 -0
  402. package/rules/java/spring-boot-architecture/references/auto-configuration.md +158 -0
  403. package/rules/java/spring-boot-architecture/references/configuration-properties.md +202 -0
  404. package/rules/java/spring-boot-web/SKILL.md +217 -0
  405. package/rules/java/spring-boot-web/references/REFERENCE.md +17 -0
  406. package/rules/java/spring-cloud/SKILL.md +109 -0
  407. package/rules/java/spring-cloud/references/REFERENCE.md +13 -0
  408. package/rules/java/spring-data-jpa/SKILL.md +241 -0
  409. package/rules/java/spring-data-jpa/references/REFERENCE.md +16 -0
  410. package/rules/java/spring-security/SKILL.md +161 -0
  411. package/rules/java/spring-security/references/REFERENCE.md +16 -0
  412. package/rules/java/spring-security/references/jwt-auth-flow.md +213 -0
  413. package/rules/java/testing-junit-mockito/SKILL.md +135 -0
  414. package/rules/java/testing-junit-mockito/references/REFERENCE.md +15 -0
  415. package/rules/java/testing-junit-mockito/references/junit5-patterns.md +159 -0
  416. package/rules/java/testing-junit-mockito/references/mockito-patterns.md +148 -0
  417. package/rules/java/testing-junit-mockito/references/spring-boot-testing.md +152 -0
  418. package/rules/javascript/best-practices/SKILL.md +64 -0
  419. package/rules/javascript/best-practices/references/REFERENCE.md +91 -0
  420. package/rules/javascript/language/SKILL.md +71 -0
  421. package/rules/javascript/language/references/REFERENCE.md +106 -0
  422. package/rules/javascript/tooling/SKILL.md +60 -0
  423. package/rules/javascript/tooling/references/REFERENCE.md +107 -0
  424. package/rules/metadata.json +54 -0
  425. package/rules/nestjs/api-standards/SKILL.md +47 -0
  426. package/rules/nestjs/api-standards/references/pagination-wrapper.md +87 -0
  427. package/rules/nestjs/architecture/SKILL.md +68 -0
  428. package/rules/nestjs/architecture/references/dynamic-module.md +53 -0
  429. package/rules/nestjs/caching/SKILL.md +51 -0
  430. package/rules/nestjs/caching/references/REFERENCE.md +13 -0
  431. package/rules/nestjs/caching/references/cache-patterns.md +183 -0
  432. package/rules/nestjs/configuration/SKILL.md +41 -0
  433. package/rules/nestjs/configuration/references/REFERENCE.md +13 -0
  434. package/rules/nestjs/configuration/references/config-patterns.md +184 -0
  435. package/rules/nestjs/controllers-services/SKILL.md +63 -0
  436. package/rules/nestjs/controllers-services/references/REFERENCE.md +14 -0
  437. package/rules/nestjs/controllers-services/references/controller-patterns.md +119 -0
  438. package/rules/nestjs/controllers-services/references/service-patterns.md +129 -0
  439. package/rules/nestjs/database/SKILL.md +102 -0
  440. package/rules/nestjs/database/references/REFERENCE.md +14 -0
  441. package/rules/nestjs/database/references/typeorm-patterns.md +156 -0
  442. package/rules/nestjs/deployment/SKILL.md +36 -0
  443. package/rules/nestjs/deployment/references/REFERENCE.md +13 -0
  444. package/rules/nestjs/deployment/references/deployment-patterns.md +140 -0
  445. package/rules/nestjs/documentation/SKILL.md +64 -0
  446. package/rules/nestjs/documentation/references/REFERENCE.md +13 -0
  447. package/rules/nestjs/documentation/references/swagger-patterns.md +139 -0
  448. package/rules/nestjs/error-handling/SKILL.md +55 -0
  449. package/rules/nestjs/error-handling/references/REFERENCE.md +13 -0
  450. package/rules/nestjs/error-handling/references/exception-filters.md +152 -0
  451. package/rules/nestjs/file-uploads/SKILL.md +35 -0
  452. package/rules/nestjs/file-uploads/references/REFERENCE.md +13 -0
  453. package/rules/nestjs/file-uploads/references/upload-patterns.md +125 -0
  454. package/rules/nestjs/observability/SKILL.md +39 -0
  455. package/rules/nestjs/observability/references/REFERENCE.md +13 -0
  456. package/rules/nestjs/observability/references/logging-metrics.md +175 -0
  457. package/rules/nestjs/performance/SKILL.md +60 -0
  458. package/rules/nestjs/performance/references/REFERENCE.md +13 -0
  459. package/rules/nestjs/performance/references/performance-patterns.md +107 -0
  460. package/rules/nestjs/real-time/SKILL.md +45 -0
  461. package/rules/nestjs/real-time/references/REFERENCE.md +13 -0
  462. package/rules/nestjs/real-time/references/websocket-patterns.md +121 -0
  463. package/rules/nestjs/scheduling/SKILL.md +39 -0
  464. package/rules/nestjs/scheduling/references/REFERENCE.md +13 -0
  465. package/rules/nestjs/scheduling/references/scheduling-patterns.md +137 -0
  466. package/rules/nestjs/search/SKILL.md +41 -0
  467. package/rules/nestjs/search/references/REFERENCE.md +13 -0
  468. package/rules/nestjs/search/references/search-patterns.md +137 -0
  469. package/rules/nestjs/security/SKILL.md +87 -0
  470. package/rules/nestjs/security/references/REFERENCE.md +14 -0
  471. package/rules/nestjs/security/references/authentication.md +151 -0
  472. package/rules/nestjs/testing/SKILL.md +40 -0
  473. package/rules/nestjs/testing/references/REFERENCE.md +14 -0
  474. package/rules/nestjs/testing/references/unit-testing.md +179 -0
  475. package/rules/nestjs/transport/SKILL.md +45 -0
  476. package/rules/nestjs/transport/references/REFERENCE.md +13 -0
  477. package/rules/nestjs/transport/references/microservices-patterns.md +170 -0
  478. package/rules/nextjs/app-router/SKILL.md +46 -0
  479. package/rules/nextjs/app-router/references/REFERENCE.md +14 -0
  480. package/rules/nextjs/app-router/references/routing-patterns.md +182 -0
  481. package/rules/nextjs/architecture/SKILL.md +44 -0
  482. package/rules/nextjs/architecture/references/fsd-structure.md +77 -0
  483. package/rules/nextjs/authentication/SKILL.md +29 -0
  484. package/rules/nextjs/authentication/references/auth-implementation.md +73 -0
  485. package/rules/nextjs/caching/SKILL.md +66 -0
  486. package/rules/nextjs/caching/references/REFERENCE.md +13 -0
  487. package/rules/nextjs/caching/references/cache-strategies.md +168 -0
  488. package/rules/nextjs/data-access-layer/SKILL.md +33 -0
  489. package/rules/nextjs/data-access-layer/references/patterns.md +66 -0
  490. package/rules/nextjs/data-fetching/SKILL.md +59 -0
  491. package/rules/nextjs/data-fetching/references/REFERENCE.md +13 -0
  492. package/rules/nextjs/data-fetching/references/fetch-patterns.md +160 -0
  493. package/rules/nextjs/internationalization/SKILL.md +105 -0
  494. package/rules/nextjs/internationalization/references/REFERENCE.md +13 -0
  495. package/rules/nextjs/internationalization/references/i18n-patterns.md +180 -0
  496. package/rules/nextjs/optimization/SKILL.md +64 -0
  497. package/rules/nextjs/optimization/references/REFERENCE.md +13 -0
  498. package/rules/nextjs/optimization/references/optimization-patterns.md +190 -0
  499. package/rules/nextjs/rendering/SKILL.md +91 -0
  500. package/rules/nextjs/rendering/references/REFERENCE.md +13 -0
  501. package/rules/nextjs/rendering/references/rendering-modes.md +163 -0
  502. package/rules/nextjs/server-actions/SKILL.md +46 -0
  503. package/rules/nextjs/server-actions/references/REFERENCE.md +13 -0
  504. package/rules/nextjs/server-actions/references/action-patterns.md +188 -0
  505. package/rules/nextjs/server-components/SKILL.md +52 -0
  506. package/rules/nextjs/server-components/references/REFERENCE.md +13 -0
  507. package/rules/nextjs/server-components/references/component-patterns.md +175 -0
  508. package/rules/nextjs/state-management/SKILL.md +73 -0
  509. package/rules/nextjs/state-management/references/REFERENCE.md +13 -0
  510. package/rules/nextjs/state-management/references/state-patterns.md +218 -0
  511. package/rules/nextjs/styling/SKILL.md +31 -0
  512. package/rules/nextjs/styling/references/implementation.md +56 -0
  513. package/rules/react/component-patterns/SKILL.md +66 -0
  514. package/rules/react/component-patterns/references/REFERENCE.md +126 -0
  515. package/rules/react/hooks/SKILL.md +60 -0
  516. package/rules/react/hooks/references/REFERENCE.md +132 -0
  517. package/rules/react/hooks.rule.md +79 -0
  518. package/rules/react/performance/SKILL.md +69 -0
  519. package/rules/react/performance/references/REFERENCE.md +143 -0
  520. package/rules/react/security/SKILL.md +46 -0
  521. package/rules/react/security/references/REFERENCE.md +170 -0
  522. package/rules/react/state-management/SKILL.md +56 -0
  523. package/rules/react/state-management/references/REFERENCE.md +137 -0
  524. package/rules/react/testing/SKILL.md +45 -0
  525. package/rules/react/testing/references/REFERENCE.md +149 -0
  526. package/rules/react/tooling/SKILL.md +39 -0
  527. package/rules/react/typescript/SKILL.md +53 -0
  528. package/rules/rust/actix-web/SKILL.md +160 -0
  529. package/rules/rust/actix-web/references/REFERENCE.md +13 -0
  530. package/rules/rust/actix-web/references/handler-patterns.md +198 -0
  531. package/rules/rust/async-graphql/SKILL.md +228 -0
  532. package/rules/rust/async-graphql/references/REFERENCE.md +13 -0
  533. package/rules/rust/async-graphql/references/schema-patterns.md +215 -0
  534. package/rules/rust/axum/SKILL.md +161 -0
  535. package/rules/rust/axum/references/REFERENCE.md +14 -0
  536. package/rules/rust/axum/references/handler-patterns.md +97 -0
  537. package/rules/rust/bevy/SKILL.md +206 -0
  538. package/rules/rust/bevy/references/REFERENCE.md +13 -0
  539. package/rules/rust/bevy/references/ecs-patterns.md +226 -0
  540. package/rules/rust/clap/SKILL.md +217 -0
  541. package/rules/rust/clap/references/REFERENCE.md +13 -0
  542. package/rules/rust/clap/references/derive-patterns.md +205 -0
  543. package/rules/rust/core/SKILL.md +154 -0
  544. package/rules/rust/core/references/REFERENCE.md +14 -0
  545. package/rules/rust/core/references/error-handling.md +92 -0
  546. package/rules/rust/diesel-orm/SKILL.md +176 -0
  547. package/rules/rust/diesel-orm/references/REFERENCE.md +13 -0
  548. package/rules/rust/diesel-orm/references/schema-patterns.md +206 -0
  549. package/rules/rust/rocket/SKILL.md +182 -0
  550. package/rules/rust/rocket/references/REFERENCE.md +13 -0
  551. package/rules/rust/rocket/references/handler-patterns.md +209 -0
  552. package/rules/rust/sea-orm/SKILL.md +230 -0
  553. package/rules/rust/sea-orm/references/REFERENCE.md +13 -0
  554. package/rules/rust/sea-orm/references/entity-patterns.md +221 -0
  555. package/rules/rust/serde-serialization/SKILL.md +150 -0
  556. package/rules/rust/serde-serialization/references/REFERENCE.md +13 -0
  557. package/rules/rust/serde-serialization/references/serialization-patterns.md +199 -0
  558. package/rules/rust/sqlx-database/SKILL.md +140 -0
  559. package/rules/rust/sqlx-database/references/REFERENCE.md +13 -0
  560. package/rules/rust/sqlx-database/references/query-patterns.md +210 -0
  561. package/rules/rust/tauri/SKILL.md +180 -0
  562. package/rules/rust/tauri/references/REFERENCE.md +13 -0
  563. package/rules/rust/tauri/references/command-patterns.md +209 -0
  564. package/rules/rust/tokio-runtime/SKILL.md +167 -0
  565. package/rules/rust/tokio-runtime/references/REFERENCE.md +14 -0
  566. package/rules/rust/tokio-runtime/references/async-patterns.md +137 -0
  567. package/rules/rust/tokio-runtime/references/synchronization.md +152 -0
  568. package/rules/rust/tonic/SKILL.md +231 -0
  569. package/rules/rust/tonic/references/REFERENCE.md +13 -0
  570. package/rules/rust/tonic/references/service-patterns.md +213 -0
  571. package/rules/rust/tracing/SKILL.md +214 -0
  572. package/rules/rust/tracing/references/REFERENCE.md +13 -0
  573. package/rules/rust/tracing/references/instrumentation.md +187 -0
  574. package/rules/typescript/best-practices/SKILL.md +108 -0
  575. package/rules/typescript/best-practices/references/REFERENCE.md +68 -0
  576. package/rules/typescript/language/SKILL.md +72 -0
  577. package/rules/typescript/language/references/REFERENCE.md +67 -0
  578. package/rules/typescript/patterns.rule.md +85 -0
  579. package/rules/typescript/security/SKILL.md +59 -0
  580. package/rules/typescript/security/references/REFERENCE.md +113 -0
  581. package/rules/typescript/tooling/SKILL.md +52 -0
  582. package/rules/typescript/tooling/references/REFERENCE.md +110 -0
  583. package/settings.json +94 -0
  584. package/skills/3d-web-experience/SKILL.md +254 -0
  585. package/skills/README.md +23 -0
  586. package/skills/ab-test-setup/SKILL.md +232 -0
  587. package/skills/active-directory-attacks/SKILL.md +383 -0
  588. package/skills/active-directory-attacks/references/advanced-attacks.md +382 -0
  589. package/skills/address-github-comments/SKILL.md +55 -0
  590. package/skills/aesthetic/SKILL.md +134 -0
  591. package/skills/aesthetic/assets/design-guideline-template.md +163 -0
  592. package/skills/aesthetic/assets/design-story-template.md +135 -0
  593. package/skills/aesthetic/references/design-principles.md +62 -0
  594. package/skills/aesthetic/references/design-resources.md +86 -0
  595. package/skills/aesthetic/references/micro-interactions.md +53 -0
  596. package/skills/aesthetic/references/storytelling-design.md +50 -0
  597. package/skills/agent-evaluation/SKILL.md +64 -0
  598. package/skills/agent-framework-azure-hosted-agents/SKILL.md +335 -0
  599. package/skills/agent-framework-azure-hosted-agents/references/advanced.md +512 -0
  600. package/skills/agent-framework-azure-hosted-agents/references/mcp.md +301 -0
  601. package/skills/agent-framework-azure-hosted-agents/references/threads.md +300 -0
  602. package/skills/agent-framework-azure-hosted-agents/references/tools.md +278 -0
  603. package/skills/agent-manager-skill/SKILL.md +40 -0
  604. package/skills/agent-memory-mcp/SKILL.md +82 -0
  605. package/skills/agent-memory-systems/SKILL.md +67 -0
  606. package/skills/agent-tool-builder/SKILL.md +53 -0
  607. package/skills/agile-product-owner/SKILL.md +31 -0
  608. package/skills/agile-product-owner/scripts/user_story_generator.py +387 -0
  609. package/skills/ai-agents-architect/SKILL.md +90 -0
  610. package/skills/ai-artist/SKILL.md +75 -0
  611. package/skills/ai-artist/references/advanced-techniques.md +184 -0
  612. package/skills/ai-artist/references/domain-code.md +66 -0
  613. package/skills/ai-artist/references/domain-data.md +72 -0
  614. package/skills/ai-artist/references/domain-marketing.md +66 -0
  615. package/skills/ai-artist/references/domain-patterns.md +33 -0
  616. package/skills/ai-artist/references/domain-writing.md +68 -0
  617. package/skills/ai-artist/references/image-prompting.md +141 -0
  618. package/skills/ai-artist/references/llm-prompting.md +165 -0
  619. package/skills/ai-artist/references/nano-banana.md +59 -0
  620. package/skills/ai-artist/references/reasoning-techniques.md +201 -0
  621. package/skills/ai-multimodal/.env.example +204 -0
  622. package/skills/ai-multimodal/SKILL.md +109 -0
  623. package/skills/ai-multimodal/references/audio-processing.md +387 -0
  624. package/skills/ai-multimodal/references/image-generation.md +939 -0
  625. package/skills/ai-multimodal/references/music-generation.md +311 -0
  626. package/skills/ai-multimodal/references/video-analysis.md +515 -0
  627. package/skills/ai-multimodal/references/video-generation.md +457 -0
  628. package/skills/ai-multimodal/references/vision-understanding.md +492 -0
  629. package/skills/ai-multimodal/scripts/.coverage +0 -0
  630. package/skills/ai-multimodal/scripts/check_setup.py +315 -0
  631. package/skills/ai-multimodal/scripts/document_converter.py +395 -0
  632. package/skills/ai-multimodal/scripts/gemini_batch_process.py +1185 -0
  633. package/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
  634. package/skills/ai-multimodal/scripts/requirements.txt +26 -0
  635. package/skills/ai-multimodal/scripts/tests/.coverage +0 -0
  636. package/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
  637. package/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
  638. package/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
  639. package/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
  640. package/skills/ai-product/SKILL.md +54 -0
  641. package/skills/ai-wrapper-product/SKILL.md +273 -0
  642. package/skills/algolia-search/SKILL.md +66 -0
  643. package/skills/algorithmic-art/LICENSE.txt +202 -0
  644. package/skills/algorithmic-art/SKILL.md +405 -0
  645. package/skills/algorithmic-art/templates/generator_template.js +223 -0
  646. package/skills/algorithmic-art/templates/viewer.html +599 -0
  647. package/skills/analytics-tracking/SKILL.md +404 -0
  648. package/skills/angular-architect/SKILL.md +97 -0
  649. package/skills/angular-architect/references/components.md +300 -0
  650. package/skills/angular-architect/references/ngrx.md +404 -0
  651. package/skills/angular-architect/references/routing.md +364 -0
  652. package/skills/angular-architect/references/rxjs.md +322 -0
  653. package/skills/angular-architect/references/testing.md +408 -0
  654. package/skills/api-designer/SKILL.md +101 -0
  655. package/skills/api-designer/references/error-handling.md +541 -0
  656. package/skills/api-designer/references/openapi.md +824 -0
  657. package/skills/api-designer/references/pagination.md +494 -0
  658. package/skills/api-designer/references/rest-patterns.md +335 -0
  659. package/skills/api-designer/references/versioning.md +391 -0
  660. package/skills/api-documentation-generator/SKILL.md +484 -0
  661. package/skills/api-fuzzing-bug-bounty/SKILL.md +433 -0
  662. package/skills/api-patterns/SKILL.md +81 -0
  663. package/skills/api-patterns/api-style.md +42 -0
  664. package/skills/api-patterns/auth.md +24 -0
  665. package/skills/api-patterns/documentation.md +26 -0
  666. package/skills/api-patterns/graphql.md +41 -0
  667. package/skills/api-patterns/rate-limiting.md +31 -0
  668. package/skills/api-patterns/response.md +37 -0
  669. package/skills/api-patterns/rest.md +40 -0
  670. package/skills/api-patterns/scripts/api_validator.py +211 -0
  671. package/skills/api-patterns/security-testing.md +122 -0
  672. package/skills/api-patterns/trpc.md +41 -0
  673. package/skills/api-patterns/versioning.md +22 -0
  674. package/skills/api-security-best-practices/SKILL.md +907 -0
  675. package/skills/app-builder/SKILL.md +75 -0
  676. package/skills/app-builder/agent-coordination.md +71 -0
  677. package/skills/app-builder/feature-building.md +53 -0
  678. package/skills/app-builder/project-detection.md +34 -0
  679. package/skills/app-builder/scaffolding.md +118 -0
  680. package/skills/app-builder/tech-stack.md +40 -0
  681. package/skills/app-builder/templates/SKILL.md +39 -0
  682. package/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  683. package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  684. package/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  685. package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  686. package/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  687. package/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  688. package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  689. package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  690. package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  691. package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  692. package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  693. package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  694. package/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  695. package/skills/app-store-optimization/HOW_TO_USE.md +281 -0
  696. package/skills/app-store-optimization/README.md +430 -0
  697. package/skills/app-store-optimization/SKILL.md +403 -0
  698. package/skills/app-store-optimization/ab_test_planner.py +662 -0
  699. package/skills/app-store-optimization/aso_scorer.py +482 -0
  700. package/skills/app-store-optimization/competitor_analyzer.py +577 -0
  701. package/skills/app-store-optimization/expected_output.json +170 -0
  702. package/skills/app-store-optimization/keyword_analyzer.py +406 -0
  703. package/skills/app-store-optimization/launch_checklist.py +739 -0
  704. package/skills/app-store-optimization/localization_helper.py +588 -0
  705. package/skills/app-store-optimization/metadata_optimizer.py +581 -0
  706. package/skills/app-store-optimization/review_analyzer.py +714 -0
  707. package/skills/app-store-optimization/sample_input.json +30 -0
  708. package/skills/architecture/SKILL.md +55 -0
  709. package/skills/architecture/context-discovery.md +43 -0
  710. package/skills/architecture/examples.md +94 -0
  711. package/skills/architecture/pattern-selection.md +68 -0
  712. package/skills/architecture/patterns-reference.md +50 -0
  713. package/skills/architecture/trade-off-analysis.md +77 -0
  714. package/skills/architecture-designer/SKILL.md +89 -0
  715. package/skills/architecture-designer/references/adr-template.md +119 -0
  716. package/skills/architecture-designer/references/architecture-patterns.md +114 -0
  717. package/skills/architecture-designer/references/database-selection.md +105 -0
  718. package/skills/architecture-designer/references/nfr-checklist.md +115 -0
  719. package/skills/architecture-designer/references/system-design.md +103 -0
  720. package/skills/artifacts-builder/SKILL.md +74 -0
  721. package/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  722. package/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
  723. package/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  724. package/skills/ask-questions-if-underspecified/SKILL.md +81 -0
  725. package/skills/atlassian-mcp/SKILL.md +100 -0
  726. package/skills/atlassian-mcp/references/authentication-patterns.md +523 -0
  727. package/skills/atlassian-mcp/references/common-workflows.md +663 -0
  728. package/skills/atlassian-mcp/references/confluence-operations.md +531 -0
  729. package/skills/atlassian-mcp/references/jira-queries.md +424 -0
  730. package/skills/atlassian-mcp/references/mcp-server-setup.md +295 -0
  731. package/skills/autonomous-agent-patterns/SKILL.md +761 -0
  732. package/skills/autonomous-agents/SKILL.md +68 -0
  733. package/skills/avalonia-layout-zafiro/SKILL.md +59 -0
  734. package/skills/avalonia-layout-zafiro/behaviors.md +35 -0
  735. package/skills/avalonia-layout-zafiro/components.md +41 -0
  736. package/skills/avalonia-layout-zafiro/containers.md +50 -0
  737. package/skills/avalonia-layout-zafiro/icons.md +53 -0
  738. package/skills/avalonia-layout-zafiro/themes.md +51 -0
  739. package/skills/avalonia-viewmodels-zafiro/SKILL.md +29 -0
  740. package/skills/avalonia-viewmodels-zafiro/composition.md +75 -0
  741. package/skills/avalonia-viewmodels-zafiro/navigation_sections.md +53 -0
  742. package/skills/avalonia-viewmodels-zafiro/viewmodels.md +68 -0
  743. package/skills/avalonia-viewmodels-zafiro/wizards.md +47 -0
  744. package/skills/avalonia-zafiro-development/SKILL.md +29 -0
  745. package/skills/avalonia-zafiro-development/avalonia-reactive-rules.md +49 -0
  746. package/skills/avalonia-zafiro-development/core-technical-skills.md +19 -0
  747. package/skills/avalonia-zafiro-development/naming-standards.md +15 -0
  748. package/skills/avalonia-zafiro-development/patterns.md +45 -0
  749. package/skills/avalonia-zafiro-development/zafiro-shortcuts.md +43 -0
  750. package/skills/aws-agentic-ai/SKILL.md +117 -0
  751. package/skills/aws-agentic-ai/cross-service/credential-management.md +450 -0
  752. package/skills/aws-agentic-ai/services/browser/README.md +363 -0
  753. package/skills/aws-agentic-ai/services/code-interpreter/README.md +232 -0
  754. package/skills/aws-agentic-ai/services/gateway/README.md +100 -0
  755. package/skills/aws-agentic-ai/services/gateway/deploy-template.sh +117 -0
  756. package/skills/aws-agentic-ai/services/gateway/deployment-strategies.md +416 -0
  757. package/skills/aws-agentic-ai/services/gateway/troubleshooting-guide.md +384 -0
  758. package/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +186 -0
  759. package/skills/aws-agentic-ai/services/identity/README.md +186 -0
  760. package/skills/aws-agentic-ai/services/memory/README.md +253 -0
  761. package/skills/aws-agentic-ai/services/observability/README.md +517 -0
  762. package/skills/aws-agentic-ai/services/runtime/README.md +215 -0
  763. package/skills/aws-cdk-development/SKILL.md +278 -0
  764. package/skills/aws-cdk-development/references/cdk-patterns.md +431 -0
  765. package/skills/aws-cdk-development/scripts/validate-stack.sh +240 -0
  766. package/skills/aws-cost-operations/SKILL.md +317 -0
  767. package/skills/aws-cost-operations/references/cloudwatch-alarms.md +567 -0
  768. package/skills/aws-cost-operations/references/operations-patterns.md +394 -0
  769. package/skills/aws-penetration-testing/SKILL.md +405 -0
  770. package/skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -0
  771. package/skills/aws-serverless/SKILL.md +323 -0
  772. package/skills/aws-serverless-eda/SKILL.md +757 -0
  773. package/skills/aws-serverless-eda/references/deployment-best-practices.md +830 -0
  774. package/skills/aws-serverless-eda/references/eda-patterns.md +1002 -0
  775. package/skills/aws-serverless-eda/references/observability-best-practices.md +770 -0
  776. package/skills/aws-serverless-eda/references/performance-optimization.md +671 -0
  777. package/skills/aws-serverless-eda/references/security-best-practices.md +625 -0
  778. package/skills/aws-serverless-eda/references/serverless-patterns.md +838 -0
  779. package/skills/azd-deployment/SKILL.md +298 -0
  780. package/skills/azd-deployment/references/azure-yaml-schema.md +369 -0
  781. package/skills/azd-deployment/references/bicep-patterns.md +371 -0
  782. package/skills/azd-deployment/references/troubleshooting.md +386 -0
  783. package/skills/azure-ai-agents-python/SKILL.md +277 -0
  784. package/skills/azure-ai-agents-python/references/async-patterns.md +494 -0
  785. package/skills/azure-ai-agents-python/references/streaming.md +337 -0
  786. package/skills/azure-ai-agents-python/references/tools.md +461 -0
  787. package/skills/azure-ai-search-python/SKILL.md +198 -0
  788. package/skills/azure-ai-search-python/references/agentic-retrieval.md +263 -0
  789. package/skills/azure-ai-search-python/scripts/setup_agentic_retrieval.py +164 -0
  790. package/skills/azure-ai-voicelive-skill/SKILL.md +294 -0
  791. package/skills/azure-ai-voicelive-skill/references/api-reference.md +344 -0
  792. package/skills/azure-ai-voicelive-skill/references/examples.md +558 -0
  793. package/skills/azure-ai-voicelive-skill/references/models.md +737 -0
  794. package/skills/azure-functions/SKILL.md +42 -0
  795. package/skills/backend-dev-guidelines/SKILL.md +342 -0
  796. package/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  797. package/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  798. package/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  799. package/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  800. package/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  801. package/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  802. package/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  803. package/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  804. package/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  805. package/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  806. package/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  807. package/skills/backend-development/SKILL.md +155 -0
  808. package/skills/bash-linux/SKILL.md +199 -0
  809. package/skills/behavioral-modes/SKILL.md +242 -0
  810. package/skills/best-practices/SKILL.md +500 -0
  811. package/skills/best-practices/agents/best-practices-referencer.md +263 -0
  812. package/skills/best-practices/agents/codebase-context-builder.md +326 -0
  813. package/skills/best-practices/agents/task-intent-analyzer.md +245 -0
  814. package/skills/best-practices/references/anti-patterns.md +571 -0
  815. package/skills/best-practices/references/before-after-examples.md +1114 -0
  816. package/skills/best-practices/references/best-practices-guide.md +513 -0
  817. package/skills/best-practices/references/common-workflows.md +692 -0
  818. package/skills/best-practices/references/prompt-patterns.md +547 -0
  819. package/skills/better-auth/SKILL.md +204 -0
  820. package/skills/better-auth/references/advanced-features.md +553 -0
  821. package/skills/better-auth/references/database-integration.md +577 -0
  822. package/skills/better-auth/references/email-password-auth.md +416 -0
  823. package/skills/better-auth/references/oauth-providers.md +430 -0
  824. package/skills/better-auth/scripts/.coverage +0 -0
  825. package/skills/better-auth/scripts/better_auth_init.py +521 -0
  826. package/skills/better-auth/scripts/requirements.txt +15 -0
  827. package/skills/better-auth/scripts/tests/.coverage +0 -0
  828. package/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
  829. package/skills/blockrun/SKILL.md +292 -0
  830. package/skills/brainstorming/SKILL.md +230 -0
  831. package/skills/brand-guidelines/LICENSE.txt +202 -0
  832. package/skills/brand-guidelines/SKILL.md +73 -0
  833. package/skills/brand-guidelines-anthropic/LICENSE.txt +202 -0
  834. package/skills/brand-guidelines-anthropic/SKILL.md +73 -0
  835. package/skills/brand-guidelines-community/LICENSE.txt +202 -0
  836. package/skills/brand-guidelines-community/SKILL.md +73 -0
  837. package/skills/broken-authentication/SKILL.md +476 -0
  838. package/skills/browser-automation/SKILL.md +70 -0
  839. package/skills/browser-extension-builder/SKILL.md +261 -0
  840. package/skills/building-ai-agent-on-cloudflare/SKILL.md +391 -0
  841. package/skills/building-ai-agent-on-cloudflare/references/agent-patterns.md +461 -0
  842. package/skills/building-ai-agent-on-cloudflare/references/examples.md +188 -0
  843. package/skills/building-ai-agent-on-cloudflare/references/state-patterns.md +360 -0
  844. package/skills/building-ai-agent-on-cloudflare/references/troubleshooting.md +362 -0
  845. package/skills/building-mcp-server-on-cloudflare/SKILL.md +265 -0
  846. package/skills/building-mcp-server-on-cloudflare/references/examples.md +115 -0
  847. package/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +338 -0
  848. package/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +317 -0
  849. package/skills/bullmq-specialist/SKILL.md +57 -0
  850. package/skills/bun-development/SKILL.md +691 -0
  851. package/skills/burp-suite-testing/SKILL.md +380 -0
  852. package/skills/busybox-on-windows/SKILL.md +30 -0
  853. package/skills/canvas-design/LICENSE.txt +202 -0
  854. package/skills/canvas-design/SKILL.md +130 -0
  855. package/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  856. package/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  857. package/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  858. package/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  859. package/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  860. package/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  861. package/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  862. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  863. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  864. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  865. package/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  866. package/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  867. package/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  868. package/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  869. package/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  870. package/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  871. package/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  872. package/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  873. package/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  874. package/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  875. package/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  876. package/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  877. package/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  878. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  879. package/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  880. package/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  881. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  882. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  883. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  884. package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  885. package/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  886. package/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  887. package/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  888. package/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  889. package/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  890. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  891. package/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  892. package/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  893. package/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  894. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  895. package/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  896. package/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  897. package/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  898. package/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  899. package/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  900. package/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  901. package/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  902. package/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  903. package/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  904. package/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  905. package/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  906. package/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  907. package/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  908. package/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  909. package/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  910. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  911. package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  912. package/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  913. package/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  914. package/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  915. package/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  916. package/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  917. package/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  918. package/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  919. package/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  920. package/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  921. package/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  922. package/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  923. package/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  924. package/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  925. package/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  926. package/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  927. package/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  928. package/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  929. package/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  930. package/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  931. package/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  932. package/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  933. package/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  934. package/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  935. package/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  936. package/skills/cc-skill-backend-patterns/SKILL.md +584 -0
  937. package/skills/cc-skill-clickhouse-io/SKILL.md +431 -0
  938. package/skills/cc-skill-coding-standards/SKILL.md +522 -0
  939. package/skills/cc-skill-continuous-learning/SKILL.md +10 -0
  940. package/skills/cc-skill-continuous-learning/config.json +18 -0
  941. package/skills/cc-skill-continuous-learning/evaluate-session.sh +60 -0
  942. package/skills/cc-skill-frontend-patterns/SKILL.md +633 -0
  943. package/skills/cc-skill-project-guidelines-example/SKILL.md +352 -0
  944. package/skills/cc-skill-security-review/SKILL.md +496 -0
  945. package/skills/cc-skill-strategic-compact/SKILL.md +10 -0
  946. package/skills/cc-skill-strategic-compact/suggest-compact.sh +52 -0
  947. package/skills/changelog-generator/SKILL.md +104 -0
  948. package/skills/chaos-engineer/SKILL.md +98 -0
  949. package/skills/chaos-engineer/references/chaos-tools.md +514 -0
  950. package/skills/chaos-engineer/references/experiment-design.md +232 -0
  951. package/skills/chaos-engineer/references/game-days.md +437 -0
  952. package/skills/chaos-engineer/references/infrastructure-chaos.md +351 -0
  953. package/skills/chaos-engineer/references/kubernetes-chaos.md +435 -0
  954. package/skills/chrome-devtools/SKILL.md +407 -0
  955. package/skills/chrome-devtools/references/cdp-domains.md +694 -0
  956. package/skills/chrome-devtools/references/performance-guide.md +999 -0
  957. package/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  958. package/skills/chrome-devtools/scripts/README.md +228 -0
  959. package/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  960. package/skills/chrome-devtools/scripts/click.js +79 -0
  961. package/skills/chrome-devtools/scripts/console.js +75 -0
  962. package/skills/chrome-devtools/scripts/evaluate.js +49 -0
  963. package/skills/chrome-devtools/scripts/fill.js +72 -0
  964. package/skills/chrome-devtools/scripts/install-deps.sh +181 -0
  965. package/skills/chrome-devtools/scripts/install.sh +83 -0
  966. package/skills/chrome-devtools/scripts/lib/browser.js +122 -0
  967. package/skills/chrome-devtools/scripts/lib/selector.js +178 -0
  968. package/skills/chrome-devtools/scripts/navigate.js +46 -0
  969. package/skills/chrome-devtools/scripts/network.js +102 -0
  970. package/skills/chrome-devtools/scripts/package.json +15 -0
  971. package/skills/chrome-devtools/scripts/performance.js +145 -0
  972. package/skills/chrome-devtools/scripts/screenshot.js +180 -0
  973. package/skills/chrome-devtools/scripts/snapshot.js +131 -0
  974. package/skills/claude-code-guide/SKILL.md +68 -0
  975. package/skills/claude-d3js-skill/SKILL.md +820 -0
  976. package/skills/claude-d3js-skill/assets/chart-template.jsx +106 -0
  977. package/skills/claude-d3js-skill/assets/interactive-template.jsx +227 -0
  978. package/skills/claude-d3js-skill/assets/sample-data.json +115 -0
  979. package/skills/claude-d3js-skill/references/colour-schemes.md +564 -0
  980. package/skills/claude-d3js-skill/references/d3-patterns.md +869 -0
  981. package/skills/claude-d3js-skill/references/scale-reference.md +509 -0
  982. package/skills/clean-code/SKILL.md +201 -0
  983. package/skills/clerk-auth/SKILL.md +56 -0
  984. package/skills/cli-developer/SKILL.md +97 -0
  985. package/skills/cli-developer/references/design-patterns.md +224 -0
  986. package/skills/cli-developer/references/go-cli.md +543 -0
  987. package/skills/cli-developer/references/node-cli.md +386 -0
  988. package/skills/cli-developer/references/python-cli.md +425 -0
  989. package/skills/cli-developer/references/ux-patterns.md +451 -0
  990. package/skills/cloud-architect/SKILL.md +106 -0
  991. package/skills/cloud-architect/references/aws.md +394 -0
  992. package/skills/cloud-architect/references/azure.md +562 -0
  993. package/skills/cloud-architect/references/gcp.md +633 -0
  994. package/skills/cloud-penetration-testing/SKILL.md +501 -0
  995. package/skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -0
  996. package/skills/cloudflare-expert/SKILL.md +227 -0
  997. package/skills/cloudflare-expert/references/agents-sdk/README.md +35 -0
  998. package/skills/cloudflare-expert/references/agents-sdk/api.md +100 -0
  999. package/skills/cloudflare-expert/references/agents-sdk/configuration.md +99 -0
  1000. package/skills/cloudflare-expert/references/agents-sdk/gotchas.md +59 -0
  1001. package/skills/cloudflare-expert/references/agents-sdk/patterns.md +89 -0
  1002. package/skills/cloudflare-expert/references/ai-gateway/README.md +695 -0
  1003. package/skills/cloudflare-expert/references/ai-search/README.md +14 -0
  1004. package/skills/cloudflare-expert/references/ai-search/api.md +38 -0
  1005. package/skills/cloudflare-expert/references/ai-search/configuration.md +52 -0
  1006. package/skills/cloudflare-expert/references/ai-search/gotchas.md +41 -0
  1007. package/skills/cloudflare-expert/references/ai-search/patterns.md +45 -0
  1008. package/skills/cloudflare-expert/references/analytics-engine/README.md +14 -0
  1009. package/skills/cloudflare-expert/references/analytics-engine/api.md +27 -0
  1010. package/skills/cloudflare-expert/references/analytics-engine/configuration.md +45 -0
  1011. package/skills/cloudflare-expert/references/analytics-engine/gotchas.md +3 -0
  1012. package/skills/cloudflare-expert/references/analytics-engine/patterns.md +36 -0
  1013. package/skills/cloudflare-expert/references/api/README.md +21 -0
  1014. package/skills/cloudflare-expert/references/api/api.md +31 -0
  1015. package/skills/cloudflare-expert/references/api/configuration.md +20 -0
  1016. package/skills/cloudflare-expert/references/api/gotchas.md +28 -0
  1017. package/skills/cloudflare-expert/references/api/patterns.md +47 -0
  1018. package/skills/cloudflare-expert/references/api-shield/README.md +20 -0
  1019. package/skills/cloudflare-expert/references/api-shield/api.md +78 -0
  1020. package/skills/cloudflare-expert/references/api-shield/configuration.md +128 -0
  1021. package/skills/cloudflare-expert/references/api-shield/gotchas.md +51 -0
  1022. package/skills/cloudflare-expert/references/api-shield/patterns.md +145 -0
  1023. package/skills/cloudflare-expert/references/argo-smart-routing/README.md +16 -0
  1024. package/skills/cloudflare-expert/references/argo-smart-routing/api.md +50 -0
  1025. package/skills/cloudflare-expert/references/argo-smart-routing/configuration.md +53 -0
  1026. package/skills/cloudflare-expert/references/argo-smart-routing/gotchas.md +16 -0
  1027. package/skills/cloudflare-expert/references/argo-smart-routing/patterns.md +45 -0
  1028. package/skills/cloudflare-expert/references/bindings/README.md +14 -0
  1029. package/skills/cloudflare-expert/references/bindings/api.md +3 -0
  1030. package/skills/cloudflare-expert/references/bindings/configuration.md +58 -0
  1031. package/skills/cloudflare-expert/references/bindings/gotchas.md +35 -0
  1032. package/skills/cloudflare-expert/references/bindings/patterns.md +37 -0
  1033. package/skills/cloudflare-expert/references/bot-management/README.md +71 -0
  1034. package/skills/cloudflare-expert/references/bot-management/api.md +168 -0
  1035. package/skills/cloudflare-expert/references/bot-management/configuration.md +114 -0
  1036. package/skills/cloudflare-expert/references/bot-management/gotchas.md +99 -0
  1037. package/skills/cloudflare-expert/references/bot-management/patterns.md +125 -0
  1038. package/skills/cloudflare-expert/references/browser-rendering/README.md +16 -0
  1039. package/skills/cloudflare-expert/references/browser-rendering/api.md +54 -0
  1040. package/skills/cloudflare-expert/references/browser-rendering/configuration.md +47 -0
  1041. package/skills/cloudflare-expert/references/browser-rendering/gotchas.md +29 -0
  1042. package/skills/cloudflare-expert/references/browser-rendering/patterns.md +29 -0
  1043. package/skills/cloudflare-expert/references/c3/README.md +264 -0
  1044. package/skills/cloudflare-expert/references/cache-reserve/README.md +93 -0
  1045. package/skills/cloudflare-expert/references/cache-reserve/api.md +176 -0
  1046. package/skills/cloudflare-expert/references/cache-reserve/configuration.md +164 -0
  1047. package/skills/cloudflare-expert/references/cache-reserve/gotchas.md +203 -0
  1048. package/skills/cloudflare-expert/references/cache-reserve/patterns.md +180 -0
  1049. package/skills/cloudflare-expert/references/containers/README.md +16 -0
  1050. package/skills/cloudflare-expert/references/containers/api.md +43 -0
  1051. package/skills/cloudflare-expert/references/containers/configuration.md +56 -0
  1052. package/skills/cloudflare-expert/references/containers/gotchas.md +21 -0
  1053. package/skills/cloudflare-expert/references/containers/patterns.md +40 -0
  1054. package/skills/cloudflare-expert/references/cron-triggers/README.md +85 -0
  1055. package/skills/cloudflare-expert/references/cron-triggers/api.md +198 -0
  1056. package/skills/cloudflare-expert/references/cron-triggers/configuration.md +151 -0
  1057. package/skills/cloudflare-expert/references/cron-triggers/gotchas.md +129 -0
  1058. package/skills/cloudflare-expert/references/cron-triggers/patterns.md +122 -0
  1059. package/skills/cloudflare-expert/references/d1/README.md +92 -0
  1060. package/skills/cloudflare-expert/references/d1/api.md +141 -0
  1061. package/skills/cloudflare-expert/references/d1/configuration.md +127 -0
  1062. package/skills/cloudflare-expert/references/d1/gotchas.md +70 -0
  1063. package/skills/cloudflare-expert/references/d1/patterns.md +144 -0
  1064. package/skills/cloudflare-expert/references/ddos/README.md +34 -0
  1065. package/skills/cloudflare-expert/references/ddos/api.md +136 -0
  1066. package/skills/cloudflare-expert/references/ddos/configuration.md +67 -0
  1067. package/skills/cloudflare-expert/references/ddos/gotchas.md +114 -0
  1068. package/skills/cloudflare-expert/references/ddos/patterns.md +158 -0
  1069. package/skills/cloudflare-expert/references/do-storage/README.md +62 -0
  1070. package/skills/cloudflare-expert/references/do-storage/api.md +89 -0
  1071. package/skills/cloudflare-expert/references/do-storage/configuration.md +116 -0
  1072. package/skills/cloudflare-expert/references/do-storage/gotchas.md +93 -0
  1073. package/skills/cloudflare-expert/references/do-storage/patterns.md +112 -0
  1074. package/skills/cloudflare-expert/references/durable-objects/README.md +125 -0
  1075. package/skills/cloudflare-expert/references/durable-objects/api.md +152 -0
  1076. package/skills/cloudflare-expert/references/durable-objects/configuration.md +148 -0
  1077. package/skills/cloudflare-expert/references/durable-objects/gotchas.md +158 -0
  1078. package/skills/cloudflare-expert/references/durable-objects/patterns.md +255 -0
  1079. package/skills/cloudflare-expert/references/email-routing/README.md +18 -0
  1080. package/skills/cloudflare-expert/references/email-routing/api.md +46 -0
  1081. package/skills/cloudflare-expert/references/email-routing/configuration.md +63 -0
  1082. package/skills/cloudflare-expert/references/email-routing/gotchas.md +16 -0
  1083. package/skills/cloudflare-expert/references/email-routing/patterns.md +46 -0
  1084. package/skills/cloudflare-expert/references/email-workers/README.md +598 -0
  1085. package/skills/cloudflare-expert/references/hyperdrive/README.md +62 -0
  1086. package/skills/cloudflare-expert/references/hyperdrive/api.md +137 -0
  1087. package/skills/cloudflare-expert/references/hyperdrive/configuration.md +133 -0
  1088. package/skills/cloudflare-expert/references/hyperdrive/gotchas.md +184 -0
  1089. package/skills/cloudflare-expert/references/hyperdrive/patterns.md +176 -0
  1090. package/skills/cloudflare-expert/references/images/README.md +14 -0
  1091. package/skills/cloudflare-expert/references/images/api.md +3 -0
  1092. package/skills/cloudflare-expert/references/images/configuration.md +45 -0
  1093. package/skills/cloudflare-expert/references/images/gotchas.md +23 -0
  1094. package/skills/cloudflare-expert/references/images/patterns.md +31 -0
  1095. package/skills/cloudflare-expert/references/kv/README.md +60 -0
  1096. package/skills/cloudflare-expert/references/kv/api.md +114 -0
  1097. package/skills/cloudflare-expert/references/kv/configuration.md +92 -0
  1098. package/skills/cloudflare-expert/references/kv/gotchas.md +117 -0
  1099. package/skills/cloudflare-expert/references/kv/patterns.md +139 -0
  1100. package/skills/cloudflare-expert/references/miniflare/README.md +64 -0
  1101. package/skills/cloudflare-expert/references/miniflare/api.md +144 -0
  1102. package/skills/cloudflare-expert/references/miniflare/configuration.md +203 -0
  1103. package/skills/cloudflare-expert/references/miniflare/gotchas.md +187 -0
  1104. package/skills/cloudflare-expert/references/miniflare/patterns.md +211 -0
  1105. package/skills/cloudflare-expert/references/network-interconnect/README.md +60 -0
  1106. package/skills/cloudflare-expert/references/network-interconnect/api.md +240 -0
  1107. package/skills/cloudflare-expert/references/network-interconnect/configuration.md +127 -0
  1108. package/skills/cloudflare-expert/references/network-interconnect/gotchas.md +171 -0
  1109. package/skills/cloudflare-expert/references/network-interconnect/patterns.md +171 -0
  1110. package/skills/cloudflare-expert/references/observability/README.md +18 -0
  1111. package/skills/cloudflare-expert/references/observability/api.md +51 -0
  1112. package/skills/cloudflare-expert/references/observability/configuration.md +60 -0
  1113. package/skills/cloudflare-expert/references/observability/gotchas.md +36 -0
  1114. package/skills/cloudflare-expert/references/observability/patterns.md +42 -0
  1115. package/skills/cloudflare-expert/references/pages/README.md +76 -0
  1116. package/skills/cloudflare-expert/references/pages/api.md +200 -0
  1117. package/skills/cloudflare-expert/references/pages/configuration.md +228 -0
  1118. package/skills/cloudflare-expert/references/pages/gotchas.md +161 -0
  1119. package/skills/cloudflare-expert/references/pages/patterns.md +145 -0
  1120. package/skills/cloudflare-expert/references/pages-functions/README.md +57 -0
  1121. package/skills/cloudflare-expert/references/pages-functions/api.md +201 -0
  1122. package/skills/cloudflare-expert/references/pages-functions/configuration.md +159 -0
  1123. package/skills/cloudflare-expert/references/pages-functions/gotchas.md +151 -0
  1124. package/skills/cloudflare-expert/references/pages-functions/patterns.md +190 -0
  1125. package/skills/cloudflare-expert/references/pipelines/README.md +664 -0
  1126. package/skills/cloudflare-expert/references/pulumi/README.md +107 -0
  1127. package/skills/cloudflare-expert/references/pulumi/api.md +194 -0
  1128. package/skills/cloudflare-expert/references/pulumi/configuration.md +216 -0
  1129. package/skills/cloudflare-expert/references/pulumi/gotchas.md +223 -0
  1130. package/skills/cloudflare-expert/references/pulumi/patterns.md +139 -0
  1131. package/skills/cloudflare-expert/references/queues/README.md +69 -0
  1132. package/skills/cloudflare-expert/references/queues/api.md +138 -0
  1133. package/skills/cloudflare-expert/references/queues/configuration.md +125 -0
  1134. package/skills/cloudflare-expert/references/queues/gotchas.md +112 -0
  1135. package/skills/cloudflare-expert/references/queues/patterns.md +155 -0
  1136. package/skills/cloudflare-expert/references/r2/README.md +61 -0
  1137. package/skills/cloudflare-expert/references/r2/api.md +127 -0
  1138. package/skills/cloudflare-expert/references/r2/configuration.md +76 -0
  1139. package/skills/cloudflare-expert/references/r2/gotchas.md +94 -0
  1140. package/skills/cloudflare-expert/references/r2/patterns.md +127 -0
  1141. package/skills/cloudflare-expert/references/r2-data-catalog/README.md +18 -0
  1142. package/skills/cloudflare-expert/references/r2-data-catalog/api.md +29 -0
  1143. package/skills/cloudflare-expert/references/r2-data-catalog/configuration.md +39 -0
  1144. package/skills/cloudflare-expert/references/r2-data-catalog/gotchas.md +20 -0
  1145. package/skills/cloudflare-expert/references/r2-data-catalog/patterns.md +46 -0
  1146. package/skills/cloudflare-expert/references/r2-sql/README.md +512 -0
  1147. package/skills/cloudflare-expert/references/realtime-sfu/README.md +21 -0
  1148. package/skills/cloudflare-expert/references/realtime-sfu/api.md +135 -0
  1149. package/skills/cloudflare-expert/references/realtime-sfu/configuration.md +63 -0
  1150. package/skills/cloudflare-expert/references/realtime-sfu/gotchas.md +75 -0
  1151. package/skills/cloudflare-expert/references/realtime-sfu/patterns.md +102 -0
  1152. package/skills/cloudflare-expert/references/realtimekit/README.md +81 -0
  1153. package/skills/cloudflare-expert/references/realtimekit/api.md +164 -0
  1154. package/skills/cloudflare-expert/references/realtimekit/configuration.md +147 -0
  1155. package/skills/cloudflare-expert/references/realtimekit/gotchas.md +172 -0
  1156. package/skills/cloudflare-expert/references/realtimekit/patterns.md +155 -0
  1157. package/skills/cloudflare-expert/references/sandbox/README.md +90 -0
  1158. package/skills/cloudflare-expert/references/sandbox/api.md +178 -0
  1159. package/skills/cloudflare-expert/references/sandbox/configuration.md +131 -0
  1160. package/skills/cloudflare-expert/references/sandbox/gotchas.md +156 -0
  1161. package/skills/cloudflare-expert/references/sandbox/patterns.md +203 -0
  1162. package/skills/cloudflare-expert/references/secrets-store/README.md +58 -0
  1163. package/skills/cloudflare-expert/references/secrets-store/api.md +182 -0
  1164. package/skills/cloudflare-expert/references/secrets-store/configuration.md +140 -0
  1165. package/skills/cloudflare-expert/references/secrets-store/gotchas.md +129 -0
  1166. package/skills/cloudflare-expert/references/secrets-store/patterns.md +218 -0
  1167. package/skills/cloudflare-expert/references/smart-placement/README.md +91 -0
  1168. package/skills/cloudflare-expert/references/smart-placement/api.md +139 -0
  1169. package/skills/cloudflare-expert/references/smart-placement/configuration.md +129 -0
  1170. package/skills/cloudflare-expert/references/smart-placement/gotchas.md +87 -0
  1171. package/skills/cloudflare-expert/references/smart-placement/patterns.md +135 -0
  1172. package/skills/cloudflare-expert/references/snippets/README.md +15 -0
  1173. package/skills/cloudflare-expert/references/snippets/api.md +47 -0
  1174. package/skills/cloudflare-expert/references/snippets/configuration.md +33 -0
  1175. package/skills/cloudflare-expert/references/snippets/gotchas.md +21 -0
  1176. package/skills/cloudflare-expert/references/snippets/patterns.md +34 -0
  1177. package/skills/cloudflare-expert/references/spectrum/README.md +16 -0
  1178. package/skills/cloudflare-expert/references/spectrum/api.md +24 -0
  1179. package/skills/cloudflare-expert/references/spectrum/configuration.md +43 -0
  1180. package/skills/cloudflare-expert/references/spectrum/gotchas.md +42 -0
  1181. package/skills/cloudflare-expert/references/spectrum/patterns.md +40 -0
  1182. package/skills/cloudflare-expert/references/static-assets/README.md +14 -0
  1183. package/skills/cloudflare-expert/references/static-assets/api.md +3 -0
  1184. package/skills/cloudflare-expert/references/static-assets/configuration.md +47 -0
  1185. package/skills/cloudflare-expert/references/static-assets/gotchas.md +44 -0
  1186. package/skills/cloudflare-expert/references/static-assets/patterns.md +42 -0
  1187. package/skills/cloudflare-expert/references/stream/README.md +103 -0
  1188. package/skills/cloudflare-expert/references/stream/api.md +204 -0
  1189. package/skills/cloudflare-expert/references/stream/configuration.md +127 -0
  1190. package/skills/cloudflare-expert/references/stream/gotchas.md +131 -0
  1191. package/skills/cloudflare-expert/references/stream/patterns.md +152 -0
  1192. package/skills/cloudflare-expert/references/tail-workers/README.md +640 -0
  1193. package/skills/cloudflare-expert/references/terraform/README.md +76 -0
  1194. package/skills/cloudflare-expert/references/terraform/api.md +159 -0
  1195. package/skills/cloudflare-expert/references/terraform/configuration.md +156 -0
  1196. package/skills/cloudflare-expert/references/terraform/gotchas.md +207 -0
  1197. package/skills/cloudflare-expert/references/terraform/patterns.md +135 -0
  1198. package/skills/cloudflare-expert/references/tunnel/README.md +82 -0
  1199. package/skills/cloudflare-expert/references/tunnel/api.md +105 -0
  1200. package/skills/cloudflare-expert/references/tunnel/configuration.md +113 -0
  1201. package/skills/cloudflare-expert/references/tunnel/gotchas.md +115 -0
  1202. package/skills/cloudflare-expert/references/tunnel/patterns.md +157 -0
  1203. package/skills/cloudflare-expert/references/turn/README.md +699 -0
  1204. package/skills/cloudflare-expert/references/turnstile/README.md +14 -0
  1205. package/skills/cloudflare-expert/references/turnstile/api.md +3 -0
  1206. package/skills/cloudflare-expert/references/turnstile/configuration.md +19 -0
  1207. package/skills/cloudflare-expert/references/turnstile/gotchas.md +27 -0
  1208. package/skills/cloudflare-expert/references/turnstile/patterns.md +41 -0
  1209. package/skills/cloudflare-expert/references/vectorize/README.md +682 -0
  1210. package/skills/cloudflare-expert/references/waf/README.md +14 -0
  1211. package/skills/cloudflare-expert/references/waf/api.md +3 -0
  1212. package/skills/cloudflare-expert/references/waf/configuration.md +44 -0
  1213. package/skills/cloudflare-expert/references/waf/gotchas.md +24 -0
  1214. package/skills/cloudflare-expert/references/waf/patterns.md +29 -0
  1215. package/skills/cloudflare-expert/references/web-analytics/README.md +19 -0
  1216. package/skills/cloudflare-expert/references/web-analytics/api.md +52 -0
  1217. package/skills/cloudflare-expert/references/web-analytics/configuration.md +31 -0
  1218. package/skills/cloudflare-expert/references/web-analytics/gotchas.md +28 -0
  1219. package/skills/cloudflare-expert/references/web-analytics/patterns.md +52 -0
  1220. package/skills/cloudflare-expert/references/workerd/README.md +47 -0
  1221. package/skills/cloudflare-expert/references/workerd/api.md +199 -0
  1222. package/skills/cloudflare-expert/references/workerd/configuration.md +185 -0
  1223. package/skills/cloudflare-expert/references/workerd/gotchas.md +203 -0
  1224. package/skills/cloudflare-expert/references/workerd/patterns.md +216 -0
  1225. package/skills/cloudflare-expert/references/workers/README.md +96 -0
  1226. package/skills/cloudflare-expert/references/workers/api.md +137 -0
  1227. package/skills/cloudflare-expert/references/workers/configuration.md +147 -0
  1228. package/skills/cloudflare-expert/references/workers/gotchas.md +99 -0
  1229. package/skills/cloudflare-expert/references/workers/patterns.md +149 -0
  1230. package/skills/cloudflare-expert/references/workers-ai/README.md +116 -0
  1231. package/skills/cloudflare-expert/references/workers-for-platforms/README.md +48 -0
  1232. package/skills/cloudflare-expert/references/workers-for-platforms/api.md +169 -0
  1233. package/skills/cloudflare-expert/references/workers-for-platforms/configuration.md +136 -0
  1234. package/skills/cloudflare-expert/references/workers-for-platforms/gotchas.md +130 -0
  1235. package/skills/cloudflare-expert/references/workers-for-platforms/patterns.md +170 -0
  1236. package/skills/cloudflare-expert/references/workers-playground/README.md +16 -0
  1237. package/skills/cloudflare-expert/references/workers-playground/api.md +20 -0
  1238. package/skills/cloudflare-expert/references/workers-playground/configuration.md +3 -0
  1239. package/skills/cloudflare-expert/references/workers-playground/gotchas.md +35 -0
  1240. package/skills/cloudflare-expert/references/workers-playground/patterns.md +42 -0
  1241. package/skills/cloudflare-expert/references/workers-vpc/README.md +579 -0
  1242. package/skills/cloudflare-expert/references/workflows/README.md +62 -0
  1243. package/skills/cloudflare-expert/references/workflows/api.md +125 -0
  1244. package/skills/cloudflare-expert/references/workflows/configuration.md +177 -0
  1245. package/skills/cloudflare-expert/references/workflows/gotchas.md +136 -0
  1246. package/skills/cloudflare-expert/references/workflows/patterns.md +132 -0
  1247. package/skills/cloudflare-expert/references/wrangler/README.md +90 -0
  1248. package/skills/cloudflare-expert/references/wrangler/api.md +140 -0
  1249. package/skills/cloudflare-expert/references/wrangler/configuration.md +128 -0
  1250. package/skills/cloudflare-expert/references/wrangler/gotchas.md +93 -0
  1251. package/skills/cloudflare-expert/references/wrangler/patterns.md +150 -0
  1252. package/skills/cloudflare-expert/references/zaraz/README.md +360 -0
  1253. package/skills/code-documentation/SKILL.md +263 -0
  1254. package/skills/code-documenter/SKILL.md +95 -0
  1255. package/skills/code-documenter/references/api-docs-fastapi-django.md +169 -0
  1256. package/skills/code-documenter/references/api-docs-nestjs-express.md +223 -0
  1257. package/skills/code-documenter/references/coverage-reports.md +128 -0
  1258. package/skills/code-documenter/references/documentation-systems.md +336 -0
  1259. package/skills/code-documenter/references/interactive-api-docs.md +534 -0
  1260. package/skills/code-documenter/references/python-docstrings.md +124 -0
  1261. package/skills/code-documenter/references/typescript-jsdoc.md +148 -0
  1262. package/skills/code-documenter/references/user-guides-tutorials.md +533 -0
  1263. package/skills/code-refactoring/SKILL.md +209 -0
  1264. package/skills/code-review/SKILL.md +121 -0
  1265. package/skills/code-review-checklist/SKILL.md +444 -0
  1266. package/skills/code-reviewer/SKILL.md +209 -0
  1267. package/skills/code-reviewer/references/code_review_checklist.md +103 -0
  1268. package/skills/code-reviewer/references/coding_standards.md +103 -0
  1269. package/skills/code-reviewer/references/common_antipatterns.md +103 -0
  1270. package/skills/code-reviewer/scripts/code_quality_checker.py +114 -0
  1271. package/skills/code-reviewer/scripts/pr_analyzer.py +114 -0
  1272. package/skills/code-reviewer/scripts/review_report_generator.py +114 -0
  1273. package/skills/codex-review/SKILL.md +37 -0
  1274. package/skills/competitive-ads-extractor/SKILL.md +293 -0
  1275. package/skills/competitor-alternatives/SKILL.md +750 -0
  1276. package/skills/computer-use-agents/SKILL.md +315 -0
  1277. package/skills/concise-planning/SKILL.md +62 -0
  1278. package/skills/content-creator/SKILL.md +248 -0
  1279. package/skills/content-creator/assets/content_calendar_template.md +99 -0
  1280. package/skills/content-creator/references/brand_guidelines.md +199 -0
  1281. package/skills/content-creator/references/content_frameworks.md +534 -0
  1282. package/skills/content-creator/references/social_media_optimization.md +317 -0
  1283. package/skills/content-creator/scripts/brand_voice_analyzer.py +185 -0
  1284. package/skills/content-creator/scripts/seo_optimizer.py +419 -0
  1285. package/skills/content-research-writer/SKILL.md +538 -0
  1286. package/skills/context-engineering/SKILL.md +107 -0
  1287. package/skills/context-engineering/references/context-compression.md +84 -0
  1288. package/skills/context-engineering/references/context-degradation.md +93 -0
  1289. package/skills/context-engineering/references/context-fundamentals.md +75 -0
  1290. package/skills/context-engineering/references/context-optimization.md +82 -0
  1291. package/skills/context-engineering/references/evaluation.md +89 -0
  1292. package/skills/context-engineering/references/memory-systems.md +88 -0
  1293. package/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  1294. package/skills/context-engineering/references/project-development.md +97 -0
  1295. package/skills/context-engineering/references/runtime-awareness.md +202 -0
  1296. package/skills/context-engineering/references/tool-design.md +86 -0
  1297. package/skills/context-engineering/scripts/compression_evaluator.py +349 -0
  1298. package/skills/context-engineering/scripts/context_analyzer.py +317 -0
  1299. package/skills/context-engineering/scripts/tests/test_edge_cases.py +246 -0
  1300. package/skills/context-window-management/SKILL.md +53 -0
  1301. package/skills/context7-auto-research/SKILL.md +36 -0
  1302. package/skills/conversation-memory/SKILL.md +61 -0
  1303. package/skills/copy-editing/SKILL.md +439 -0
  1304. package/skills/copywriting/SKILL.md +225 -0
  1305. package/skills/core-components/SKILL.md +264 -0
  1306. package/skills/cosmos-db-python-skill/SKILL.md +198 -0
  1307. package/skills/cosmos-db-python-skill/assets/conftest_template.py +332 -0
  1308. package/skills/cosmos-db-python-skill/assets/cosmos_client_template.py +225 -0
  1309. package/skills/cosmos-db-python-skill/assets/service_template.py +314 -0
  1310. package/skills/cosmos-db-python-skill/references/client-setup.md +214 -0
  1311. package/skills/cosmos-db-python-skill/references/error-handling.md +382 -0
  1312. package/skills/cosmos-db-python-skill/references/partitioning.md +270 -0
  1313. package/skills/cosmos-db-python-skill/references/service-layer.md +305 -0
  1314. package/skills/cosmos-db-python-skill/references/testing.md +495 -0
  1315. package/skills/cpp-pro/SKILL.md +97 -0
  1316. package/skills/cpp-pro/references/build-tooling.md +443 -0
  1317. package/skills/cpp-pro/references/concurrency.md +440 -0
  1318. package/skills/cpp-pro/references/memory-performance.md +400 -0
  1319. package/skills/cpp-pro/references/modern-cpp.md +307 -0
  1320. package/skills/cpp-pro/references/templates.md +360 -0
  1321. package/skills/crewai/SKILL.md +243 -0
  1322. package/skills/csharp-developer/SKILL.md +94 -0
  1323. package/skills/csharp-developer/references/aspnet-core.md +397 -0
  1324. package/skills/csharp-developer/references/blazor.md +556 -0
  1325. package/skills/csharp-developer/references/entity-framework.md +412 -0
  1326. package/skills/csharp-developer/references/modern-csharp.md +251 -0
  1327. package/skills/csharp-developer/references/performance.md +501 -0
  1328. package/skills/daily-news-report/SKILL.md +357 -0
  1329. package/skills/daily-news-report/cache.json +41 -0
  1330. package/skills/daily-news-report/sources.json +183 -0
  1331. package/skills/database-design/SKILL.md +52 -0
  1332. package/skills/database-design/database-selection.md +43 -0
  1333. package/skills/database-design/indexing.md +39 -0
  1334. package/skills/database-design/migrations.md +48 -0
  1335. package/skills/database-design/optimization.md +36 -0
  1336. package/skills/database-design/orm-selection.md +30 -0
  1337. package/skills/database-design/schema-design.md +56 -0
  1338. package/skills/database-design/scripts/schema_validator.py +172 -0
  1339. package/skills/database-optimizer/SKILL.md +95 -0
  1340. package/skills/database-optimizer/references/index-strategies.md +334 -0
  1341. package/skills/database-optimizer/references/monitoring-analysis.md +504 -0
  1342. package/skills/database-optimizer/references/mysql-tuning.md +454 -0
  1343. package/skills/database-optimizer/references/postgresql-tuning.md +415 -0
  1344. package/skills/database-optimizer/references/query-optimization.md +254 -0
  1345. package/skills/databases/SKILL.md +232 -0
  1346. package/skills/databases/references/mongodb-aggregation.md +447 -0
  1347. package/skills/databases/references/mongodb-atlas.md +465 -0
  1348. package/skills/databases/references/mongodb-crud.md +408 -0
  1349. package/skills/databases/references/mongodb-indexing.md +442 -0
  1350. package/skills/databases/references/postgresql-administration.md +594 -0
  1351. package/skills/databases/references/postgresql-performance.md +527 -0
  1352. package/skills/databases/references/postgresql-psql-cli.md +467 -0
  1353. package/skills/databases/references/postgresql-queries.md +475 -0
  1354. package/skills/databases/scripts/.coverage +0 -0
  1355. package/skills/databases/scripts/db_backup.py +502 -0
  1356. package/skills/databases/scripts/db_migrate.py +414 -0
  1357. package/skills/databases/scripts/db_performance_check.py +444 -0
  1358. package/skills/databases/scripts/requirements.txt +20 -0
  1359. package/skills/databases/scripts/tests/coverage-db.json +1 -0
  1360. package/skills/databases/scripts/tests/requirements.txt +4 -0
  1361. package/skills/databases/scripts/tests/test_db_backup.py +340 -0
  1362. package/skills/databases/scripts/tests/test_db_migrate.py +277 -0
  1363. package/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
  1364. package/skills/debugging/SKILL.md +84 -0
  1365. package/skills/debugging/references/defense-in-depth.md +124 -0
  1366. package/skills/debugging/references/root-cause-tracing.md +122 -0
  1367. package/skills/debugging/references/systematic-debugging.md +102 -0
  1368. package/skills/debugging/references/verification.md +123 -0
  1369. package/skills/debugging/scripts/find-polluter.sh +63 -0
  1370. package/skills/debugging/scripts/find-polluter.test.md +102 -0
  1371. package/skills/debugging-wizard/SKILL.md +93 -0
  1372. package/skills/debugging-wizard/references/common-patterns.md +135 -0
  1373. package/skills/debugging-wizard/references/debugging-tools.md +143 -0
  1374. package/skills/debugging-wizard/references/quick-fixes.md +180 -0
  1375. package/skills/debugging-wizard/references/strategies.md +145 -0
  1376. package/skills/debugging-wizard/references/systematic-debugging.md +370 -0
  1377. package/skills/deployment-procedures/SKILL.md +241 -0
  1378. package/skills/design-orchestration/SKILL.md +167 -0
  1379. package/skills/developer-growth-analysis/SKILL.md +322 -0
  1380. package/skills/devops/.env.example +76 -0
  1381. package/skills/devops/SKILL.md +285 -0
  1382. package/skills/devops/references/browser-rendering.md +305 -0
  1383. package/skills/devops/references/cloudflare-d1-kv.md +123 -0
  1384. package/skills/devops/references/cloudflare-platform.md +288 -0
  1385. package/skills/devops/references/cloudflare-r2-storage.md +280 -0
  1386. package/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  1387. package/skills/devops/references/cloudflare-workers-apis.md +309 -0
  1388. package/skills/devops/references/cloudflare-workers-basics.md +418 -0
  1389. package/skills/devops/references/docker-basics.md +297 -0
  1390. package/skills/devops/references/docker-compose.md +292 -0
  1391. package/skills/devops/references/gcloud-platform.md +297 -0
  1392. package/skills/devops/references/gcloud-services.md +304 -0
  1393. package/skills/devops/scripts/cloudflare_deploy.py +269 -0
  1394. package/skills/devops/scripts/docker_optimize.py +320 -0
  1395. package/skills/devops/scripts/requirements.txt +20 -0
  1396. package/skills/devops/scripts/tests/requirements.txt +3 -0
  1397. package/skills/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
  1398. package/skills/devops/scripts/tests/test_docker_optimize.py +436 -0
  1399. package/skills/devops-engineer/SKILL.md +92 -0
  1400. package/skills/devops-engineer/references/deployment-strategies.md +244 -0
  1401. package/skills/devops-engineer/references/docker-patterns.md +116 -0
  1402. package/skills/devops-engineer/references/github-actions.md +142 -0
  1403. package/skills/devops-engineer/references/incident-response.md +334 -0
  1404. package/skills/devops-engineer/references/kubernetes.md +157 -0
  1405. package/skills/devops-engineer/references/platform-engineering.md +420 -0
  1406. package/skills/devops-engineer/references/release-automation.md +530 -0
  1407. package/skills/devops-engineer/references/terraform-iac.md +144 -0
  1408. package/skills/discord-bot-architect/SKILL.md +277 -0
  1409. package/skills/dispatching-parallel-agents/SKILL.md +180 -0
  1410. package/skills/django-expert/SKILL.md +89 -0
  1411. package/skills/django-expert/references/authentication.md +148 -0
  1412. package/skills/django-expert/references/drf-serializers.md +151 -0
  1413. package/skills/django-expert/references/models-orm.md +154 -0
  1414. package/skills/django-expert/references/testing-django.md +207 -0
  1415. package/skills/django-expert/references/viewsets-views.md +156 -0
  1416. package/skills/doc-coauthoring/SKILL.md +375 -0
  1417. package/skills/docker-expert/SKILL.md +409 -0
  1418. package/skills/docs-seeker/.env.example +15 -0
  1419. package/skills/docs-seeker/SKILL.md +102 -0
  1420. package/skills/docs-seeker/package.json +24 -0
  1421. package/skills/docs-seeker/references/advanced.md +79 -0
  1422. package/skills/docs-seeker/references/context7-patterns.md +68 -0
  1423. package/skills/docs-seeker/references/errors.md +68 -0
  1424. package/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  1425. package/skills/docs-seeker/scripts/detect-topic.js +172 -0
  1426. package/skills/docs-seeker/scripts/fetch-docs.js +213 -0
  1427. package/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
  1428. package/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
  1429. package/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
  1430. package/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
  1431. package/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  1432. package/skills/docs-seeker/workflows/library-search.md +87 -0
  1433. package/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  1434. package/skills/docs-seeker/workflows/topic-search.md +77 -0
  1435. package/skills/document-skills/docx/LICENSE.txt +30 -0
  1436. package/skills/document-skills/docx/SKILL.md +197 -0
  1437. package/skills/document-skills/docx/docx-js.md +350 -0
  1438. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1439. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1440. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1441. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1442. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1443. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1444. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1445. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1446. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1447. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1448. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1449. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1450. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1451. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1452. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1453. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1454. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1455. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1456. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1457. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1458. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1459. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1460. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1461. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1462. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1463. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1464. package/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1465. package/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1466. package/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1467. package/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1468. package/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1469. package/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  1470. package/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  1471. package/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  1472. package/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  1473. package/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1474. package/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1475. package/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1476. package/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1477. package/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  1478. package/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  1479. package/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  1480. package/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  1481. package/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  1482. package/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  1483. package/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  1484. package/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  1485. package/skills/document-skills/docx/ooxml.md +610 -0
  1486. package/skills/document-skills/docx/scripts/__init__.py +1 -0
  1487. package/skills/document-skills/docx/scripts/document.py +1276 -0
  1488. package/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  1489. package/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  1490. package/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  1491. package/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  1492. package/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  1493. package/skills/document-skills/docx/scripts/utilities.py +374 -0
  1494. package/skills/document-skills/pdf/LICENSE.txt +30 -0
  1495. package/skills/document-skills/pdf/SKILL.md +294 -0
  1496. package/skills/document-skills/pdf/forms.md +205 -0
  1497. package/skills/document-skills/pdf/reference.md +612 -0
  1498. package/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  1499. package/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  1500. package/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  1501. package/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  1502. package/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  1503. package/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  1504. package/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  1505. package/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  1506. package/skills/document-skills/pptx/LICENSE.txt +30 -0
  1507. package/skills/document-skills/pptx/SKILL.md +484 -0
  1508. package/skills/document-skills/pptx/html2pptx.md +625 -0
  1509. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1510. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1511. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1512. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1513. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1514. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1515. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1516. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1517. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1518. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1519. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1520. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1521. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1522. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1523. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1524. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1525. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1526. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1527. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1528. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1529. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1530. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1531. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1532. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1533. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1534. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1535. package/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1536. package/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1537. package/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1538. package/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1539. package/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1540. package/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  1541. package/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  1542. package/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  1543. package/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  1544. package/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1545. package/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1546. package/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1547. package/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1548. package/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  1549. package/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  1550. package/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  1551. package/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  1552. package/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  1553. package/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  1554. package/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  1555. package/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  1556. package/skills/document-skills/pptx/ooxml.md +427 -0
  1557. package/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  1558. package/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  1559. package/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  1560. package/skills/document-skills/pptx/scripts/replace.py +385 -0
  1561. package/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  1562. package/skills/document-skills/xlsx/LICENSE.txt +30 -0
  1563. package/skills/document-skills/xlsx/SKILL.md +289 -0
  1564. package/skills/document-skills/xlsx/recalc.py +178 -0
  1565. package/skills/documentation-templates/SKILL.md +194 -0
  1566. package/skills/docx/SKILL.md +94 -0
  1567. package/skills/docx-official/LICENSE.txt +30 -0
  1568. package/skills/docx-official/SKILL.md +197 -0
  1569. package/skills/docx-official/docx-js.md +350 -0
  1570. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1571. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1572. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1573. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1574. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1575. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1576. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1577. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1578. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1579. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1580. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1581. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1582. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1583. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1584. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1585. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1586. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1587. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1588. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1589. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1590. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1591. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1592. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1593. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1594. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1595. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1596. package/skills/docx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1597. package/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1598. package/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1599. package/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1600. package/skills/docx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1601. package/skills/docx-official/ooxml/schemas/mce/mc.xsd +75 -0
  1602. package/skills/docx-official/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  1603. package/skills/docx-official/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  1604. package/skills/docx-official/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  1605. package/skills/docx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1606. package/skills/docx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1607. package/skills/docx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1608. package/skills/docx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1609. package/skills/docx-official/ooxml/scripts/pack.py +159 -0
  1610. package/skills/docx-official/ooxml/scripts/unpack.py +29 -0
  1611. package/skills/docx-official/ooxml/scripts/validate.py +69 -0
  1612. package/skills/docx-official/ooxml/scripts/validation/__init__.py +15 -0
  1613. package/skills/docx-official/ooxml/scripts/validation/base.py +951 -0
  1614. package/skills/docx-official/ooxml/scripts/validation/docx.py +274 -0
  1615. package/skills/docx-official/ooxml/scripts/validation/pptx.py +315 -0
  1616. package/skills/docx-official/ooxml/scripts/validation/redlining.py +279 -0
  1617. package/skills/docx-official/ooxml.md +610 -0
  1618. package/skills/docx-official/scripts/__init__.py +1 -0
  1619. package/skills/docx-official/scripts/document.py +1276 -0
  1620. package/skills/docx-official/scripts/templates/comments.xml +3 -0
  1621. package/skills/docx-official/scripts/templates/commentsExtended.xml +3 -0
  1622. package/skills/docx-official/scripts/templates/commentsExtensible.xml +3 -0
  1623. package/skills/docx-official/scripts/templates/commentsIds.xml +3 -0
  1624. package/skills/docx-official/scripts/templates/people.xml +3 -0
  1625. package/skills/docx-official/scripts/utilities.py +374 -0
  1626. package/skills/domain-name-brainstormer/SKILL.md +212 -0
  1627. package/skills/dotnet-core-expert/SKILL.md +96 -0
  1628. package/skills/dotnet-core-expert/references/authentication.md +549 -0
  1629. package/skills/dotnet-core-expert/references/clean-architecture.md +458 -0
  1630. package/skills/dotnet-core-expert/references/cloud-native.md +551 -0
  1631. package/skills/dotnet-core-expert/references/entity-framework.md +443 -0
  1632. package/skills/dotnet-core-expert/references/minimal-apis.md +322 -0
  1633. package/skills/email-sequence/SKILL.md +925 -0
  1634. package/skills/email-systems/SKILL.md +54 -0
  1635. package/skills/embedded-systems/SKILL.md +98 -0
  1636. package/skills/embedded-systems/references/communication-protocols.md +414 -0
  1637. package/skills/embedded-systems/references/memory-optimization.md +470 -0
  1638. package/skills/embedded-systems/references/microcontroller-programming.md +397 -0
  1639. package/skills/embedded-systems/references/power-optimization.md +444 -0
  1640. package/skills/embedded-systems/references/rtos-patterns.md +316 -0
  1641. package/skills/environment-setup-guide/SKILL.md +479 -0
  1642. package/skills/ethical-hacking-methodology/SKILL.md +466 -0
  1643. package/skills/exa-search/SKILL.md +36 -0
  1644. package/skills/executing-plans/SKILL.md +76 -0
  1645. package/skills/expo-app-design/SKILL.md +22 -0
  1646. package/skills/expo-deployment/SKILL.md +22 -0
  1647. package/skills/fastapi-expert/SKILL.md +93 -0
  1648. package/skills/fastapi-expert/references/async-sqlalchemy.md +150 -0
  1649. package/skills/fastapi-expert/references/authentication.md +162 -0
  1650. package/skills/fastapi-expert/references/endpoints-routing.md +145 -0
  1651. package/skills/fastapi-expert/references/migration-from-django.md +1000 -0
  1652. package/skills/fastapi-expert/references/pydantic-v2.md +138 -0
  1653. package/skills/fastapi-expert/references/testing-async.md +162 -0
  1654. package/skills/fastapi-router/SKILL.md +52 -0
  1655. package/skills/fastapi-router/assets/template.py +142 -0
  1656. package/skills/feature-forge/SKILL.md +90 -0
  1657. package/skills/feature-forge/references/acceptance-criteria.md +107 -0
  1658. package/skills/feature-forge/references/ears-syntax.md +102 -0
  1659. package/skills/feature-forge/references/interview-questions.md +96 -0
  1660. package/skills/feature-forge/references/specification-template.md +106 -0
  1661. package/skills/file-organizer/SKILL.md +250 -0
  1662. package/skills/file-path-traversal/SKILL.md +486 -0
  1663. package/skills/file-uploads/SKILL.md +22 -0
  1664. package/skills/fine-tuning-expert/SKILL.md +98 -0
  1665. package/skills/fine-tuning-expert/references/dataset-preparation.md +543 -0
  1666. package/skills/fine-tuning-expert/references/deployment-optimization.md +676 -0
  1667. package/skills/fine-tuning-expert/references/evaluation-metrics.md +600 -0
  1668. package/skills/fine-tuning-expert/references/hyperparameter-tuning.md +569 -0
  1669. package/skills/fine-tuning-expert/references/lora-peft.md +350 -0
  1670. package/skills/finishing-a-development-branch/SKILL.md +200 -0
  1671. package/skills/firebase/SKILL.md +56 -0
  1672. package/skills/firecrawl-scraper/SKILL.md +37 -0
  1673. package/skills/fixing/SKILL.md +72 -0
  1674. package/skills/fixing/references/complexity-assessment.md +61 -0
  1675. package/skills/fixing/references/mode-selection.md +46 -0
  1676. package/skills/fixing/references/parallel-exploration.md +77 -0
  1677. package/skills/fixing/references/review-cycle.md +77 -0
  1678. package/skills/fixing/references/skill-activation-matrix.md +65 -0
  1679. package/skills/fixing/references/workflow-ci.md +28 -0
  1680. package/skills/fixing/references/workflow-deep.md +91 -0
  1681. package/skills/fixing/references/workflow-logs.md +36 -0
  1682. package/skills/fixing/references/workflow-quick.md +59 -0
  1683. package/skills/fixing/references/workflow-standard.md +86 -0
  1684. package/skills/fixing/references/workflow-test.md +36 -0
  1685. package/skills/fixing/references/workflow-types.md +33 -0
  1686. package/skills/fixing/references/workflow-ui.md +37 -0
  1687. package/skills/flutter-expert/SKILL.md +88 -0
  1688. package/skills/flutter-expert/references/gorouter-navigation.md +122 -0
  1689. package/skills/flutter-expert/references/performance.md +102 -0
  1690. package/skills/flutter-expert/references/project-structure.md +121 -0
  1691. package/skills/flutter-expert/references/riverpod-state.md +133 -0
  1692. package/skills/flutter-expert/references/widget-patterns.md +126 -0
  1693. package/skills/form-cro/SKILL.md +441 -0
  1694. package/skills/foundry-iq-agent/references/knowledge-sources.md +262 -0
  1695. package/skills/foundry-iq-agent/scripts/create_agent.py +287 -0
  1696. package/skills/foundry-iq-python/SKILL.md +278 -0
  1697. package/skills/foundry-iq-python/references/knowledge-sources.md +262 -0
  1698. package/skills/foundry-iq-python/references/patterns.md +295 -0
  1699. package/skills/foundry-iq-python/scripts/create_agent.py +287 -0
  1700. package/skills/foundry-nextgen-frontend/SKILL.md +555 -0
  1701. package/skills/foundry-nextgen-frontend/assets/foundry-logo-dark.png +0 -0
  1702. package/skills/foundry-nextgen-frontend/assets/foundry-logo-light.png +0 -0
  1703. package/skills/foundry-nextgen-frontend/references/components.md +566 -0
  1704. package/skills/foundry-nextgen-frontend/references/design-tokens.md +172 -0
  1705. package/skills/foundry-nextgen-frontend/references/patterns.md +406 -0
  1706. package/skills/foundry-nextgen-frontend/write_files.py +1993 -0
  1707. package/skills/foundry-sdk-python/SKILL.md +290 -0
  1708. package/skills/foundry-sdk-python/references/agents.md +295 -0
  1709. package/skills/foundry-sdk-python/references/async-patterns.md +258 -0
  1710. package/skills/foundry-sdk-python/references/connections.md +203 -0
  1711. package/skills/foundry-sdk-python/references/datasets-indexes.md +177 -0
  1712. package/skills/foundry-sdk-python/references/deployments.md +134 -0
  1713. package/skills/foundry-sdk-python/references/evaluation.md +309 -0
  1714. package/skills/foundry-sdk-python/references/tools.md +464 -0
  1715. package/skills/free-tool-strategy/SKILL.md +576 -0
  1716. package/skills/frontend-design/LICENSE.txt +177 -0
  1717. package/skills/frontend-design/SKILL.md +272 -0
  1718. package/skills/frontend-dev-guidelines/SKILL.md +359 -0
  1719. package/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  1720. package/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  1721. package/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  1722. package/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  1723. package/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  1724. package/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  1725. package/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  1726. package/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  1727. package/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  1728. package/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  1729. package/skills/frontend-development/SKILL.md +399 -0
  1730. package/skills/frontend-development/resources/common-patterns.md +331 -0
  1731. package/skills/frontend-development/resources/complete-examples.md +872 -0
  1732. package/skills/frontend-development/resources/component-patterns.md +502 -0
  1733. package/skills/frontend-development/resources/data-fetching.md +767 -0
  1734. package/skills/frontend-development/resources/file-organization.md +502 -0
  1735. package/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  1736. package/skills/frontend-development/resources/performance.md +406 -0
  1737. package/skills/frontend-development/resources/routing-guide.md +364 -0
  1738. package/skills/frontend-development/resources/styling-guide.md +428 -0
  1739. package/skills/frontend-development/resources/typescript-standards.md +418 -0
  1740. package/skills/fullstack-guardian/SKILL.md +99 -0
  1741. package/skills/fullstack-guardian/references/api-design-standards.md +310 -0
  1742. package/skills/fullstack-guardian/references/architecture-decisions.md +353 -0
  1743. package/skills/fullstack-guardian/references/backend-patterns.md +240 -0
  1744. package/skills/fullstack-guardian/references/common-patterns.md +137 -0
  1745. package/skills/fullstack-guardian/references/deliverables-checklist.md +357 -0
  1746. package/skills/fullstack-guardian/references/design-template.md +94 -0
  1747. package/skills/fullstack-guardian/references/error-handling.md +138 -0
  1748. package/skills/fullstack-guardian/references/frontend-patterns.md +343 -0
  1749. package/skills/fullstack-guardian/references/integration-patterns.md +336 -0
  1750. package/skills/fullstack-guardian/references/security-checklist.md +109 -0
  1751. package/skills/game-developer/SKILL.md +94 -0
  1752. package/skills/game-developer/references/ecs-patterns.md +504 -0
  1753. package/skills/game-developer/references/multiplayer-networking.md +478 -0
  1754. package/skills/game-developer/references/performance-optimization.md +425 -0
  1755. package/skills/game-developer/references/unity-patterns.md +274 -0
  1756. package/skills/game-developer/references/unreal-cpp.md +355 -0
  1757. package/skills/game-development/2d-games/SKILL.md +119 -0
  1758. package/skills/game-development/3d-games/SKILL.md +135 -0
  1759. package/skills/game-development/SKILL.md +167 -0
  1760. package/skills/game-development/game-art/SKILL.md +185 -0
  1761. package/skills/game-development/game-audio/SKILL.md +190 -0
  1762. package/skills/game-development/game-design/SKILL.md +129 -0
  1763. package/skills/game-development/mobile-games/SKILL.md +108 -0
  1764. package/skills/game-development/multiplayer/SKILL.md +132 -0
  1765. package/skills/game-development/pc-games/SKILL.md +144 -0
  1766. package/skills/game-development/vr-ar/SKILL.md +123 -0
  1767. package/skills/game-development/web-games/SKILL.md +150 -0
  1768. package/skills/gcp-cloud-run/SKILL.md +288 -0
  1769. package/skills/geo-fundamentals/SKILL.md +156 -0
  1770. package/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  1771. package/skills/git-pushing/SKILL.md +33 -0
  1772. package/skills/git-pushing/scripts/smart_commit.sh +19 -0
  1773. package/skills/github-workflow-automation/SKILL.md +846 -0
  1774. package/skills/golang-pro/SKILL.md +94 -0
  1775. package/skills/golang-pro/references/concurrency.md +332 -0
  1776. package/skills/golang-pro/references/generics.md +445 -0
  1777. package/skills/golang-pro/references/interfaces.md +435 -0
  1778. package/skills/golang-pro/references/project-structure.md +480 -0
  1779. package/skills/golang-pro/references/testing.md +454 -0
  1780. package/skills/google-adk-python/SKILL.md +243 -0
  1781. package/skills/graphql/SKILL.md +68 -0
  1782. package/skills/graphql-architect/SKILL.md +97 -0
  1783. package/skills/graphql-architect/references/federation.md +421 -0
  1784. package/skills/graphql-architect/references/migration-from-rest.md +1144 -0
  1785. package/skills/graphql-architect/references/resolvers.md +428 -0
  1786. package/skills/graphql-architect/references/schema-design.md +396 -0
  1787. package/skills/graphql-architect/references/security.md +572 -0
  1788. package/skills/graphql-architect/references/subscriptions.md +513 -0
  1789. package/skills/html-injection-testing/SKILL.md +498 -0
  1790. package/skills/hubspot-integration/SKILL.md +42 -0
  1791. package/skills/i18n-localization/SKILL.md +154 -0
  1792. package/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  1793. package/skills/idor-testing/SKILL.md +442 -0
  1794. package/skills/image-enhancer/SKILL.md +99 -0
  1795. package/skills/inngest/SKILL.md +55 -0
  1796. package/skills/interactive-portfolio/SKILL.md +223 -0
  1797. package/skills/internal-comms/LICENSE.txt +202 -0
  1798. package/skills/internal-comms/SKILL.md +32 -0
  1799. package/skills/internal-comms/examples/3p-updates.md +47 -0
  1800. package/skills/internal-comms/examples/company-newsletter.md +65 -0
  1801. package/skills/internal-comms/examples/faq-answers.md +30 -0
  1802. package/skills/internal-comms/examples/general-comms.md +16 -0
  1803. package/skills/internal-comms-anthropic/LICENSE.txt +202 -0
  1804. package/skills/internal-comms-anthropic/SKILL.md +32 -0
  1805. package/skills/internal-comms-anthropic/examples/3p-updates.md +47 -0
  1806. package/skills/internal-comms-anthropic/examples/company-newsletter.md +65 -0
  1807. package/skills/internal-comms-anthropic/examples/faq-answers.md +30 -0
  1808. package/skills/internal-comms-anthropic/examples/general-comms.md +16 -0
  1809. package/skills/internal-comms-community/LICENSE.txt +202 -0
  1810. package/skills/internal-comms-community/SKILL.md +32 -0
  1811. package/skills/invoice-organizer/SKILL.md +446 -0
  1812. package/skills/issue-creator/SKILL.md +137 -0
  1813. package/skills/java-architect/SKILL.md +95 -0
  1814. package/skills/java-architect/references/jpa-optimization.md +396 -0
  1815. package/skills/java-architect/references/reactive-webflux.md +359 -0
  1816. package/skills/java-architect/references/spring-boot-setup.md +272 -0
  1817. package/skills/java-architect/references/spring-security.md +448 -0
  1818. package/skills/java-architect/references/testing-patterns.md +503 -0
  1819. package/skills/javascript-mastery/SKILL.md +645 -0
  1820. package/skills/javascript-pro/SKILL.md +95 -0
  1821. package/skills/javascript-pro/references/async-patterns.md +337 -0
  1822. package/skills/javascript-pro/references/browser-apis.md +401 -0
  1823. package/skills/javascript-pro/references/modern-syntax.md +275 -0
  1824. package/skills/javascript-pro/references/modules.md +360 -0
  1825. package/skills/javascript-pro/references/node-essentials.md +474 -0
  1826. package/skills/javascript-typescript/SKILL.md +142 -0
  1827. package/skills/jira-issues/SKILL.md +181 -0
  1828. package/skills/job-application/SKILL.md +90 -0
  1829. package/skills/kaizen/SKILL.md +730 -0
  1830. package/skills/kotlin-specialist/SKILL.md +94 -0
  1831. package/skills/kotlin-specialist/references/android-compose.md +422 -0
  1832. package/skills/kotlin-specialist/references/coroutines-flow.md +279 -0
  1833. package/skills/kotlin-specialist/references/dsl-idioms.md +424 -0
  1834. package/skills/kotlin-specialist/references/ktor-server.md +429 -0
  1835. package/skills/kotlin-specialist/references/multiplatform-kmp.md +383 -0
  1836. package/skills/kubernetes-specialist/SKILL.md +117 -0
  1837. package/skills/kubernetes-specialist/references/configuration.md +455 -0
  1838. package/skills/kubernetes-specialist/references/cost-optimization.md +461 -0
  1839. package/skills/kubernetes-specialist/references/custom-operators.md +566 -0
  1840. package/skills/kubernetes-specialist/references/gitops.md +533 -0
  1841. package/skills/kubernetes-specialist/references/helm-charts.md +915 -0
  1842. package/skills/kubernetes-specialist/references/multi-cluster.md +510 -0
  1843. package/skills/kubernetes-specialist/references/networking.md +450 -0
  1844. package/skills/kubernetes-specialist/references/service-mesh.md +462 -0
  1845. package/skills/kubernetes-specialist/references/storage.md +538 -0
  1846. package/skills/kubernetes-specialist/references/troubleshooting.md +417 -0
  1847. package/skills/kubernetes-specialist/references/workloads.md +380 -0
  1848. package/skills/langfuse/SKILL.md +238 -0
  1849. package/skills/langgraph/SKILL.md +287 -0
  1850. package/skills/laravel-specialist/SKILL.md +101 -0
  1851. package/skills/laravel-specialist/references/eloquent.md +354 -0
  1852. package/skills/laravel-specialist/references/livewire.md +515 -0
  1853. package/skills/laravel-specialist/references/queues.md +426 -0
  1854. package/skills/laravel-specialist/references/routing.md +365 -0
  1855. package/skills/laravel-specialist/references/testing.md +525 -0
  1856. package/skills/last30days/README.md +721 -0
  1857. package/skills/last30days/SKILL.md +421 -0
  1858. package/skills/last30days/SPEC.md +75 -0
  1859. package/skills/last30days/TASKS.md +47 -0
  1860. package/skills/last30days/assets/aging-portrait.jpeg +0 -0
  1861. package/skills/last30days/assets/claude-code-rap.mp3 +0 -0
  1862. package/skills/last30days/assets/dog-as-human.png +0 -0
  1863. package/skills/last30days/assets/dog-original.jpeg +0 -0
  1864. package/skills/last30days/assets/swimmom-mockup.jpeg +0 -0
  1865. package/skills/last30days/fixtures/models_openai_sample.json +41 -0
  1866. package/skills/last30days/fixtures/models_xai_sample.json +23 -0
  1867. package/skills/last30days/fixtures/openai_sample.json +22 -0
  1868. package/skills/last30days/fixtures/reddit_thread_sample.json +108 -0
  1869. package/skills/last30days/fixtures/xai_sample.json +22 -0
  1870. package/skills/last30days/plans/feat-add-websearch-source.md +395 -0
  1871. package/skills/last30days/plans/fix-strict-date-filtering.md +328 -0
  1872. package/skills/last30days/scripts/last30days.py +521 -0
  1873. package/skills/last30days/scripts/lib/__init__.py +1 -0
  1874. package/skills/last30days/scripts/lib/cache.py +152 -0
  1875. package/skills/last30days/scripts/lib/dates.py +124 -0
  1876. package/skills/last30days/scripts/lib/dedupe.py +120 -0
  1877. package/skills/last30days/scripts/lib/env.py +149 -0
  1878. package/skills/last30days/scripts/lib/http.py +152 -0
  1879. package/skills/last30days/scripts/lib/models.py +175 -0
  1880. package/skills/last30days/scripts/lib/normalize.py +160 -0
  1881. package/skills/last30days/scripts/lib/openai_reddit.py +230 -0
  1882. package/skills/last30days/scripts/lib/reddit_enrich.py +232 -0
  1883. package/skills/last30days/scripts/lib/render.py +383 -0
  1884. package/skills/last30days/scripts/lib/schema.py +336 -0
  1885. package/skills/last30days/scripts/lib/score.py +311 -0
  1886. package/skills/last30days/scripts/lib/ui.py +324 -0
  1887. package/skills/last30days/scripts/lib/websearch.py +401 -0
  1888. package/skills/last30days/scripts/lib/xai_x.py +217 -0
  1889. package/skills/last30days/tests/__init__.py +1 -0
  1890. package/skills/last30days/tests/test_cache.py +59 -0
  1891. package/skills/last30days/tests/test_dates.py +114 -0
  1892. package/skills/last30days/tests/test_dedupe.py +111 -0
  1893. package/skills/last30days/tests/test_models.py +135 -0
  1894. package/skills/last30days/tests/test_normalize.py +138 -0
  1895. package/skills/last30days/tests/test_render.py +116 -0
  1896. package/skills/last30days/tests/test_score.py +168 -0
  1897. package/skills/launch-strategy/SKILL.md +344 -0
  1898. package/skills/lead-research-assistant/SKILL.md +199 -0
  1899. package/skills/legacy-modernizer/SKILL.md +93 -0
  1900. package/skills/legacy-modernizer/references/legacy-testing.md +384 -0
  1901. package/skills/legacy-modernizer/references/migration-strategies.md +426 -0
  1902. package/skills/legacy-modernizer/references/refactoring-patterns.md +398 -0
  1903. package/skills/legacy-modernizer/references/strangler-fig-pattern.md +284 -0
  1904. package/skills/legacy-modernizer/references/system-assessment.md +490 -0
  1905. package/skills/lint-and-validate/SKILL.md +45 -0
  1906. package/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  1907. package/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  1908. package/skills/linux-privilege-escalation/SKILL.md +504 -0
  1909. package/skills/linux-shell-scripting/SKILL.md +504 -0
  1910. package/skills/llm-app-patterns/SKILL.md +760 -0
  1911. package/skills/llm-application-dev/SKILL.md +216 -0
  1912. package/skills/loki-mode/.github/workflows/claude-code-review.yml +57 -0
  1913. package/skills/loki-mode/.github/workflows/claude.yml +50 -0
  1914. package/skills/loki-mode/.github/workflows/release.yml +128 -0
  1915. package/skills/loki-mode/ACKNOWLEDGEMENTS.md +184 -0
  1916. package/skills/loki-mode/CHANGELOG.md +1822 -0
  1917. package/skills/loki-mode/CLAUDE.md +120 -0
  1918. package/skills/loki-mode/CONTEXT-EXPORT.md +206 -0
  1919. package/skills/loki-mode/INSTALLATION.md +384 -0
  1920. package/skills/loki-mode/LICENSE +21 -0
  1921. package/skills/loki-mode/README.md +548 -0
  1922. package/skills/loki-mode/SKILL.md +721 -0
  1923. package/skills/loki-mode/VERSION +1 -0
  1924. package/skills/loki-mode/autonomy/.loki/dashboard/index.html +497 -0
  1925. package/skills/loki-mode/autonomy/CONSTITUTION.md +402 -0
  1926. package/skills/loki-mode/autonomy/README.md +201 -0
  1927. package/skills/loki-mode/autonomy/run.sh +1991 -0
  1928. package/skills/loki-mode/benchmarks/datasets/humaneval.jsonl +164 -0
  1929. package/skills/loki-mode/benchmarks/datasets/swebench-lite.json +10 -0
  1930. package/skills/loki-mode/benchmarks/prepare-submission.sh +215 -0
  1931. package/skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/SUMMARY.md +48 -0
  1932. package/skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/humaneval-results.json +15 -0
  1933. package/skills/loki-mode/benchmarks/results/2026-01-05-00-23-56/swebench-results.json +10 -0
  1934. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/SUMMARY.md +50 -0
  1935. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-results.json +1000 -0
  1936. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/0.py +16 -0
  1937. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/1.py +28 -0
  1938. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/10.py +25 -0
  1939. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/100.py +20 -0
  1940. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/101.py +15 -0
  1941. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/102.py +16 -0
  1942. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/103.py +15 -0
  1943. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/104.py +22 -0
  1944. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/105.py +39 -0
  1945. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/106.py +21 -0
  1946. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/107.py +35 -0
  1947. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/108.py +22 -0
  1948. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/109.py +41 -0
  1949. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/11.py +16 -0
  1950. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/110.py +20 -0
  1951. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/111.py +28 -0
  1952. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/112.py +14 -0
  1953. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/113.py +19 -0
  1954. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/114.py +16 -0
  1955. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/115.py +41 -0
  1956. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/116.py +12 -0
  1957. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/117.py +25 -0
  1958. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/118.py +26 -0
  1959. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/119.py +30 -0
  1960. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/12.py +21 -0
  1961. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/120.py +28 -0
  1962. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/121.py +10 -0
  1963. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/122.py +19 -0
  1964. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/123.py +31 -0
  1965. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/124.py +56 -0
  1966. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/125.py +20 -0
  1967. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/126.py +29 -0
  1968. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/127.py +47 -0
  1969. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/128.py +25 -0
  1970. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/129.py +61 -0
  1971. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/13.py +10 -0
  1972. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/130.py +29 -0
  1973. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/131.py +18 -0
  1974. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/132.py +36 -0
  1975. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/133.py +16 -0
  1976. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/134.py +27 -0
  1977. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/135.py +15 -0
  1978. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/136.py +19 -0
  1979. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/137.py +26 -0
  1980. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/138.py +8 -0
  1981. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/139.py +18 -0
  1982. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/14.py +9 -0
  1983. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/140.py +30 -0
  1984. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/141.py +35 -0
  1985. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/142.py +20 -0
  1986. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/143.py +35 -0
  1987. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/144.py +19 -0
  1988. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/145.py +22 -0
  1989. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/146.py +21 -0
  1990. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/147.py +22 -0
  1991. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/148.py +28 -0
  1992. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/149.py +17 -0
  1993. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/15.py +8 -0
  1994. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/150.py +15 -0
  1995. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/151.py +20 -0
  1996. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/152.py +16 -0
  1997. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/153.py +30 -0
  1998. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/154.py +15 -0
  1999. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/155.py +15 -0
  2000. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/156.py +32 -0
  2001. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/157.py +12 -0
  2002. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/158.py +11 -0
  2003. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/159.py +33 -0
  2004. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/16.py +8 -0
  2005. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/160.py +29 -0
  2006. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/161.py +24 -0
  2007. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/162.py +11 -0
  2008. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/163.py +14 -0
  2009. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/17.py +27 -0
  2010. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/18.py +23 -0
  2011. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/19.py +21 -0
  2012. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/2.py +10 -0
  2013. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/20.py +22 -0
  2014. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/21.py +13 -0
  2015. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/22.py +11 -0
  2016. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/23.py +8 -0
  2017. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/24.py +9 -0
  2018. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/25.py +24 -0
  2019. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/26.py +12 -0
  2020. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/27.py +6 -0
  2021. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/28.py +11 -0
  2022. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/29.py +11 -0
  2023. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/3.py +18 -0
  2024. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/30.py +8 -0
  2025. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/31.py +27 -0
  2026. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/32.py +50 -0
  2027. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/33.py +20 -0
  2028. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/34.py +6 -0
  2029. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/35.py +8 -0
  2030. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/36.py +14 -0
  2031. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/37.py +14 -0
  2032. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/38.py +11 -0
  2033. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/39.py +35 -0
  2034. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/4.py +14 -0
  2035. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/40.py +24 -0
  2036. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/41.py +13 -0
  2037. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/42.py +8 -0
  2038. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/43.py +22 -0
  2039. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/44.py +18 -0
  2040. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/45.py +6 -0
  2041. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/46.py +23 -0
  2042. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/47.py +14 -0
  2043. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/48.py +13 -0
  2044. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/49.py +14 -0
  2045. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/5.py +19 -0
  2046. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/50.py +12 -0
  2047. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/51.py +18 -0
  2048. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/52.py +8 -0
  2049. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/53.py +8 -0
  2050. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/54.py +17 -0
  2051. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/55.py +18 -0
  2052. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/56.py +22 -0
  2053. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/57.py +16 -0
  2054. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/58.py +9 -0
  2055. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/59.py +22 -0
  2056. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/6.py +26 -0
  2057. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/60.py +14 -0
  2058. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/61.py +22 -0
  2059. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/62.py +10 -0
  2060. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/63.py +25 -0
  2061. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/64.py +20 -0
  2062. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/65.py +14 -0
  2063. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/66.py +14 -0
  2064. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/67.py +16 -0
  2065. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/68.py +50 -0
  2066. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/69.py +21 -0
  2067. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/7.py +11 -0
  2068. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/70.py +26 -0
  2069. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/71.py +17 -0
  2070. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/72.py +21 -0
  2071. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/73.py +17 -0
  2072. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/74.py +21 -0
  2073. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/75.py +30 -0
  2074. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/76.py +20 -0
  2075. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/77.py +17 -0
  2076. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/78.py +24 -0
  2077. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/79.py +13 -0
  2078. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/8.py +17 -0
  2079. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/80.py +18 -0
  2080. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/81.py +54 -0
  2081. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/82.py +20 -0
  2082. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/83.py +21 -0
  2083. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/84.py +16 -0
  2084. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/85.py +12 -0
  2085. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/86.py +16 -0
  2086. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/87.py +29 -0
  2087. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/88.py +24 -0
  2088. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/89.py +23 -0
  2089. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/9.py +20 -0
  2090. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/90.py +20 -0
  2091. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/91.py +20 -0
  2092. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/92.py +25 -0
  2093. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/93.py +34 -0
  2094. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/94.py +33 -0
  2095. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/95.py +27 -0
  2096. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/96.py +28 -0
  2097. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/97.py +13 -0
  2098. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/98.py +15 -0
  2099. package/skills/loki-mode/benchmarks/results/2026-01-05-00-49-17/humaneval-solutions/99.py +30 -0
  2100. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/SUMMARY.md +48 -0
  2101. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-12907.patch +16 -0
  2102. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14182.patch +59 -0
  2103. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14365.patch +21 -0
  2104. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-14995.patch +15 -0
  2105. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-6938.patch +20 -0
  2106. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/astropy__astropy-7746.patch +31 -0
  2107. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-10914.patch +72 -0
  2108. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-10924.patch +41 -0
  2109. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11001.patch +80 -0
  2110. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11019.patch +489 -0
  2111. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11039.patch +87 -0
  2112. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11049.patch +24 -0
  2113. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11099.patch +28 -0
  2114. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11133.patch +20 -0
  2115. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11179.patch +49 -0
  2116. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11283.patch +47 -0
  2117. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11422.patch +25 -0
  2118. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11564.patch +285 -0
  2119. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11583.patch +22 -0
  2120. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11620.patch +21 -0
  2121. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11630.patch +45 -0
  2122. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11742.patch +32 -0
  2123. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11797.patch +38 -0
  2124. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11815.patch +20 -0
  2125. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11848.patch +21 -0
  2126. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11905.patch +16 -0
  2127. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11910.patch +29 -0
  2128. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11964.patch +54 -0
  2129. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-11999.patch +15 -0
  2130. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12113.patch +31 -0
  2131. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12125.patch +27 -0
  2132. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12184.patch +28 -0
  2133. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12284.patch +31 -0
  2134. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12286.patch +29 -0
  2135. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12308.patch +22 -0
  2136. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12453.patch +31 -0
  2137. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12470.patch +53 -0
  2138. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12497.patch +26 -0
  2139. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12589.patch +157 -0
  2140. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12700.patch +27 -0
  2141. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12708.patch +64 -0
  2142. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12747.patch +15 -0
  2143. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12856.patch +16 -0
  2144. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12908.patch +15 -0
  2145. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12915.patch +82 -0
  2146. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-12983.patch +21 -0
  2147. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13028.patch +13 -0
  2148. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13033.patch +17 -0
  2149. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13158.patch +14 -0
  2150. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13220.patch +57 -0
  2151. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13230.patch +14 -0
  2152. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13265.patch +44 -0
  2153. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13315.patch +53 -0
  2154. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13321.patch +33 -0
  2155. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13401.patch +30 -0
  2156. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13447.patch +40 -0
  2157. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13448.patch +203 -0
  2158. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13551.patch +17 -0
  2159. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13590.patch +17 -0
  2160. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13658.patch +19 -0
  2161. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13660.patch +27 -0
  2162. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13710.patch +23 -0
  2163. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13757.patch +51 -0
  2164. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13768.patch +32 -0
  2165. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13925.patch +116 -0
  2166. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13933.patch +62 -0
  2167. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-13964.patch +17 -0
  2168. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14016.patch +138 -0
  2169. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14017.patch +88 -0
  2170. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14155.patch +74 -0
  2171. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14238.patch +132 -0
  2172. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14382.patch +17 -0
  2173. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14411.patch +16 -0
  2174. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14534.patch +29 -0
  2175. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14580.patch +15 -0
  2176. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14608.patch +32 -0
  2177. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14667.patch +33 -0
  2178. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14672.patch +59 -0
  2179. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14730.patch +80 -0
  2180. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14752.patch +35 -0
  2181. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14787.patch +24 -0
  2182. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14855.patch +23 -0
  2183. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14915.patch +19 -0
  2184. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14997.patch +40 -0
  2185. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-14999.patch +26 -0
  2186. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15061.patch +24 -0
  2187. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15202.patch +18 -0
  2188. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15213.patch +70 -0
  2189. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15252.patch +63 -0
  2190. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15320.patch +36 -0
  2191. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15347.patch +36 -0
  2192. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15388.patch +26 -0
  2193. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15400.patch +14 -0
  2194. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15498.patch +14 -0
  2195. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15695.patch +32 -0
  2196. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15738.patch +251 -0
  2197. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15781.patch +18 -0
  2198. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15789.patch +50 -0
  2199. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15790.patch +34 -0
  2200. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15814.patch +18 -0
  2201. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15819.patch +127 -0
  2202. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15851.patch +16 -0
  2203. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15902.patch +15 -0
  2204. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-15996.patch +33 -0
  2205. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16041.patch +30 -0
  2206. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16046.patch +16 -0
  2207. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16139.patch +19 -0
  2208. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16229.patch +142 -0
  2209. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16255.patch +21 -0
  2210. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16379.patch +32 -0
  2211. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16400.patch +34 -0
  2212. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16408.patch +27 -0
  2213. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16527.patch +14 -0
  2214. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16595.patch +14 -0
  2215. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16816.patch +30 -0
  2216. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16820.patch +188 -0
  2217. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-16873.patch +37 -0
  2218. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-17051.patch +51 -0
  2219. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/django__django-17087.patch +21 -0
  2220. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-18869.patch +75 -0
  2221. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-22711.patch +42 -0
  2222. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-22835.patch +58 -0
  2223. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23299.patch +92 -0
  2224. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23314.patch +16 -0
  2225. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23476.patch +73 -0
  2226. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23562.patch +33 -0
  2227. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23563.patch +22 -0
  2228. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23913.patch +207 -0
  2229. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23964.patch +29 -0
  2230. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-23987.patch +43 -0
  2231. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24149.patch +27 -0
  2232. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24265.patch +76 -0
  2233. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24334.patch +17 -0
  2234. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-24970.patch +24 -0
  2235. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25079.patch +15 -0
  2236. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25311.patch +29 -0
  2237. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25332.patch +28 -0
  2238. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25433.patch +240 -0
  2239. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25442.patch +28 -0
  2240. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-25498.patch +79 -0
  2241. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-26011.patch +90 -0
  2242. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/matplotlib__matplotlib-26020.patch +35 -0
  2243. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-2848.patch +55 -0
  2244. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3010.patch +60 -0
  2245. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3190.patch +18 -0
  2246. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/mwaskom__seaborn-3407.patch +28 -0
  2247. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-4045.patch +23 -0
  2248. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-4992.patch +33 -0
  2249. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pallets__flask-5063.patch +99 -0
  2250. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-1963.patch +117 -0
  2251. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2148.patch +37 -0
  2252. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2317.patch +54 -0
  2253. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-2674.patch +157 -0
  2254. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-3362.patch +19 -0
  2255. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/psf__requests-863.patch +35 -0
  2256. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-3364.patch +392 -0
  2257. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4094.patch +40 -0
  2258. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4248.patch +124 -0
  2259. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-4493.patch +39 -0
  2260. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pydata__xarray-5131.patch +45 -0
  2261. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-5859.patch +13 -0
  2262. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-6506.patch +25 -0
  2263. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7080.patch +33 -0
  2264. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7114.patch +161 -0
  2265. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7228.patch +34 -0
  2266. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pylint-dev__pylint-7993.patch +21 -0
  2267. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-11143.patch +25 -0
  2268. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-11148.patch +57 -0
  2269. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5103.patch +345 -0
  2270. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5221.patch +28 -0
  2271. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5227.patch +16 -0
  2272. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5413.patch +35 -0
  2273. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5495.patch +24 -0
  2274. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-5692.patch +33 -0
  2275. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-6116.patch +12 -0
  2276. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7168.patch +28 -0
  2277. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7220.patch +535 -0
  2278. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7373.patch +47 -0
  2279. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7432.patch +76 -0
  2280. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-7490.patch +61 -0
  2281. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-8365.patch +123 -0
  2282. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-8906.patch +38 -0
  2283. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/pytest-dev__pytest-9359.patch +22 -0
  2284. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10297.patch +53 -0
  2285. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10508.patch +17 -0
  2286. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-10949.patch +94 -0
  2287. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-11040.patch +39 -0
  2288. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-11281.patch +65 -0
  2289. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-12471.patch +54 -0
  2290. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13142.patch +35 -0
  2291. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13241.patch +29 -0
  2292. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13439.patch +34 -0
  2293. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13496.patch +59 -0
  2294. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13497.patch +15 -0
  2295. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13584.patch +25 -0
  2296. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-13779.patch +16 -0
  2297. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14087.patch +33 -0
  2298. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14092.patch +35 -0
  2299. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14894.patch +24 -0
  2300. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-14983.patch +23 -0
  2301. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-15512.patch +77 -0
  2302. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-15535.patch +44 -0
  2303. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25500.patch +64 -0
  2304. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25570.patch +96 -0
  2305. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25638.patch +52 -0
  2306. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/scikit-learn__scikit-learn-25747.patch +29 -0
  2307. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-10325.patch +185 -0
  2308. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-10451.patch +129 -0
  2309. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-11445.patch +119 -0
  2310. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7686.patch +19 -0
  2311. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7738.patch +37 -0
  2312. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-7975.patch +89 -0
  2313. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8273.patch +38 -0
  2314. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8282.patch +95 -0
  2315. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8435.patch +104 -0
  2316. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8474.patch +73 -0
  2317. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8506.patch +49 -0
  2318. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8595.patch +15 -0
  2319. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8627.patch +50 -0
  2320. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8713.patch +41 -0
  2321. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8721.patch +25 -0
  2322. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8801.patch +73 -0
  2323. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11400.patch +27 -0
  2324. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11870.patch +96 -0
  2325. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-11897.patch +134 -0
  2326. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12171.patch +17 -0
  2327. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12236.patch +20 -0
  2328. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12419.patch +35 -0
  2329. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12454.patch +55 -0
  2330. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-12481.patch +68 -0
  2331. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13031.patch +33 -0
  2332. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13043.patch +35 -0
  2333. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13146.patch +32 -0
  2334. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13177.patch +36 -0
  2335. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13437.patch +15 -0
  2336. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13471.patch +26 -0
  2337. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13480.patch +13 -0
  2338. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13647.patch +41 -0
  2339. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13773.patch +22 -0
  2340. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13895.patch +28 -0
  2341. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13915.patch +97 -0
  2342. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-13971.patch +19 -0
  2343. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14024.patch +27 -0
  2344. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14308.patch +20 -0
  2345. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14317.patch +42 -0
  2346. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14396.patch +38 -0
  2347. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14774.patch +13 -0
  2348. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-14817.patch +54 -0
  2349. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15011.patch +38 -0
  2350. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15308.patch +21 -0
  2351. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15345.patch +27 -0
  2352. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15346.patch +26 -0
  2353. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15609.patch +29 -0
  2354. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-15678.patch +92 -0
  2355. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16106.patch +78 -0
  2356. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16281.patch +141 -0
  2357. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16503.patch +69 -0
  2358. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16792.patch +16 -0
  2359. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-16988.patch +16 -0
  2360. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17022.patch +65 -0
  2361. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17139.patch +33 -0
  2362. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17630.patch +90 -0
  2363. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-17655.patch +23 -0
  2364. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18057.patch +28 -0
  2365. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18087.patch +81 -0
  2366. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18189.patch +13 -0
  2367. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18199.patch +23 -0
  2368. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18532.patch +130 -0
  2369. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18621.patch +15 -0
  2370. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18698.patch +105 -0
  2371. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-18835.patch +30 -0
  2372. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19007.patch +66 -0
  2373. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19254.patch +72 -0
  2374. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-19487.patch +23 -0
  2375. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20049.patch +125 -0
  2376. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20154.patch +46 -0
  2377. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20212.patch +17 -0
  2378. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20322.patch +24 -0
  2379. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20442.patch +27 -0
  2380. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20590.patch +23 -0
  2381. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-20639.patch +66 -0
  2382. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21055.patch +56 -0
  2383. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21171.patch +36 -0
  2384. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21379.patch +36 -0
  2385. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21612.patch +26 -0
  2386. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21614.patch +37 -0
  2387. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21627.patch +26 -0
  2388. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-21847.patch +24 -0
  2389. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22005.patch +36 -0
  2390. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22714.patch +486 -0
  2391. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-22840.patch +76 -0
  2392. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23117.patch +24 -0
  2393. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23191.patch +302 -0
  2394. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-23262.patch +13 -0
  2395. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24066.patch +66 -0
  2396. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24102.patch +12 -0
  2397. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24152.patch +25 -0
  2398. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24213.patch +25 -0
  2399. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sympy__sympy-24909.patch +19 -0
  2400. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-predictions.json +1502 -0
  2401. package/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-results.json +1516 -0
  2402. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/SUMMARY.md +48 -0
  2403. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-12907.patch +31 -0
  2404. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14182.patch +42 -0
  2405. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14365.patch +50 -0
  2406. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-14995.patch +17 -0
  2407. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-6938.patch +13 -0
  2408. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/astropy__astropy-7746.patch +21 -0
  2409. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-10914.patch +76 -0
  2410. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-10924.patch +33 -0
  2411. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11001.patch +35 -0
  2412. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11019.patch +90 -0
  2413. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11039.patch +37 -0
  2414. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11049.patch +10 -0
  2415. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11099.patch +24 -0
  2416. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11133.patch +21 -0
  2417. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11179.patch +47 -0
  2418. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11283.patch +35 -0
  2419. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11422.patch +18 -0
  2420. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11564.patch +62 -0
  2421. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11583.patch +25 -0
  2422. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11620.patch +19 -0
  2423. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11630.patch +79 -0
  2424. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11742.patch +38 -0
  2425. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11797.patch +15 -0
  2426. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11815.patch +20 -0
  2427. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11848.patch +19 -0
  2428. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11905.patch +18 -0
  2429. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11910.patch +17 -0
  2430. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11964.patch +31 -0
  2431. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-11999.patch +26 -0
  2432. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12113.patch +27 -0
  2433. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12125.patch +17 -0
  2434. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12184.patch +83 -0
  2435. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12284.patch +21 -0
  2436. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12286.patch +21 -0
  2437. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12308.patch +24 -0
  2438. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12453.patch +31 -0
  2439. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12470.patch +137 -0
  2440. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12497.patch +21 -0
  2441. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12589.patch +28 -0
  2442. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12700.patch +17 -0
  2443. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12708.patch +22 -0
  2444. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12747.patch +43 -0
  2445. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12856.patch +61 -0
  2446. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12908.patch +19 -0
  2447. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12915.patch +39 -0
  2448. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-12983.patch +21 -0
  2449. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13028.patch +13 -0
  2450. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13033.patch +26 -0
  2451. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13158.patch +12 -0
  2452. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-patches/django__django-13220.patch +55 -0
  2453. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-predictions.json +252 -0
  2454. package/skills/loki-mode/benchmarks/results/2026-01-05-01-35-39/swebench-results.json +266 -0
  2455. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/SUMMARY.md +32 -0
  2456. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-12907.patch +23 -0
  2457. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14182.patch +19 -0
  2458. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14365.patch +44 -0
  2459. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-14995.patch +19 -0
  2460. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-6938.patch +14 -0
  2461. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/astropy__astropy-7746.patch +28 -0
  2462. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-10914.patch +76 -0
  2463. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-10924.patch +25 -0
  2464. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11001.patch +20 -0
  2465. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11019.patch +158 -0
  2466. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11039.patch +38 -0
  2467. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11049.patch +18 -0
  2468. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11099.patch +24 -0
  2469. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11133.patch +15 -0
  2470. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11179.patch +14 -0
  2471. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11283.patch +29 -0
  2472. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11422.patch +21 -0
  2473. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11564.patch +140 -0
  2474. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11583.patch +24 -0
  2475. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11620.patch +18 -0
  2476. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11630.patch +38 -0
  2477. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11742.patch +49 -0
  2478. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11797.patch +18 -0
  2479. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11815.patch +22 -0
  2480. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11848.patch +24 -0
  2481. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11905.patch +32 -0
  2482. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11910.patch +100 -0
  2483. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11964.patch +62 -0
  2484. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-11999.patch +20 -0
  2485. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12113.patch +24 -0
  2486. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12125.patch +17 -0
  2487. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12184.patch +82 -0
  2488. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12284.patch +15 -0
  2489. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12286.patch +41 -0
  2490. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12308.patch +31 -0
  2491. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12453.patch +32 -0
  2492. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12470.patch +21 -0
  2493. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12497.patch +17 -0
  2494. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12589.patch +56 -0
  2495. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12700.patch +28 -0
  2496. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12708.patch +61 -0
  2497. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12747.patch +15 -0
  2498. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12856.patch +62 -0
  2499. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12908.patch +21 -0
  2500. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12915.patch +18 -0
  2501. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-12983.patch +21 -0
  2502. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13028.patch +18 -0
  2503. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13033.patch +15 -0
  2504. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13158.patch +15 -0
  2505. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13220.patch +126 -0
  2506. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13230.patch +24 -0
  2507. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13265.patch +87 -0
  2508. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13315.patch +16 -0
  2509. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13321.patch +29 -0
  2510. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13401.patch +31 -0
  2511. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13447.patch +42 -0
  2512. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13448.patch +94 -0
  2513. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13551.patch +16 -0
  2514. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13590.patch +15 -0
  2515. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13658.patch +22 -0
  2516. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13660.patch +22 -0
  2517. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13710.patch +42 -0
  2518. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13757.patch +32 -0
  2519. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13768.patch +32 -0
  2520. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13925.patch +20 -0
  2521. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13933.patch +31 -0
  2522. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-13964.patch +15 -0
  2523. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14016.patch +103 -0
  2524. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14017.patch +20 -0
  2525. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14155.patch +121 -0
  2526. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14238.patch +14 -0
  2527. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14382.patch +15 -0
  2528. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14411.patch +16 -0
  2529. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14534.patch +15 -0
  2530. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14580.patch +15 -0
  2531. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14608.patch +34 -0
  2532. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14667.patch +29 -0
  2533. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14672.patch +12 -0
  2534. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14730.patch +43 -0
  2535. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14752.patch +32 -0
  2536. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14787.patch +35 -0
  2537. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14855.patch +23 -0
  2538. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14915.patch +21 -0
  2539. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14997.patch +15 -0
  2540. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-14999.patch +28 -0
  2541. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15061.patch +19 -0
  2542. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15202.patch +22 -0
  2543. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15213.patch +16 -0
  2544. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15252.patch +59 -0
  2545. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15320.patch +13 -0
  2546. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15347.patch +15 -0
  2547. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15388.patch +25 -0
  2548. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15400.patch +19 -0
  2549. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15498.patch +14 -0
  2550. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15695.patch +39 -0
  2551. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15738.patch +185 -0
  2552. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15781.patch +20 -0
  2553. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15789.patch +69 -0
  2554. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15790.patch +38 -0
  2555. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15814.patch +14 -0
  2556. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15819.patch +101 -0
  2557. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15851.patch +40 -0
  2558. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15902.patch +17 -0
  2559. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-15996.patch +28 -0
  2560. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16041.patch +27 -0
  2561. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16046.patch +17 -0
  2562. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16139.patch +15 -0
  2563. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16229.patch +19 -0
  2564. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16255.patch +17 -0
  2565. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16379.patch +21 -0
  2566. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16400.patch +29 -0
  2567. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16408.patch +39 -0
  2568. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16527.patch +14 -0
  2569. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16595.patch +39 -0
  2570. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16816.patch +27 -0
  2571. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16820.patch +98 -0
  2572. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16873.patch +23 -0
  2573. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-16910.patch +39 -0
  2574. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-17051.patch +15 -0
  2575. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/django__django-17087.patch +19 -0
  2576. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-18869.patch +29 -0
  2577. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-22711.patch +38 -0
  2578. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-22835.patch +27 -0
  2579. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23299.patch +65 -0
  2580. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23314.patch +15 -0
  2581. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23476.patch +19 -0
  2582. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23562.patch +23 -0
  2583. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23563.patch +14 -0
  2584. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23913.patch +95 -0
  2585. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23964.patch +14 -0
  2586. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-23987.patch +55 -0
  2587. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24149.patch +20 -0
  2588. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24265.patch +52 -0
  2589. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24334.patch +23 -0
  2590. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-24970.patch +24 -0
  2591. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25079.patch +38 -0
  2592. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25311.patch +62 -0
  2593. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25332.patch +42 -0
  2594. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25433.patch +126 -0
  2595. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25442.patch +27 -0
  2596. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-25498.patch +67 -0
  2597. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-26011.patch +55 -0
  2598. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/matplotlib__matplotlib-26020.patch +42 -0
  2599. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-2848.patch +95 -0
  2600. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3010.patch +17 -0
  2601. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3190.patch +73 -0
  2602. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/mwaskom__seaborn-3407.patch +31 -0
  2603. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-4045.patch +21 -0
  2604. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-4992.patch +47 -0
  2605. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pallets__flask-5063.patch +90 -0
  2606. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-1963.patch +29 -0
  2607. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2148.patch +79 -0
  2608. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2317.patch +38 -0
  2609. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-2674.patch +58 -0
  2610. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-3362.patch +17 -0
  2611. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/psf__requests-863.patch +20 -0
  2612. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-3364.patch +159 -0
  2613. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4094.patch +17 -0
  2614. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4248.patch +134 -0
  2615. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-4493.patch +20 -0
  2616. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pydata__xarray-5131.patch +23 -0
  2617. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-5859.patch +15 -0
  2618. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-6506.patch +36 -0
  2619. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7080.patch +31 -0
  2620. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7114.patch +51 -0
  2621. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7228.patch +80 -0
  2622. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pylint-dev__pylint-7993.patch +54 -0
  2623. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-11143.patch +17 -0
  2624. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-11148.patch +27 -0
  2625. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5103.patch +350 -0
  2626. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5221.patch +18 -0
  2627. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5227.patch +15 -0
  2628. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5413.patch +20 -0
  2629. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5495.patch +44 -0
  2630. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-5692.patch +69 -0
  2631. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-6116.patch +17 -0
  2632. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7168.patch +14 -0
  2633. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7220.patch +391 -0
  2634. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7373.patch +48 -0
  2635. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7432.patch +99 -0
  2636. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-7490.patch +4 -0
  2637. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-8365.patch +27 -0
  2638. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-8906.patch +23 -0
  2639. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/pytest-dev__pytest-9359.patch +89 -0
  2640. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10297.patch +22 -0
  2641. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10508.patch +37 -0
  2642. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-10949.patch +66 -0
  2643. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-11040.patch +147 -0
  2644. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-11281.patch +107 -0
  2645. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-12471.patch +22 -0
  2646. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13142.patch +19 -0
  2647. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13241.patch +26 -0
  2648. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13439.patch +29 -0
  2649. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13496.patch +62 -0
  2650. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13497.patch +23 -0
  2651. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13584.patch +38 -0
  2652. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-13779.patch +16 -0
  2653. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14087.patch +17 -0
  2654. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14092.patch +61 -0
  2655. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14894.patch +45 -0
  2656. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-14983.patch +36 -0
  2657. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-15512.patch +143 -0
  2658. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-15535.patch +17 -0
  2659. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25500.patch +79 -0
  2660. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25570.patch +71 -0
  2661. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25638.patch +70 -0
  2662. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/scikit-learn__scikit-learn-25747.patch +14 -0
  2663. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-10325.patch +153 -0
  2664. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-10451.patch +99 -0
  2665. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-11445.patch +67 -0
  2666. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7686.patch +50 -0
  2667. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7738.patch +22 -0
  2668. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-7975.patch +92 -0
  2669. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8273.patch +103 -0
  2670. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8282.patch +45 -0
  2671. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8435.patch +56 -0
  2672. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8474.patch +21 -0
  2673. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8506.patch +33 -0
  2674. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8595.patch +45 -0
  2675. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8627.patch +62 -0
  2676. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8713.patch +19 -0
  2677. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8721.patch +17 -0
  2678. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sphinx-doc__sphinx-8801.patch +101 -0
  2679. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11400.patch +55 -0
  2680. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11870.patch +47 -0
  2681. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-11897.patch +152 -0
  2682. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12171.patch +20 -0
  2683. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12236.patch +17 -0
  2684. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12419.patch +37 -0
  2685. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12454.patch +22 -0
  2686. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-12481.patch +44 -0
  2687. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13031.patch +71 -0
  2688. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13043.patch +25 -0
  2689. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13146.patch +54 -0
  2690. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13177.patch +14 -0
  2691. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13437.patch +17 -0
  2692. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13471.patch +15 -0
  2693. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13480.patch +19 -0
  2694. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13647.patch +22 -0
  2695. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13773.patch +32 -0
  2696. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13895.patch +55 -0
  2697. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13915.patch +70 -0
  2698. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-13971.patch +20 -0
  2699. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14024.patch +56 -0
  2700. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14308.patch +189 -0
  2701. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14317.patch +41 -0
  2702. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14396.patch +32 -0
  2703. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14774.patch +15 -0
  2704. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-14817.patch +19 -0
  2705. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15011.patch +31 -0
  2706. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15308.patch +21 -0
  2707. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15345.patch +13 -0
  2708. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15346.patch +21 -0
  2709. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15609.patch +11 -0
  2710. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-15678.patch +87 -0
  2711. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16106.patch +66 -0
  2712. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16281.patch +88 -0
  2713. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16503.patch +18 -0
  2714. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16792.patch +20 -0
  2715. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-16988.patch +22 -0
  2716. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17022.patch +38 -0
  2717. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17139.patch +48 -0
  2718. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17630.patch +116 -0
  2719. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-17655.patch +27 -0
  2720. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18057.patch +31 -0
  2721. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18087.patch +55 -0
  2722. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18189.patch +15 -0
  2723. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18199.patch +25 -0
  2724. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18532.patch +84 -0
  2725. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18621.patch +21 -0
  2726. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18698.patch +60 -0
  2727. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-18835.patch +39 -0
  2728. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19007.patch +143 -0
  2729. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19254.patch +79 -0
  2730. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-19487.patch +37 -0
  2731. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20049.patch +37 -0
  2732. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20154.patch +27 -0
  2733. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20212.patch +15 -0
  2734. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20322.patch +23 -0
  2735. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20442.patch +73 -0
  2736. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20590.patch +16 -0
  2737. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-20639.patch +20 -0
  2738. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21055.patch +47 -0
  2739. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21171.patch +27 -0
  2740. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21379.patch +27 -0
  2741. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21612.patch +46 -0
  2742. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21614.patch +23 -0
  2743. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21627.patch +28 -0
  2744. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-21847.patch +24 -0
  2745. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22005.patch +36 -0
  2746. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22714.patch +19 -0
  2747. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-22840.patch +19 -0
  2748. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23117.patch +18 -0
  2749. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23191.patch +42 -0
  2750. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-23262.patch +18 -0
  2751. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24066.patch +26 -0
  2752. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24102.patch +17 -0
  2753. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24152.patch +23 -0
  2754. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24213.patch +18 -0
  2755. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-patches/sympy__sympy-24909.patch +39 -0
  2756. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-predictions.json +1802 -0
  2757. package/skills/loki-mode/benchmarks/results/2026-01-05-10-37-54/swebench-loki-results.json +1816 -0
  2758. package/skills/loki-mode/benchmarks/results/SUMMARY.md +32 -0
  2759. package/skills/loki-mode/benchmarks/results/humaneval-loki-results.json +1001 -0
  2760. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/0.py +21 -0
  2761. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/1.py +36 -0
  2762. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/10.py +30 -0
  2763. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/100.py +23 -0
  2764. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/101.py +17 -0
  2765. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/102.py +21 -0
  2766. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/103.py +22 -0
  2767. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/104.py +23 -0
  2768. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/105.py +34 -0
  2769. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/106.py +26 -0
  2770. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/107.py +40 -0
  2771. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/108.py +27 -0
  2772. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/109.py +53 -0
  2773. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/11.py +21 -0
  2774. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/110.py +25 -0
  2775. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/111.py +34 -0
  2776. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/112.py +20 -0
  2777. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/113.py +25 -0
  2778. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/114.py +24 -0
  2779. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/115.py +41 -0
  2780. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/116.py +17 -0
  2781. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/117.py +30 -0
  2782. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/118.py +31 -0
  2783. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/119.py +35 -0
  2784. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/12.py +27 -0
  2785. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/120.py +33 -0
  2786. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/121.py +15 -0
  2787. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/122.py +24 -0
  2788. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/123.py +35 -0
  2789. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/124.py +58 -0
  2790. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/125.py +25 -0
  2791. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/126.py +34 -0
  2792. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/127.py +41 -0
  2793. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/128.py +31 -0
  2794. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/129.py +62 -0
  2795. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/13.py +17 -0
  2796. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/130.py +35 -0
  2797. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/131.py +24 -0
  2798. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/132.py +32 -0
  2799. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/133.py +21 -0
  2800. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/134.py +23 -0
  2801. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/135.py +20 -0
  2802. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/136.py +24 -0
  2803. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/137.py +31 -0
  2804. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/138.py +13 -0
  2805. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/139.py +23 -0
  2806. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/14.py +14 -0
  2807. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/140.py +26 -0
  2808. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/141.py +42 -0
  2809. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/142.py +25 -0
  2810. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/143.py +40 -0
  2811. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/144.py +24 -0
  2812. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/145.py +24 -0
  2813. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/146.py +21 -0
  2814. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/147.py +32 -0
  2815. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/148.py +33 -0
  2816. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/149.py +22 -0
  2817. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/15.py +13 -0
  2818. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/150.py +26 -0
  2819. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/151.py +22 -0
  2820. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/152.py +21 -0
  2821. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/153.py +32 -0
  2822. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/154.py +25 -0
  2823. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/155.py +20 -0
  2824. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/156.py +39 -0
  2825. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/157.py +28 -0
  2826. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/158.py +16 -0
  2827. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/159.py +36 -0
  2828. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/16.py +13 -0
  2829. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/160.py +34 -0
  2830. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/161.py +29 -0
  2831. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/162.py +16 -0
  2832. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/163.py +18 -0
  2833. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/17.py +27 -0
  2834. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/18.py +23 -0
  2835. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/19.py +34 -0
  2836. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/2.py +15 -0
  2837. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/20.py +27 -0
  2838. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/21.py +18 -0
  2839. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/22.py +16 -0
  2840. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/23.py +13 -0
  2841. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/24.py +14 -0
  2842. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/25.py +29 -0
  2843. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/26.py +17 -0
  2844. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/27.py +11 -0
  2845. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/28.py +16 -0
  2846. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/29.py +16 -0
  2847. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/3.py +23 -0
  2848. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/30.py +13 -0
  2849. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/31.py +34 -0
  2850. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/32.py +37 -0
  2851. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/33.py +19 -0
  2852. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/34.py +11 -0
  2853. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/35.py +13 -0
  2854. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/36.py +19 -0
  2855. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/37.py +19 -0
  2856. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/38.py +25 -0
  2857. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/39.py +40 -0
  2858. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/4.py +23 -0
  2859. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/40.py +43 -0
  2860. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/41.py +18 -0
  2861. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/42.py +13 -0
  2862. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/43.py +27 -0
  2863. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/44.py +25 -0
  2864. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/45.py +11 -0
  2865. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/46.py +35 -0
  2866. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/47.py +19 -0
  2867. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/48.py +18 -0
  2868. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/49.py +26 -0
  2869. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/5.py +25 -0
  2870. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/50.py +10 -0
  2871. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/51.py +23 -0
  2872. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/52.py +13 -0
  2873. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/53.py +13 -0
  2874. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/54.py +22 -0
  2875. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/55.py +20 -0
  2876. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/56.py +27 -0
  2877. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/57.py +27 -0
  2878. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/58.py +14 -0
  2879. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/59.py +32 -0
  2880. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/6.py +33 -0
  2881. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/60.py +19 -0
  2882. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/61.py +27 -0
  2883. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/62.py +15 -0
  2884. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/63.py +30 -0
  2885. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/64.py +29 -0
  2886. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/65.py +18 -0
  2887. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/66.py +23 -0
  2888. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/67.py +22 -0
  2889. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/68.py +55 -0
  2890. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/69.py +26 -0
  2891. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/7.py +16 -0
  2892. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/70.py +35 -0
  2893. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/71.py +29 -0
  2894. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/72.py +24 -0
  2895. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/73.py +22 -0
  2896. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/74.py +26 -0
  2897. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/75.py +42 -0
  2898. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/76.py +25 -0
  2899. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/77.py +25 -0
  2900. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/78.py +29 -0
  2901. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/79.py +18 -0
  2902. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/8.py +24 -0
  2903. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/80.py +26 -0
  2904. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/81.py +61 -0
  2905. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/82.py +21 -0
  2906. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/83.py +13 -0
  2907. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/84.py +21 -0
  2908. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/85.py +17 -0
  2909. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/86.py +21 -0
  2910. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/87.py +31 -0
  2911. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/88.py +29 -0
  2912. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/89.py +25 -0
  2913. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/9.py +25 -0
  2914. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/90.py +21 -0
  2915. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/91.py +31 -0
  2916. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/92.py +29 -0
  2917. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/93.py +30 -0
  2918. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/94.py +32 -0
  2919. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/95.py +32 -0
  2920. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/96.py +38 -0
  2921. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/97.py +16 -0
  2922. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/98.py +20 -0
  2923. package/skills/loki-mode/benchmarks/results/humaneval-loki-solutions/99.py +36 -0
  2924. package/skills/loki-mode/benchmarks/run-benchmarks.sh +1948 -0
  2925. package/skills/loki-mode/benchmarks/submission-template/README.md +111 -0
  2926. package/skills/loki-mode/benchmarks/submission-template/metadata.yaml +76 -0
  2927. package/skills/loki-mode/demo/README.md +137 -0
  2928. package/skills/loki-mode/demo/loki-demo.gif +0 -0
  2929. package/skills/loki-mode/demo/record-demo.sh +69 -0
  2930. package/skills/loki-mode/demo/record-full-demo.sh +208 -0
  2931. package/skills/loki-mode/demo/recordings/loki-demo.cast +93 -0
  2932. package/skills/loki-mode/demo/run-demo-auto.sh +293 -0
  2933. package/skills/loki-mode/demo/run-demo.sh +323 -0
  2934. package/skills/loki-mode/demo/vhs-tape.tape +223 -0
  2935. package/skills/loki-mode/demo/voice-over-script.md +246 -0
  2936. package/skills/loki-mode/docs/COMPETITIVE-ANALYSIS.md +333 -0
  2937. package/skills/loki-mode/docs/screenshots/README.md +149 -0
  2938. package/skills/loki-mode/docs/screenshots/dashboard-agents.png +0 -0
  2939. package/skills/loki-mode/docs/screenshots/dashboard-tasks.png +0 -0
  2940. package/skills/loki-mode/examples/api-only.md +79 -0
  2941. package/skills/loki-mode/examples/full-stack-demo.md +123 -0
  2942. package/skills/loki-mode/examples/simple-todo-app.md +60 -0
  2943. package/skills/loki-mode/examples/static-landing-page.md +73 -0
  2944. package/skills/loki-mode/examples/todo-app-generated/.loki/CONTINUITY.md +59 -0
  2945. package/skills/loki-mode/examples/todo-app-generated/.loki/queue/completed.json +1 -0
  2946. package/skills/loki-mode/examples/todo-app-generated/.loki/queue/dead-letter.json +1 -0
  2947. package/skills/loki-mode/examples/todo-app-generated/.loki/queue/failed.json +1 -0
  2948. package/skills/loki-mode/examples/todo-app-generated/.loki/queue/in-progress.json +1 -0
  2949. package/skills/loki-mode/examples/todo-app-generated/.loki/queue/pending.json +382 -0
  2950. package/skills/loki-mode/examples/todo-app-generated/.loki/state/orchestrator.json +41 -0
  2951. package/skills/loki-mode/examples/todo-app-generated/E2E_VERIFICATION_REPORT.md +668 -0
  2952. package/skills/loki-mode/examples/todo-app-generated/PRD.md +60 -0
  2953. package/skills/loki-mode/examples/todo-app-generated/TASK_018_COMPLETION.md +229 -0
  2954. package/skills/loki-mode/examples/todo-app-generated/TESTING_DOCUMENTATION.md +327 -0
  2955. package/skills/loki-mode/examples/todo-app-generated/TEST_REPORT.md +201 -0
  2956. package/skills/loki-mode/examples/todo-app-generated/VERIFICATION_SUMMARY.txt +362 -0
  2957. package/skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +2698 -0
  2958. package/skills/loki-mode/examples/todo-app-generated/backend/package.json +26 -0
  2959. package/skills/loki-mode/examples/todo-app-generated/backend/src/db/database.ts +24 -0
  2960. package/skills/loki-mode/examples/todo-app-generated/backend/src/db/db.ts +35 -0
  2961. package/skills/loki-mode/examples/todo-app-generated/backend/src/db/index.ts +2 -0
  2962. package/skills/loki-mode/examples/todo-app-generated/backend/src/db/migrations.ts +31 -0
  2963. package/skills/loki-mode/examples/todo-app-generated/backend/src/db/schema.sql +8 -0
  2964. package/skills/loki-mode/examples/todo-app-generated/backend/src/index.ts +44 -0
  2965. package/skills/loki-mode/examples/todo-app-generated/backend/src/routes/todos.ts +155 -0
  2966. package/skills/loki-mode/examples/todo-app-generated/backend/src/types/index.ts +35 -0
  2967. package/skills/loki-mode/examples/todo-app-generated/backend/todos.db-shm +0 -0
  2968. package/skills/loki-mode/examples/todo-app-generated/backend/todos.db-wal +0 -0
  2969. package/skills/loki-mode/examples/todo-app-generated/backend/tsconfig.json +30 -0
  2970. package/skills/loki-mode/examples/todo-app-generated/frontend/index.html +13 -0
  2971. package/skills/loki-mode/examples/todo-app-generated/frontend/package-lock.json +2014 -0
  2972. package/skills/loki-mode/examples/todo-app-generated/frontend/package.json +26 -0
  2973. package/skills/loki-mode/examples/todo-app-generated/frontend/src/App.css +384 -0
  2974. package/skills/loki-mode/examples/todo-app-generated/frontend/src/App.tsx +81 -0
  2975. package/skills/loki-mode/examples/todo-app-generated/frontend/src/api/todos.ts +57 -0
  2976. package/skills/loki-mode/examples/todo-app-generated/frontend/src/components/ConfirmDialog.tsx +26 -0
  2977. package/skills/loki-mode/examples/todo-app-generated/frontend/src/components/EmptyState.tsx +8 -0
  2978. package/skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoForm.tsx +43 -0
  2979. package/skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoItem.tsx +36 -0
  2980. package/skills/loki-mode/examples/todo-app-generated/frontend/src/components/TodoList.tsx +27 -0
  2981. package/skills/loki-mode/examples/todo-app-generated/frontend/src/hooks/useTodos.ts +81 -0
  2982. package/skills/loki-mode/examples/todo-app-generated/frontend/src/index.css +48 -0
  2983. package/skills/loki-mode/examples/todo-app-generated/frontend/src/main.tsx +10 -0
  2984. package/skills/loki-mode/examples/todo-app-generated/frontend/src/vite-env.d.ts +1 -0
  2985. package/skills/loki-mode/examples/todo-app-generated/frontend/tsconfig.json +23 -0
  2986. package/skills/loki-mode/examples/todo-app-generated/frontend/tsconfig.node.json +10 -0
  2987. package/skills/loki-mode/examples/todo-app-generated/frontend/vite.config.ts +15 -0
  2988. package/skills/loki-mode/integrations/vibe-kanban.md +194 -0
  2989. package/skills/loki-mode/references/advanced-patterns.md +453 -0
  2990. package/skills/loki-mode/references/agent-types.md +188 -0
  2991. package/skills/loki-mode/references/agents.md +1043 -0
  2992. package/skills/loki-mode/references/business-ops.md +550 -0
  2993. package/skills/loki-mode/references/core-workflow.md +275 -0
  2994. package/skills/loki-mode/references/deployment.md +604 -0
  2995. package/skills/loki-mode/references/lab-research-patterns.md +534 -0
  2996. package/skills/loki-mode/references/memory-system.md +444 -0
  2997. package/skills/loki-mode/references/openai-patterns.md +647 -0
  2998. package/skills/loki-mode/references/production-patterns.md +568 -0
  2999. package/skills/loki-mode/references/quality-control.md +437 -0
  3000. package/skills/loki-mode/references/sdlc-phases.md +410 -0
  3001. package/skills/loki-mode/references/task-queue.md +361 -0
  3002. package/skills/loki-mode/references/tool-orchestration.md +691 -0
  3003. package/skills/loki-mode/scripts/export-to-vibe-kanban.sh +178 -0
  3004. package/skills/loki-mode/scripts/loki-wrapper.sh +281 -0
  3005. package/skills/loki-mode/scripts/take-screenshots.js +55 -0
  3006. package/skills/loki-mode/tests/run-all-tests.sh +78 -0
  3007. package/skills/loki-mode/tests/test-agent-timeout.sh +348 -0
  3008. package/skills/loki-mode/tests/test-bootstrap.sh +196 -0
  3009. package/skills/loki-mode/tests/test-circuit-breaker.sh +389 -0
  3010. package/skills/loki-mode/tests/test-state-recovery.sh +393 -0
  3011. package/skills/loki-mode/tests/test-task-queue.sh +396 -0
  3012. package/skills/loki-mode/tests/test-wrapper.sh +314 -0
  3013. package/skills/markdown-novel-viewer/SKILL.md +281 -0
  3014. package/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
  3015. package/skills/markdown-novel-viewer/assets/favicon.png +0 -0
  3016. package/skills/markdown-novel-viewer/assets/novel-theme.css +872 -0
  3017. package/skills/markdown-novel-viewer/assets/reader.js +357 -0
  3018. package/skills/markdown-novel-viewer/assets/template.html +85 -0
  3019. package/skills/markdown-novel-viewer/package-lock.json +146 -0
  3020. package/skills/markdown-novel-viewer/package.json +15 -0
  3021. package/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  3022. package/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
  3023. package/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  3024. package/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  3025. package/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  3026. package/skills/markdown-novel-viewer/scripts/server.cjs +411 -0
  3027. package/skills/markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
  3028. package/skills/markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
  3029. package/skills/markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
  3030. package/skills/markdown-novel-viewer/tests/http-server.test.cjs +271 -0
  3031. package/skills/markdown-novel-viewer/tests/run-tests.cjs +51 -0
  3032. package/skills/markdown-novel-viewer/tests/test-framework.cjs +154 -0
  3033. package/skills/markdown-novel-viewer/tests/verify-xss.cjs +90 -0
  3034. package/skills/marketing-ideas/SKILL.md +221 -0
  3035. package/skills/marketing-psychology/SKILL.md +255 -0
  3036. package/skills/mcp-builder/LICENSE.txt +202 -0
  3037. package/skills/mcp-builder/SKILL.md +236 -0
  3038. package/skills/mcp-builder/reference/evaluation.md +602 -0
  3039. package/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  3040. package/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  3041. package/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  3042. package/skills/mcp-builder/scripts/connections.py +151 -0
  3043. package/skills/mcp-builder/scripts/evaluation.py +373 -0
  3044. package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  3045. package/skills/mcp-builder/scripts/requirements.txt +2 -0
  3046. package/skills/mcp-developer/SKILL.md +94 -0
  3047. package/skills/mcp-developer/references/protocol.md +247 -0
  3048. package/skills/mcp-developer/references/python-sdk.md +370 -0
  3049. package/skills/mcp-developer/references/resources.md +557 -0
  3050. package/skills/mcp-developer/references/tools.md +483 -0
  3051. package/skills/mcp-developer/references/typescript-sdk.md +353 -0
  3052. package/skills/mcp-management/README.md +219 -0
  3053. package/skills/mcp-management/SKILL.md +209 -0
  3054. package/skills/mcp-management/assets/tools.json +3146 -0
  3055. package/skills/mcp-management/references/configuration.md +114 -0
  3056. package/skills/mcp-management/references/gemini-cli-integration.md +215 -0
  3057. package/skills/mcp-management/references/mcp-protocol.md +116 -0
  3058. package/skills/mcp-management/scripts/.env.example +10 -0
  3059. package/skills/mcp-management/scripts/cli.ts +195 -0
  3060. package/skills/mcp-management/scripts/mcp-client.ts +230 -0
  3061. package/skills/mcp-management/scripts/package.json +20 -0
  3062. package/skills/mcp-management/scripts/tsconfig.json +15 -0
  3063. package/skills/media-processing/SKILL.md +358 -0
  3064. package/skills/media-processing/references/ffmpeg-encoding.md +358 -0
  3065. package/skills/media-processing/references/ffmpeg-filters.md +503 -0
  3066. package/skills/media-processing/references/ffmpeg-streaming.md +403 -0
  3067. package/skills/media-processing/references/format-compatibility.md +375 -0
  3068. package/skills/media-processing/references/imagemagick-batch.md +612 -0
  3069. package/skills/media-processing/references/imagemagick-editing.md +623 -0
  3070. package/skills/media-processing/scripts/batch_resize.py +342 -0
  3071. package/skills/media-processing/scripts/media_convert.py +311 -0
  3072. package/skills/media-processing/scripts/requirements.txt +24 -0
  3073. package/skills/media-processing/scripts/tests/.coverage +0 -0
  3074. package/skills/media-processing/scripts/tests/requirements.txt +2 -0
  3075. package/skills/media-processing/scripts/tests/test_batch_resize.py +372 -0
  3076. package/skills/media-processing/scripts/tests/test_media_convert.py +259 -0
  3077. package/skills/media-processing/scripts/tests/test_video_optimize.py +397 -0
  3078. package/skills/media-processing/scripts/video_optimize.py +414 -0
  3079. package/skills/meeting-insights-analyzer/SKILL.md +327 -0
  3080. package/skills/mermaidjs-v11/SKILL.md +115 -0
  3081. package/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  3082. package/skills/mermaidjs-v11/references/configuration.md +232 -0
  3083. package/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  3084. package/skills/mermaidjs-v11/references/examples.md +344 -0
  3085. package/skills/mermaidjs-v11/references/integration.md +310 -0
  3086. package/skills/metasploit-framework/SKILL.md +478 -0
  3087. package/skills/micro-saas-launcher/SKILL.md +212 -0
  3088. package/skills/microservices-architect/SKILL.md +102 -0
  3089. package/skills/microservices-architect/references/communication.md +499 -0
  3090. package/skills/microservices-architect/references/data.md +721 -0
  3091. package/skills/microservices-architect/references/decomposition.md +344 -0
  3092. package/skills/microservices-architect/references/observability.md +805 -0
  3093. package/skills/microservices-architect/references/patterns.md +603 -0
  3094. package/skills/ml-pipeline/SKILL.md +111 -0
  3095. package/skills/ml-pipeline/references/experiment-tracking.md +843 -0
  3096. package/skills/ml-pipeline/references/feature-engineering.md +639 -0
  3097. package/skills/ml-pipeline/references/model-validation.md +989 -0
  3098. package/skills/ml-pipeline/references/pipeline-orchestration.md +938 -0
  3099. package/skills/ml-pipeline/references/training-pipelines.md +793 -0
  3100. package/skills/mobile-design/SKILL.md +284 -0
  3101. package/skills/mobile-design/decision-trees.md +516 -0
  3102. package/skills/mobile-design/mobile-backend.md +491 -0
  3103. package/skills/mobile-design/mobile-color-system.md +420 -0
  3104. package/skills/mobile-design/mobile-debugging.md +122 -0
  3105. package/skills/mobile-design/mobile-design-thinking.md +357 -0
  3106. package/skills/mobile-design/mobile-navigation.md +458 -0
  3107. package/skills/mobile-design/mobile-performance.md +767 -0
  3108. package/skills/mobile-design/mobile-testing.md +356 -0
  3109. package/skills/mobile-design/mobile-typography.md +433 -0
  3110. package/skills/mobile-design/platform-android.md +666 -0
  3111. package/skills/mobile-design/platform-ios.md +561 -0
  3112. package/skills/mobile-design/scripts/mobile_audit.py +670 -0
  3113. package/skills/mobile-design/touch-psychology.md +537 -0
  3114. package/skills/mobile-development/SKILL.md +212 -0
  3115. package/skills/mobile-development/references/mobile-android.md +604 -0
  3116. package/skills/mobile-development/references/mobile-best-practices.md +545 -0
  3117. package/skills/mobile-development/references/mobile-debugging.md +1089 -0
  3118. package/skills/mobile-development/references/mobile-frameworks.md +465 -0
  3119. package/skills/mobile-development/references/mobile-ios.md +496 -0
  3120. package/skills/mobile-development/references/mobile-mindset.md +544 -0
  3121. package/skills/monitoring-expert/SKILL.md +92 -0
  3122. package/skills/monitoring-expert/references/alerting-rules.md +144 -0
  3123. package/skills/monitoring-expert/references/application-profiling.md +334 -0
  3124. package/skills/monitoring-expert/references/capacity-planning.md +347 -0
  3125. package/skills/monitoring-expert/references/dashboards.md +129 -0
  3126. package/skills/monitoring-expert/references/opentelemetry.md +126 -0
  3127. package/skills/monitoring-expert/references/performance-testing.md +272 -0
  3128. package/skills/monitoring-expert/references/prometheus-metrics.md +139 -0
  3129. package/skills/monitoring-expert/references/structured-logging.md +145 -0
  3130. package/skills/moodle-external-api-development/SKILL.md +597 -0
  3131. package/skills/multi-agent-brainstorming/SKILL.md +256 -0
  3132. package/skills/neon-postgres/SKILL.md +56 -0
  3133. package/skills/nestjs-expert/SKILL.md +552 -0
  3134. package/skills/network-101/SKILL.md +342 -0
  3135. package/skills/nextjs-best-practices/SKILL.md +203 -0
  3136. package/skills/nextjs-developer/SKILL.md +97 -0
  3137. package/skills/nextjs-developer/references/app-router.md +314 -0
  3138. package/skills/nextjs-developer/references/data-fetching.md +485 -0
  3139. package/skills/nextjs-developer/references/deployment.md +548 -0
  3140. package/skills/nextjs-developer/references/server-actions.md +465 -0
  3141. package/skills/nextjs-developer/references/server-components.md +387 -0
  3142. package/skills/nextjs-supabase-auth/SKILL.md +56 -0
  3143. package/skills/nodejs-best-practices/SKILL.md +333 -0
  3144. package/skills/nosql-expert/SKILL.md +111 -0
  3145. package/skills/notebooklm/AUTHENTICATION.md +154 -0
  3146. package/skills/notebooklm/CHANGELOG.md +44 -0
  3147. package/skills/notebooklm/LICENSE +21 -0
  3148. package/skills/notebooklm/README.md +412 -0
  3149. package/skills/notebooklm/SKILL.md +269 -0
  3150. package/skills/notebooklm/images/example_notebookchat.png +0 -0
  3151. package/skills/notebooklm/references/api_reference.md +309 -0
  3152. package/skills/notebooklm/references/troubleshooting.md +376 -0
  3153. package/skills/notebooklm/references/usage_patterns.md +338 -0
  3154. package/skills/notebooklm/requirements.txt +10 -0
  3155. package/skills/notebooklm/scripts/__init__.py +81 -0
  3156. package/skills/notebooklm/scripts/ask_question.py +256 -0
  3157. package/skills/notebooklm/scripts/auth_manager.py +358 -0
  3158. package/skills/notebooklm/scripts/browser_session.py +255 -0
  3159. package/skills/notebooklm/scripts/browser_utils.py +107 -0
  3160. package/skills/notebooklm/scripts/cleanup_manager.py +302 -0
  3161. package/skills/notebooklm/scripts/config.py +44 -0
  3162. package/skills/notebooklm/scripts/notebook_manager.py +410 -0
  3163. package/skills/notebooklm/scripts/run.py +102 -0
  3164. package/skills/notebooklm/scripts/setup_environment.py +204 -0
  3165. package/skills/notebooklm-skill/AUTHENTICATION.md +154 -0
  3166. package/skills/notebooklm-skill/SKILL.md +269 -0
  3167. package/skills/notebooklm-skill/references/api_reference.md +309 -0
  3168. package/skills/notebooklm-skill/references/troubleshooting.md +376 -0
  3169. package/skills/notebooklm-skill/references/usage_patterns.md +338 -0
  3170. package/skills/notebooklm-skill/scripts/__init__.py +81 -0
  3171. package/skills/notebooklm-skill/scripts/ask_question.py +256 -0
  3172. package/skills/notebooklm-skill/scripts/auth_manager.py +358 -0
  3173. package/skills/notebooklm-skill/scripts/browser_session.py +255 -0
  3174. package/skills/notebooklm-skill/scripts/browser_utils.py +107 -0
  3175. package/skills/notebooklm-skill/scripts/cleanup_manager.py +302 -0
  3176. package/skills/notebooklm-skill/scripts/config.py +44 -0
  3177. package/skills/notebooklm-skill/scripts/notebook_manager.py +410 -0
  3178. package/skills/notebooklm-skill/scripts/run.py +102 -0
  3179. package/skills/notebooklm-skill/scripts/setup_environment.py +204 -0
  3180. package/skills/notion-template-business/SKILL.md +216 -0
  3181. package/skills/obsidian-clipper-template-creator/SKILL.md +64 -0
  3182. package/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -0
  3183. package/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -0
  3184. package/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -0
  3185. package/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -0
  3186. package/skills/obsidian-clipper-template-creator/references/filters.md +51 -0
  3187. package/skills/obsidian-clipper-template-creator/references/json-schema.md +71 -0
  3188. package/skills/obsidian-clipper-template-creator/references/variables.md +59 -0
  3189. package/skills/onboarding-cro/SKILL.md +433 -0
  3190. package/skills/page-cro/SKILL.md +343 -0
  3191. package/skills/paid-ads/SKILL.md +551 -0
  3192. package/skills/pandas-pro/SKILL.md +96 -0
  3193. package/skills/pandas-pro/references/aggregation-groupby.md +548 -0
  3194. package/skills/pandas-pro/references/data-cleaning.md +503 -0
  3195. package/skills/pandas-pro/references/dataframe-operations.md +423 -0
  3196. package/skills/pandas-pro/references/merging-joining.md +599 -0
  3197. package/skills/pandas-pro/references/performance-optimization.md +600 -0
  3198. package/skills/parallel-agents/SKILL.md +175 -0
  3199. package/skills/payment-integration/README.md +185 -0
  3200. package/skills/payment-integration/SKILL.md +118 -0
  3201. package/skills/payment-integration/references/polar/benefits.md +396 -0
  3202. package/skills/payment-integration/references/polar/best-practices.md +482 -0
  3203. package/skills/payment-integration/references/polar/checkouts.md +266 -0
  3204. package/skills/payment-integration/references/polar/overview.md +184 -0
  3205. package/skills/payment-integration/references/polar/products.md +244 -0
  3206. package/skills/payment-integration/references/polar/sdk.md +436 -0
  3207. package/skills/payment-integration/references/polar/subscriptions.md +340 -0
  3208. package/skills/payment-integration/references/polar/webhooks.md +405 -0
  3209. package/skills/payment-integration/references/sepay/api.md +140 -0
  3210. package/skills/payment-integration/references/sepay/best-practices.md +337 -0
  3211. package/skills/payment-integration/references/sepay/overview.md +138 -0
  3212. package/skills/payment-integration/references/sepay/qr-codes.md +228 -0
  3213. package/skills/payment-integration/references/sepay/sdk.md +213 -0
  3214. package/skills/payment-integration/references/sepay/webhooks.md +208 -0
  3215. package/skills/payment-integration/scripts/.env.example +20 -0
  3216. package/skills/payment-integration/scripts/checkout-helper.js +244 -0
  3217. package/skills/payment-integration/scripts/package.json +17 -0
  3218. package/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
  3219. package/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
  3220. package/skills/payment-integration/scripts/test-scripts.js +237 -0
  3221. package/skills/paywall-upgrade-cro/SKILL.md +570 -0
  3222. package/skills/pdf/SKILL.md +104 -0
  3223. package/skills/pdf-official/LICENSE.txt +30 -0
  3224. package/skills/pdf-official/SKILL.md +294 -0
  3225. package/skills/pdf-official/forms.md +205 -0
  3226. package/skills/pdf-official/reference.md +612 -0
  3227. package/skills/pdf-official/scripts/check_bounding_boxes.py +70 -0
  3228. package/skills/pdf-official/scripts/check_bounding_boxes_test.py +226 -0
  3229. package/skills/pdf-official/scripts/check_fillable_fields.py +12 -0
  3230. package/skills/pdf-official/scripts/convert_pdf_to_images.py +35 -0
  3231. package/skills/pdf-official/scripts/create_validation_image.py +41 -0
  3232. package/skills/pdf-official/scripts/extract_form_field_info.py +152 -0
  3233. package/skills/pdf-official/scripts/fill_fillable_fields.py +114 -0
  3234. package/skills/pdf-official/scripts/fill_pdf_form_with_annotations.py +108 -0
  3235. package/skills/pentest-checklist/SKILL.md +334 -0
  3236. package/skills/pentest-commands/SKILL.md +438 -0
  3237. package/skills/performance-profiling/SKILL.md +143 -0
  3238. package/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  3239. package/skills/personal-tool-builder/SKILL.md +289 -0
  3240. package/skills/php-pro/SKILL.md +95 -0
  3241. package/skills/php-pro/references/async-patterns.md +415 -0
  3242. package/skills/php-pro/references/laravel-patterns.md +380 -0
  3243. package/skills/php-pro/references/modern-php-features.md +326 -0
  3244. package/skills/php-pro/references/symfony-patterns.md +474 -0
  3245. package/skills/php-pro/references/testing-quality.md +469 -0
  3246. package/skills/plaid-fintech/SKILL.md +50 -0
  3247. package/skills/plan-writing/SKILL.md +152 -0
  3248. package/skills/planning/SKILL.md +95 -0
  3249. package/skills/planning/references/codebase-understanding.md +61 -0
  3250. package/skills/planning/references/output-standards.md +87 -0
  3251. package/skills/planning/references/plan-organization.md +115 -0
  3252. package/skills/planning/references/research-phase.md +49 -0
  3253. package/skills/planning/references/solution-design.md +63 -0
  3254. package/skills/planning-with-files/SKILL.md +211 -0
  3255. package/skills/planning-with-files/examples.md +202 -0
  3256. package/skills/planning-with-files/reference.md +218 -0
  3257. package/skills/planning-with-files/scripts/check-complete.sh +44 -0
  3258. package/skills/planning-with-files/scripts/init-session.sh +120 -0
  3259. package/skills/planning-with-files/templates/findings.md +95 -0
  3260. package/skills/planning-with-files/templates/progress.md +114 -0
  3261. package/skills/planning-with-files/templates/task_plan.md +132 -0
  3262. package/skills/plans-kanban/SKILL.md +166 -0
  3263. package/skills/plans-kanban/assets/dashboard-template.html +119 -0
  3264. package/skills/plans-kanban/assets/dashboard.css +1594 -0
  3265. package/skills/plans-kanban/assets/dashboard.js +596 -0
  3266. package/skills/plans-kanban/assets/favicon.png +0 -0
  3267. package/skills/plans-kanban/package-lock.json +123 -0
  3268. package/skills/plans-kanban/package.json +13 -0
  3269. package/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
  3270. package/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
  3271. package/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
  3272. package/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
  3273. package/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
  3274. package/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
  3275. package/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
  3276. package/skills/plans-kanban/scripts/server.cjs +260 -0
  3277. package/skills/playwright-expert/SKILL.md +87 -0
  3278. package/skills/playwright-expert/references/api-mocking.md +143 -0
  3279. package/skills/playwright-expert/references/configuration.md +158 -0
  3280. package/skills/playwright-expert/references/debugging-flaky.md +153 -0
  3281. package/skills/playwright-expert/references/page-object-model.md +155 -0
  3282. package/skills/playwright-expert/references/selectors-locators.md +122 -0
  3283. package/skills/playwright-skill/API_REFERENCE.md +653 -0
  3284. package/skills/playwright-skill/SKILL.md +453 -0
  3285. package/skills/playwright-skill/lib/helpers.js +441 -0
  3286. package/skills/playwright-skill/package.json +26 -0
  3287. package/skills/playwright-skill/run.js +228 -0
  3288. package/skills/podcast-generation/SKILL.md +123 -0
  3289. package/skills/podcast-generation/references/architecture.md +87 -0
  3290. package/skills/podcast-generation/references/code-examples.md +189 -0
  3291. package/skills/podcast-generation/scripts/pcm_to_wav.py +73 -0
  3292. package/skills/popup-cro/SKILL.md +346 -0
  3293. package/skills/postgres-best-practices/AGENTS.md +1490 -0
  3294. package/skills/postgres-best-practices/README.md +119 -0
  3295. package/skills/postgres-best-practices/SKILL.md +57 -0
  3296. package/skills/postgres-best-practices/metadata.json +13 -0
  3297. package/skills/postgres-best-practices/rules/_contributing.md +171 -0
  3298. package/skills/postgres-best-practices/rules/_sections.md +39 -0
  3299. package/skills/postgres-best-practices/rules/_template.md +34 -0
  3300. package/skills/postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  3301. package/skills/postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  3302. package/skills/postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  3303. package/skills/postgres-best-practices/rules/conn-limits.md +44 -0
  3304. package/skills/postgres-best-practices/rules/conn-pooling.md +41 -0
  3305. package/skills/postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  3306. package/skills/postgres-best-practices/rules/data-batch-inserts.md +54 -0
  3307. package/skills/postgres-best-practices/rules/data-n-plus-one.md +53 -0
  3308. package/skills/postgres-best-practices/rules/data-pagination.md +50 -0
  3309. package/skills/postgres-best-practices/rules/data-upsert.md +50 -0
  3310. package/skills/postgres-best-practices/rules/lock-advisory.md +56 -0
  3311. package/skills/postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  3312. package/skills/postgres-best-practices/rules/lock-short-transactions.md +50 -0
  3313. package/skills/postgres-best-practices/rules/lock-skip-locked.md +54 -0
  3314. package/skills/postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  3315. package/skills/postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  3316. package/skills/postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  3317. package/skills/postgres-best-practices/rules/query-composite-indexes.md +44 -0
  3318. package/skills/postgres-best-practices/rules/query-covering-indexes.md +40 -0
  3319. package/skills/postgres-best-practices/rules/query-index-types.md +45 -0
  3320. package/skills/postgres-best-practices/rules/query-missing-indexes.md +43 -0
  3321. package/skills/postgres-best-practices/rules/query-partial-indexes.md +45 -0
  3322. package/skills/postgres-best-practices/rules/schema-data-types.md +46 -0
  3323. package/skills/postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  3324. package/skills/postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  3325. package/skills/postgres-best-practices/rules/schema-partitioning.md +55 -0
  3326. package/skills/postgres-best-practices/rules/schema-primary-keys.md +61 -0
  3327. package/skills/postgres-best-practices/rules/security-privileges.md +54 -0
  3328. package/skills/postgres-best-practices/rules/security-rls-basics.md +50 -0
  3329. package/skills/postgres-best-practices/rules/security-rls-performance.md +57 -0
  3330. package/skills/postgres-pro/SKILL.md +98 -0
  3331. package/skills/postgres-pro/references/extensions.md +407 -0
  3332. package/skills/postgres-pro/references/jsonb.md +324 -0
  3333. package/skills/postgres-pro/references/maintenance.md +484 -0
  3334. package/skills/postgres-pro/references/performance.md +268 -0
  3335. package/skills/postgres-pro/references/replication.md +449 -0
  3336. package/skills/powershell-windows/SKILL.md +167 -0
  3337. package/skills/pptx/SKILL.md +114 -0
  3338. package/skills/pptx-official/LICENSE.txt +30 -0
  3339. package/skills/pptx-official/SKILL.md +484 -0
  3340. package/skills/pptx-official/html2pptx.md +625 -0
  3341. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  3342. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  3343. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  3344. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  3345. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  3346. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  3347. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  3348. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  3349. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  3350. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  3351. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  3352. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  3353. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  3354. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  3355. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  3356. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  3357. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  3358. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  3359. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  3360. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  3361. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  3362. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  3363. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  3364. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  3365. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  3366. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  3367. package/skills/pptx-official/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  3368. package/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  3369. package/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  3370. package/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  3371. package/skills/pptx-official/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  3372. package/skills/pptx-official/ooxml/schemas/mce/mc.xsd +75 -0
  3373. package/skills/pptx-official/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  3374. package/skills/pptx-official/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  3375. package/skills/pptx-official/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  3376. package/skills/pptx-official/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  3377. package/skills/pptx-official/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  3378. package/skills/pptx-official/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  3379. package/skills/pptx-official/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  3380. package/skills/pptx-official/ooxml/scripts/pack.py +159 -0
  3381. package/skills/pptx-official/ooxml/scripts/unpack.py +29 -0
  3382. package/skills/pptx-official/ooxml/scripts/validate.py +69 -0
  3383. package/skills/pptx-official/ooxml/scripts/validation/__init__.py +15 -0
  3384. package/skills/pptx-official/ooxml/scripts/validation/base.py +951 -0
  3385. package/skills/pptx-official/ooxml/scripts/validation/docx.py +274 -0
  3386. package/skills/pptx-official/ooxml/scripts/validation/pptx.py +315 -0
  3387. package/skills/pptx-official/ooxml/scripts/validation/redlining.py +279 -0
  3388. package/skills/pptx-official/ooxml.md +427 -0
  3389. package/skills/pptx-official/scripts/html2pptx.js +979 -0
  3390. package/skills/pptx-official/scripts/inventory.py +1020 -0
  3391. package/skills/pptx-official/scripts/rearrange.py +231 -0
  3392. package/skills/pptx-official/scripts/replace.py +385 -0
  3393. package/skills/pptx-official/scripts/thumbnail.py +450 -0
  3394. package/skills/pricing-strategy/SKILL.md +356 -0
  3395. package/skills/prisma-expert/SKILL.md +355 -0
  3396. package/skills/privilege-escalation-methods/SKILL.md +333 -0
  3397. package/skills/problem-solving/SKILL.md +96 -0
  3398. package/skills/problem-solving/references/attribution.md +69 -0
  3399. package/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  3400. package/skills/problem-solving/references/inversion-exercise.md +91 -0
  3401. package/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  3402. package/skills/problem-solving/references/scale-game.md +95 -0
  3403. package/skills/problem-solving/references/simplification-cascades.md +80 -0
  3404. package/skills/problem-solving/references/when-stuck.md +72 -0
  3405. package/skills/product-manager-toolkit/SKILL.md +351 -0
  3406. package/skills/product-manager-toolkit/references/prd_templates.md +317 -0
  3407. package/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py +441 -0
  3408. package/skills/product-manager-toolkit/scripts/rice_prioritizer.py +296 -0
  3409. package/skills/product-strategist/SKILL.md +26 -0
  3410. package/skills/product-strategist/scripts/okr_cascade_generator.py +478 -0
  3411. package/skills/production-code-audit/SKILL.md +540 -0
  3412. package/skills/programmatic-seo/SKILL.md +351 -0
  3413. package/skills/prompt-caching/SKILL.md +61 -0
  3414. package/skills/prompt-engineer/SKILL.md +93 -0
  3415. package/skills/prompt-engineering/SKILL.md +171 -0
  3416. package/skills/prompt-library/SKILL.md +322 -0
  3417. package/skills/pydantic-models/SKILL.md +58 -0
  3418. package/skills/pydantic-models/assets/template.py +124 -0
  3419. package/skills/python-development/SKILL.md +139 -0
  3420. package/skills/python-patterns/SKILL.md +441 -0
  3421. package/skills/python-pro/SKILL.md +92 -0
  3422. package/skills/python-pro/references/async-patterns.md +359 -0
  3423. package/skills/python-pro/references/packaging.md +463 -0
  3424. package/skills/python-pro/references/standard-library.md +381 -0
  3425. package/skills/python-pro/references/testing.md +407 -0
  3426. package/skills/python-pro/references/type-system.md +293 -0
  3427. package/skills/qa-regression/SKILL.md +337 -0
  3428. package/skills/raffle-winner-picker/SKILL.md +159 -0
  3429. package/skills/rag-architect/SKILL.md +100 -0
  3430. package/skills/rag-architect/references/chunking-strategies.md +881 -0
  3431. package/skills/rag-architect/references/embedding-models.md +564 -0
  3432. package/skills/rag-architect/references/rag-evaluation.md +836 -0
  3433. package/skills/rag-architect/references/retrieval-optimization.md +798 -0
  3434. package/skills/rag-architect/references/vector-databases.md +592 -0
  3435. package/skills/rag-engineer/SKILL.md +90 -0
  3436. package/skills/rag-implementation/SKILL.md +63 -0
  3437. package/skills/rails-expert/SKILL.md +97 -0
  3438. package/skills/rails-expert/references/active-record.md +247 -0
  3439. package/skills/rails-expert/references/api-development.md +404 -0
  3440. package/skills/rails-expert/references/background-jobs.md +275 -0
  3441. package/skills/rails-expert/references/hotwire-turbo.md +231 -0
  3442. package/skills/rails-expert/references/rspec-testing.md +370 -0
  3443. package/skills/react-best-practices/AGENTS.md +2249 -0
  3444. package/skills/react-best-practices/README.md +123 -0
  3445. package/skills/react-best-practices/SKILL.md +121 -0
  3446. package/skills/react-best-practices/metadata.json +15 -0
  3447. package/skills/react-best-practices/rules/_sections.md +46 -0
  3448. package/skills/react-best-practices/rules/_template.md +28 -0
  3449. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  3450. package/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  3451. package/skills/react-best-practices/rules/async-api-routes.md +38 -0
  3452. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  3453. package/skills/react-best-practices/rules/async-dependencies.md +36 -0
  3454. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  3455. package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  3456. package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  3457. package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  3458. package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  3459. package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  3460. package/skills/react-best-practices/rules/bundle-preload.md +50 -0
  3461. package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  3462. package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  3463. package/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  3464. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  3465. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  3466. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  3467. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  3468. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  3469. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  3470. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  3471. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  3472. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  3473. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  3474. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  3475. package/skills/react-best-practices/rules/rendering-activity.md +26 -0
  3476. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  3477. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  3478. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  3479. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  3480. package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  3481. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  3482. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  3483. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  3484. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  3485. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  3486. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  3487. package/skills/react-best-practices/rules/rerender-memo.md +44 -0
  3488. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  3489. package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  3490. package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  3491. package/skills/react-best-practices/rules/server-cache-react.md +26 -0
  3492. package/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  3493. package/skills/react-best-practices/rules/server-serialization.md +38 -0
  3494. package/skills/react-expert/SKILL.md +98 -0
  3495. package/skills/react-expert/references/hooks-patterns.md +165 -0
  3496. package/skills/react-expert/references/migration-class-to-modern.md +1122 -0
  3497. package/skills/react-expert/references/performance.md +171 -0
  3498. package/skills/react-expert/references/react-19-features.md +177 -0
  3499. package/skills/react-expert/references/server-components.md +146 -0
  3500. package/skills/react-expert/references/state-management.md +174 -0
  3501. package/skills/react-expert/references/testing-react.md +177 -0
  3502. package/skills/react-flow-node/SKILL.md +66 -0
  3503. package/skills/react-flow-node/assets/template.tsx +108 -0
  3504. package/skills/react-flow-node/assets/types.template.ts +34 -0
  3505. package/skills/react-native-expert/SKILL.md +88 -0
  3506. package/skills/react-native-expert/references/expo-router.md +190 -0
  3507. package/skills/react-native-expert/references/list-optimization.md +207 -0
  3508. package/skills/react-native-expert/references/platform-handling.md +191 -0
  3509. package/skills/react-native-expert/references/project-structure.md +174 -0
  3510. package/skills/react-native-expert/references/storage-hooks.md +176 -0
  3511. package/skills/react-patterns/SKILL.md +198 -0
  3512. package/skills/react-ui-patterns/SKILL.md +289 -0
  3513. package/skills/receiving-code-review/SKILL.md +213 -0
  3514. package/skills/red-team-tactics/SKILL.md +199 -0
  3515. package/skills/red-team-tools/SKILL.md +310 -0
  3516. package/skills/referral-program/SKILL.md +602 -0
  3517. package/skills/remotion-best-practices/SKILL.md +45 -0
  3518. package/skills/remotion-best-practices/rules/3d.md +86 -0
  3519. package/skills/remotion-best-practices/rules/animations.md +29 -0
  3520. package/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  3521. package/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  3522. package/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  3523. package/skills/remotion-best-practices/rules/assets.md +78 -0
  3524. package/skills/remotion-best-practices/rules/audio.md +172 -0
  3525. package/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  3526. package/skills/remotion-best-practices/rules/can-decode.md +75 -0
  3527. package/skills/remotion-best-practices/rules/charts.md +58 -0
  3528. package/skills/remotion-best-practices/rules/compositions.md +146 -0
  3529. package/skills/remotion-best-practices/rules/display-captions.md +126 -0
  3530. package/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  3531. package/skills/remotion-best-practices/rules/fonts.md +152 -0
  3532. package/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  3533. package/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  3534. package/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  3535. package/skills/remotion-best-practices/rules/gifs.md +138 -0
  3536. package/skills/remotion-best-practices/rules/images.md +130 -0
  3537. package/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
  3538. package/skills/remotion-best-practices/rules/lottie.md +68 -0
  3539. package/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  3540. package/skills/remotion-best-practices/rules/measuring-text.md +143 -0
  3541. package/skills/remotion-best-practices/rules/sequencing.md +106 -0
  3542. package/skills/remotion-best-practices/rules/tailwind.md +11 -0
  3543. package/skills/remotion-best-practices/rules/text-animations.md +20 -0
  3544. package/skills/remotion-best-practices/rules/timing.md +179 -0
  3545. package/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
  3546. package/skills/remotion-best-practices/rules/transitions.md +122 -0
  3547. package/skills/remotion-best-practices/rules/trimming.md +53 -0
  3548. package/skills/remotion-best-practices/rules/videos.md +171 -0
  3549. package/skills/repomix/SKILL.md +275 -0
  3550. package/skills/repomix/references/configuration.md +211 -0
  3551. package/skills/repomix/references/usage-patterns.md +291 -0
  3552. package/skills/repomix/scripts/.coverage +0 -0
  3553. package/skills/repomix/scripts/README.md +179 -0
  3554. package/skills/repomix/scripts/repomix_batch.py +455 -0
  3555. package/skills/repomix/scripts/repos.example.json +15 -0
  3556. package/skills/repomix/scripts/requirements.txt +15 -0
  3557. package/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
  3558. package/skills/requesting-code-review/SKILL.md +105 -0
  3559. package/skills/requesting-code-review/code-reviewer.md +146 -0
  3560. package/skills/research/SKILL.md +191 -0
  3561. package/skills/research-engineer/SKILL.md +135 -0
  3562. package/skills/rust-engineer/SKILL.md +96 -0
  3563. package/skills/rust-engineer/references/async.md +461 -0
  3564. package/skills/rust-engineer/references/error-handling.md +337 -0
  3565. package/skills/rust-engineer/references/ownership.md +281 -0
  3566. package/skills/rust-engineer/references/testing.md +473 -0
  3567. package/skills/rust-engineer/references/traits.md +416 -0
  3568. package/skills/salesforce-developer/SKILL.md +105 -0
  3569. package/skills/salesforce-developer/references/apex-development.md +789 -0
  3570. package/skills/salesforce-developer/references/deployment-devops.md +863 -0
  3571. package/skills/salesforce-developer/references/integration-patterns.md +951 -0
  3572. package/skills/salesforce-developer/references/lightning-web-components.md +908 -0
  3573. package/skills/salesforce-developer/references/soql-sosl.md +683 -0
  3574. package/skills/salesforce-development/SKILL.md +51 -0
  3575. package/skills/scanning-tools/SKILL.md +589 -0
  3576. package/skills/schema-markup/SKILL.md +360 -0
  3577. package/skills/scroll-experience/SKILL.md +263 -0
  3578. package/skills/secure-code-guardian/SKILL.md +93 -0
  3579. package/skills/secure-code-guardian/references/authentication.md +139 -0
  3580. package/skills/secure-code-guardian/references/input-validation.md +149 -0
  3581. package/skills/secure-code-guardian/references/owasp-prevention.md +138 -0
  3582. package/skills/secure-code-guardian/references/security-headers.md +136 -0
  3583. package/skills/secure-code-guardian/references/xss-csrf.md +160 -0
  3584. package/skills/security-reviewer/SKILL.md +94 -0
  3585. package/skills/security-reviewer/references/infrastructure-security.md +271 -0
  3586. package/skills/security-reviewer/references/penetration-testing.md +271 -0
  3587. package/skills/security-reviewer/references/report-template.md +173 -0
  3588. package/skills/security-reviewer/references/sast-tools.md +120 -0
  3589. package/skills/security-reviewer/references/secret-scanning.md +128 -0
  3590. package/skills/security-reviewer/references/vulnerability-patterns.md +155 -0
  3591. package/skills/segment-cdp/SKILL.md +50 -0
  3592. package/skills/senior-architect/SKILL.md +209 -0
  3593. package/skills/senior-architect/references/architecture_patterns.md +103 -0
  3594. package/skills/senior-architect/references/system_design_workflows.md +103 -0
  3595. package/skills/senior-architect/references/tech_decision_guide.md +103 -0
  3596. package/skills/senior-architect/scripts/architecture_diagram_generator.py +114 -0
  3597. package/skills/senior-architect/scripts/dependency_analyzer.py +114 -0
  3598. package/skills/senior-architect/scripts/project_architect.py +114 -0
  3599. package/skills/senior-backend/SKILL.md +209 -0
  3600. package/skills/senior-backend/references/api_design_patterns.md +103 -0
  3601. package/skills/senior-backend/references/backend_security_practices.md +103 -0
  3602. package/skills/senior-backend/references/database_optimization_guide.md +103 -0
  3603. package/skills/senior-backend/scripts/api_load_tester.py +114 -0
  3604. package/skills/senior-backend/scripts/api_scaffolder.py +114 -0
  3605. package/skills/senior-backend/scripts/database_migration_tool.py +114 -0
  3606. package/skills/senior-computer-vision/SKILL.md +226 -0
  3607. package/skills/senior-computer-vision/references/computer_vision_architectures.md +80 -0
  3608. package/skills/senior-computer-vision/references/object_detection_optimization.md +80 -0
  3609. package/skills/senior-computer-vision/references/production_vision_systems.md +80 -0
  3610. package/skills/senior-computer-vision/scripts/dataset_pipeline_builder.py +100 -0
  3611. package/skills/senior-computer-vision/scripts/inference_optimizer.py +100 -0
  3612. package/skills/senior-computer-vision/scripts/vision_model_trainer.py +100 -0
  3613. package/skills/senior-data-engineer/SKILL.md +226 -0
  3614. package/skills/senior-data-engineer/references/data_modeling_patterns.md +80 -0
  3615. package/skills/senior-data-engineer/references/data_pipeline_architecture.md +80 -0
  3616. package/skills/senior-data-engineer/references/dataops_best_practices.md +80 -0
  3617. package/skills/senior-data-engineer/scripts/data_quality_validator.py +100 -0
  3618. package/skills/senior-data-engineer/scripts/etl_performance_optimizer.py +100 -0
  3619. package/skills/senior-data-engineer/scripts/pipeline_orchestrator.py +100 -0
  3620. package/skills/senior-data-scientist/SKILL.md +226 -0
  3621. package/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
  3622. package/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
  3623. package/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
  3624. package/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
  3625. package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
  3626. package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
  3627. package/skills/senior-devops/SKILL.md +209 -0
  3628. package/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
  3629. package/skills/senior-devops/references/deployment_strategies.md +103 -0
  3630. package/skills/senior-devops/references/infrastructure_as_code.md +103 -0
  3631. package/skills/senior-devops/scripts/deployment_manager.py +114 -0
  3632. package/skills/senior-devops/scripts/pipeline_generator.py +114 -0
  3633. package/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
  3634. package/skills/senior-frontend/SKILL.md +209 -0
  3635. package/skills/senior-frontend/references/frontend_best_practices.md +103 -0
  3636. package/skills/senior-frontend/references/nextjs_optimization_guide.md +103 -0
  3637. package/skills/senior-frontend/references/react_patterns.md +103 -0
  3638. package/skills/senior-frontend/scripts/bundle_analyzer.py +114 -0
  3639. package/skills/senior-frontend/scripts/component_generator.py +114 -0
  3640. package/skills/senior-frontend/scripts/frontend_scaffolder.py +114 -0
  3641. package/skills/senior-fullstack/SKILL.md +209 -0
  3642. package/skills/senior-fullstack/references/architecture_patterns.md +103 -0
  3643. package/skills/senior-fullstack/references/development_workflows.md +103 -0
  3644. package/skills/senior-fullstack/references/tech_stack_guide.md +103 -0
  3645. package/skills/senior-fullstack/scripts/code_quality_analyzer.py +114 -0
  3646. package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +114 -0
  3647. package/skills/senior-fullstack/scripts/project_scaffolder.py +114 -0
  3648. package/skills/senior-ml-engineer/SKILL.md +226 -0
  3649. package/skills/senior-ml-engineer/references/llm_integration_guide.md +80 -0
  3650. package/skills/senior-ml-engineer/references/mlops_production_patterns.md +80 -0
  3651. package/skills/senior-ml-engineer/references/rag_system_architecture.md +80 -0
  3652. package/skills/senior-ml-engineer/scripts/ml_monitoring_suite.py +100 -0
  3653. package/skills/senior-ml-engineer/scripts/model_deployment_pipeline.py +100 -0
  3654. package/skills/senior-ml-engineer/scripts/rag_system_builder.py +100 -0
  3655. package/skills/senior-prompt-engineer/SKILL.md +226 -0
  3656. package/skills/senior-prompt-engineer/references/agentic_system_design.md +80 -0
  3657. package/skills/senior-prompt-engineer/references/llm_evaluation_frameworks.md +80 -0
  3658. package/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +80 -0
  3659. package/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +100 -0
  3660. package/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +100 -0
  3661. package/skills/senior-prompt-engineer/scripts/rag_evaluator.py +100 -0
  3662. package/skills/senior-qa/SKILL.md +209 -0
  3663. package/skills/senior-qa/references/qa_best_practices.md +103 -0
  3664. package/skills/senior-qa/references/test_automation_patterns.md +103 -0
  3665. package/skills/senior-qa/references/testing_strategies.md +103 -0
  3666. package/skills/senior-qa/scripts/coverage_analyzer.py +114 -0
  3667. package/skills/senior-qa/scripts/e2e_test_scaffolder.py +114 -0
  3668. package/skills/senior-qa/scripts/test_suite_generator.py +114 -0
  3669. package/skills/senior-secops/SKILL.md +209 -0
  3670. package/skills/senior-secops/references/compliance_requirements.md +103 -0
  3671. package/skills/senior-secops/references/security_standards.md +103 -0
  3672. package/skills/senior-secops/references/vulnerability_management_guide.md +103 -0
  3673. package/skills/senior-secops/scripts/compliance_checker.py +114 -0
  3674. package/skills/senior-secops/scripts/security_scanner.py +114 -0
  3675. package/skills/senior-secops/scripts/vulnerability_assessor.py +114 -0
  3676. package/skills/senior-security/SKILL.md +209 -0
  3677. package/skills/senior-security/references/cryptography_implementation.md +103 -0
  3678. package/skills/senior-security/references/penetration_testing_guide.md +103 -0
  3679. package/skills/senior-security/references/security_architecture_patterns.md +103 -0
  3680. package/skills/senior-security/scripts/pentest_automator.py +114 -0
  3681. package/skills/senior-security/scripts/security_auditor.py +114 -0
  3682. package/skills/senior-security/scripts/threat_modeler.py +114 -0
  3683. package/skills/seo-audit/SKILL.md +487 -0
  3684. package/skills/seo-fundamentals/SKILL.md +173 -0
  3685. package/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  3686. package/skills/sequential-thinking/.env.example +8 -0
  3687. package/skills/sequential-thinking/README.md +189 -0
  3688. package/skills/sequential-thinking/SKILL.md +94 -0
  3689. package/skills/sequential-thinking/package.json +30 -0
  3690. package/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  3691. package/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  3692. package/skills/sequential-thinking/references/core-patterns.md +95 -0
  3693. package/skills/sequential-thinking/references/examples-api.md +88 -0
  3694. package/skills/sequential-thinking/references/examples-architecture.md +94 -0
  3695. package/skills/sequential-thinking/references/examples-debug.md +90 -0
  3696. package/skills/sequential-thinking/scripts/format-thought.js +159 -0
  3697. package/skills/sequential-thinking/scripts/process-thought.js +236 -0
  3698. package/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  3699. package/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  3700. package/skills/server-management/SKILL.md +161 -0
  3701. package/skills/shodan-reconnaissance/SKILL.md +503 -0
  3702. package/skills/shopify-apps/SKILL.md +42 -0
  3703. package/skills/shopify-development/README.md +60 -0
  3704. package/skills/shopify-development/SKILL.md +366 -0
  3705. package/skills/shopify-development/references/app-development.md +578 -0
  3706. package/skills/shopify-development/references/extensions.md +555 -0
  3707. package/skills/shopify-development/references/themes.md +498 -0
  3708. package/skills/shopify-development/scripts/requirements.txt +19 -0
  3709. package/skills/shopify-development/scripts/shopify_graphql.py +428 -0
  3710. package/skills/shopify-development/scripts/shopify_init.py +441 -0
  3711. package/skills/shopify-development/scripts/tests/test_shopify_init.py +379 -0
  3712. package/skills/shopify-expert/SKILL.md +102 -0
  3713. package/skills/shopify-expert/references/app-development.md +897 -0
  3714. package/skills/shopify-expert/references/checkout-customization.md +877 -0
  3715. package/skills/shopify-expert/references/liquid-templating.md +693 -0
  3716. package/skills/shopify-expert/references/performance-optimization.md +725 -0
  3717. package/skills/shopify-expert/references/storefront-api.md +939 -0
  3718. package/skills/signup-flow-cro/SKILL.md +355 -0
  3719. package/skills/skill-creator/LICENSE.txt +202 -0
  3720. package/skills/skill-creator/SKILL.md +356 -0
  3721. package/skills/skill-creator/references/output-patterns.md +82 -0
  3722. package/skills/skill-creator/references/workflows.md +28 -0
  3723. package/skills/skill-creator/scripts/init_skill.py +303 -0
  3724. package/skills/skill-creator/scripts/package_skill.py +110 -0
  3725. package/skills/skill-creator/scripts/quick_validate.py +95 -0
  3726. package/skills/skill-developer/ADVANCED.md +197 -0
  3727. package/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  3728. package/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  3729. package/skills/skill-developer/SKILL.md +426 -0
  3730. package/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  3731. package/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  3732. package/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  3733. package/skills/skill-share/SKILL.md +80 -0
  3734. package/skills/slack-bot-builder/SKILL.md +264 -0
  3735. package/skills/slack-gif-creator/LICENSE.txt +202 -0
  3736. package/skills/slack-gif-creator/SKILL.md +254 -0
  3737. package/skills/slack-gif-creator/core/easing.py +234 -0
  3738. package/skills/slack-gif-creator/core/frame_composer.py +176 -0
  3739. package/skills/slack-gif-creator/core/gif_builder.py +269 -0
  3740. package/skills/slack-gif-creator/core/validators.py +136 -0
  3741. package/skills/slack-gif-creator/requirements.txt +4 -0
  3742. package/skills/smtp-penetration-testing/SKILL.md +500 -0
  3743. package/skills/social-content/SKILL.md +807 -0
  3744. package/skills/software-architecture/SKILL.md +75 -0
  3745. package/skills/spark-engineer/SKILL.md +100 -0
  3746. package/skills/spark-engineer/references/partitioning-caching.md +546 -0
  3747. package/skills/spark-engineer/references/performance-tuning.md +547 -0
  3748. package/skills/spark-engineer/references/rdd-operations.md +602 -0
  3749. package/skills/spark-engineer/references/spark-sql-dataframes.md +477 -0
  3750. package/skills/spark-engineer/references/streaming-patterns.md +789 -0
  3751. package/skills/spec-miner/SKILL.md +88 -0
  3752. package/skills/spec-miner/references/analysis-checklist.md +68 -0
  3753. package/skills/spec-miner/references/analysis-process.md +73 -0
  3754. package/skills/spec-miner/references/ears-format.md +89 -0
  3755. package/skills/spec-miner/references/specification-template.md +103 -0
  3756. package/skills/spring-boot-engineer/SKILL.md +104 -0
  3757. package/skills/spring-boot-engineer/references/cloud.md +501 -0
  3758. package/skills/spring-boot-engineer/references/data.md +384 -0
  3759. package/skills/spring-boot-engineer/references/security.md +462 -0
  3760. package/skills/spring-boot-engineer/references/testing.md +548 -0
  3761. package/skills/spring-boot-engineer/references/web.md +298 -0
  3762. package/skills/sql-injection-testing/SKILL.md +448 -0
  3763. package/skills/sql-pro/SKILL.md +97 -0
  3764. package/skills/sql-pro/references/database-design.md +405 -0
  3765. package/skills/sql-pro/references/dialect-differences.md +422 -0
  3766. package/skills/sql-pro/references/optimization.md +387 -0
  3767. package/skills/sql-pro/references/query-patterns.md +288 -0
  3768. package/skills/sql-pro/references/window-functions.md +331 -0
  3769. package/skills/sqlmap-database-pentesting/SKILL.md +400 -0
  3770. package/skills/sre-engineer/SKILL.md +98 -0
  3771. package/skills/sre-engineer/references/automation-toil.md +495 -0
  3772. package/skills/sre-engineer/references/error-budget-policy.md +337 -0
  3773. package/skills/sre-engineer/references/incident-chaos.md +578 -0
  3774. package/skills/sre-engineer/references/monitoring-alerting.md +427 -0
  3775. package/skills/sre-engineer/references/slo-sli-management.md +241 -0
  3776. package/skills/ssh-penetration-testing/SKILL.md +488 -0
  3777. package/skills/stripe-integration/SKILL.md +69 -0
  3778. package/skills/subagent-driven-development/SKILL.md +240 -0
  3779. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  3780. package/skills/subagent-driven-development/implementer-prompt.md +78 -0
  3781. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  3782. package/skills/swift-expert/SKILL.md +94 -0
  3783. package/skills/swift-expert/references/async-concurrency.md +363 -0
  3784. package/skills/swift-expert/references/memory-performance.md +380 -0
  3785. package/skills/swift-expert/references/protocol-oriented.md +357 -0
  3786. package/skills/swift-expert/references/swiftui-patterns.md +294 -0
  3787. package/skills/swift-expert/references/testing-patterns.md +402 -0
  3788. package/skills/systematic-debugging/CREATION-LOG.md +119 -0
  3789. package/skills/systematic-debugging/SKILL.md +296 -0
  3790. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  3791. package/skills/systematic-debugging/condition-based-waiting.md +115 -0
  3792. package/skills/systematic-debugging/defense-in-depth.md +122 -0
  3793. package/skills/systematic-debugging/find-polluter.sh +63 -0
  3794. package/skills/systematic-debugging/root-cause-tracing.md +169 -0
  3795. package/skills/systematic-debugging/test-academic.md +14 -0
  3796. package/skills/systematic-debugging/test-pressure-1.md +58 -0
  3797. package/skills/systematic-debugging/test-pressure-2.md +68 -0
  3798. package/skills/systematic-debugging/test-pressure-3.md +69 -0
  3799. package/skills/tailwind-patterns/SKILL.md +269 -0
  3800. package/skills/tavily-web/SKILL.md +36 -0
  3801. package/skills/tdd-workflow/SKILL.md +149 -0
  3802. package/skills/telegram-bot-builder/SKILL.md +254 -0
  3803. package/skills/telegram-mini-app/SKILL.md +279 -0
  3804. package/skills/template-skill/SKILL.md +6 -0
  3805. package/skills/terraform-engineer/SKILL.md +97 -0
  3806. package/skills/terraform-engineer/references/best-practices.md +586 -0
  3807. package/skills/terraform-engineer/references/module-patterns.md +300 -0
  3808. package/skills/terraform-engineer/references/providers.md +455 -0
  3809. package/skills/terraform-engineer/references/state-management.md +374 -0
  3810. package/skills/terraform-engineer/references/testing.md +489 -0
  3811. package/skills/test-driven-development/SKILL.md +371 -0
  3812. package/skills/test-driven-development/testing-anti-patterns.md +299 -0
  3813. package/skills/test-fixing/SKILL.md +119 -0
  3814. package/skills/test-master/SKILL.md +104 -0
  3815. package/skills/test-master/references/automation-frameworks.md +297 -0
  3816. package/skills/test-master/references/e2e-testing.md +131 -0
  3817. package/skills/test-master/references/integration-testing.md +123 -0
  3818. package/skills/test-master/references/performance-testing.md +121 -0
  3819. package/skills/test-master/references/qa-methodology.md +250 -0
  3820. package/skills/test-master/references/security-testing.md +130 -0
  3821. package/skills/test-master/references/tdd-iron-laws.md +177 -0
  3822. package/skills/test-master/references/test-reports.md +107 -0
  3823. package/skills/test-master/references/testing-anti-patterns.md +234 -0
  3824. package/skills/test-master/references/unit-testing.md +116 -0
  3825. package/skills/testing-patterns/SKILL.md +259 -0
  3826. package/skills/theme-factory/LICENSE.txt +202 -0
  3827. package/skills/theme-factory/SKILL.md +59 -0
  3828. package/skills/theme-factory/theme-showcase.pdf +0 -0
  3829. package/skills/theme-factory/themes/arctic-frost.md +19 -0
  3830. package/skills/theme-factory/themes/botanical-garden.md +19 -0
  3831. package/skills/theme-factory/themes/desert-rose.md +19 -0
  3832. package/skills/theme-factory/themes/forest-canopy.md +19 -0
  3833. package/skills/theme-factory/themes/golden-hour.md +19 -0
  3834. package/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  3835. package/skills/theme-factory/themes/modern-minimalist.md +19 -0
  3836. package/skills/theme-factory/themes/ocean-depths.md +19 -0
  3837. package/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  3838. package/skills/theme-factory/themes/tech-innovation.md +19 -0
  3839. package/skills/threejs/SKILL.md +89 -0
  3840. package/skills/threejs/references/01-getting-started.md +177 -0
  3841. package/skills/threejs/references/02-loaders.md +169 -0
  3842. package/skills/threejs/references/03-textures.md +170 -0
  3843. package/skills/threejs/references/04-cameras.md +195 -0
  3844. package/skills/threejs/references/05-lights.md +183 -0
  3845. package/skills/threejs/references/06-animations.md +214 -0
  3846. package/skills/threejs/references/07-math.md +260 -0
  3847. package/skills/threejs/references/08-interaction.md +267 -0
  3848. package/skills/threejs/references/09-postprocessing.md +240 -0
  3849. package/skills/threejs/references/10-controls.md +259 -0
  3850. package/skills/threejs/references/11-materials-advanced.md +270 -0
  3851. package/skills/threejs/references/12-performance.md +269 -0
  3852. package/skills/threejs/references/13-node-materials.md +298 -0
  3853. package/skills/threejs/references/14-physics-vr.md +304 -0
  3854. package/skills/threejs/references/15-specialized-loaders.md +333 -0
  3855. package/skills/threejs/references/16-webgpu.md +302 -0
  3856. package/skills/top-web-vulnerabilities/SKILL.md +543 -0
  3857. package/skills/trigger-dev/SKILL.md +67 -0
  3858. package/skills/twilio-communications/SKILL.md +295 -0
  3859. package/skills/typescript-expert/SKILL.md +429 -0
  3860. package/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  3861. package/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  3862. package/skills/typescript-expert/references/utility-types.ts +335 -0
  3863. package/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  3864. package/skills/typescript-pro/SKILL.md +94 -0
  3865. package/skills/typescript-pro/references/advanced-types.md +262 -0
  3866. package/skills/typescript-pro/references/configuration.md +448 -0
  3867. package/skills/typescript-pro/references/patterns.md +487 -0
  3868. package/skills/typescript-pro/references/type-guards.md +355 -0
  3869. package/skills/typescript-pro/references/utility-types.md +332 -0
  3870. package/skills/ui-design-system/SKILL.md +32 -0
  3871. package/skills/ui-design-system/scripts/design_token_generator.py +529 -0
  3872. package/skills/ui-styling/LICENSE.txt +202 -0
  3873. package/skills/ui-styling/SKILL.md +321 -0
  3874. package/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  3875. package/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  3876. package/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  3877. package/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  3878. package/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  3879. package/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  3880. package/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  3881. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  3882. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  3883. package/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  3884. package/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  3885. package/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  3886. package/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  3887. package/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  3888. package/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  3889. package/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  3890. package/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  3891. package/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  3892. package/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  3893. package/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  3894. package/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  3895. package/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  3896. package/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  3897. package/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  3898. package/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  3899. package/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  3900. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  3901. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  3902. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  3903. package/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  3904. package/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  3905. package/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  3906. package/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  3907. package/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  3908. package/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  3909. package/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  3910. package/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  3911. package/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  3912. package/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  3913. package/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  3914. package/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  3915. package/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  3916. package/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  3917. package/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  3918. package/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  3919. package/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  3920. package/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  3921. package/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  3922. package/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  3923. package/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  3924. package/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  3925. package/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  3926. package/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  3927. package/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  3928. package/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  3929. package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  3930. package/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  3931. package/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  3932. package/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  3933. package/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  3934. package/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  3935. package/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  3936. package/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  3937. package/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  3938. package/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  3939. package/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  3940. package/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  3941. package/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  3942. package/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  3943. package/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  3944. package/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  3945. package/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  3946. package/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  3947. package/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  3948. package/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  3949. package/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  3950. package/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  3951. package/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  3952. package/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  3953. package/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  3954. package/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  3955. package/skills/ui-styling/references/canvas-design-system.md +320 -0
  3956. package/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  3957. package/skills/ui-styling/references/shadcn-components.md +424 -0
  3958. package/skills/ui-styling/references/shadcn-theming.md +373 -0
  3959. package/skills/ui-styling/references/tailwind-customization.md +483 -0
  3960. package/skills/ui-styling/references/tailwind-responsive.md +382 -0
  3961. package/skills/ui-styling/references/tailwind-utilities.md +455 -0
  3962. package/skills/ui-styling/scripts/.coverage +0 -0
  3963. package/skills/ui-styling/scripts/requirements.txt +17 -0
  3964. package/skills/ui-styling/scripts/shadcn_add.py +292 -0
  3965. package/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  3966. package/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
  3967. package/skills/ui-styling/scripts/tests/requirements.txt +3 -0
  3968. package/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  3969. package/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  3970. package/skills/ui-ux-pro-max/SKILL.md +351 -0
  3971. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  3972. package/skills/ui-ux-pro-max/data/colors.csv +97 -0
  3973. package/skills/ui-ux-pro-max/data/icons.csv +101 -0
  3974. package/skills/ui-ux-pro-max/data/landing.csv +31 -0
  3975. package/skills/ui-ux-pro-max/data/products.csv +97 -0
  3976. package/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  3977. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  3978. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  3979. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  3980. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  3981. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  3982. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  3983. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  3984. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  3985. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  3986. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  3987. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  3988. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  3989. package/skills/ui-ux-pro-max/data/styles.csv +59 -0
  3990. package/skills/ui-ux-pro-max/data/typography.csv +58 -0
  3991. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  3992. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  3993. package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  3994. package/skills/ui-ux-pro-max/scripts/core.py +257 -0
  3995. package/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  3996. package/skills/ui-ux-pro-max/scripts/search.py +76 -0
  3997. package/skills/upgrading-expo/SKILL.md +22 -0
  3998. package/skills/upstash-qstash/SKILL.md +68 -0
  3999. package/skills/using-git-worktrees/SKILL.md +217 -0
  4000. package/skills/using-superpowers/SKILL.md +87 -0
  4001. package/skills/ux-researcher-designer/SKILL.md +30 -0
  4002. package/skills/ux-researcher-designer/scripts/persona_generator.py +508 -0
  4003. package/skills/vercel-deploy/SKILL.md +22 -0
  4004. package/skills/vercel-deployment/SKILL.md +69 -0
  4005. package/skills/verification-before-completion/SKILL.md +139 -0
  4006. package/skills/video-downloader/SKILL.md +106 -0
  4007. package/skills/viral-generator-builder/SKILL.md +199 -0
  4008. package/skills/voice-agents/SKILL.md +68 -0
  4009. package/skills/voice-ai-development/SKILL.md +302 -0
  4010. package/skills/voice-ai-engine-development/README.md +175 -0
  4011. package/skills/voice-ai-engine-development/SKILL.md +721 -0
  4012. package/skills/voice-ai-engine-development/examples/complete_voice_engine.py +423 -0
  4013. package/skills/voice-ai-engine-development/examples/gemini_agent_example.py +239 -0
  4014. package/skills/voice-ai-engine-development/examples/interrupt_system_example.py +334 -0
  4015. package/skills/voice-ai-engine-development/references/common_pitfalls.md +471 -0
  4016. package/skills/voice-ai-engine-development/references/provider_comparison.md +515 -0
  4017. package/skills/voice-ai-engine-development/templates/base_worker_template.py +193 -0
  4018. package/skills/voice-ai-engine-development/templates/multi_provider_factory_template.py +289 -0
  4019. package/skills/vue-expert/SKILL.md +374 -0
  4020. package/skills/vue-expert/references/component-template.vue +232 -0
  4021. package/skills/vue-expert/references/composables-template.ts +247 -0
  4022. package/skills/vue-expert/references/composition-api-cheatsheet.md +281 -0
  4023. package/skills/vue-expert/references/pinia-store-template.ts +141 -0
  4024. package/skills/vue-expert/scripts/vue_diagnostic.py +144 -0
  4025. package/skills/vue-expert-js/SKILL.md +91 -0
  4026. package/skills/vue-expert-js/references/jsdoc-typing.md +538 -0
  4027. package/skills/vulnerability-scanner/SKILL.md +276 -0
  4028. package/skills/vulnerability-scanner/checklists.md +121 -0
  4029. package/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  4030. package/skills/web-artifacts-builder/LICENSE.txt +202 -0
  4031. package/skills/web-artifacts-builder/SKILL.md +74 -0
  4032. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  4033. package/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  4034. package/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  4035. package/skills/web-design-guidelines/SKILL.md +36 -0
  4036. package/skills/web-frameworks/SKILL.md +324 -0
  4037. package/skills/web-frameworks/references/nextjs-app-router.md +465 -0
  4038. package/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
  4039. package/skills/web-frameworks/references/nextjs-optimization.md +511 -0
  4040. package/skills/web-frameworks/references/nextjs-server-components.md +495 -0
  4041. package/skills/web-frameworks/references/remix-icon-integration.md +603 -0
  4042. package/skills/web-frameworks/references/turborepo-caching.md +551 -0
  4043. package/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
  4044. package/skills/web-frameworks/references/turborepo-setup.md +542 -0
  4045. package/skills/web-frameworks/scripts/.coverage +0 -0
  4046. package/skills/web-frameworks/scripts/__init__.py +0 -0
  4047. package/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  4048. package/skills/web-frameworks/scripts/requirements.txt +16 -0
  4049. package/skills/web-frameworks/scripts/tests/coverage-web.json +1 -0
  4050. package/skills/web-frameworks/scripts/tests/requirements.txt +3 -0
  4051. package/skills/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
  4052. package/skills/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
  4053. package/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  4054. package/skills/web-performance-optimization/SKILL.md +646 -0
  4055. package/skills/webapp-testing/LICENSE.txt +202 -0
  4056. package/skills/webapp-testing/SKILL.md +96 -0
  4057. package/skills/webapp-testing/scripts/with_server.py +106 -0
  4058. package/skills/websocket-engineer/SKILL.md +96 -0
  4059. package/skills/websocket-engineer/references/alternatives.md +391 -0
  4060. package/skills/websocket-engineer/references/patterns.md +400 -0
  4061. package/skills/websocket-engineer/references/protocol.md +195 -0
  4062. package/skills/websocket-engineer/references/scaling.md +333 -0
  4063. package/skills/websocket-engineer/references/security.md +474 -0
  4064. package/skills/windows-privilege-escalation/SKILL.md +496 -0
  4065. package/skills/wireshark-analysis/SKILL.md +497 -0
  4066. package/skills/wordpress-penetration-testing/SKILL.md +485 -0
  4067. package/skills/wordpress-pro/SKILL.md +105 -0
  4068. package/skills/wordpress-pro/references/gutenberg-blocks.md +873 -0
  4069. package/skills/wordpress-pro/references/hooks-filters.md +848 -0
  4070. package/skills/wordpress-pro/references/performance-security.md +1015 -0
  4071. package/skills/wordpress-pro/references/plugin-architecture.md +1044 -0
  4072. package/skills/wordpress-pro/references/theme-development.md +861 -0
  4073. package/skills/workflow-automation/SKILL.md +68 -0
  4074. package/skills/writing-plans/SKILL.md +116 -0
  4075. package/skills/writing-skills/SKILL.md +737 -0
  4076. package/skills/writing-skills/anthropic-best-practices.md +1150 -0
  4077. package/skills/writing-skills/graphviz-conventions.dot +172 -0
  4078. package/skills/writing-skills/persuasion-principles.md +187 -0
  4079. package/skills/writing-skills/render-graphs.js +168 -0
  4080. package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
  4081. package/skills/xlsx/SKILL.md +100 -0
  4082. package/skills/xlsx-official/LICENSE.txt +30 -0
  4083. package/skills/xlsx-official/SKILL.md +289 -0
  4084. package/skills/xlsx-official/recalc.py +178 -0
  4085. package/skills/xss-html-injection/SKILL.md +499 -0
  4086. package/skills/youtube-transcript/SKILL.md +415 -0
  4087. package/skills/zapier-make-patterns/SKILL.md +67 -0
  4088. package/skills/zustand-store/SKILL.md +68 -0
  4089. package/skills/zustand-store/assets/template.ts +117 -0
  4090. package/statusline.cjs +500 -0
  4091. package/statusline.ps1 +307 -0
  4092. package/statusline.sh +237 -0
  4093. package/workflows/development-rules.md +42 -0
  4094. package/workflows/documentation-management.md +121 -0
  4095. package/workflows/orchestration-protocol.md +16 -0
  4096. package/workflows/primary-workflow.md +45 -0
@@ -0,0 +1,2249 @@
1
+ # React Best Practices
2
+
3
+ **Version 0.1.0**
4
+ Vercel Engineering
5
+ January 2026
6
+
7
+ > **Note:**
8
+ > This document is mainly for agents and LLMs to follow when maintaining,
9
+ > generating, or refactoring React and Next.js codebases at Vercel. Humans
10
+ > may also find it useful, but guidance here is optimized for automation
11
+ > and consistency by AI-assisted workflows.
12
+
13
+ ---
14
+
15
+ ## Abstract
16
+
17
+ Comprehensive performance optimization guide for React and Next.js applications, designed for AI agents and LLMs. Contains 40+ rules across 8 categories, prioritized by impact from critical (eliminating waterfalls, reducing bundle size) to incremental (advanced patterns). Each rule includes detailed explanations, real-world examples comparing incorrect vs. correct implementations, and specific impact metrics to guide automated refactoring and code generation.
18
+
19
+ ---
20
+
21
+ ## Table of Contents
22
+
23
+ 1. [Eliminating Waterfalls](#1-eliminating-waterfalls) — **CRITICAL**
24
+ - 1.1 [Defer Await Until Needed](#11-defer-await-until-needed)
25
+ - 1.2 [Dependency-Based Parallelization](#12-dependency-based-parallelization)
26
+ - 1.3 [Prevent Waterfall Chains in API Routes](#13-prevent-waterfall-chains-in-api-routes)
27
+ - 1.4 [Promise.all() for Independent Operations](#14-promiseall-for-independent-operations)
28
+ - 1.5 [Strategic Suspense Boundaries](#15-strategic-suspense-boundaries)
29
+ 2. [Bundle Size Optimization](#2-bundle-size-optimization) — **CRITICAL**
30
+ - 2.1 [Avoid Barrel File Imports](#21-avoid-barrel-file-imports)
31
+ - 2.2 [Conditional Module Loading](#22-conditional-module-loading)
32
+ - 2.3 [Defer Non-Critical Third-Party Libraries](#23-defer-non-critical-third-party-libraries)
33
+ - 2.4 [Dynamic Imports for Heavy Components](#24-dynamic-imports-for-heavy-components)
34
+ - 2.5 [Preload Based on User Intent](#25-preload-based-on-user-intent)
35
+ 3. [Server-Side Performance](#3-server-side-performance) — **HIGH**
36
+ - 3.1 [Cross-Request LRU Caching](#31-cross-request-lru-caching)
37
+ - 3.2 [Minimize Serialization at RSC Boundaries](#32-minimize-serialization-at-rsc-boundaries)
38
+ - 3.3 [Parallel Data Fetching with Component Composition](#33-parallel-data-fetching-with-component-composition)
39
+ - 3.4 [Per-Request Deduplication with React.cache()](#34-per-request-deduplication-with-reactcache)
40
+ - 3.5 [Use after() for Non-Blocking Operations](#35-use-after-for-non-blocking-operations)
41
+ 4. [Client-Side Data Fetching](#4-client-side-data-fetching) — **MEDIUM-HIGH**
42
+ - 4.1 [Deduplicate Global Event Listeners](#41-deduplicate-global-event-listeners)
43
+ - 4.2 [Use SWR for Automatic Deduplication](#42-use-swr-for-automatic-deduplication)
44
+ 5. [Re-render Optimization](#5-re-render-optimization) — **MEDIUM**
45
+ - 5.1 [Defer State Reads to Usage Point](#51-defer-state-reads-to-usage-point)
46
+ - 5.2 [Extract to Memoized Components](#52-extract-to-memoized-components)
47
+ - 5.3 [Narrow Effect Dependencies](#53-narrow-effect-dependencies)
48
+ - 5.4 [Subscribe to Derived State](#54-subscribe-to-derived-state)
49
+ - 5.5 [Use Functional setState Updates](#55-use-functional-setstate-updates)
50
+ - 5.6 [Use Lazy State Initialization](#56-use-lazy-state-initialization)
51
+ - 5.7 [Use Transitions for Non-Urgent Updates](#57-use-transitions-for-non-urgent-updates)
52
+ 6. [Rendering Performance](#6-rendering-performance) — **MEDIUM**
53
+ - 6.1 [Animate SVG Wrapper Instead of SVG Element](#61-animate-svg-wrapper-instead-of-svg-element)
54
+ - 6.2 [CSS content-visibility for Long Lists](#62-css-content-visibility-for-long-lists)
55
+ - 6.3 [Hoist Static JSX Elements](#63-hoist-static-jsx-elements)
56
+ - 6.4 [Optimize SVG Precision](#64-optimize-svg-precision)
57
+ - 6.5 [Prevent Hydration Mismatch Without Flickering](#65-prevent-hydration-mismatch-without-flickering)
58
+ - 6.6 [Use Activity Component for Show/Hide](#66-use-activity-component-for-showhide)
59
+ - 6.7 [Use Explicit Conditional Rendering](#67-use-explicit-conditional-rendering)
60
+ 7. [JavaScript Performance](#7-javascript-performance) — **LOW-MEDIUM**
61
+ - 7.1 [Batch DOM CSS Changes](#71-batch-dom-css-changes)
62
+ - 7.2 [Build Index Maps for Repeated Lookups](#72-build-index-maps-for-repeated-lookups)
63
+ - 7.3 [Cache Property Access in Loops](#73-cache-property-access-in-loops)
64
+ - 7.4 [Cache Repeated Function Calls](#74-cache-repeated-function-calls)
65
+ - 7.5 [Cache Storage API Calls](#75-cache-storage-api-calls)
66
+ - 7.6 [Combine Multiple Array Iterations](#76-combine-multiple-array-iterations)
67
+ - 7.7 [Early Length Check for Array Comparisons](#77-early-length-check-for-array-comparisons)
68
+ - 7.8 [Early Return from Functions](#78-early-return-from-functions)
69
+ - 7.9 [Hoist RegExp Creation](#79-hoist-regexp-creation)
70
+ - 7.10 [Use Loop for Min/Max Instead of Sort](#710-use-loop-for-minmax-instead-of-sort)
71
+ - 7.11 [Use Set/Map for O(1) Lookups](#711-use-setmap-for-o1-lookups)
72
+ - 7.12 [Use toSorted() Instead of sort() for Immutability](#712-use-tosorted-instead-of-sort-for-immutability)
73
+ 8. [Advanced Patterns](#8-advanced-patterns) — **LOW**
74
+ - 8.1 [Store Event Handlers in Refs](#81-store-event-handlers-in-refs)
75
+ - 8.2 [useLatest for Stable Callback Refs](#82-uselatest-for-stable-callback-refs)
76
+
77
+ ---
78
+
79
+ ## 1. Eliminating Waterfalls
80
+
81
+ **Impact: CRITICAL**
82
+
83
+ Waterfalls are the #1 performance killer. Each sequential await adds full network latency. Eliminating them yields the largest gains.
84
+
85
+ ### 1.1 Defer Await Until Needed
86
+
87
+ **Impact: HIGH (avoids blocking unused code paths)**
88
+
89
+ Move `await` operations into the branches where they're actually used to avoid blocking code paths that don't need them.
90
+
91
+ **Incorrect: blocks both branches**
92
+
93
+ ```typescript
94
+ async function handleRequest(userId: string, skipProcessing: boolean) {
95
+ const userData = await fetchUserData(userId)
96
+
97
+ if (skipProcessing) {
98
+ // Returns immediately but still waited for userData
99
+ return { skipped: true }
100
+ }
101
+
102
+ // Only this branch uses userData
103
+ return processUserData(userData)
104
+ }
105
+ ```
106
+
107
+ **Correct: only blocks when needed**
108
+
109
+ ```typescript
110
+ async function handleRequest(userId: string, skipProcessing: boolean) {
111
+ if (skipProcessing) {
112
+ // Returns immediately without waiting
113
+ return { skipped: true }
114
+ }
115
+
116
+ // Fetch only when needed
117
+ const userData = await fetchUserData(userId)
118
+ return processUserData(userData)
119
+ }
120
+ ```
121
+
122
+ **Another example: early return optimization**
123
+
124
+ ```typescript
125
+ // Incorrect: always fetches permissions
126
+ async function updateResource(resourceId: string, userId: string) {
127
+ const permissions = await fetchPermissions(userId)
128
+ const resource = await getResource(resourceId)
129
+
130
+ if (!resource) {
131
+ return { error: 'Not found' }
132
+ }
133
+
134
+ if (!permissions.canEdit) {
135
+ return { error: 'Forbidden' }
136
+ }
137
+
138
+ return await updateResourceData(resource, permissions)
139
+ }
140
+
141
+ // Correct: fetches only when needed
142
+ async function updateResource(resourceId: string, userId: string) {
143
+ const resource = await getResource(resourceId)
144
+
145
+ if (!resource) {
146
+ return { error: 'Not found' }
147
+ }
148
+
149
+ const permissions = await fetchPermissions(userId)
150
+
151
+ if (!permissions.canEdit) {
152
+ return { error: 'Forbidden' }
153
+ }
154
+
155
+ return await updateResourceData(resource, permissions)
156
+ }
157
+ ```
158
+
159
+ This optimization is especially valuable when the skipped branch is frequently taken, or when the deferred operation is expensive.
160
+
161
+ ### 1.2 Dependency-Based Parallelization
162
+
163
+ **Impact: CRITICAL (2-10× improvement)**
164
+
165
+ For operations with partial dependencies, use `better-all` to maximize parallelism. It automatically starts each task at the earliest possible moment.
166
+
167
+ **Incorrect: profile waits for config unnecessarily**
168
+
169
+ ```typescript
170
+ const [user, config] = await Promise.all([
171
+ fetchUser(),
172
+ fetchConfig()
173
+ ])
174
+ const profile = await fetchProfile(user.id)
175
+ ```
176
+
177
+ **Correct: config and profile run in parallel**
178
+
179
+ ```typescript
180
+ import { all } from 'better-all'
181
+
182
+ const { user, config, profile } = await all({
183
+ async user() { return fetchUser() },
184
+ async config() { return fetchConfig() },
185
+ async profile() {
186
+ return fetchProfile((await this.$.user).id)
187
+ }
188
+ })
189
+ ```
190
+
191
+ Reference: [https://github.com/shuding/better-all](https://github.com/shuding/better-all)
192
+
193
+ ### 1.3 Prevent Waterfall Chains in API Routes
194
+
195
+ **Impact: CRITICAL (2-10× improvement)**
196
+
197
+ In API routes and Server Actions, start independent operations immediately, even if you don't await them yet.
198
+
199
+ **Incorrect: config waits for auth, data waits for both**
200
+
201
+ ```typescript
202
+ export async function GET(request: Request) {
203
+ const session = await auth()
204
+ const config = await fetchConfig()
205
+ const data = await fetchData(session.user.id)
206
+ return Response.json({ data, config })
207
+ }
208
+ ```
209
+
210
+ **Correct: auth and config start immediately**
211
+
212
+ ```typescript
213
+ export async function GET(request: Request) {
214
+ const sessionPromise = auth()
215
+ const configPromise = fetchConfig()
216
+ const session = await sessionPromise
217
+ const [config, data] = await Promise.all([
218
+ configPromise,
219
+ fetchData(session.user.id)
220
+ ])
221
+ return Response.json({ data, config })
222
+ }
223
+ ```
224
+
225
+ For operations with more complex dependency chains, use `better-all` to automatically maximize parallelism (see Dependency-Based Parallelization).
226
+
227
+ ### 1.4 Promise.all() for Independent Operations
228
+
229
+ **Impact: CRITICAL (2-10× improvement)**
230
+
231
+ When async operations have no interdependencies, execute them concurrently using `Promise.all()`.
232
+
233
+ **Incorrect: sequential execution, 3 round trips**
234
+
235
+ ```typescript
236
+ const user = await fetchUser()
237
+ const posts = await fetchPosts()
238
+ const comments = await fetchComments()
239
+ ```
240
+
241
+ **Correct: parallel execution, 1 round trip**
242
+
243
+ ```typescript
244
+ const [user, posts, comments] = await Promise.all([
245
+ fetchUser(),
246
+ fetchPosts(),
247
+ fetchComments()
248
+ ])
249
+ ```
250
+
251
+ ### 1.5 Strategic Suspense Boundaries
252
+
253
+ **Impact: HIGH (faster initial paint)**
254
+
255
+ Instead of awaiting data in async components before returning JSX, use Suspense boundaries to show the wrapper UI faster while data loads.
256
+
257
+ **Incorrect: wrapper blocked by data fetching**
258
+
259
+ ```tsx
260
+ async function Page() {
261
+ const data = await fetchData() // Blocks entire page
262
+
263
+ return (
264
+ <div>
265
+ <div>Sidebar</div>
266
+ <div>Header</div>
267
+ <div>
268
+ <DataDisplay data={data} />
269
+ </div>
270
+ <div>Footer</div>
271
+ </div>
272
+ )
273
+ }
274
+ ```
275
+
276
+ The entire layout waits for data even though only the middle section needs it.
277
+
278
+ **Correct: wrapper shows immediately, data streams in**
279
+
280
+ ```tsx
281
+ function Page() {
282
+ return (
283
+ <div>
284
+ <div>Sidebar</div>
285
+ <div>Header</div>
286
+ <div>
287
+ <Suspense fallback={<Skeleton />}>
288
+ <DataDisplay />
289
+ </Suspense>
290
+ </div>
291
+ <div>Footer</div>
292
+ </div>
293
+ )
294
+ }
295
+
296
+ async function DataDisplay() {
297
+ const data = await fetchData() // Only blocks this component
298
+ return <div>{data.content}</div>
299
+ }
300
+ ```
301
+
302
+ Sidebar, Header, and Footer render immediately. Only DataDisplay waits for data.
303
+
304
+ **Alternative: share promise across components**
305
+
306
+ ```tsx
307
+ function Page() {
308
+ // Start fetch immediately, but don't await
309
+ const dataPromise = fetchData()
310
+
311
+ return (
312
+ <div>
313
+ <div>Sidebar</div>
314
+ <div>Header</div>
315
+ <Suspense fallback={<Skeleton />}>
316
+ <DataDisplay dataPromise={dataPromise} />
317
+ <DataSummary dataPromise={dataPromise} />
318
+ </Suspense>
319
+ <div>Footer</div>
320
+ </div>
321
+ )
322
+ }
323
+
324
+ function DataDisplay({ dataPromise }: { dataPromise: Promise<Data> }) {
325
+ const data = use(dataPromise) // Unwraps the promise
326
+ return <div>{data.content}</div>
327
+ }
328
+
329
+ function DataSummary({ dataPromise }: { dataPromise: Promise<Data> }) {
330
+ const data = use(dataPromise) // Reuses the same promise
331
+ return <div>{data.summary}</div>
332
+ }
333
+ ```
334
+
335
+ Both components share the same promise, so only one fetch occurs. Layout renders immediately while both components wait together.
336
+
337
+ **When NOT to use this pattern:**
338
+
339
+ - Critical data needed for layout decisions (affects positioning)
340
+
341
+ - SEO-critical content above the fold
342
+
343
+ - Small, fast queries where suspense overhead isn't worth it
344
+
345
+ - When you want to avoid layout shift (loading → content jump)
346
+
347
+ **Trade-off:** Faster initial paint vs potential layout shift. Choose based on your UX priorities.
348
+
349
+ ---
350
+
351
+ ## 2. Bundle Size Optimization
352
+
353
+ **Impact: CRITICAL**
354
+
355
+ Reducing initial bundle size improves Time to Interactive and Largest Contentful Paint.
356
+
357
+ ### 2.1 Avoid Barrel File Imports
358
+
359
+ **Impact: CRITICAL (200-800ms import cost, slow builds)**
360
+
361
+ Import directly from source files instead of barrel files to avoid loading thousands of unused modules. **Barrel files** are entry points that re-export multiple modules (e.g., `index.js` that does `export * from './module'`).
362
+
363
+ Popular icon and component libraries can have **up to 10,000 re-exports** in their entry file. For many React packages, **it takes 200-800ms just to import them**, affecting both development speed and production cold starts.
364
+
365
+ **Why tree-shaking doesn't help:** When a library is marked as external (not bundled), the bundler can't optimize it. If you bundle it to enable tree-shaking, builds become substantially slower analyzing the entire module graph.
366
+
367
+ **Incorrect: imports entire library**
368
+
369
+ ```tsx
370
+ import { Check, X, Menu } from 'lucide-react'
371
+ // Loads 1,583 modules, takes ~2.8s extra in dev
372
+ // Runtime cost: 200-800ms on every cold start
373
+
374
+ import { Button, TextField } from '@mui/material'
375
+ // Loads 2,225 modules, takes ~4.2s extra in dev
376
+ ```
377
+
378
+ **Correct: imports only what you need**
379
+
380
+ ```tsx
381
+ import Check from 'lucide-react/dist/esm/icons/check'
382
+ import X from 'lucide-react/dist/esm/icons/x'
383
+ import Menu from 'lucide-react/dist/esm/icons/menu'
384
+ // Loads only 3 modules (~2KB vs ~1MB)
385
+
386
+ import Button from '@mui/material/Button'
387
+ import TextField from '@mui/material/TextField'
388
+ // Loads only what you use
389
+ ```
390
+
391
+ **Alternative: Next.js 13.5+**
392
+
393
+ ```js
394
+ // next.config.js - use optimizePackageImports
395
+ module.exports = {
396
+ experimental: {
397
+ optimizePackageImports: ['lucide-react', '@mui/material']
398
+ }
399
+ }
400
+
401
+ // Then you can keep the ergonomic barrel imports:
402
+ import { Check, X, Menu } from 'lucide-react'
403
+ // Automatically transformed to direct imports at build time
404
+ ```
405
+
406
+ Direct imports provide 15-70% faster dev boot, 28% faster builds, 40% faster cold starts, and significantly faster HMR.
407
+
408
+ Libraries commonly affected: `lucide-react`, `@mui/material`, `@mui/icons-material`, `@tabler/icons-react`, `react-icons`, `@headlessui/react`, `@radix-ui/react-*`, `lodash`, `ramda`, `date-fns`, `rxjs`, `react-use`.
409
+
410
+ Reference: [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
411
+
412
+ ### 2.2 Conditional Module Loading
413
+
414
+ **Impact: HIGH (loads large data only when needed)**
415
+
416
+ Load large data or modules only when a feature is activated.
417
+
418
+ **Example: lazy-load animation frames**
419
+
420
+ ```tsx
421
+ function AnimationPlayer({ enabled }: { enabled: boolean }) {
422
+ const [frames, setFrames] = useState<Frame[] | null>(null)
423
+
424
+ useEffect(() => {
425
+ if (enabled && !frames && typeof window !== 'undefined') {
426
+ import('./animation-frames.js')
427
+ .then(mod => setFrames(mod.frames))
428
+ .catch(() => setEnabled(false))
429
+ }
430
+ }, [enabled, frames])
431
+
432
+ if (!frames) return <Skeleton />
433
+ return <Canvas frames={frames} />
434
+ }
435
+ ```
436
+
437
+ The `typeof window !== 'undefined'` check prevents bundling this module for SSR, optimizing server bundle size and build speed.
438
+
439
+ ### 2.3 Defer Non-Critical Third-Party Libraries
440
+
441
+ **Impact: MEDIUM (loads after hydration)**
442
+
443
+ Analytics, logging, and error tracking don't block user interaction. Load them after hydration.
444
+
445
+ **Incorrect: blocks initial bundle**
446
+
447
+ ```tsx
448
+ import { Analytics } from '@vercel/analytics/react'
449
+
450
+ export default function RootLayout({ children }) {
451
+ return (
452
+ <html>
453
+ <body>
454
+ {children}
455
+ <Analytics />
456
+ </body>
457
+ </html>
458
+ )
459
+ }
460
+ ```
461
+
462
+ **Correct: loads after hydration**
463
+
464
+ ```tsx
465
+ import dynamic from 'next/dynamic'
466
+
467
+ const Analytics = dynamic(
468
+ () => import('@vercel/analytics/react').then(m => m.Analytics),
469
+ { ssr: false }
470
+ )
471
+
472
+ export default function RootLayout({ children }) {
473
+ return (
474
+ <html>
475
+ <body>
476
+ {children}
477
+ <Analytics />
478
+ </body>
479
+ </html>
480
+ )
481
+ }
482
+ ```
483
+
484
+ ### 2.4 Dynamic Imports for Heavy Components
485
+
486
+ **Impact: CRITICAL (directly affects TTI and LCP)**
487
+
488
+ Use `next/dynamic` to lazy-load large components not needed on initial render.
489
+
490
+ **Incorrect: Monaco bundles with main chunk ~300KB**
491
+
492
+ ```tsx
493
+ import { MonacoEditor } from './monaco-editor'
494
+
495
+ function CodePanel({ code }: { code: string }) {
496
+ return <MonacoEditor value={code} />
497
+ }
498
+ ```
499
+
500
+ **Correct: Monaco loads on demand**
501
+
502
+ ```tsx
503
+ import dynamic from 'next/dynamic'
504
+
505
+ const MonacoEditor = dynamic(
506
+ () => import('./monaco-editor').then(m => m.MonacoEditor),
507
+ { ssr: false }
508
+ )
509
+
510
+ function CodePanel({ code }: { code: string }) {
511
+ return <MonacoEditor value={code} />
512
+ }
513
+ ```
514
+
515
+ ### 2.5 Preload Based on User Intent
516
+
517
+ **Impact: MEDIUM (reduces perceived latency)**
518
+
519
+ Preload heavy bundles before they're needed to reduce perceived latency.
520
+
521
+ **Example: preload on hover/focus**
522
+
523
+ ```tsx
524
+ function EditorButton({ onClick }: { onClick: () => void }) {
525
+ const preload = () => {
526
+ if (typeof window !== 'undefined') {
527
+ void import('./monaco-editor')
528
+ }
529
+ }
530
+
531
+ return (
532
+ <button
533
+ onMouseEnter={preload}
534
+ onFocus={preload}
535
+ onClick={onClick}
536
+ >
537
+ Open Editor
538
+ </button>
539
+ )
540
+ }
541
+ ```
542
+
543
+ **Example: preload when feature flag is enabled**
544
+
545
+ ```tsx
546
+ function FlagsProvider({ children, flags }: Props) {
547
+ useEffect(() => {
548
+ if (flags.editorEnabled && typeof window !== 'undefined') {
549
+ void import('./monaco-editor').then(mod => mod.init())
550
+ }
551
+ }, [flags.editorEnabled])
552
+
553
+ return <FlagsContext.Provider value={flags}>
554
+ {children}
555
+ </FlagsContext.Provider>
556
+ }
557
+ ```
558
+
559
+ The `typeof window !== 'undefined'` check prevents bundling preloaded modules for SSR, optimizing server bundle size and build speed.
560
+
561
+ ---
562
+
563
+ ## 3. Server-Side Performance
564
+
565
+ **Impact: HIGH**
566
+
567
+ Optimizing server-side rendering and data fetching eliminates server-side waterfalls and reduces response times.
568
+
569
+ ### 3.1 Cross-Request LRU Caching
570
+
571
+ **Impact: HIGH (caches across requests)**
572
+
573
+ `React.cache()` only works within one request. For data shared across sequential requests (user clicks button A then button B), use an LRU cache.
574
+
575
+ **Implementation:**
576
+
577
+ ```typescript
578
+ import { LRUCache } from 'lru-cache'
579
+
580
+ const cache = new LRUCache<string, any>({
581
+ max: 1000,
582
+ ttl: 5 * 60 * 1000 // 5 minutes
583
+ })
584
+
585
+ export async function getUser(id: string) {
586
+ const cached = cache.get(id)
587
+ if (cached) return cached
588
+
589
+ const user = await db.user.findUnique({ where: { id } })
590
+ cache.set(id, user)
591
+ return user
592
+ }
593
+
594
+ // Request 1: DB query, result cached
595
+ // Request 2: cache hit, no DB query
596
+ ```
597
+
598
+ Use when sequential user actions hit multiple endpoints needing the same data within seconds.
599
+
600
+ **With Vercel's [Fluid Compute](https://vercel.com/docs/fluid-compute):** LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests without needing external storage like Redis.
601
+
602
+ **In traditional serverless:** Each invocation runs in isolation, so consider Redis for cross-process caching.
603
+
604
+ Reference: [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
605
+
606
+ ### 3.2 Minimize Serialization at RSC Boundaries
607
+
608
+ **Impact: HIGH (reduces data transfer size)**
609
+
610
+ The React Server/Client boundary serializes all object properties into strings and embeds them in the HTML response and subsequent RSC requests. This serialized data directly impacts page weight and load time, so **size matters a lot**. Only pass fields that the client actually uses.
611
+
612
+ **Incorrect: serializes all 50 fields**
613
+
614
+ ```tsx
615
+ async function Page() {
616
+ const user = await fetchUser() // 50 fields
617
+ return <Profile user={user} />
618
+ }
619
+
620
+ 'use client'
621
+ function Profile({ user }: { user: User }) {
622
+ return <div>{user.name}</div> // uses 1 field
623
+ }
624
+ ```
625
+
626
+ **Correct: serializes only 1 field**
627
+
628
+ ```tsx
629
+ async function Page() {
630
+ const user = await fetchUser()
631
+ return <Profile name={user.name} />
632
+ }
633
+
634
+ 'use client'
635
+ function Profile({ name }: { name: string }) {
636
+ return <div>{name}</div>
637
+ }
638
+ ```
639
+
640
+ ### 3.3 Parallel Data Fetching with Component Composition
641
+
642
+ **Impact: CRITICAL (eliminates server-side waterfalls)**
643
+
644
+ React Server Components execute sequentially within a tree. Restructure with composition to parallelize data fetching.
645
+
646
+ **Incorrect: Sidebar waits for Page's fetch to complete**
647
+
648
+ ```tsx
649
+ export default async function Page() {
650
+ const header = await fetchHeader()
651
+ return (
652
+ <div>
653
+ <div>{header}</div>
654
+ <Sidebar />
655
+ </div>
656
+ )
657
+ }
658
+
659
+ async function Sidebar() {
660
+ const items = await fetchSidebarItems()
661
+ return <nav>{items.map(renderItem)}</nav>
662
+ }
663
+ ```
664
+
665
+ **Correct: both fetch simultaneously**
666
+
667
+ ```tsx
668
+ async function Header() {
669
+ const data = await fetchHeader()
670
+ return <div>{data}</div>
671
+ }
672
+
673
+ async function Sidebar() {
674
+ const items = await fetchSidebarItems()
675
+ return <nav>{items.map(renderItem)}</nav>
676
+ }
677
+
678
+ export default function Page() {
679
+ return (
680
+ <div>
681
+ <Header />
682
+ <Sidebar />
683
+ </div>
684
+ )
685
+ }
686
+ ```
687
+
688
+ **Alternative with children prop:**
689
+
690
+ ```tsx
691
+ async function Layout({ children }: { children: ReactNode }) {
692
+ const header = await fetchHeader()
693
+ return (
694
+ <div>
695
+ <div>{header}</div>
696
+ {children}
697
+ </div>
698
+ )
699
+ }
700
+
701
+ async function Sidebar() {
702
+ const items = await fetchSidebarItems()
703
+ return <nav>{items.map(renderItem)}</nav>
704
+ }
705
+
706
+ export default function Page() {
707
+ return (
708
+ <Layout>
709
+ <Sidebar />
710
+ </Layout>
711
+ )
712
+ }
713
+ ```
714
+
715
+ ### 3.4 Per-Request Deduplication with React.cache()
716
+
717
+ **Impact: MEDIUM (deduplicates within request)**
718
+
719
+ Use `React.cache()` for server-side request deduplication. Authentication and database queries benefit most.
720
+
721
+ **Usage:**
722
+
723
+ ```typescript
724
+ import { cache } from 'react'
725
+
726
+ export const getCurrentUser = cache(async () => {
727
+ const session = await auth()
728
+ if (!session?.user?.id) return null
729
+ return await db.user.findUnique({
730
+ where: { id: session.user.id }
731
+ })
732
+ })
733
+ ```
734
+
735
+ Within a single request, multiple calls to `getCurrentUser()` execute the query only once.
736
+
737
+ ### 3.5 Use after() for Non-Blocking Operations
738
+
739
+ **Impact: MEDIUM (faster response times)**
740
+
741
+ Use Next.js's `after()` to schedule work that should execute after a response is sent. This prevents logging, analytics, and other side effects from blocking the response.
742
+
743
+ **Incorrect: blocks response**
744
+
745
+ ```tsx
746
+ import { logUserAction } from '@/app/utils'
747
+
748
+ export async function POST(request: Request) {
749
+ // Perform mutation
750
+ await updateDatabase(request)
751
+
752
+ // Logging blocks the response
753
+ const userAgent = request.headers.get('user-agent') || 'unknown'
754
+ await logUserAction({ userAgent })
755
+
756
+ return new Response(JSON.stringify({ status: 'success' }), {
757
+ status: 200,
758
+ headers: { 'Content-Type': 'application/json' }
759
+ })
760
+ }
761
+ ```
762
+
763
+ **Correct: non-blocking**
764
+
765
+ ```tsx
766
+ import { after } from 'next/server'
767
+ import { headers, cookies } from 'next/headers'
768
+ import { logUserAction } from '@/app/utils'
769
+
770
+ export async function POST(request: Request) {
771
+ // Perform mutation
772
+ await updateDatabase(request)
773
+
774
+ // Log after response is sent
775
+ after(async () => {
776
+ const userAgent = (await headers()).get('user-agent') || 'unknown'
777
+ const sessionCookie = (await cookies()).get('session-id')?.value || 'anonymous'
778
+
779
+ logUserAction({ sessionCookie, userAgent })
780
+ })
781
+
782
+ return new Response(JSON.stringify({ status: 'success' }), {
783
+ status: 200,
784
+ headers: { 'Content-Type': 'application/json' }
785
+ })
786
+ }
787
+ ```
788
+
789
+ The response is sent immediately while logging happens in the background.
790
+
791
+ **Common use cases:**
792
+
793
+ - Analytics tracking
794
+
795
+ - Audit logging
796
+
797
+ - Sending notifications
798
+
799
+ - Cache invalidation
800
+
801
+ - Cleanup tasks
802
+
803
+ **Important notes:**
804
+
805
+ - `after()` runs even if the response fails or redirects
806
+
807
+ - Works in Server Actions, Route Handlers, and Server Components
808
+
809
+ Reference: [https://nextjs.org/docs/app/api-reference/functions/after](https://nextjs.org/docs/app/api-reference/functions/after)
810
+
811
+ ---
812
+
813
+ ## 4. Client-Side Data Fetching
814
+
815
+ **Impact: MEDIUM-HIGH**
816
+
817
+ Automatic deduplication and efficient data fetching patterns reduce redundant network requests.
818
+
819
+ ### 4.1 Deduplicate Global Event Listeners
820
+
821
+ **Impact: LOW (single listener for N components)**
822
+
823
+ Use `useSWRSubscription()` to share global event listeners across component instances.
824
+
825
+ **Incorrect: N instances = N listeners**
826
+
827
+ ```tsx
828
+ function useKeyboardShortcut(key: string, callback: () => void) {
829
+ useEffect(() => {
830
+ const handler = (e: KeyboardEvent) => {
831
+ if (e.metaKey && e.key === key) {
832
+ callback()
833
+ }
834
+ }
835
+ window.addEventListener('keydown', handler)
836
+ return () => window.removeEventListener('keydown', handler)
837
+ }, [key, callback])
838
+ }
839
+ ```
840
+
841
+ When using the `useKeyboardShortcut` hook multiple times, each instance will register a new listener.
842
+
843
+ **Correct: N instances = 1 listener**
844
+
845
+ ```tsx
846
+ import useSWRSubscription from 'swr/subscription'
847
+
848
+ // Module-level Map to track callbacks per key
849
+ const keyCallbacks = new Map<string, Set<() => void>>()
850
+
851
+ function useKeyboardShortcut(key: string, callback: () => void) {
852
+ // Register this callback in the Map
853
+ useEffect(() => {
854
+ if (!keyCallbacks.has(key)) {
855
+ keyCallbacks.set(key, new Set())
856
+ }
857
+ keyCallbacks.get(key)!.add(callback)
858
+
859
+ return () => {
860
+ const set = keyCallbacks.get(key)
861
+ if (set) {
862
+ set.delete(callback)
863
+ if (set.size === 0) {
864
+ keyCallbacks.delete(key)
865
+ }
866
+ }
867
+ }
868
+ }, [key, callback])
869
+
870
+ useSWRSubscription('global-keydown', () => {
871
+ const handler = (e: KeyboardEvent) => {
872
+ if (e.metaKey && keyCallbacks.has(e.key)) {
873
+ keyCallbacks.get(e.key)!.forEach(cb => cb())
874
+ }
875
+ }
876
+ window.addEventListener('keydown', handler)
877
+ return () => window.removeEventListener('keydown', handler)
878
+ })
879
+ }
880
+
881
+ function Profile() {
882
+ // Multiple shortcuts will share the same listener
883
+ useKeyboardShortcut('p', () => { /* ... */ })
884
+ useKeyboardShortcut('k', () => { /* ... */ })
885
+ // ...
886
+ }
887
+ ```
888
+
889
+ ### 4.2 Use SWR for Automatic Deduplication
890
+
891
+ **Impact: MEDIUM-HIGH (automatic deduplication)**
892
+
893
+ SWR enables request deduplication, caching, and revalidation across component instances.
894
+
895
+ **Incorrect: no deduplication, each instance fetches**
896
+
897
+ ```tsx
898
+ function UserList() {
899
+ const [users, setUsers] = useState([])
900
+ useEffect(() => {
901
+ fetch('/api/users')
902
+ .then(r => r.json())
903
+ .then(setUsers)
904
+ }, [])
905
+ }
906
+ ```
907
+
908
+ **Correct: multiple instances share one request**
909
+
910
+ ```tsx
911
+ import useSWR from 'swr'
912
+
913
+ function UserList() {
914
+ const { data: users } = useSWR('/api/users', fetcher)
915
+ }
916
+ ```
917
+
918
+ **For immutable data:**
919
+
920
+ ```tsx
921
+ import { useImmutableSWR } from '@/lib/swr'
922
+
923
+ function StaticContent() {
924
+ const { data } = useImmutableSWR('/api/config', fetcher)
925
+ }
926
+ ```
927
+
928
+ **For mutations:**
929
+
930
+ ```tsx
931
+ import { useSWRMutation } from 'swr/mutation'
932
+
933
+ function UpdateButton() {
934
+ const { trigger } = useSWRMutation('/api/user', updateUser)
935
+ return <button onClick={() => trigger()}>Update</button>
936
+ }
937
+ ```
938
+
939
+ Reference: [https://swr.vercel.app](https://swr.vercel.app)
940
+
941
+ ---
942
+
943
+ ## 5. Re-render Optimization
944
+
945
+ **Impact: MEDIUM**
946
+
947
+ Reducing unnecessary re-renders minimizes wasted computation and improves UI responsiveness.
948
+
949
+ ### 5.1 Defer State Reads to Usage Point
950
+
951
+ **Impact: MEDIUM (avoids unnecessary subscriptions)**
952
+
953
+ Don't subscribe to dynamic state (searchParams, localStorage) if you only read it inside callbacks.
954
+
955
+ **Incorrect: subscribes to all searchParams changes**
956
+
957
+ ```tsx
958
+ function ShareButton({ chatId }: { chatId: string }) {
959
+ const searchParams = useSearchParams()
960
+
961
+ const handleShare = () => {
962
+ const ref = searchParams.get('ref')
963
+ shareChat(chatId, { ref })
964
+ }
965
+
966
+ return <button onClick={handleShare}>Share</button>
967
+ }
968
+ ```
969
+
970
+ **Correct: reads on demand, no subscription**
971
+
972
+ ```tsx
973
+ function ShareButton({ chatId }: { chatId: string }) {
974
+ const handleShare = () => {
975
+ const params = new URLSearchParams(window.location.search)
976
+ const ref = params.get('ref')
977
+ shareChat(chatId, { ref })
978
+ }
979
+
980
+ return <button onClick={handleShare}>Share</button>
981
+ }
982
+ ```
983
+
984
+ ### 5.2 Extract to Memoized Components
985
+
986
+ **Impact: MEDIUM (enables early returns)**
987
+
988
+ Extract expensive work into memoized components to enable early returns before computation.
989
+
990
+ **Incorrect: computes avatar even when loading**
991
+
992
+ ```tsx
993
+ function Profile({ user, loading }: Props) {
994
+ const avatar = useMemo(() => {
995
+ const id = computeAvatarId(user)
996
+ return <Avatar id={id} />
997
+ }, [user])
998
+
999
+ if (loading) return <Skeleton />
1000
+ return <div>{avatar}</div>
1001
+ }
1002
+ ```
1003
+
1004
+ **Correct: skips computation when loading**
1005
+
1006
+ ```tsx
1007
+ const UserAvatar = memo(function UserAvatar({ user }: { user: User }) {
1008
+ const id = useMemo(() => computeAvatarId(user), [user])
1009
+ return <Avatar id={id} />
1010
+ })
1011
+
1012
+ function Profile({ user, loading }: Props) {
1013
+ if (loading) return <Skeleton />
1014
+ return (
1015
+ <div>
1016
+ <UserAvatar user={user} />
1017
+ </div>
1018
+ )
1019
+ }
1020
+ ```
1021
+
1022
+ **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, manual memoization with `memo()` and `useMemo()` is not necessary. The compiler automatically optimizes re-renders.
1023
+
1024
+ ### 5.3 Narrow Effect Dependencies
1025
+
1026
+ **Impact: LOW (minimizes effect re-runs)**
1027
+
1028
+ Specify primitive dependencies instead of objects to minimize effect re-runs.
1029
+
1030
+ **Incorrect: re-runs on any user field change**
1031
+
1032
+ ```tsx
1033
+ useEffect(() => {
1034
+ console.log(user.id)
1035
+ }, [user])
1036
+ ```
1037
+
1038
+ **Correct: re-runs only when id changes**
1039
+
1040
+ ```tsx
1041
+ useEffect(() => {
1042
+ console.log(user.id)
1043
+ }, [user.id])
1044
+ ```
1045
+
1046
+ **For derived state, compute outside effect:**
1047
+
1048
+ ```tsx
1049
+ // Incorrect: runs on width=767, 766, 765...
1050
+ useEffect(() => {
1051
+ if (width < 768) {
1052
+ enableMobileMode()
1053
+ }
1054
+ }, [width])
1055
+
1056
+ // Correct: runs only on boolean transition
1057
+ const isMobile = width < 768
1058
+ useEffect(() => {
1059
+ if (isMobile) {
1060
+ enableMobileMode()
1061
+ }
1062
+ }, [isMobile])
1063
+ ```
1064
+
1065
+ ### 5.4 Subscribe to Derived State
1066
+
1067
+ **Impact: MEDIUM (reduces re-render frequency)**
1068
+
1069
+ Subscribe to derived boolean state instead of continuous values to reduce re-render frequency.
1070
+
1071
+ **Incorrect: re-renders on every pixel change**
1072
+
1073
+ ```tsx
1074
+ function Sidebar() {
1075
+ const width = useWindowWidth() // updates continuously
1076
+ const isMobile = width < 768
1077
+ return <nav className={isMobile ? 'mobile' : 'desktop'}>
1078
+ }
1079
+ ```
1080
+
1081
+ **Correct: re-renders only when boolean changes**
1082
+
1083
+ ```tsx
1084
+ function Sidebar() {
1085
+ const isMobile = useMediaQuery('(max-width: 767px)')
1086
+ return <nav className={isMobile ? 'mobile' : 'desktop'}>
1087
+ }
1088
+ ```
1089
+
1090
+ ### 5.5 Use Functional setState Updates
1091
+
1092
+ **Impact: MEDIUM (prevents stale closures and unnecessary callback recreations)**
1093
+
1094
+ When updating state based on the current state value, use the functional update form of setState instead of directly referencing the state variable. This prevents stale closures, eliminates unnecessary dependencies, and creates stable callback references.
1095
+
1096
+ **Incorrect: requires state as dependency**
1097
+
1098
+ ```tsx
1099
+ function TodoList() {
1100
+ const [items, setItems] = useState(initialItems)
1101
+
1102
+ // Callback must depend on items, recreated on every items change
1103
+ const addItems = useCallback((newItems: Item[]) => {
1104
+ setItems([...items, ...newItems])
1105
+ }, [items]) // ❌ items dependency causes recreations
1106
+
1107
+ // Risk of stale closure if dependency is forgotten
1108
+ const removeItem = useCallback((id: string) => {
1109
+ setItems(items.filter(item => item.id !== id))
1110
+ }, []) // ❌ Missing items dependency - will use stale items!
1111
+
1112
+ return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
1113
+ }
1114
+ ```
1115
+
1116
+ The first callback is recreated every time `items` changes, which can cause child components to re-render unnecessarily. The second callback has a stale closure bug—it will always reference the initial `items` value.
1117
+
1118
+ **Correct: stable callbacks, no stale closures**
1119
+
1120
+ ```tsx
1121
+ function TodoList() {
1122
+ const [items, setItems] = useState(initialItems)
1123
+
1124
+ // Stable callback, never recreated
1125
+ const addItems = useCallback((newItems: Item[]) => {
1126
+ setItems(curr => [...curr, ...newItems])
1127
+ }, []) // ✅ No dependencies needed
1128
+
1129
+ // Always uses latest state, no stale closure risk
1130
+ const removeItem = useCallback((id: string) => {
1131
+ setItems(curr => curr.filter(item => item.id !== id))
1132
+ }, []) // ✅ Safe and stable
1133
+
1134
+ return <ItemsEditor items={items} onAdd={addItems} onRemove={removeItem} />
1135
+ }
1136
+ ```
1137
+
1138
+ **Benefits:**
1139
+
1140
+ 1. **Stable callback references** - Callbacks don't need to be recreated when state changes
1141
+
1142
+ 2. **No stale closures** - Always operates on the latest state value
1143
+
1144
+ 3. **Fewer dependencies** - Simplifies dependency arrays and reduces memory leaks
1145
+
1146
+ 4. **Prevents bugs** - Eliminates the most common source of React closure bugs
1147
+
1148
+ **When to use functional updates:**
1149
+
1150
+ - Any setState that depends on the current state value
1151
+
1152
+ - Inside useCallback/useMemo when state is needed
1153
+
1154
+ - Event handlers that reference state
1155
+
1156
+ - Async operations that update state
1157
+
1158
+ **When direct updates are fine:**
1159
+
1160
+ - Setting state to a static value: `setCount(0)`
1161
+
1162
+ - Setting state from props/arguments only: `setName(newName)`
1163
+
1164
+ - State doesn't depend on previous value
1165
+
1166
+ **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler can automatically optimize some cases, but functional updates are still recommended for correctness and to prevent stale closure bugs.
1167
+
1168
+ ### 5.6 Use Lazy State Initialization
1169
+
1170
+ **Impact: MEDIUM (wasted computation on every render)**
1171
+
1172
+ Pass a function to `useState` for expensive initial values. Without the function form, the initializer runs on every render even though the value is only used once.
1173
+
1174
+ **Incorrect: runs on every render**
1175
+
1176
+ ```tsx
1177
+ function FilteredList({ items }: { items: Item[] }) {
1178
+ // buildSearchIndex() runs on EVERY render, even after initialization
1179
+ const [searchIndex, setSearchIndex] = useState(buildSearchIndex(items))
1180
+ const [query, setQuery] = useState('')
1181
+
1182
+ // When query changes, buildSearchIndex runs again unnecessarily
1183
+ return <SearchResults index={searchIndex} query={query} />
1184
+ }
1185
+
1186
+ function UserProfile() {
1187
+ // JSON.parse runs on every render
1188
+ const [settings, setSettings] = useState(
1189
+ JSON.parse(localStorage.getItem('settings') || '{}')
1190
+ )
1191
+
1192
+ return <SettingsForm settings={settings} onChange={setSettings} />
1193
+ }
1194
+ ```
1195
+
1196
+ **Correct: runs only once**
1197
+
1198
+ ```tsx
1199
+ function FilteredList({ items }: { items: Item[] }) {
1200
+ // buildSearchIndex() runs ONLY on initial render
1201
+ const [searchIndex, setSearchIndex] = useState(() => buildSearchIndex(items))
1202
+ const [query, setQuery] = useState('')
1203
+
1204
+ return <SearchResults index={searchIndex} query={query} />
1205
+ }
1206
+
1207
+ function UserProfile() {
1208
+ // JSON.parse runs only on initial render
1209
+ const [settings, setSettings] = useState(() => {
1210
+ const stored = localStorage.getItem('settings')
1211
+ return stored ? JSON.parse(stored) : {}
1212
+ })
1213
+
1214
+ return <SettingsForm settings={settings} onChange={setSettings} />
1215
+ }
1216
+ ```
1217
+
1218
+ Use lazy initialization when computing initial values from localStorage/sessionStorage, building data structures (indexes, maps), reading from the DOM, or performing heavy transformations.
1219
+
1220
+ For simple primitives (`useState(0)`), direct references (`useState(props.value)`), or cheap literals (`useState({})`), the function form is unnecessary.
1221
+
1222
+ ### 5.7 Use Transitions for Non-Urgent Updates
1223
+
1224
+ **Impact: MEDIUM (maintains UI responsiveness)**
1225
+
1226
+ Mark frequent, non-urgent state updates as transitions to maintain UI responsiveness.
1227
+
1228
+ **Incorrect: blocks UI on every scroll**
1229
+
1230
+ ```tsx
1231
+ function ScrollTracker() {
1232
+ const [scrollY, setScrollY] = useState(0)
1233
+ useEffect(() => {
1234
+ const handler = () => setScrollY(window.scrollY)
1235
+ window.addEventListener('scroll', handler, { passive: true })
1236
+ return () => window.removeEventListener('scroll', handler)
1237
+ }, [])
1238
+ }
1239
+ ```
1240
+
1241
+ **Correct: non-blocking updates**
1242
+
1243
+ ```tsx
1244
+ import { startTransition } from 'react'
1245
+
1246
+ function ScrollTracker() {
1247
+ const [scrollY, setScrollY] = useState(0)
1248
+ useEffect(() => {
1249
+ const handler = () => {
1250
+ startTransition(() => setScrollY(window.scrollY))
1251
+ }
1252
+ window.addEventListener('scroll', handler, { passive: true })
1253
+ return () => window.removeEventListener('scroll', handler)
1254
+ }, [])
1255
+ }
1256
+ ```
1257
+
1258
+ ---
1259
+
1260
+ ## 6. Rendering Performance
1261
+
1262
+ **Impact: MEDIUM**
1263
+
1264
+ Optimizing the rendering process reduces the work the browser needs to do.
1265
+
1266
+ ### 6.1 Animate SVG Wrapper Instead of SVG Element
1267
+
1268
+ **Impact: LOW (enables hardware acceleration)**
1269
+
1270
+ Many browsers don't have hardware acceleration for CSS3 animations on SVG elements. Wrap SVG in a `<div>` and animate the wrapper instead.
1271
+
1272
+ **Incorrect: animating SVG directly - no hardware acceleration**
1273
+
1274
+ ```tsx
1275
+ function LoadingSpinner() {
1276
+ return (
1277
+ <svg
1278
+ className="animate-spin"
1279
+ width="24"
1280
+ height="24"
1281
+ viewBox="0 0 24 24"
1282
+ >
1283
+ <circle cx="12" cy="12" r="10" stroke="currentColor" />
1284
+ </svg>
1285
+ )
1286
+ }
1287
+ ```
1288
+
1289
+ **Correct: animating wrapper div - hardware accelerated**
1290
+
1291
+ ```tsx
1292
+ function LoadingSpinner() {
1293
+ return (
1294
+ <div className="animate-spin">
1295
+ <svg
1296
+ width="24"
1297
+ height="24"
1298
+ viewBox="0 0 24 24"
1299
+ >
1300
+ <circle cx="12" cy="12" r="10" stroke="currentColor" />
1301
+ </svg>
1302
+ </div>
1303
+ )
1304
+ }
1305
+ ```
1306
+
1307
+ This applies to all CSS transforms and transitions (`transform`, `opacity`, `translate`, `scale`, `rotate`). The wrapper div allows browsers to use GPU acceleration for smoother animations.
1308
+
1309
+ ### 6.2 CSS content-visibility for Long Lists
1310
+
1311
+ **Impact: HIGH (faster initial render)**
1312
+
1313
+ Apply `content-visibility: auto` to defer off-screen rendering.
1314
+
1315
+ **CSS:**
1316
+
1317
+ ```css
1318
+ .message-item {
1319
+ content-visibility: auto;
1320
+ contain-intrinsic-size: 0 80px;
1321
+ }
1322
+ ```
1323
+
1324
+ **Example:**
1325
+
1326
+ ```tsx
1327
+ function MessageList({ messages }: { messages: Message[] }) {
1328
+ return (
1329
+ <div className="overflow-y-auto h-screen">
1330
+ {messages.map(msg => (
1331
+ <div key={msg.id} className="message-item">
1332
+ <Avatar user={msg.author} />
1333
+ <div>{msg.content}</div>
1334
+ </div>
1335
+ ))}
1336
+ </div>
1337
+ )
1338
+ }
1339
+ ```
1340
+
1341
+ For 1000 messages, browser skips layout/paint for ~990 off-screen items (10× faster initial render).
1342
+
1343
+ ### 6.3 Hoist Static JSX Elements
1344
+
1345
+ **Impact: LOW (avoids re-creation)**
1346
+
1347
+ Extract static JSX outside components to avoid re-creation.
1348
+
1349
+ **Incorrect: recreates element every render**
1350
+
1351
+ ```tsx
1352
+ function LoadingSkeleton() {
1353
+ return <div className="animate-pulse h-20 bg-gray-200" />
1354
+ }
1355
+
1356
+ function Container() {
1357
+ return (
1358
+ <div>
1359
+ {loading && <LoadingSkeleton />}
1360
+ </div>
1361
+ )
1362
+ }
1363
+ ```
1364
+
1365
+ **Correct: reuses same element**
1366
+
1367
+ ```tsx
1368
+ const loadingSkeleton = (
1369
+ <div className="animate-pulse h-20 bg-gray-200" />
1370
+ )
1371
+
1372
+ function Container() {
1373
+ return (
1374
+ <div>
1375
+ {loading && loadingSkeleton}
1376
+ </div>
1377
+ )
1378
+ }
1379
+ ```
1380
+
1381
+ This is especially helpful for large and static SVG nodes, which can be expensive to recreate on every render.
1382
+
1383
+ **Note:** If your project has [React Compiler](https://react.dev/learn/react-compiler) enabled, the compiler automatically hoists static JSX elements and optimizes component re-renders, making manual hoisting unnecessary.
1384
+
1385
+ ### 6.4 Optimize SVG Precision
1386
+
1387
+ **Impact: LOW (reduces file size)**
1388
+
1389
+ Reduce SVG coordinate precision to decrease file size. The optimal precision depends on the viewBox size, but in general reducing precision should be considered.
1390
+
1391
+ **Incorrect: excessive precision**
1392
+
1393
+ ```svg
1394
+ <path d="M 10.293847 20.847362 L 30.938472 40.192837" />
1395
+ ```
1396
+
1397
+ **Correct: 1 decimal place**
1398
+
1399
+ ```svg
1400
+ <path d="M 10.3 20.8 L 30.9 40.2" />
1401
+ ```
1402
+
1403
+ **Automate with SVGO:**
1404
+
1405
+ ```bash
1406
+ npx svgo --precision=1 --multipass icon.svg
1407
+ ```
1408
+
1409
+ ### 6.5 Prevent Hydration Mismatch Without Flickering
1410
+
1411
+ **Impact: MEDIUM (avoids visual flicker and hydration errors)**
1412
+
1413
+ When rendering content that depends on client-side storage (localStorage, cookies), avoid both SSR breakage and post-hydration flickering by injecting a synchronous script that updates the DOM before React hydrates.
1414
+
1415
+ **Incorrect: breaks SSR**
1416
+
1417
+ ```tsx
1418
+ function ThemeWrapper({ children }: { children: ReactNode }) {
1419
+ // localStorage is not available on server - throws error
1420
+ const theme = localStorage.getItem('theme') || 'light'
1421
+
1422
+ return (
1423
+ <div className={theme}>
1424
+ {children}
1425
+ </div>
1426
+ )
1427
+ }
1428
+ ```
1429
+
1430
+ Server-side rendering will fail because `localStorage` is undefined.
1431
+
1432
+ **Incorrect: visual flickering**
1433
+
1434
+ ```tsx
1435
+ function ThemeWrapper({ children }: { children: ReactNode }) {
1436
+ const [theme, setTheme] = useState('light')
1437
+
1438
+ useEffect(() => {
1439
+ // Runs after hydration - causes visible flash
1440
+ const stored = localStorage.getItem('theme')
1441
+ if (stored) {
1442
+ setTheme(stored)
1443
+ }
1444
+ }, [])
1445
+
1446
+ return (
1447
+ <div className={theme}>
1448
+ {children}
1449
+ </div>
1450
+ )
1451
+ }
1452
+ ```
1453
+
1454
+ Component first renders with default value (`light`), then updates after hydration, causing a visible flash of incorrect content.
1455
+
1456
+ **Correct: no flicker, no hydration mismatch**
1457
+
1458
+ ```tsx
1459
+ function ThemeWrapper({ children }: { children: ReactNode }) {
1460
+ return (
1461
+ <>
1462
+ <div id="theme-wrapper">
1463
+ {children}
1464
+ </div>
1465
+ <script
1466
+ dangerouslySetInnerHTML={{
1467
+ __html: `
1468
+ (function() {
1469
+ try {
1470
+ var theme = localStorage.getItem('theme') || 'light';
1471
+ var el = document.getElementById('theme-wrapper');
1472
+ if (el) el.className = theme;
1473
+ } catch (e) {}
1474
+ })();
1475
+ `,
1476
+ }}
1477
+ />
1478
+ </>
1479
+ )
1480
+ }
1481
+ ```
1482
+
1483
+ The inline script executes synchronously before showing the element, ensuring the DOM already has the correct value. No flickering, no hydration mismatch.
1484
+
1485
+ This pattern is especially useful for theme toggles, user preferences, authentication states, and any client-only data that should render immediately without flashing default values.
1486
+
1487
+ ### 6.6 Use Activity Component for Show/Hide
1488
+
1489
+ **Impact: MEDIUM (preserves state/DOM)**
1490
+
1491
+ Use React's `<Activity>` to preserve state/DOM for expensive components that frequently toggle visibility.
1492
+
1493
+ **Usage:**
1494
+
1495
+ ```tsx
1496
+ import { Activity } from 'react'
1497
+
1498
+ function Dropdown({ isOpen }: Props) {
1499
+ return (
1500
+ <Activity mode={isOpen ? 'visible' : 'hidden'}>
1501
+ <ExpensiveMenu />
1502
+ </Activity>
1503
+ )
1504
+ }
1505
+ ```
1506
+
1507
+ Avoids expensive re-renders and state loss.
1508
+
1509
+ ### 6.7 Use Explicit Conditional Rendering
1510
+
1511
+ **Impact: LOW (prevents rendering 0 or NaN)**
1512
+
1513
+ Use explicit ternary operators (`? :`) instead of `&&` for conditional rendering when the condition can be `0`, `NaN`, or other falsy values that render.
1514
+
1515
+ **Incorrect: renders "0" when count is 0**
1516
+
1517
+ ```tsx
1518
+ function Badge({ count }: { count: number }) {
1519
+ return (
1520
+ <div>
1521
+ {count && <span className="badge">{count}</span>}
1522
+ </div>
1523
+ )
1524
+ }
1525
+
1526
+ // When count = 0, renders: <div>0</div>
1527
+ // When count = 5, renders: <div><span class="badge">5</span></div>
1528
+ ```
1529
+
1530
+ **Correct: renders nothing when count is 0**
1531
+
1532
+ ```tsx
1533
+ function Badge({ count }: { count: number }) {
1534
+ return (
1535
+ <div>
1536
+ {count > 0 ? <span className="badge">{count}</span> : null}
1537
+ </div>
1538
+ )
1539
+ }
1540
+
1541
+ // When count = 0, renders: <div></div>
1542
+ // When count = 5, renders: <div><span class="badge">5</span></div>
1543
+ ```
1544
+
1545
+ ---
1546
+
1547
+ ## 7. JavaScript Performance
1548
+
1549
+ **Impact: LOW-MEDIUM**
1550
+
1551
+ Micro-optimizations for hot paths can add up to meaningful improvements.
1552
+
1553
+ ### 7.1 Batch DOM CSS Changes
1554
+
1555
+ **Impact: MEDIUM (reduces reflows/repaints)**
1556
+
1557
+ Avoid changing styles one property at a time. Group multiple CSS changes together via classes or `cssText` to minimize browser reflows.
1558
+
1559
+ **Incorrect: multiple reflows**
1560
+
1561
+ ```typescript
1562
+ function updateElementStyles(element: HTMLElement) {
1563
+ // Each line triggers a reflow
1564
+ element.style.width = '100px'
1565
+ element.style.height = '200px'
1566
+ element.style.backgroundColor = 'blue'
1567
+ element.style.border = '1px solid black'
1568
+ }
1569
+ ```
1570
+
1571
+ **Correct: add class - single reflow**
1572
+
1573
+ ```typescript
1574
+ // CSS file
1575
+ .highlighted-box {
1576
+ width: 100px;
1577
+ height: 200px;
1578
+ background-color: blue;
1579
+ border: 1px solid black;
1580
+ }
1581
+
1582
+ // JavaScript
1583
+ function updateElementStyles(element: HTMLElement) {
1584
+ element.classList.add('highlighted-box')
1585
+ }
1586
+ ```
1587
+
1588
+ **Correct: change cssText - single reflow**
1589
+
1590
+ ```typescript
1591
+ function updateElementStyles(element: HTMLElement) {
1592
+ element.style.cssText = `
1593
+ width: 100px;
1594
+ height: 200px;
1595
+ background-color: blue;
1596
+ border: 1px solid black;
1597
+ `
1598
+ }
1599
+ ```
1600
+
1601
+ **React example:**
1602
+
1603
+ ```tsx
1604
+ // Incorrect: changing styles one by one
1605
+ function Box({ isHighlighted }: { isHighlighted: boolean }) {
1606
+ const ref = useRef<HTMLDivElement>(null)
1607
+
1608
+ useEffect(() => {
1609
+ if (ref.current && isHighlighted) {
1610
+ ref.current.style.width = '100px'
1611
+ ref.current.style.height = '200px'
1612
+ ref.current.style.backgroundColor = 'blue'
1613
+ }
1614
+ }, [isHighlighted])
1615
+
1616
+ return <div ref={ref}>Content</div>
1617
+ }
1618
+
1619
+ // Correct: toggle class
1620
+ function Box({ isHighlighted }: { isHighlighted: boolean }) {
1621
+ return (
1622
+ <div className={isHighlighted ? 'highlighted-box' : ''}>
1623
+ Content
1624
+ </div>
1625
+ )
1626
+ }
1627
+ ```
1628
+
1629
+ Prefer CSS classes over inline styles when possible. Classes are cached by the browser and provide better separation of concerns.
1630
+
1631
+ ### 7.2 Build Index Maps for Repeated Lookups
1632
+
1633
+ **Impact: LOW-MEDIUM (1M ops to 2K ops)**
1634
+
1635
+ Multiple `.find()` calls by the same key should use a Map.
1636
+
1637
+ **Incorrect (O(n) per lookup):**
1638
+
1639
+ ```typescript
1640
+ function processOrders(orders: Order[], users: User[]) {
1641
+ return orders.map(order => ({
1642
+ ...order,
1643
+ user: users.find(u => u.id === order.userId)
1644
+ }))
1645
+ }
1646
+ ```
1647
+
1648
+ **Correct (O(1) per lookup):**
1649
+
1650
+ ```typescript
1651
+ function processOrders(orders: Order[], users: User[]) {
1652
+ const userById = new Map(users.map(u => [u.id, u]))
1653
+
1654
+ return orders.map(order => ({
1655
+ ...order,
1656
+ user: userById.get(order.userId)
1657
+ }))
1658
+ }
1659
+ ```
1660
+
1661
+ Build map once (O(n)), then all lookups are O(1).
1662
+
1663
+ For 1000 orders × 1000 users: 1M ops → 2K ops.
1664
+
1665
+ ### 7.3 Cache Property Access in Loops
1666
+
1667
+ **Impact: LOW-MEDIUM (reduces lookups)**
1668
+
1669
+ Cache object property lookups in hot paths.
1670
+
1671
+ **Incorrect: 3 lookups × N iterations**
1672
+
1673
+ ```typescript
1674
+ for (let i = 0; i < arr.length; i++) {
1675
+ process(obj.config.settings.value)
1676
+ }
1677
+ ```
1678
+
1679
+ **Correct: 1 lookup total**
1680
+
1681
+ ```typescript
1682
+ const value = obj.config.settings.value
1683
+ const len = arr.length
1684
+ for (let i = 0; i < len; i++) {
1685
+ process(value)
1686
+ }
1687
+ ```
1688
+
1689
+ ### 7.4 Cache Repeated Function Calls
1690
+
1691
+ **Impact: MEDIUM (avoid redundant computation)**
1692
+
1693
+ Use a module-level Map to cache function results when the same function is called repeatedly with the same inputs during render.
1694
+
1695
+ **Incorrect: redundant computation**
1696
+
1697
+ ```typescript
1698
+ function ProjectList({ projects }: { projects: Project[] }) {
1699
+ return (
1700
+ <div>
1701
+ {projects.map(project => {
1702
+ // slugify() called 100+ times for same project names
1703
+ const slug = slugify(project.name)
1704
+
1705
+ return <ProjectCard key={project.id} slug={slug} />
1706
+ })}
1707
+ </div>
1708
+ )
1709
+ }
1710
+ ```
1711
+
1712
+ **Correct: cached results**
1713
+
1714
+ ```typescript
1715
+ // Module-level cache
1716
+ const slugifyCache = new Map<string, string>()
1717
+
1718
+ function cachedSlugify(text: string): string {
1719
+ if (slugifyCache.has(text)) {
1720
+ return slugifyCache.get(text)!
1721
+ }
1722
+ const result = slugify(text)
1723
+ slugifyCache.set(text, result)
1724
+ return result
1725
+ }
1726
+
1727
+ function ProjectList({ projects }: { projects: Project[] }) {
1728
+ return (
1729
+ <div>
1730
+ {projects.map(project => {
1731
+ // Computed only once per unique project name
1732
+ const slug = cachedSlugify(project.name)
1733
+
1734
+ return <ProjectCard key={project.id} slug={slug} />
1735
+ })}
1736
+ </div>
1737
+ )
1738
+ }
1739
+ ```
1740
+
1741
+ **Simpler pattern for single-value functions:**
1742
+
1743
+ ```typescript
1744
+ let isLoggedInCache: boolean | null = null
1745
+
1746
+ function isLoggedIn(): boolean {
1747
+ if (isLoggedInCache !== null) {
1748
+ return isLoggedInCache
1749
+ }
1750
+
1751
+ isLoggedInCache = document.cookie.includes('auth=')
1752
+ return isLoggedInCache
1753
+ }
1754
+
1755
+ // Clear cache when auth changes
1756
+ function onAuthChange() {
1757
+ isLoggedInCache = null
1758
+ }
1759
+ ```
1760
+
1761
+ Use a Map (not a hook) so it works everywhere: utilities, event handlers, not just React components.
1762
+
1763
+ Reference: [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)
1764
+
1765
+ ### 7.5 Cache Storage API Calls
1766
+
1767
+ **Impact: LOW-MEDIUM (reduces expensive I/O)**
1768
+
1769
+ `localStorage`, `sessionStorage`, and `document.cookie` are synchronous and expensive. Cache reads in memory.
1770
+
1771
+ **Incorrect: reads storage on every call**
1772
+
1773
+ ```typescript
1774
+ function getTheme() {
1775
+ return localStorage.getItem('theme') ?? 'light'
1776
+ }
1777
+ // Called 10 times = 10 storage reads
1778
+ ```
1779
+
1780
+ **Correct: Map cache**
1781
+
1782
+ ```typescript
1783
+ const storageCache = new Map<string, string | null>()
1784
+
1785
+ function getLocalStorage(key: string) {
1786
+ if (!storageCache.has(key)) {
1787
+ storageCache.set(key, localStorage.getItem(key))
1788
+ }
1789
+ return storageCache.get(key)
1790
+ }
1791
+
1792
+ function setLocalStorage(key: string, value: string) {
1793
+ localStorage.setItem(key, value)
1794
+ storageCache.set(key, value) // keep cache in sync
1795
+ }
1796
+ ```
1797
+
1798
+ Use a Map (not a hook) so it works everywhere: utilities, event handlers, not just React components.
1799
+
1800
+ **Cookie caching:**
1801
+
1802
+ ```typescript
1803
+ let cookieCache: Record<string, string> | null = null
1804
+
1805
+ function getCookie(name: string) {
1806
+ if (!cookieCache) {
1807
+ cookieCache = Object.fromEntries(
1808
+ document.cookie.split('; ').map(c => c.split('='))
1809
+ )
1810
+ }
1811
+ return cookieCache[name]
1812
+ }
1813
+ ```
1814
+
1815
+ **Important: invalidate on external changes**
1816
+
1817
+ ```typescript
1818
+ window.addEventListener('storage', (e) => {
1819
+ if (e.key) storageCache.delete(e.key)
1820
+ })
1821
+
1822
+ document.addEventListener('visibilitychange', () => {
1823
+ if (document.visibilityState === 'visible') {
1824
+ storageCache.clear()
1825
+ }
1826
+ })
1827
+ ```
1828
+
1829
+ If storage can change externally (another tab, server-set cookies), invalidate cache:
1830
+
1831
+ ### 7.6 Combine Multiple Array Iterations
1832
+
1833
+ **Impact: LOW-MEDIUM (reduces iterations)**
1834
+
1835
+ Multiple `.filter()` or `.map()` calls iterate the array multiple times. Combine into one loop.
1836
+
1837
+ **Incorrect: 3 iterations**
1838
+
1839
+ ```typescript
1840
+ const admins = users.filter(u => u.isAdmin)
1841
+ const testers = users.filter(u => u.isTester)
1842
+ const inactive = users.filter(u => !u.isActive)
1843
+ ```
1844
+
1845
+ **Correct: 1 iteration**
1846
+
1847
+ ```typescript
1848
+ const admins: User[] = []
1849
+ const testers: User[] = []
1850
+ const inactive: User[] = []
1851
+
1852
+ for (const user of users) {
1853
+ if (user.isAdmin) admins.push(user)
1854
+ if (user.isTester) testers.push(user)
1855
+ if (!user.isActive) inactive.push(user)
1856
+ }
1857
+ ```
1858
+
1859
+ ### 7.7 Early Length Check for Array Comparisons
1860
+
1861
+ **Impact: MEDIUM-HIGH (avoids expensive operations when lengths differ)**
1862
+
1863
+ When comparing arrays with expensive operations (sorting, deep equality, serialization), check lengths first. If lengths differ, the arrays cannot be equal.
1864
+
1865
+ In real-world applications, this optimization is especially valuable when the comparison runs in hot paths (event handlers, render loops).
1866
+
1867
+ **Incorrect: always runs expensive comparison**
1868
+
1869
+ ```typescript
1870
+ function hasChanges(current: string[], original: string[]) {
1871
+ // Always sorts and joins, even when lengths differ
1872
+ return current.sort().join() !== original.sort().join()
1873
+ }
1874
+ ```
1875
+
1876
+ Two O(n log n) sorts run even when `current.length` is 5 and `original.length` is 100. There is also overhead of joining the arrays and comparing the strings.
1877
+
1878
+ **Correct (O(1) length check first):**
1879
+
1880
+ ```typescript
1881
+ function hasChanges(current: string[], original: string[]) {
1882
+ // Early return if lengths differ
1883
+ if (current.length !== original.length) {
1884
+ return true
1885
+ }
1886
+ // Only sort/join when lengths match
1887
+ const currentSorted = current.toSorted()
1888
+ const originalSorted = original.toSorted()
1889
+ for (let i = 0; i < currentSorted.length; i++) {
1890
+ if (currentSorted[i] !== originalSorted[i]) {
1891
+ return true
1892
+ }
1893
+ }
1894
+ return false
1895
+ }
1896
+ ```
1897
+
1898
+ This new approach is more efficient because:
1899
+
1900
+ - It avoids the overhead of sorting and joining the arrays when lengths differ
1901
+
1902
+ - It avoids consuming memory for the joined strings (especially important for large arrays)
1903
+
1904
+ - It avoids mutating the original arrays
1905
+
1906
+ - It returns early when a difference is found
1907
+
1908
+ ### 7.8 Early Return from Functions
1909
+
1910
+ **Impact: LOW-MEDIUM (avoids unnecessary computation)**
1911
+
1912
+ Return early when result is determined to skip unnecessary processing.
1913
+
1914
+ **Incorrect: processes all items even after finding answer**
1915
+
1916
+ ```typescript
1917
+ function validateUsers(users: User[]) {
1918
+ let hasError = false
1919
+ let errorMessage = ''
1920
+
1921
+ for (const user of users) {
1922
+ if (!user.email) {
1923
+ hasError = true
1924
+ errorMessage = 'Email required'
1925
+ }
1926
+ if (!user.name) {
1927
+ hasError = true
1928
+ errorMessage = 'Name required'
1929
+ }
1930
+ // Continues checking all users even after error found
1931
+ }
1932
+
1933
+ return hasError ? { valid: false, error: errorMessage } : { valid: true }
1934
+ }
1935
+ ```
1936
+
1937
+ **Correct: returns immediately on first error**
1938
+
1939
+ ```typescript
1940
+ function validateUsers(users: User[]) {
1941
+ for (const user of users) {
1942
+ if (!user.email) {
1943
+ return { valid: false, error: 'Email required' }
1944
+ }
1945
+ if (!user.name) {
1946
+ return { valid: false, error: 'Name required' }
1947
+ }
1948
+ }
1949
+
1950
+ return { valid: true }
1951
+ }
1952
+ ```
1953
+
1954
+ ### 7.9 Hoist RegExp Creation
1955
+
1956
+ **Impact: LOW-MEDIUM (avoids recreation)**
1957
+
1958
+ Don't create RegExp inside render. Hoist to module scope or memoize with `useMemo()`.
1959
+
1960
+ **Incorrect: new RegExp every render**
1961
+
1962
+ ```tsx
1963
+ function Highlighter({ text, query }: Props) {
1964
+ const regex = new RegExp(`(${query})`, 'gi')
1965
+ const parts = text.split(regex)
1966
+ return <>{parts.map((part, i) => ...)}</>
1967
+ }
1968
+ ```
1969
+
1970
+ **Correct: memoize or hoist**
1971
+
1972
+ ```tsx
1973
+ const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
1974
+
1975
+ function Highlighter({ text, query }: Props) {
1976
+ const regex = useMemo(
1977
+ () => new RegExp(`(${escapeRegex(query)})`, 'gi'),
1978
+ [query]
1979
+ )
1980
+ const parts = text.split(regex)
1981
+ return <>{parts.map((part, i) => ...)}</>
1982
+ }
1983
+ ```
1984
+
1985
+ **Warning: global regex has mutable state**
1986
+
1987
+ ```typescript
1988
+ const regex = /foo/g
1989
+ regex.test('foo') // true, lastIndex = 3
1990
+ regex.test('foo') // false, lastIndex = 0
1991
+ ```
1992
+
1993
+ Global regex (`/g`) has mutable `lastIndex` state:
1994
+
1995
+ ### 7.10 Use Loop for Min/Max Instead of Sort
1996
+
1997
+ **Impact: LOW (O(n) instead of O(n log n))**
1998
+
1999
+ Finding the smallest or largest element only requires a single pass through the array. Sorting is wasteful and slower.
2000
+
2001
+ **Incorrect (O(n log n) - sort to find latest):**
2002
+
2003
+ ```typescript
2004
+ interface Project {
2005
+ id: string
2006
+ name: string
2007
+ updatedAt: number
2008
+ }
2009
+
2010
+ function getLatestProject(projects: Project[]) {
2011
+ const sorted = [...projects].sort((a, b) => b.updatedAt - a.updatedAt)
2012
+ return sorted[0]
2013
+ }
2014
+ ```
2015
+
2016
+ Sorts the entire array just to find the maximum value.
2017
+
2018
+ **Incorrect (O(n log n) - sort for oldest and newest):**
2019
+
2020
+ ```typescript
2021
+ function getOldestAndNewest(projects: Project[]) {
2022
+ const sorted = [...projects].sort((a, b) => a.updatedAt - b.updatedAt)
2023
+ return { oldest: sorted[0], newest: sorted[sorted.length - 1] }
2024
+ }
2025
+ ```
2026
+
2027
+ Still sorts unnecessarily when only min/max are needed.
2028
+
2029
+ **Correct (O(n) - single loop):**
2030
+
2031
+ ```typescript
2032
+ function getLatestProject(projects: Project[]) {
2033
+ if (projects.length === 0) return null
2034
+
2035
+ let latest = projects[0]
2036
+
2037
+ for (let i = 1; i < projects.length; i++) {
2038
+ if (projects[i].updatedAt > latest.updatedAt) {
2039
+ latest = projects[i]
2040
+ }
2041
+ }
2042
+
2043
+ return latest
2044
+ }
2045
+
2046
+ function getOldestAndNewest(projects: Project[]) {
2047
+ if (projects.length === 0) return { oldest: null, newest: null }
2048
+
2049
+ let oldest = projects[0]
2050
+ let newest = projects[0]
2051
+
2052
+ for (let i = 1; i < projects.length; i++) {
2053
+ if (projects[i].updatedAt < oldest.updatedAt) oldest = projects[i]
2054
+ if (projects[i].updatedAt > newest.updatedAt) newest = projects[i]
2055
+ }
2056
+
2057
+ return { oldest, newest }
2058
+ }
2059
+ ```
2060
+
2061
+ Single pass through the array, no copying, no sorting.
2062
+
2063
+ **Alternative: Math.min/Math.max for small arrays**
2064
+
2065
+ ```typescript
2066
+ const numbers = [5, 2, 8, 1, 9]
2067
+ const min = Math.min(...numbers)
2068
+ const max = Math.max(...numbers)
2069
+ ```
2070
+
2071
+ This works for small arrays but can be slower for very large arrays due to spread operator limitations. Use the loop approach for reliability.
2072
+
2073
+ ### 7.11 Use Set/Map for O(1) Lookups
2074
+
2075
+ **Impact: LOW-MEDIUM (O(n) to O(1))**
2076
+
2077
+ Convert arrays to Set/Map for repeated membership checks.
2078
+
2079
+ **Incorrect (O(n) per check):**
2080
+
2081
+ ```typescript
2082
+ const allowedIds = ['a', 'b', 'c', ...]
2083
+ items.filter(item => allowedIds.includes(item.id))
2084
+ ```
2085
+
2086
+ **Correct (O(1) per check):**
2087
+
2088
+ ```typescript
2089
+ const allowedIds = new Set(['a', 'b', 'c', ...])
2090
+ items.filter(item => allowedIds.has(item.id))
2091
+ ```
2092
+
2093
+ ### 7.12 Use toSorted() Instead of sort() for Immutability
2094
+
2095
+ **Impact: MEDIUM-HIGH (prevents mutation bugs in React state)**
2096
+
2097
+ `.sort()` mutates the array in place, which can cause bugs with React state and props. Use `.toSorted()` to create a new sorted array without mutation.
2098
+
2099
+ **Incorrect: mutates original array**
2100
+
2101
+ ```typescript
2102
+ function UserList({ users }: { users: User[] }) {
2103
+ // Mutates the users prop array!
2104
+ const sorted = useMemo(
2105
+ () => users.sort((a, b) => a.name.localeCompare(b.name)),
2106
+ [users]
2107
+ )
2108
+ return <div>{sorted.map(renderUser)}</div>
2109
+ }
2110
+ ```
2111
+
2112
+ **Correct: creates new array**
2113
+
2114
+ ```typescript
2115
+ function UserList({ users }: { users: User[] }) {
2116
+ // Creates new sorted array, original unchanged
2117
+ const sorted = useMemo(
2118
+ () => users.toSorted((a, b) => a.name.localeCompare(b.name)),
2119
+ [users]
2120
+ )
2121
+ return <div>{sorted.map(renderUser)}</div>
2122
+ }
2123
+ ```
2124
+
2125
+ **Why this matters in React:**
2126
+
2127
+ 1. Props/state mutations break React's immutability model - React expects props and state to be treated as read-only
2128
+
2129
+ 2. Causes stale closure bugs - Mutating arrays inside closures (callbacks, effects) can lead to unexpected behavior
2130
+
2131
+ **Browser support: fallback for older browsers**
2132
+
2133
+ ```typescript
2134
+ // Fallback for older browsers
2135
+ const sorted = [...items].sort((a, b) => a.value - b.value)
2136
+ ```
2137
+
2138
+ `.toSorted()` is available in all modern browsers (Chrome 110+, Safari 16+, Firefox 115+, Node.js 20+). For older environments, use spread operator:
2139
+
2140
+ **Other immutable array methods:**
2141
+
2142
+ - `.toSorted()` - immutable sort
2143
+
2144
+ - `.toReversed()` - immutable reverse
2145
+
2146
+ - `.toSpliced()` - immutable splice
2147
+
2148
+ - `.with()` - immutable element replacement
2149
+
2150
+ ---
2151
+
2152
+ ## 8. Advanced Patterns
2153
+
2154
+ **Impact: LOW**
2155
+
2156
+ Advanced patterns for specific cases that require careful implementation.
2157
+
2158
+ ### 8.1 Store Event Handlers in Refs
2159
+
2160
+ **Impact: LOW (stable subscriptions)**
2161
+
2162
+ Store callbacks in refs when used in effects that shouldn't re-subscribe on callback changes.
2163
+
2164
+ **Incorrect: re-subscribes on every render**
2165
+
2166
+ ```tsx
2167
+ function useWindowEvent(event: string, handler: () => void) {
2168
+ useEffect(() => {
2169
+ window.addEventListener(event, handler)
2170
+ return () => window.removeEventListener(event, handler)
2171
+ }, [event, handler])
2172
+ }
2173
+ ```
2174
+
2175
+ **Correct: stable subscription**
2176
+
2177
+ ```tsx
2178
+ import { useEffectEvent } from 'react'
2179
+
2180
+ function useWindowEvent(event: string, handler: () => void) {
2181
+ const onEvent = useEffectEvent(handler)
2182
+
2183
+ useEffect(() => {
2184
+ window.addEventListener(event, onEvent)
2185
+ return () => window.removeEventListener(event, onEvent)
2186
+ }, [event])
2187
+ }
2188
+ ```
2189
+
2190
+ **Alternative: use `useEffectEvent` if you're on latest React:**
2191
+
2192
+ `useEffectEvent` provides a cleaner API for the same pattern: it creates a stable function reference that always calls the latest version of the handler.
2193
+
2194
+ ### 8.2 useLatest for Stable Callback Refs
2195
+
2196
+ **Impact: LOW (prevents effect re-runs)**
2197
+
2198
+ Access latest values in callbacks without adding them to dependency arrays. Prevents effect re-runs while avoiding stale closures.
2199
+
2200
+ **Implementation:**
2201
+
2202
+ ```typescript
2203
+ function useLatest<T>(value: T) {
2204
+ const ref = useRef(value)
2205
+ useEffect(() => {
2206
+ ref.current = value
2207
+ }, [value])
2208
+ return ref
2209
+ }
2210
+ ```
2211
+
2212
+ **Incorrect: effect re-runs on every callback change**
2213
+
2214
+ ```tsx
2215
+ function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
2216
+ const [query, setQuery] = useState('')
2217
+
2218
+ useEffect(() => {
2219
+ const timeout = setTimeout(() => onSearch(query), 300)
2220
+ return () => clearTimeout(timeout)
2221
+ }, [query, onSearch])
2222
+ }
2223
+ ```
2224
+
2225
+ **Correct: stable effect, fresh callback**
2226
+
2227
+ ```tsx
2228
+ function SearchInput({ onSearch }: { onSearch: (q: string) => void }) {
2229
+ const [query, setQuery] = useState('')
2230
+ const onSearchRef = useLatest(onSearch)
2231
+
2232
+ useEffect(() => {
2233
+ const timeout = setTimeout(() => onSearchRef.current(query), 300)
2234
+ return () => clearTimeout(timeout)
2235
+ }, [query])
2236
+ }
2237
+ ```
2238
+
2239
+ ---
2240
+
2241
+ ## References
2242
+
2243
+ 1. [https://react.dev](https://react.dev)
2244
+ 2. [https://nextjs.org](https://nextjs.org)
2245
+ 3. [https://swr.vercel.app](https://swr.vercel.app)
2246
+ 4. [https://github.com/shuding/better-all](https://github.com/shuding/better-all)
2247
+ 5. [https://github.com/isaacs/node-lru-cache](https://github.com/isaacs/node-lru-cache)
2248
+ 6. [https://vercel.com/blog/how-we-optimized-package-imports-in-next-js](https://vercel.com/blog/how-we-optimized-package-imports-in-next-js)
2249
+ 7. [https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast](https://vercel.com/blog/how-we-made-the-vercel-dashboard-twice-as-fast)