@biggora/claude-plugins 1.2.0 → 1.3.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 (265) hide show
  1. package/README.md +13 -4
  2. package/package.json +1 -1
  3. package/registry/registry.json +334 -244
  4. package/specs/coding.md +30 -0
  5. package/specs/pod.md +2 -0
  6. package/src/commands/skills/add.js +63 -7
  7. package/src/commands/skills/list.js +23 -52
  8. package/src/commands/skills/remove.js +26 -27
  9. package/src/commands/skills/resolve.js +155 -0
  10. package/src/commands/skills/update.js +58 -74
  11. package/src/skills/captcha/README.md +221 -0
  12. package/src/skills/captcha/SKILL.md +355 -0
  13. package/src/skills/captcha/references/captcha-types.md +254 -0
  14. package/src/skills/captcha/references/services.md +172 -0
  15. package/src/skills/captcha/references/stealth.md +238 -0
  16. package/src/skills/captcha/scripts/solve_captcha.py +323 -0
  17. package/src/skills/captcha/scripts/solve_image_grid.py +350 -0
  18. package/src/skills/google-merchant-api/SKILL.md +581 -0
  19. package/src/skills/google-merchant-api/references/accounts.md +247 -0
  20. package/src/skills/google-merchant-api/references/content-api-legacy.md +216 -0
  21. package/src/skills/google-merchant-api/references/datasources.md +233 -0
  22. package/src/skills/google-merchant-api/references/inventories.md +201 -0
  23. package/src/skills/google-merchant-api/references/migration.md +267 -0
  24. package/src/skills/google-merchant-api/references/products.md +316 -0
  25. package/src/skills/google-merchant-api/references/promotions.md +201 -0
  26. package/src/skills/google-merchant-api/references/reports.md +240 -0
  27. package/src/skills/lv-aggregators-api/SKILL.md +113 -0
  28. package/src/skills/lv-aggregators-api/references/integration-guide.md +368 -0
  29. package/src/skills/lv-aggregators-api/references/kurpirkt.md +103 -0
  30. package/src/skills/lv-aggregators-api/references/salidzini.md +122 -0
  31. package/src/skills/nest-best-practices/SKILL.md +251 -0
  32. package/src/skills/nest-best-practices/references/best-practices-request-lifecycle.md +158 -0
  33. package/src/skills/nest-best-practices/references/cli-monorepo.md +106 -0
  34. package/src/skills/nest-best-practices/references/cli-overview.md +157 -0
  35. package/src/skills/nest-best-practices/references/core-controllers.md +165 -0
  36. package/src/skills/nest-best-practices/references/core-dependency-injection.md +179 -0
  37. package/src/skills/nest-best-practices/references/core-middleware.md +139 -0
  38. package/src/skills/nest-best-practices/references/core-modules.md +138 -0
  39. package/src/skills/nest-best-practices/references/core-providers.md +188 -0
  40. package/src/skills/nest-best-practices/references/faq-raw-body-hybrid.md +122 -0
  41. package/src/skills/nest-best-practices/references/fundamentals-circular-dependency.md +89 -0
  42. package/src/skills/nest-best-practices/references/fundamentals-custom-decorators.md +107 -0
  43. package/src/skills/nest-best-practices/references/fundamentals-dynamic-modules.md +125 -0
  44. package/src/skills/nest-best-practices/references/fundamentals-exception-filters.md +202 -0
  45. package/src/skills/nest-best-practices/references/fundamentals-execution-context.md +107 -0
  46. package/src/skills/nest-best-practices/references/fundamentals-guards.md +136 -0
  47. package/src/skills/nest-best-practices/references/fundamentals-interceptors.md +187 -0
  48. package/src/skills/nest-best-practices/references/fundamentals-lazy-loading.md +89 -0
  49. package/src/skills/nest-best-practices/references/fundamentals-lifecycle-events.md +87 -0
  50. package/src/skills/nest-best-practices/references/fundamentals-module-reference.md +107 -0
  51. package/src/skills/nest-best-practices/references/fundamentals-pipes.md +197 -0
  52. package/src/skills/nest-best-practices/references/fundamentals-provider-scopes.md +92 -0
  53. package/src/skills/nest-best-practices/references/fundamentals-testing.md +142 -0
  54. package/src/skills/nest-best-practices/references/graphql-overview.md +233 -0
  55. package/src/skills/nest-best-practices/references/graphql-resolvers-mutations.md +199 -0
  56. package/src/skills/nest-best-practices/references/graphql-scalars-unions-enums.md +180 -0
  57. package/src/skills/nest-best-practices/references/graphql-subscriptions.md +228 -0
  58. package/src/skills/nest-best-practices/references/microservices-grpc.md +175 -0
  59. package/src/skills/nest-best-practices/references/microservices-overview.md +221 -0
  60. package/src/skills/nest-best-practices/references/microservices-transports.md +119 -0
  61. package/src/skills/nest-best-practices/references/openapi-swagger.md +207 -0
  62. package/src/skills/nest-best-practices/references/recipes-authentication.md +97 -0
  63. package/src/skills/nest-best-practices/references/recipes-cqrs.md +176 -0
  64. package/src/skills/nest-best-practices/references/recipes-crud-generator.md +87 -0
  65. package/src/skills/nest-best-practices/references/recipes-documentation.md +93 -0
  66. package/src/skills/nest-best-practices/references/recipes-mongoose.md +153 -0
  67. package/src/skills/nest-best-practices/references/recipes-prisma.md +98 -0
  68. package/src/skills/nest-best-practices/references/recipes-terminus.md +148 -0
  69. package/src/skills/nest-best-practices/references/recipes-typeorm.md +122 -0
  70. package/src/skills/nest-best-practices/references/security-authorization.md +196 -0
  71. package/src/skills/nest-best-practices/references/security-cors-helmet-rate-limiting.md +204 -0
  72. package/src/skills/nest-best-practices/references/security-encryption-hashing.md +93 -0
  73. package/src/skills/nest-best-practices/references/techniques-caching.md +142 -0
  74. package/src/skills/nest-best-practices/references/techniques-compression-streaming-sse.md +194 -0
  75. package/src/skills/nest-best-practices/references/techniques-configuration.md +132 -0
  76. package/src/skills/nest-best-practices/references/techniques-database.md +153 -0
  77. package/src/skills/nest-best-practices/references/techniques-events.md +163 -0
  78. package/src/skills/nest-best-practices/references/techniques-fastify.md +137 -0
  79. package/src/skills/nest-best-practices/references/techniques-file-upload.md +140 -0
  80. package/src/skills/nest-best-practices/references/techniques-http-module.md +176 -0
  81. package/src/skills/nest-best-practices/references/techniques-logging.md +146 -0
  82. package/src/skills/nest-best-practices/references/techniques-mvc-serve-static.md +132 -0
  83. package/src/skills/nest-best-practices/references/techniques-queues.md +162 -0
  84. package/src/skills/nest-best-practices/references/techniques-serialization.md +158 -0
  85. package/src/skills/nest-best-practices/references/techniques-sessions-cookies.md +167 -0
  86. package/src/skills/nest-best-practices/references/techniques-task-scheduling.md +166 -0
  87. package/src/skills/nest-best-practices/references/techniques-validation.md +126 -0
  88. package/src/skills/nest-best-practices/references/techniques-versioning.md +153 -0
  89. package/src/skills/nest-best-practices/references/websockets-advanced.md +96 -0
  90. package/src/skills/nest-best-practices/references/websockets-gateways.md +215 -0
  91. package/src/skills/tailwindcss-best-practices/SKILL.md +180 -0
  92. package/src/skills/tailwindcss-best-practices/references/best-practices-utility-patterns.md +87 -0
  93. package/src/skills/tailwindcss-best-practices/references/core-installation.md +109 -0
  94. package/src/skills/tailwindcss-best-practices/references/core-preflight.md +200 -0
  95. package/src/skills/tailwindcss-best-practices/references/core-responsive.md +163 -0
  96. package/src/skills/tailwindcss-best-practices/references/core-source-detection.md +114 -0
  97. package/src/skills/tailwindcss-best-practices/references/core-theme.md +108 -0
  98. package/src/skills/tailwindcss-best-practices/references/core-utility-classes.md +59 -0
  99. package/src/skills/tailwindcss-best-practices/references/core-variants.md +204 -0
  100. package/src/skills/tailwindcss-best-practices/references/effects-form-controls.md +76 -0
  101. package/src/skills/tailwindcss-best-practices/references/effects-mask.md +91 -0
  102. package/src/skills/tailwindcss-best-practices/references/effects-scroll-snap.md +59 -0
  103. package/src/skills/tailwindcss-best-practices/references/effects-text-shadow.md +78 -0
  104. package/src/skills/tailwindcss-best-practices/references/effects-transition-animation.md +80 -0
  105. package/src/skills/tailwindcss-best-practices/references/effects-visibility-interactivity.md +82 -0
  106. package/src/skills/tailwindcss-best-practices/references/features-content-detection.md +175 -0
  107. package/src/skills/tailwindcss-best-practices/references/features-custom-styles.md +203 -0
  108. package/src/skills/tailwindcss-best-practices/references/features-dark-mode.md +137 -0
  109. package/src/skills/tailwindcss-best-practices/references/features-functions-directives.md +241 -0
  110. package/src/skills/tailwindcss-best-practices/references/features-upgrade.md +160 -0
  111. package/src/skills/tailwindcss-best-practices/references/layout-aspect-ratio.md +39 -0
  112. package/src/skills/tailwindcss-best-practices/references/layout-columns.md +80 -0
  113. package/src/skills/tailwindcss-best-practices/references/layout-display.md +110 -0
  114. package/src/skills/tailwindcss-best-practices/references/layout-flexbox.md +112 -0
  115. package/src/skills/tailwindcss-best-practices/references/layout-grid.md +87 -0
  116. package/src/skills/tailwindcss-best-practices/references/layout-height.md +97 -0
  117. package/src/skills/tailwindcss-best-practices/references/layout-inset.md +103 -0
  118. package/src/skills/tailwindcss-best-practices/references/layout-logical-properties.md +92 -0
  119. package/src/skills/tailwindcss-best-practices/references/layout-margin.md +126 -0
  120. package/src/skills/tailwindcss-best-practices/references/layout-min-max-sizing.md +63 -0
  121. package/src/skills/tailwindcss-best-practices/references/layout-object-fit-position.md +64 -0
  122. package/src/skills/tailwindcss-best-practices/references/layout-overflow.md +57 -0
  123. package/src/skills/tailwindcss-best-practices/references/layout-padding.md +77 -0
  124. package/src/skills/tailwindcss-best-practices/references/layout-position.md +85 -0
  125. package/src/skills/tailwindcss-best-practices/references/layout-tables.md +67 -0
  126. package/src/skills/tailwindcss-best-practices/references/layout-width.md +102 -0
  127. package/src/skills/tailwindcss-best-practices/references/transform-base.md +68 -0
  128. package/src/skills/tailwindcss-best-practices/references/transform-rotate.md +70 -0
  129. package/src/skills/tailwindcss-best-practices/references/transform-scale.md +83 -0
  130. package/src/skills/tailwindcss-best-practices/references/transform-skew.md +62 -0
  131. package/src/skills/tailwindcss-best-practices/references/transform-translate.md +77 -0
  132. package/src/skills/tailwindcss-best-practices/references/typography-font-text.md +142 -0
  133. package/src/skills/tailwindcss-best-practices/references/typography-list-style.md +65 -0
  134. package/src/skills/tailwindcss-best-practices/references/typography-text-align.md +60 -0
  135. package/src/skills/tailwindcss-best-practices/references/visual-background.md +76 -0
  136. package/src/skills/tailwindcss-best-practices/references/visual-border.md +108 -0
  137. package/src/skills/tailwindcss-best-practices/references/visual-effects.md +111 -0
  138. package/src/skills/tailwindcss-best-practices/references/visual-svg.md +82 -0
  139. package/src/skills/test-mobile-app/SKILL.md +11 -6
  140. package/src/skills/test-mobile-app/scripts/analyze_apk.py +15 -4
  141. package/src/skills/test-mobile-app/scripts/check_environment.py +5 -5
  142. package/src/skills/test-mobile-app/scripts/run_tests.py +1 -1
  143. package/src/skills/test-web-ui/SKILL.md +264 -84
  144. package/src/skills/test-web-ui/scripts/discover.py +25 -12
  145. package/src/skills/test-web-ui/scripts/run_tests.py +3 -2
  146. package/src/skills/typescript-expert/SKILL.md +145 -0
  147. package/src/skills/typescript-expert/commands/typescript-fix.md +65 -0
  148. package/src/skills/typescript-expert/references/advanced-conditional-types.md +190 -0
  149. package/src/skills/typescript-expert/references/advanced-decorators.md +243 -0
  150. package/src/skills/typescript-expert/references/advanced-mapped-types.md +223 -0
  151. package/src/skills/typescript-expert/references/advanced-template-literals.md +209 -0
  152. package/src/skills/typescript-expert/references/advanced-type-guards.md +308 -0
  153. package/src/skills/typescript-expert/references/best-practices-patterns.md +313 -0
  154. package/src/skills/typescript-expert/references/best-practices-performance.md +185 -0
  155. package/src/skills/typescript-expert/references/best-practices-tsconfig.md +242 -0
  156. package/src/skills/typescript-expert/references/core-generics.md +246 -0
  157. package/src/skills/typescript-expert/references/core-interfaces-types.md +231 -0
  158. package/src/skills/typescript-expert/references/core-type-system.md +261 -0
  159. package/src/skills/typescript-expert/references/core-utility-types.md +235 -0
  160. package/src/skills/typescript-expert/references/features-ts5x.md +370 -0
  161. package/src/skills/vite-best-practices/SKILL.md +115 -0
  162. package/src/skills/vite-best-practices/references/build-and-ssr.md +255 -0
  163. package/src/skills/vite-best-practices/references/core-config.md +231 -0
  164. package/src/skills/vite-best-practices/references/core-features.md +222 -0
  165. package/src/skills/vite-best-practices/references/core-plugin-api.md +294 -0
  166. package/src/skills/vite-best-practices/references/environment-api.md +108 -0
  167. package/src/skills/vite-best-practices/references/rolldown-migration.md +242 -0
  168. package/codex-cli-workspace/iteration-1/benchmark.json +0 -122
  169. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/eval_metadata.json +0 -13
  170. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/grading.json +0 -52
  171. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/outputs/response.md +0 -163
  172. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/with_skill/timing.json +0 -5
  173. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/grading.json +0 -58
  174. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/outputs/response.md +0 -151
  175. package/codex-cli-workspace/iteration-1/eval-1-ci-integration/without_skill/timing.json +0 -5
  176. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/eval_metadata.json +0 -13
  177. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/grading.json +0 -52
  178. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/outputs/response.md +0 -86
  179. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/timing.json +0 -5
  180. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/grading.json +0 -58
  181. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/outputs/response.md +0 -164
  182. package/codex-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/timing.json +0 -5
  183. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/eval_metadata.json +0 -13
  184. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/grading.json +0 -52
  185. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/outputs/response.md +0 -130
  186. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/with_skill/timing.json +0 -5
  187. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/grading.json +0 -64
  188. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/outputs/response.md +0 -209
  189. package/codex-cli-workspace/iteration-1/eval-3-profiles-troubleshooting/without_skill/timing.json +0 -5
  190. package/codex-cli-workspace/iteration-1/review.html +0 -1325
  191. package/gemini-cli-workspace/iteration-1/benchmark.json +0 -86
  192. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/eval_metadata.json +0 -37
  193. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/grading.json +0 -37
  194. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/outputs/response.md +0 -401
  195. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/with_skill/timing.json +0 -5
  196. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/grading.json +0 -37
  197. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/outputs/response.md +0 -405
  198. package/gemini-cli-workspace/iteration-1/eval-1-cicd-setup/without_skill/timing.json +0 -5
  199. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/eval_metadata.json +0 -37
  200. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/grading.json +0 -37
  201. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/outputs/response.md +0 -212
  202. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/with_skill/timing.json +0 -5
  203. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/grading.json +0 -37
  204. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/outputs/response.md +0 -427
  205. package/gemini-cli-workspace/iteration-1/eval-2-mcp-server-config/without_skill/timing.json +0 -5
  206. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/eval_metadata.json +0 -32
  207. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/grading.json +0 -32
  208. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/outputs/response.md +0 -171
  209. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/with_skill/timing.json +0 -5
  210. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/grading.json +0 -32
  211. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/outputs/response.md +0 -199
  212. package/gemini-cli-workspace/iteration-1/eval-3-custom-slash-command/without_skill/timing.json +0 -5
  213. package/gemini-cli-workspace/iteration-1/review.html +0 -1325
  214. package/gemini-cli-workspace/iteration-2/benchmark.json +0 -173
  215. package/gemini-cli-workspace/iteration-2/benchmark.md +0 -28
  216. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/eval_metadata.json +0 -37
  217. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/grading.json +0 -37
  218. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/outputs/response.md +0 -195
  219. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/with_skill/timing.json +0 -5
  220. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/grading.json +0 -37
  221. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/outputs/response.md +0 -377
  222. package/gemini-cli-workspace/iteration-2/eval-1-cicd-setup/without_skill/timing.json +0 -5
  223. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/eval_metadata.json +0 -37
  224. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/grading.json +0 -37
  225. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/outputs/response.md +0 -127
  226. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/with_skill/timing.json +0 -5
  227. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/grading.json +0 -37
  228. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/outputs/response.md +0 -164
  229. package/gemini-cli-workspace/iteration-2/eval-2-mcp-server-config/without_skill/timing.json +0 -5
  230. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/eval_metadata.json +0 -32
  231. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/grading.json +0 -32
  232. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/outputs/response.md +0 -91
  233. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/with_skill/timing.json +0 -5
  234. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/grading.json +0 -32
  235. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/outputs/response.md +0 -112
  236. package/gemini-cli-workspace/iteration-2/eval-3-custom-slash-command/without_skill/timing.json +0 -5
  237. package/gemini-cli-workspace/iteration-2/eval-viewer.html +0 -1325
  238. package/screen-recording-workspace/evals.json +0 -41
  239. package/screen-recording-workspace/iteration-1/benchmark.json +0 -102
  240. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/eval_metadata.json +0 -31
  241. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/grading.json +0 -11
  242. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/outputs/demo.mp4 +0 -0
  243. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/with_skill/timing.json +0 -5
  244. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/grading.json +0 -11
  245. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/outputs/demo.mp4 +0 -0
  246. package/screen-recording-workspace/iteration-1/eval-0-fullscreen/without_skill/timing.json +0 -5
  247. package/screen-recording-workspace/iteration-1/eval-1-region-audio/eval_metadata.json +0 -31
  248. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/grading.json +0 -11
  249. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/outputs/region_capture.mp4 +0 -0
  250. package/screen-recording-workspace/iteration-1/eval-1-region-audio/with_skill/timing.json +0 -5
  251. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/grading.json +0 -11
  252. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/outputs/region_capture.mp4 +0 -0
  253. package/screen-recording-workspace/iteration-1/eval-1-region-audio/without_skill/timing.json +0 -5
  254. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/eval_metadata.json +0 -31
  255. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/grading.json +0 -11
  256. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/outputs/fallback_recording.mp4 +0 -0
  257. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/with_skill/timing.json +0 -5
  258. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/grading.json +0 -11
  259. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/outputs/fallback_recording.mp4 +0 -0
  260. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/outputs/record_screen.py +0 -67
  261. package/screen-recording-workspace/iteration-1/eval-2-python-fallback/without_skill/timing.json +0 -5
  262. package/screen-recording-workspace/iteration-1/review.html +0 -1325
  263. package/src/skills/codex-cli/evals/evals.json +0 -47
  264. package/src/skills/gemini-cli/evals/evals.json +0 -46
  265. package/src/skills/tm-search/evals/evals.json +0 -23
@@ -1,164 +0,0 @@
1
- # Connecting a Custom Python MCP Server to Gemini CLI
2
-
3
- ## Configuration File Location
4
-
5
- Gemini CLI reads MCP server configuration from `settings.json` at two levels:
6
-
7
- - **Global (user-level):** `~/.gemini/settings.json` -- applies to all Gemini CLI sessions
8
- - **Project-level:** `.gemini/settings.json` in your project root -- applies only when running from that project
9
-
10
- Project-level settings override global ones.
11
-
12
- ## Full Configuration Example
13
-
14
- Here is how to configure a custom Python MCP server with an API key from your environment and tool filtering:
15
-
16
- ```json
17
- {
18
- "mcpServers": {
19
- "my-python-server": {
20
- "command": "python",
21
- "args": ["path/to/your/server.py"],
22
- "env": {
23
- "API_KEY": "$MY_API_KEY"
24
- },
25
- "cwd": "/path/to/server/directory",
26
- "timeout": 30000,
27
- "includeTools": ["allowed_tool_1", "allowed_tool_2", "allowed_tool_3"]
28
- }
29
- }
30
- }
31
- ```
32
-
33
- ## Explanation of Each Property
34
-
35
- ### Required (choose one transport)
36
-
37
- | Property | Description |
38
- |----------|-------------|
39
- | `command` | Path to the executable for stdio transport (e.g., `"python"`, `"node"`) |
40
- | `url` | SSE endpoint URL for remote servers (e.g., `"http://localhost:8080/sse"`) |
41
- | `httpUrl` | HTTP streaming endpoint URL |
42
-
43
- ### Optional Properties
44
-
45
- | Property | Type | Description |
46
- |----------|------|-------------|
47
- | `args` | string[] | Command-line arguments passed to the server process |
48
- | `env` | object | Environment variables to pass to the server (supports expansion) |
49
- | `cwd` | string | Working directory for the server process |
50
- | `timeout` | number | Request timeout in milliseconds (default: 600,000ms / 10 minutes) |
51
- | `trust` | boolean | When `true`, bypasses tool confirmation prompts |
52
- | `includeTools` | string[] | Allowlist -- only these tools will be available |
53
- | `excludeTools` | string[] | Blocklist -- these tools will be hidden from the model |
54
- | `headers` | object | Custom HTTP headers (for remote transports) |
55
-
56
- ## Passing the API Key via Environment Variables
57
-
58
- Gemini CLI supports environment variable expansion in the `env` block using two syntaxes:
59
-
60
- ```json
61
- "env": {
62
- "API_KEY": "$MY_API_KEY",
63
- "OTHER_SECRET": "${ANOTHER_ENV_VAR}"
64
- }
65
- ```
66
-
67
- Both `$VAR_NAME` and `${VAR_NAME}` are supported. At runtime, Gemini CLI reads the value of `MY_API_KEY` from your host shell environment and passes it to the MCP server process.
68
-
69
- **Security note:** Gemini CLI automatically redacts environment variables to prevent leakage. However, variables you explicitly declare in the `env` block are considered trusted (since you intentionally configured them) and will not be redacted when passed to that specific server. You must explicitly list any environment variable that the server needs -- variables are not inherited automatically.
70
-
71
- ## Restricting Exposed Tools
72
-
73
- Gemini CLI provides two complementary mechanisms for tool filtering:
74
-
75
- ### Allowlist with `includeTools`
76
-
77
- Only the tools listed here will be available from that server. All other tools the server exposes will be hidden:
78
-
79
- ```json
80
- "includeTools": ["query_data", "get_status", "run_analysis"]
81
- ```
82
-
83
- ### Blocklist with `excludeTools`
84
-
85
- Tools listed here will be hidden, even if the server exposes them:
86
-
87
- ```json
88
- "excludeTools": ["delete_records", "admin_reset"]
89
- ```
90
-
91
- ### Precedence Rule
92
-
93
- `excludeTools` takes precedence over `includeTools`. If a tool appears in both lists, it will be excluded.
94
-
95
- ### Choosing an Approach
96
-
97
- - Use `includeTools` when your server exposes many tools but you only want a specific subset available (allowlist approach).
98
- - Use `excludeTools` when you want most tools available but need to block a few dangerous ones (blocklist approach).
99
- - You can combine both for fine-grained control.
100
-
101
- ## Complete Practical Example
102
-
103
- Suppose you built a Python MCP server at `~/mcp-servers/my_api_server.py` that exposes tools `fetch_data`, `analyze`, `delete_all`, and `export_csv`. You want to pass your API key and only allow `fetch_data` and `analyze`.
104
-
105
- Create or edit `~/.gemini/settings.json`:
106
-
107
- ```json
108
- {
109
- "mcpServers": {
110
- "my-api-server": {
111
- "command": "python",
112
- "args": ["/home/user/mcp-servers/my_api_server.py"],
113
- "env": {
114
- "API_KEY": "$MY_API_KEY"
115
- },
116
- "timeout": 30000,
117
- "includeTools": ["fetch_data", "analyze"]
118
- }
119
- }
120
- }
121
- ```
122
-
123
- Make sure `MY_API_KEY` is set in your shell environment (e.g., in `~/.bashrc` or `~/.zshrc`):
124
-
125
- ```bash
126
- export MY_API_KEY="your-secret-key-here"
127
- ```
128
-
129
- ### Using FastMCP
130
-
131
- If your Python server uses FastMCP (the recommended approach for Python MCP servers), the configuration would look like:
132
-
133
- ```json
134
- {
135
- "mcpServers": {
136
- "my-api-server": {
137
- "command": "uv",
138
- "args": ["run", "--with", "fastmcp", "fastmcp", "run", "my_server.py"],
139
- "cwd": "/home/user/mcp-servers",
140
- "env": {
141
- "API_KEY": "$MY_API_KEY"
142
- },
143
- "includeTools": ["fetch_data", "analyze"]
144
- }
145
- }
146
- }
147
- ```
148
-
149
- ### Using the CLI to Add a Server
150
-
151
- You can also add a server via the command line instead of editing `settings.json` manually:
152
-
153
- ```bash
154
- gemini mcp add my-api-server -e API_KEY=$MY_API_KEY python /home/user/mcp-servers/my_api_server.py
155
- ```
156
-
157
- Note: Tool filtering (`includeTools`/`excludeTools`) must be configured by editing `settings.json` directly, as the CLI `add` command may not support these options as flags.
158
-
159
- ## Sources
160
-
161
- - [MCP servers with the Gemini CLI (official docs)](https://google-gemini.github.io/gemini-cli/docs/tools/mcp-server.html)
162
- - [Gemini CLI configuration reference](https://google-gemini.github.io/gemini-cli/docs/get-started/configuration.html)
163
- - [Gemini CLI + FastMCP integration (Google Developers Blog)](https://developers.googleblog.com/en/gemini-cli-fastmcp-simplifying-mcp-server-development/)
164
- - [MCP server docs on GitHub](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md)
@@ -1,5 +0,0 @@
1
- {
2
- "total_tokens": 61417,
3
- "duration_ms": 86655,
4
- "total_duration_seconds": 86.7
5
- }
@@ -1,32 +0,0 @@
1
- {
2
- "eval_id": 3,
3
- "eval_name": "custom-slash-command",
4
- "prompt": "How do I create a custom slash command in gemini cli that runs git diff --cached and asks the AI to write a commit message? I want it available in all my projects.",
5
- "assertions": [
6
- {
7
- "id": "correct-file-location",
8
- "text": "Points to ~/.gemini/commands/ for global user-scoped commands",
9
- "type": "content_check"
10
- },
11
- {
12
- "id": "toml-format",
13
- "text": "Shows .toml file format with prompt field",
14
- "type": "content_check"
15
- },
16
- {
17
- "id": "shell-execution-syntax",
18
- "text": "Uses !{git diff --cached} shell execution syntax in the prompt",
19
- "type": "content_check"
20
- },
21
- {
22
- "id": "mentions-headless-limitation",
23
- "text": "Warns that custom slash commands don't work in headless/non-interactive mode",
24
- "type": "content_check"
25
- },
26
- {
27
- "id": "complete-working-example",
28
- "text": "Provides a complete, copy-pasteable .toml file example",
29
- "type": "content_check"
30
- }
31
- ]
32
- }
@@ -1,32 +0,0 @@
1
- {
2
- "eval_id": 3,
3
- "eval_name": "custom-slash-command",
4
- "config": "with_skill",
5
- "expectations": [
6
- {
7
- "text": "Points to ~/.gemini/commands/ for global user-scoped commands",
8
- "passed": true,
9
- "evidence": "States 'Create the file ~/.gemini/commands/commit.toml' and explains ~/.gemini/commands/ is user-scoped"
10
- },
11
- {
12
- "text": "Shows .toml file format with prompt field",
13
- "passed": true,
14
- "evidence": "Complete .toml example with description and prompt fields using triple-quoted string"
15
- },
16
- {
17
- "text": "Uses !{git diff --cached} shell execution syntax in the prompt",
18
- "passed": true,
19
- "evidence": "Uses !{git diff --cached} in the prompt field and explains the !{...} syntax is shell execution interpolation"
20
- },
21
- {
22
- "text": "Warns that custom slash commands don't work in headless/non-interactive mode",
23
- "passed": true,
24
- "evidence": "Important notes section: 'Custom slash commands work in interactive mode only. They are not available in headless mode (-p flag).'"
25
- },
26
- {
27
- "text": "Provides a complete, copy-pasteable .toml file example",
28
- "passed": true,
29
- "evidence": "Complete commit.toml file with description and prompt fields, ready to copy-paste"
30
- }
31
- ]
32
- }
@@ -1,91 +0,0 @@
1
- # Creating a Global Custom Slash Command for Commit Messages in Gemini CLI
2
-
3
- To create a custom slash command that runs `git diff --cached` and asks the AI to write a commit message, available across all your projects, create a single `.toml` file in your user-scoped commands directory.
4
-
5
- ## Step-by-Step
6
-
7
- ### 1. Create the commands directory (if it doesn't exist)
8
-
9
- ```bash
10
- mkdir -p ~/.gemini/commands
11
- ```
12
-
13
- ### 2. Create the slash command file
14
-
15
- Create the file `~/.gemini/commands/commit.toml`:
16
-
17
- ```toml
18
- description = "Generate a commit message from staged changes"
19
- prompt = """
20
- Based on the following staged git diff, write a concise and descriptive commit message following conventional commit format (e.g., feat:, fix:, refactor:, docs:, chore:).
21
-
22
- The first line should be a short summary (50 chars or less). If needed, add a blank line followed by a more detailed explanation.
23
-
24
- Staged changes:
25
- !{git diff --cached}
26
- """
27
- ```
28
-
29
- ### How it works
30
-
31
- - **File location**: `~/.gemini/commands/commit.toml` -- placing it under `~/.gemini/commands/` makes it user-scoped, meaning it is available in every project you open with Gemini CLI.
32
- - **`!{git diff --cached}`**: The `!{...}` syntax is shell execution interpolation. When the slash command runs, Gemini CLI executes `git diff --cached` and substitutes the output directly into the prompt before sending it to the model.
33
- - **`description`**: Optional but recommended. It shows up when you run `/help` to list available commands.
34
- - **`prompt`**: The full prompt template sent to the model, with the shell output injected.
35
-
36
- ### 3. Use the command
37
-
38
- Start an interactive Gemini CLI session in any git repository:
39
-
40
- ```bash
41
- gemini
42
- ```
43
-
44
- Then stage your changes and invoke the command:
45
-
46
- ```
47
- > /commit
48
- ```
49
-
50
- Gemini will run `git diff --cached`, inject the diff into the prompt, and return a suggested commit message.
51
-
52
- ## Variations
53
-
54
- ### Accept an argument for extra context
55
-
56
- If you want to optionally pass additional context (e.g., a ticket number or description):
57
-
58
- ```toml
59
- description = "Generate a commit message from staged changes"
60
- prompt = """
61
- Based on the following staged git diff, write a concise commit message.
62
-
63
- Additional context from the user: {{args}}
64
-
65
- Staged changes:
66
- !{git diff --cached}
67
- """
68
- ```
69
-
70
- Usage: `/commit JIRA-1234 add user validation`
71
-
72
- The `{{args}}` placeholder captures everything typed after `/commit`.
73
-
74
- ### Namespaced command
75
-
76
- If you prefer organizing under a `git` namespace, place the file at:
77
-
78
- ```
79
- ~/.gemini/commands/git/commit.toml
80
- ```
81
-
82
- Then invoke it as `/git:commit` in the interactive session.
83
-
84
- ## Important notes
85
-
86
- - Custom slash commands work in **interactive mode only**. They are not available in headless mode (`-p` flag). For headless commit message generation, pipe the diff directly:
87
- ```bash
88
- git diff --cached | gemini -p "Write a concise commit message" --output-format json | jq -r '.response'
89
- ```
90
- - The command runs in whatever directory you launched `gemini` from, so `git diff --cached` will pick up the correct repository context automatically.
91
- - If there are no staged changes, the diff output will be empty, and the model will tell you there is nothing to generate a message for.
@@ -1,5 +0,0 @@
1
- {
2
- "total_tokens": 63047,
3
- "duration_ms": 43718,
4
- "total_duration_seconds": 43.7
5
- }
@@ -1,32 +0,0 @@
1
- {
2
- "eval_id": 3,
3
- "eval_name": "custom-slash-command",
4
- "config": "without_skill",
5
- "expectations": [
6
- {
7
- "text": "Points to ~/.gemini/commands/ for global user-scoped commands",
8
- "passed": true,
9
- "evidence": "States '~/.gemini/commands/' as global location in both instructions and summary table"
10
- },
11
- {
12
- "text": "Shows .toml file format with prompt field",
13
- "passed": true,
14
- "evidence": "Complete .toml example with description and prompt fields"
15
- },
16
- {
17
- "text": "Uses !{git diff --cached} shell execution syntax in the prompt",
18
- "passed": true,
19
- "evidence": "Uses !{git diff --cached} in the prompt field and explains the shell command injection block syntax"
20
- },
21
- {
22
- "text": "Warns that custom slash commands don't work in headless/non-interactive mode",
23
- "passed": false,
24
- "evidence": "No mention of headless mode limitations anywhere in the response. Missing this critical caveat."
25
- },
26
- {
27
- "text": "Provides a complete, copy-pasteable .toml file example",
28
- "passed": true,
29
- "evidence": "Complete commit.toml file at ~/.gemini/commands/commit.toml with description and prompt fields"
30
- }
31
- ]
32
- }
@@ -1,112 +0,0 @@
1
- # Creating a Custom Slash Command in Gemini CLI for Commit Messages
2
-
3
- Gemini CLI supports custom slash commands defined as `.toml` files. To make a command available across all your projects, place the file in the **global** commands directory: `~/.gemini/commands/`.
4
-
5
- ## Step-by-Step Setup
6
-
7
- ### 1. Create the commands directory (if it does not exist)
8
-
9
- ```bash
10
- mkdir -p ~/.gemini/commands
11
- ```
12
-
13
- ### 2. Create the command file
14
-
15
- Create the file `~/.gemini/commands/commit.toml`:
16
-
17
- ```toml
18
- description = "Generate a commit message from staged changes"
19
- prompt = """Review the following staged git diff and write a clear, conventional commit message for it. Follow the Conventional Commits format (e.g., feat:, fix:, refactor:, docs:, chore:). Include a concise subject line (max 72 characters) and, if the changes are non-trivial, a body that explains the "why" behind the changes.
20
-
21
- ```diff
22
- !{git diff --cached}
23
- ```"""
24
- ```
25
-
26
- This creates the slash command `/commit`.
27
-
28
- ### How It Works
29
-
30
- - **`description`** -- A one-line summary shown when you run `/help` inside Gemini CLI.
31
- - **`prompt`** -- The full prompt sent to the Gemini model. The `!{git diff --cached}` syntax is a **shell command injection block**. When the command runs, Gemini CLI executes `git diff --cached` in your shell, captures the output, and injects it directly into the prompt at that location.
32
- - **Security note** -- The first time a shell command inside `!{...}` runs, Gemini CLI will prompt you for confirmation before executing it.
33
-
34
- ### 3. Reload commands (if Gemini CLI is already running)
35
-
36
- Inside an active Gemini CLI session, run:
37
-
38
- ```
39
- /commands reload
40
- ```
41
-
42
- This picks up new or modified `.toml` files without restarting the CLI.
43
-
44
- ### 4. Usage
45
-
46
- Stage your changes and invoke the command:
47
-
48
- ```bash
49
- git add -p # stage your changes
50
- gemini # start Gemini CLI
51
- ```
52
-
53
- Then inside the Gemini CLI session:
54
-
55
- ```
56
- /commit
57
- ```
58
-
59
- Gemini will read your staged diff, analyze the changes, and generate a commit message for you.
60
-
61
- ## Namespaced Variant
62
-
63
- If you prefer organizing your commands by category, use subdirectories. For example, placing the file at:
64
-
65
- ```
66
- ~/.gemini/commands/git/commit.toml
67
- ```
68
-
69
- makes it available as `/git:commit` instead of `/commit`. Subdirectory separators are converted to colons in the command name.
70
-
71
- ## Adding Arguments Support
72
-
73
- You can extend the command to accept optional context using `{{args}}`:
74
-
75
- ```toml
76
- description = "Generate a commit message from staged changes with optional context"
77
- prompt = """Review the following staged git diff and write a clear, conventional commit message. Follow the Conventional Commits format (e.g., feat:, fix:, refactor:).
78
-
79
- Additional context from the developer: {{args}}
80
-
81
- ```diff
82
- !{git diff --cached}
83
- ```"""
84
- ```
85
-
86
- This allows you to provide extra context when invoking the command:
87
-
88
- ```
89
- /commit This change addresses the performance regression in the auth module
90
- ```
91
-
92
- The `{{args}}` placeholder gets replaced with whatever text you type after the command name. Inside `!{...}` blocks, arguments are automatically shell-escaped for safety.
93
-
94
- ## Summary of Key Concepts
95
-
96
- | Concept | Detail |
97
- |---|---|
98
- | Global location | `~/.gemini/commands/` |
99
- | Project location | `<project-root>/.gemini/commands/` |
100
- | File format | TOML (`.toml` extension) |
101
- | Shell execution | `!{command}` syntax, requires confirmation |
102
- | Arguments | `{{args}}` placeholder |
103
- | File injection | `@{path/to/file}` syntax |
104
- | Namespacing | Subdirectories map to colon-separated names |
105
- | Precedence | Project commands override global commands with the same name |
106
-
107
- ## Sources
108
-
109
- - [Custom commands - Gemini CLI Documentation](https://geminicli.com/docs/cli/custom-commands/)
110
- - [Gemini CLI: Custom slash commands - Google Cloud Blog](https://cloud.google.com/blog/topics/developers-practitioners/gemini-cli-custom-slash-commands)
111
- - [CLI Commands - Gemini CLI](https://google-gemini.github.io/gemini-cli/docs/cli/commands.html)
112
- - [Gemini CLI Tutorial Series Part 7: Custom slash commands - Medium](https://medium.com/google-cloud/gemini-cli-tutorial-series-part-7-custom-slash-commands-64c06195294b)
@@ -1,5 +0,0 @@
1
- {
2
- "total_tokens": 59908,
3
- "duration_ms": 73576,
4
- "total_duration_seconds": 73.6
5
- }