cli-jaw 0.1.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 (845) hide show
  1. package/LICENSE +21 -0
  2. package/README.ko.md +411 -0
  3. package/README.md +416 -0
  4. package/README.zh-CN.md +411 -0
  5. package/dist/bin/cli-jaw.js +108 -0
  6. package/dist/bin/cli-jaw.js.map +1 -0
  7. package/dist/bin/commands/browser.js +241 -0
  8. package/dist/bin/commands/browser.js.map +1 -0
  9. package/dist/bin/commands/chat.js +878 -0
  10. package/dist/bin/commands/chat.js.map +1 -0
  11. package/dist/bin/commands/doctor.js +152 -0
  12. package/dist/bin/commands/doctor.js.map +1 -0
  13. package/dist/bin/commands/employee.js +70 -0
  14. package/dist/bin/commands/employee.js.map +1 -0
  15. package/dist/bin/commands/init.js +110 -0
  16. package/dist/bin/commands/init.js.map +1 -0
  17. package/dist/bin/commands/mcp.js +219 -0
  18. package/dist/bin/commands/mcp.js.map +1 -0
  19. package/dist/bin/commands/memory.js +105 -0
  20. package/dist/bin/commands/memory.js.map +1 -0
  21. package/dist/bin/commands/reset.js +109 -0
  22. package/dist/bin/commands/reset.js.map +1 -0
  23. package/dist/bin/commands/serve.js +75 -0
  24. package/dist/bin/commands/serve.js.map +1 -0
  25. package/dist/bin/commands/skill.js +232 -0
  26. package/dist/bin/commands/skill.js.map +1 -0
  27. package/dist/bin/commands/status.js +51 -0
  28. package/dist/bin/commands/status.js.map +1 -0
  29. package/dist/bin/postinstall.js +218 -0
  30. package/dist/bin/postinstall.js.map +1 -0
  31. package/dist/lib/mcp-sync.js +639 -0
  32. package/dist/lib/mcp-sync.js.map +1 -0
  33. package/dist/lib/quota-copilot.js +62 -0
  34. package/dist/lib/quota-copilot.js.map +1 -0
  35. package/dist/lib/upload.js +72 -0
  36. package/dist/lib/upload.js.map +1 -0
  37. package/dist/server.js +832 -0
  38. package/dist/server.js.map +1 -0
  39. package/dist/src/agent/args.js +66 -0
  40. package/dist/src/agent/args.js.map +1 -0
  41. package/dist/src/agent/events.js +328 -0
  42. package/dist/src/agent/events.js.map +1 -0
  43. package/dist/src/agent/spawn.js +646 -0
  44. package/dist/src/agent/spawn.js.map +1 -0
  45. package/dist/src/browser/actions.js +168 -0
  46. package/dist/src/browser/actions.js.map +1 -0
  47. package/dist/src/browser/connection.js +79 -0
  48. package/dist/src/browser/connection.js.map +1 -0
  49. package/dist/src/browser/index.js +4 -0
  50. package/dist/src/browser/index.js.map +1 -0
  51. package/dist/src/browser/vision.js +128 -0
  52. package/dist/src/browser/vision.js.map +1 -0
  53. package/dist/src/cli/acp-client.js +298 -0
  54. package/dist/src/cli/acp-client.js.map +1 -0
  55. package/dist/src/cli/commands.js +267 -0
  56. package/dist/src/cli/commands.js.map +1 -0
  57. package/dist/src/cli/handlers.js +405 -0
  58. package/dist/src/cli/handlers.js.map +1 -0
  59. package/dist/src/cli/registry.js +87 -0
  60. package/dist/src/cli/registry.js.map +1 -0
  61. package/dist/src/command-contract/catalog.js +36 -0
  62. package/dist/src/command-contract/catalog.js.map +1 -0
  63. package/dist/src/command-contract/help-renderer.js +39 -0
  64. package/dist/src/command-contract/help-renderer.js.map +1 -0
  65. package/dist/src/command-contract/policy.js +34 -0
  66. package/dist/src/command-contract/policy.js.map +1 -0
  67. package/dist/src/core/bus.js +17 -0
  68. package/dist/src/core/bus.js.map +1 -0
  69. package/dist/src/core/config.js +198 -0
  70. package/dist/src/core/config.js.map +1 -0
  71. package/dist/src/core/db.js +97 -0
  72. package/dist/src/core/db.js.map +1 -0
  73. package/dist/src/core/i18n.js +86 -0
  74. package/dist/src/core/i18n.js.map +1 -0
  75. package/dist/src/core/logger.js +14 -0
  76. package/dist/src/core/logger.js.map +1 -0
  77. package/dist/src/core/settings-merge.js +40 -0
  78. package/dist/src/core/settings-merge.js.map +1 -0
  79. package/dist/src/http/async-handler.js +6 -0
  80. package/dist/src/http/async-handler.js.map +1 -0
  81. package/dist/src/http/error-middleware.js +24 -0
  82. package/dist/src/http/error-middleware.js.map +1 -0
  83. package/dist/src/http/response.js +16 -0
  84. package/dist/src/http/response.js.map +1 -0
  85. package/dist/src/memory/heartbeat.js +106 -0
  86. package/dist/src/memory/heartbeat.js.map +1 -0
  87. package/dist/src/memory/memory.js +119 -0
  88. package/dist/src/memory/memory.js.map +1 -0
  89. package/dist/src/memory/worklog.js +154 -0
  90. package/dist/src/memory/worklog.js.map +1 -0
  91. package/dist/src/orchestrator/distribute.js +310 -0
  92. package/dist/src/orchestrator/distribute.js.map +1 -0
  93. package/dist/src/orchestrator/parser.js +118 -0
  94. package/dist/src/orchestrator/parser.js.map +1 -0
  95. package/dist/src/orchestrator/pipeline.js +343 -0
  96. package/dist/src/orchestrator/pipeline.js.map +1 -0
  97. package/dist/src/prompt/builder.js +531 -0
  98. package/dist/src/prompt/builder.js.map +1 -0
  99. package/dist/src/routes/browser.js +126 -0
  100. package/dist/src/routes/browser.js.map +1 -0
  101. package/dist/src/routes/quota.js +94 -0
  102. package/dist/src/routes/quota.js.map +1 -0
  103. package/dist/src/security/decode.js +23 -0
  104. package/dist/src/security/decode.js.map +1 -0
  105. package/dist/src/security/path-guards.js +62 -0
  106. package/dist/src/security/path-guards.js.map +1 -0
  107. package/dist/src/telegram/bot.js +469 -0
  108. package/dist/src/telegram/bot.js.map +1 -0
  109. package/dist/src/telegram/forwarder.js +93 -0
  110. package/dist/src/telegram/forwarder.js.map +1 -0
  111. package/package.json +80 -0
  112. package/public/css/chat.css +571 -0
  113. package/public/css/layout.css +350 -0
  114. package/public/css/markdown.css +270 -0
  115. package/public/css/modals.css +172 -0
  116. package/public/css/sidebar.css +225 -0
  117. package/public/css/variables.css +142 -0
  118. package/public/index.html +470 -0
  119. package/public/js/api.js +55 -0
  120. package/public/js/constants.js +119 -0
  121. package/public/js/features/appname.js +43 -0
  122. package/public/js/features/chat.js +242 -0
  123. package/public/js/features/employees.js +120 -0
  124. package/public/js/features/heartbeat.js +80 -0
  125. package/public/js/features/i18n.js +125 -0
  126. package/public/js/features/memory.js +85 -0
  127. package/public/js/features/settings.js +512 -0
  128. package/public/js/features/sidebar.js +88 -0
  129. package/public/js/features/skills.js +68 -0
  130. package/public/js/features/slash-commands.js +231 -0
  131. package/public/js/features/theme.js +40 -0
  132. package/public/js/locale.js +23 -0
  133. package/public/js/main.js +281 -0
  134. package/public/js/render.js +294 -0
  135. package/public/js/state.js +16 -0
  136. package/public/js/ui.js +172 -0
  137. package/public/js/ws.js +76 -0
  138. package/public/locales/en.json +180 -0
  139. package/public/locales/ko.json +180 -0
  140. package/public/theme-test.html +545 -0
  141. package/skills_ref/1password/SKILL.md +70 -0
  142. package/skills_ref/agents-sdk/SKILL.md +155 -0
  143. package/skills_ref/agents-sdk/references/callable.md +92 -0
  144. package/skills_ref/agents-sdk/references/codemode.md +207 -0
  145. package/skills_ref/agents-sdk/references/email.md +146 -0
  146. package/skills_ref/agents-sdk/references/mcp.md +154 -0
  147. package/skills_ref/agents-sdk/references/state-scheduling.md +164 -0
  148. package/skills_ref/agents-sdk/references/streaming-chat.md +178 -0
  149. package/skills_ref/agents-sdk/references/workflows.md +132 -0
  150. package/skills_ref/algorithmic-art/LICENSE.txt +202 -0
  151. package/skills_ref/algorithmic-art/SKILL.md +405 -0
  152. package/skills_ref/algorithmic-art/templates/generator_template.js +223 -0
  153. package/skills_ref/algorithmic-art/templates/viewer.html +599 -0
  154. package/skills_ref/apple-notes/SKILL.md +77 -0
  155. package/skills_ref/apple-reminders/SKILL.md +118 -0
  156. package/skills_ref/atlas/SKILL.md +99 -0
  157. package/skills_ref/brainstorming/SKILL.md +96 -0
  158. package/skills_ref/browser/SKILL.md +179 -0
  159. package/skills_ref/canvas-design/LICENSE.txt +202 -0
  160. package/skills_ref/canvas-design/SKILL.md +130 -0
  161. package/skills_ref/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  162. package/skills_ref/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  163. package/skills_ref/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  164. package/skills_ref/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  165. package/skills_ref/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  166. package/skills_ref/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  167. package/skills_ref/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  168. package/skills_ref/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  169. package/skills_ref/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  170. package/skills_ref/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  171. package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  172. package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  173. package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  174. package/skills_ref/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  175. package/skills_ref/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  176. package/skills_ref/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  177. package/skills_ref/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  178. package/skills_ref/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  179. package/skills_ref/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  180. package/skills_ref/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  181. package/skills_ref/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  182. package/skills_ref/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  183. package/skills_ref/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  184. package/skills_ref/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  185. package/skills_ref/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  186. package/skills_ref/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  187. package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  188. package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  189. package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  190. package/skills_ref/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  191. package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  192. package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  193. package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  194. package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  195. package/skills_ref/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  196. package/skills_ref/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  197. package/skills_ref/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  198. package/skills_ref/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  199. package/skills_ref/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  200. package/skills_ref/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  201. package/skills_ref/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  202. package/skills_ref/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  203. package/skills_ref/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  204. package/skills_ref/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  205. package/skills_ref/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  206. package/skills_ref/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  207. package/skills_ref/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  208. package/skills_ref/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  209. package/skills_ref/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  210. package/skills_ref/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  211. package/skills_ref/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  212. package/skills_ref/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  213. package/skills_ref/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  214. package/skills_ref/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  215. package/skills_ref/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  216. package/skills_ref/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  217. package/skills_ref/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  218. package/skills_ref/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  219. package/skills_ref/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  220. package/skills_ref/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  221. package/skills_ref/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  222. package/skills_ref/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  223. package/skills_ref/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  224. package/skills_ref/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  225. package/skills_ref/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  226. package/skills_ref/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  227. package/skills_ref/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  228. package/skills_ref/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  229. package/skills_ref/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  230. package/skills_ref/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  231. package/skills_ref/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  232. package/skills_ref/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  233. package/skills_ref/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  234. package/skills_ref/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  235. package/skills_ref/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  236. package/skills_ref/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  237. package/skills_ref/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  238. package/skills_ref/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  239. package/skills_ref/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  240. package/skills_ref/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  241. package/skills_ref/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  242. package/skills_ref/changelog-generator/SKILL.md +104 -0
  243. package/skills_ref/cloudflare-deploy/SKILL.md +207 -0
  244. package/skills_ref/codebase-orientation/SKILL.md +29 -0
  245. package/skills_ref/config-file-explainer/SKILL.md +26 -0
  246. package/skills_ref/context-compression/SKILL.md +265 -0
  247. package/skills_ref/context-compression/references/evaluation-framework.md +213 -0
  248. package/skills_ref/context-compression/scripts/compression_evaluator.py +658 -0
  249. package/skills_ref/data-structure-chooser/SKILL.md +26 -0
  250. package/skills_ref/debugging-checklist/SKILL.md +26 -0
  251. package/skills_ref/debugging-helpers/CREATION-LOG.md +119 -0
  252. package/skills_ref/debugging-helpers/SKILL.md +296 -0
  253. package/skills_ref/debugging-helpers/condition-based-waiting-example.ts +158 -0
  254. package/skills_ref/debugging-helpers/condition-based-waiting.md +115 -0
  255. package/skills_ref/debugging-helpers/defense-in-depth.md +122 -0
  256. package/skills_ref/debugging-helpers/find-polluter.sh +63 -0
  257. package/skills_ref/debugging-helpers/root-cause-tracing.md +169 -0
  258. package/skills_ref/debugging-helpers/test-academic.md +14 -0
  259. package/skills_ref/debugging-helpers/test-pressure-1.md +58 -0
  260. package/skills_ref/debugging-helpers/test-pressure-2.md +68 -0
  261. package/skills_ref/debugging-helpers/test-pressure-3.md +69 -0
  262. package/skills_ref/deep-research/.env.example +7 -0
  263. package/skills_ref/deep-research/README.md +246 -0
  264. package/skills_ref/deep-research/SKILL.md +106 -0
  265. package/skills_ref/deep-research/requirements.txt +2 -0
  266. package/skills_ref/deep-research/scripts/research.py +692 -0
  267. package/skills_ref/dependency-install-helper/SKILL.md +26 -0
  268. package/skills_ref/dev/SKILL.md +65 -0
  269. package/skills_ref/dev-backend/SKILL.md +61 -0
  270. package/skills_ref/dev-data/SKILL.md +76 -0
  271. package/skills_ref/dev-frontend/LICENSE.txt +177 -0
  272. package/skills_ref/dev-frontend/SKILL.md +42 -0
  273. package/skills_ref/dev-testing/LICENSE.txt +202 -0
  274. package/skills_ref/dev-testing/SKILL.md +96 -0
  275. package/skills_ref/dev-testing/examples/console_logging.py +35 -0
  276. package/skills_ref/dev-testing/examples/element_discovery.py +40 -0
  277. package/skills_ref/dev-testing/examples/static_html_automation.py +33 -0
  278. package/skills_ref/dev-testing/scripts/with_server.py +106 -0
  279. package/skills_ref/develop-web-game/SKILL.md +149 -0
  280. package/skills_ref/differential-review/.claude-plugin/plugin.json +10 -0
  281. package/skills_ref/differential-review/README.md +109 -0
  282. package/skills_ref/differential-review/commands/diff-review.md +21 -0
  283. package/skills_ref/differential-review/skills/differential-review/SKILL.md +220 -0
  284. package/skills_ref/differential-review/skills/differential-review/adversarial.md +203 -0
  285. package/skills_ref/differential-review/skills/differential-review/methodology.md +234 -0
  286. package/skills_ref/differential-review/skills/differential-review/patterns.md +300 -0
  287. package/skills_ref/differential-review/skills/differential-review/reporting.md +369 -0
  288. package/skills_ref/dispatching-parallel-agents/SKILL.md +180 -0
  289. package/skills_ref/doc-coauthoring/SKILL.md +375 -0
  290. package/skills_ref/docx/LICENSE.txt +30 -0
  291. package/skills_ref/docx/SKILL.md +481 -0
  292. package/skills_ref/docx/scripts/__init__.py +1 -0
  293. package/skills_ref/docx/scripts/accept_changes.py +135 -0
  294. package/skills_ref/docx/scripts/comment.py +318 -0
  295. package/skills_ref/docx/scripts/office/helpers/__init__.py +0 -0
  296. package/skills_ref/docx/scripts/office/helpers/merge_runs.py +199 -0
  297. package/skills_ref/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  298. package/skills_ref/docx/scripts/office/pack.py +159 -0
  299. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  300. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  301. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  302. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  303. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  304. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  305. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  306. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  307. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  308. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  309. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  310. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  311. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  312. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  313. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  314. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  315. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  316. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  317. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  318. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  319. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  320. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  321. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  322. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  323. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  324. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  325. package/skills_ref/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  326. package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  327. package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  328. package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  329. package/skills_ref/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  330. package/skills_ref/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  331. package/skills_ref/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  332. package/skills_ref/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  333. package/skills_ref/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  334. package/skills_ref/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  335. package/skills_ref/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  336. package/skills_ref/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  337. package/skills_ref/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  338. package/skills_ref/docx/scripts/office/soffice.py +183 -0
  339. package/skills_ref/docx/scripts/office/unpack.py +132 -0
  340. package/skills_ref/docx/scripts/office/validate.py +111 -0
  341. package/skills_ref/docx/scripts/office/validators/__init__.py +15 -0
  342. package/skills_ref/docx/scripts/office/validators/base.py +847 -0
  343. package/skills_ref/docx/scripts/office/validators/docx.py +446 -0
  344. package/skills_ref/docx/scripts/office/validators/pptx.py +275 -0
  345. package/skills_ref/docx/scripts/office/validators/redlining.py +247 -0
  346. package/skills_ref/docx/scripts/templates/comments.xml +3 -0
  347. package/skills_ref/docx/scripts/templates/commentsExtended.xml +3 -0
  348. package/skills_ref/docx/scripts/templates/commentsExtensible.xml +3 -0
  349. package/skills_ref/docx/scripts/templates/commentsIds.xml +3 -0
  350. package/skills_ref/docx/scripts/templates/people.xml +3 -0
  351. package/skills_ref/durable-objects/SKILL.md +186 -0
  352. package/skills_ref/durable-objects/references/rules.md +286 -0
  353. package/skills_ref/durable-objects/references/testing.md +264 -0
  354. package/skills_ref/durable-objects/references/workers.md +346 -0
  355. package/skills_ref/email-draft-polish/SKILL.md +24 -0
  356. package/skills_ref/error-message-explainer/SKILL.md +27 -0
  357. package/skills_ref/fal-image-edit/SKILL.md +249 -0
  358. package/skills_ref/fal-image-edit/scripts/edit-image.sh +199 -0
  359. package/skills_ref/figma-implement-design/SKILL.md +264 -0
  360. package/skills_ref/git-worktrees/SKILL.md +218 -0
  361. package/skills_ref/github/SKILL.md +210 -0
  362. package/skills_ref/gog/SKILL.md +116 -0
  363. package/skills_ref/goplaces/SKILL.md +52 -0
  364. package/skills_ref/himalaya/SKILL.md +257 -0
  365. package/skills_ref/hugging-face-cli/SKILL.md +186 -0
  366. package/skills_ref/hugging-face-cli/references/commands.md +954 -0
  367. package/skills_ref/hugging-face-cli/references/examples.md +374 -0
  368. package/skills_ref/hugging-face-evaluation/SKILL.md +651 -0
  369. package/skills_ref/hugging-face-evaluation/examples/.env.example +7 -0
  370. package/skills_ref/hugging-face-evaluation/examples/USAGE_EXAMPLES.md +382 -0
  371. package/skills_ref/hugging-face-evaluation/examples/artificial_analysis_to_hub.py +141 -0
  372. package/skills_ref/hugging-face-evaluation/examples/example_readme_tables.md +135 -0
  373. package/skills_ref/hugging-face-evaluation/examples/metric_mapping.json +50 -0
  374. package/skills_ref/hugging-face-evaluation/requirements.txt +20 -0
  375. package/skills_ref/hugging-face-evaluation/scripts/evaluation_manager.py +1374 -0
  376. package/skills_ref/hugging-face-evaluation/scripts/inspect_eval_uv.py +104 -0
  377. package/skills_ref/hugging-face-evaluation/scripts/inspect_vllm_uv.py +317 -0
  378. package/skills_ref/hugging-face-evaluation/scripts/lighteval_vllm_uv.py +303 -0
  379. package/skills_ref/hugging-face-evaluation/scripts/run_eval_job.py +98 -0
  380. package/skills_ref/hugging-face-evaluation/scripts/run_vllm_eval_job.py +331 -0
  381. package/skills_ref/hugging-face-evaluation/scripts/test_extraction.py +206 -0
  382. package/skills_ref/hugging-face-model-trainer/SKILL.md +718 -0
  383. package/skills_ref/hugging-face-model-trainer/references/gguf_conversion.md +296 -0
  384. package/skills_ref/hugging-face-model-trainer/references/hardware_guide.md +283 -0
  385. package/skills_ref/hugging-face-model-trainer/references/hub_saving.md +364 -0
  386. package/skills_ref/hugging-face-model-trainer/references/reliability_principles.md +371 -0
  387. package/skills_ref/hugging-face-model-trainer/references/trackio_guide.md +189 -0
  388. package/skills_ref/hugging-face-model-trainer/references/training_methods.md +150 -0
  389. package/skills_ref/hugging-face-model-trainer/references/training_patterns.md +203 -0
  390. package/skills_ref/hugging-face-model-trainer/references/troubleshooting.md +282 -0
  391. package/skills_ref/hugging-face-model-trainer/references/unsloth.md +313 -0
  392. package/skills_ref/hugging-face-model-trainer/scripts/convert_to_gguf.py +424 -0
  393. package/skills_ref/hugging-face-model-trainer/scripts/dataset_inspector.py +417 -0
  394. package/skills_ref/hugging-face-model-trainer/scripts/estimate_cost.py +150 -0
  395. package/skills_ref/hugging-face-model-trainer/scripts/train_dpo_example.py +106 -0
  396. package/skills_ref/hugging-face-model-trainer/scripts/train_grpo_example.py +89 -0
  397. package/skills_ref/hugging-face-model-trainer/scripts/train_sft_example.py +122 -0
  398. package/skills_ref/hugging-face-model-trainer/scripts/unsloth_sft_example.py +512 -0
  399. package/skills_ref/imagegen/SKILL.md +174 -0
  400. package/skills_ref/insecure-defaults/.claude-plugin/plugin.json +10 -0
  401. package/skills_ref/insecure-defaults/README.md +45 -0
  402. package/skills_ref/insecure-defaults/skills/insecure-defaults/SKILL.md +117 -0
  403. package/skills_ref/insecure-defaults/skills/insecure-defaults/references/examples.md +409 -0
  404. package/skills_ref/jupyter-notebook/SKILL.md +107 -0
  405. package/skills_ref/linear/SKILL.md +87 -0
  406. package/skills_ref/linter-fix-guide/SKILL.md +27 -0
  407. package/skills_ref/log-summarizer/SKILL.md +27 -0
  408. package/skills_ref/mcp-builder/LICENSE.txt +202 -0
  409. package/skills_ref/mcp-builder/SKILL.md +236 -0
  410. package/skills_ref/mcp-builder/reference/evaluation.md +602 -0
  411. package/skills_ref/mcp-builder/reference/mcp_best_practices.md +249 -0
  412. package/skills_ref/mcp-builder/reference/node_mcp_server.md +970 -0
  413. package/skills_ref/mcp-builder/reference/python_mcp_server.md +719 -0
  414. package/skills_ref/mcp-builder/scripts/connections.py +151 -0
  415. package/skills_ref/mcp-builder/scripts/evaluation.py +373 -0
  416. package/skills_ref/mcp-builder/scripts/example_evaluation.xml +22 -0
  417. package/skills_ref/mcp-builder/scripts/requirements.txt +2 -0
  418. package/skills_ref/memory/SKILL.md +129 -0
  419. package/skills_ref/modern-python/.claude-plugin/plugin.json +10 -0
  420. package/skills_ref/modern-python/README.md +66 -0
  421. package/skills_ref/modern-python/hooks/hooks.json +16 -0
  422. package/skills_ref/modern-python/hooks/setup-shims.bats +70 -0
  423. package/skills_ref/modern-python/hooks/setup-shims.sh +24 -0
  424. package/skills_ref/modern-python/hooks/shims/pip +27 -0
  425. package/skills_ref/modern-python/hooks/shims/pip-shim.bats +45 -0
  426. package/skills_ref/modern-python/hooks/shims/pip3 +27 -0
  427. package/skills_ref/modern-python/hooks/shims/pipx +41 -0
  428. package/skills_ref/modern-python/hooks/shims/pipx-shim.bats +64 -0
  429. package/skills_ref/modern-python/hooks/shims/python +26 -0
  430. package/skills_ref/modern-python/hooks/shims/python-shim.bats +53 -0
  431. package/skills_ref/modern-python/hooks/shims/python3 +26 -0
  432. package/skills_ref/modern-python/hooks/shims/uv +27 -0
  433. package/skills_ref/modern-python/hooks/shims/uv-shim.bats +47 -0
  434. package/skills_ref/modern-python/skills/modern-python/SKILL.md +333 -0
  435. package/skills_ref/modern-python/skills/modern-python/references/dependabot.md +43 -0
  436. package/skills_ref/modern-python/skills/modern-python/references/migration-checklist.md +141 -0
  437. package/skills_ref/modern-python/skills/modern-python/references/pep723-scripts.md +259 -0
  438. package/skills_ref/modern-python/skills/modern-python/references/prek.md +211 -0
  439. package/skills_ref/modern-python/skills/modern-python/references/pyproject.md +254 -0
  440. package/skills_ref/modern-python/skills/modern-python/references/ruff-config.md +240 -0
  441. package/skills_ref/modern-python/skills/modern-python/references/security-setup.md +255 -0
  442. package/skills_ref/modern-python/skills/modern-python/references/testing.md +284 -0
  443. package/skills_ref/modern-python/skills/modern-python/references/uv-commands.md +200 -0
  444. package/skills_ref/modern-python/skills/modern-python/templates/dependabot.yml +36 -0
  445. package/skills_ref/modern-python/skills/modern-python/templates/pre-commit-config.yaml +66 -0
  446. package/skills_ref/nano-banana-pro/SKILL.md +58 -0
  447. package/skills_ref/netlify-deploy/SKILL.md +233 -0
  448. package/skills_ref/notion/SKILL.md +304 -0
  449. package/skills_ref/notion-knowledge-capture/SKILL.md +56 -0
  450. package/skills_ref/notion-meeting-intelligence/SKILL.md +60 -0
  451. package/skills_ref/notion-research-documentation/SKILL.md +59 -0
  452. package/skills_ref/notion-spec-to-implementation/SKILL.md +58 -0
  453. package/skills_ref/obsidian/SKILL.md +81 -0
  454. package/skills_ref/openai-docs/SKILL.md +56 -0
  455. package/skills_ref/openhue/SKILL.md +112 -0
  456. package/skills_ref/pdf/SKILL.md +69 -0
  457. package/skills_ref/postgres/README.md +77 -0
  458. package/skills_ref/postgres/SKILL.md +129 -0
  459. package/skills_ref/postgres/connections.example.json +34 -0
  460. package/skills_ref/postgres/requirements.txt +1 -0
  461. package/skills_ref/postgres/scripts/query.py +262 -0
  462. package/skills_ref/pptx/LICENSE.txt +30 -0
  463. package/skills_ref/pptx/SKILL.md +232 -0
  464. package/skills_ref/pptx/editing.md +205 -0
  465. package/skills_ref/pptx/pptxgenjs.md +420 -0
  466. package/skills_ref/pptx/scripts/__init__.py +0 -0
  467. package/skills_ref/pptx/scripts/add_slide.py +195 -0
  468. package/skills_ref/pptx/scripts/clean.py +286 -0
  469. package/skills_ref/pptx/scripts/office/helpers/__init__.py +0 -0
  470. package/skills_ref/pptx/scripts/office/helpers/merge_runs.py +199 -0
  471. package/skills_ref/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  472. package/skills_ref/pptx/scripts/office/pack.py +159 -0
  473. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  474. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  475. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  476. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  477. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  478. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  479. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  480. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  481. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  482. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  483. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  484. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  485. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  486. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  487. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  488. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  489. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  490. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  491. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  492. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  493. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  494. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  495. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  496. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  497. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  498. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  499. package/skills_ref/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  500. package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  501. package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  502. package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  503. package/skills_ref/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  504. package/skills_ref/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  505. package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  506. package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  507. package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  508. package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  509. package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  510. package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  511. package/skills_ref/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  512. package/skills_ref/pptx/scripts/office/soffice.py +183 -0
  513. package/skills_ref/pptx/scripts/office/unpack.py +132 -0
  514. package/skills_ref/pptx/scripts/office/validate.py +111 -0
  515. package/skills_ref/pptx/scripts/office/validators/__init__.py +15 -0
  516. package/skills_ref/pptx/scripts/office/validators/base.py +847 -0
  517. package/skills_ref/pptx/scripts/office/validators/docx.py +446 -0
  518. package/skills_ref/pptx/scripts/office/validators/pptx.py +275 -0
  519. package/skills_ref/pptx/scripts/office/validators/redlining.py +247 -0
  520. package/skills_ref/pptx/scripts/thumbnail.py +289 -0
  521. package/skills_ref/property-based-testing/.claude-plugin/plugin.json +9 -0
  522. package/skills_ref/property-based-testing/README.md +47 -0
  523. package/skills_ref/property-based-testing/skills/property-based-testing/README.md +88 -0
  524. package/skills_ref/property-based-testing/skills/property-based-testing/SKILL.md +123 -0
  525. package/skills_ref/property-based-testing/skills/property-based-testing/references/design.md +191 -0
  526. package/skills_ref/property-based-testing/skills/property-based-testing/references/generating.md +204 -0
  527. package/skills_ref/property-based-testing/skills/property-based-testing/references/interpreting-failures.md +239 -0
  528. package/skills_ref/property-based-testing/skills/property-based-testing/references/libraries.md +130 -0
  529. package/skills_ref/property-based-testing/skills/property-based-testing/references/refactoring.md +181 -0
  530. package/skills_ref/property-based-testing/skills/property-based-testing/references/reviewing.md +209 -0
  531. package/skills_ref/property-based-testing/skills/property-based-testing/references/strategies.md +124 -0
  532. package/skills_ref/react-best-practices/AGENTS.md +2934 -0
  533. package/skills_ref/react-best-practices/README.md +123 -0
  534. package/skills_ref/react-best-practices/SKILL.md +136 -0
  535. package/skills_ref/react-best-practices/metadata.json +15 -0
  536. package/skills_ref/react-best-practices/rules/_sections.md +46 -0
  537. package/skills_ref/react-best-practices/rules/_template.md +28 -0
  538. package/skills_ref/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  539. package/skills_ref/react-best-practices/rules/advanced-init-once.md +42 -0
  540. package/skills_ref/react-best-practices/rules/advanced-use-latest.md +39 -0
  541. package/skills_ref/react-best-practices/rules/async-api-routes.md +38 -0
  542. package/skills_ref/react-best-practices/rules/async-defer-await.md +80 -0
  543. package/skills_ref/react-best-practices/rules/async-dependencies.md +51 -0
  544. package/skills_ref/react-best-practices/rules/async-parallel.md +28 -0
  545. package/skills_ref/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  546. package/skills_ref/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  547. package/skills_ref/react-best-practices/rules/bundle-conditional.md +31 -0
  548. package/skills_ref/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  549. package/skills_ref/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  550. package/skills_ref/react-best-practices/rules/bundle-preload.md +50 -0
  551. package/skills_ref/react-best-practices/rules/client-event-listeners.md +74 -0
  552. package/skills_ref/react-best-practices/rules/client-localstorage-schema.md +71 -0
  553. package/skills_ref/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  554. package/skills_ref/react-best-practices/rules/client-swr-dedup.md +56 -0
  555. package/skills_ref/react-best-practices/rules/js-batch-dom-css.md +107 -0
  556. package/skills_ref/react-best-practices/rules/js-cache-function-results.md +80 -0
  557. package/skills_ref/react-best-practices/rules/js-cache-property-access.md +28 -0
  558. package/skills_ref/react-best-practices/rules/js-cache-storage.md +70 -0
  559. package/skills_ref/react-best-practices/rules/js-combine-iterations.md +32 -0
  560. package/skills_ref/react-best-practices/rules/js-early-exit.md +50 -0
  561. package/skills_ref/react-best-practices/rules/js-hoist-regexp.md +45 -0
  562. package/skills_ref/react-best-practices/rules/js-index-maps.md +37 -0
  563. package/skills_ref/react-best-practices/rules/js-length-check-first.md +49 -0
  564. package/skills_ref/react-best-practices/rules/js-min-max-loop.md +82 -0
  565. package/skills_ref/react-best-practices/rules/js-set-map-lookups.md +24 -0
  566. package/skills_ref/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  567. package/skills_ref/react-best-practices/rules/rendering-activity.md +26 -0
  568. package/skills_ref/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  569. package/skills_ref/react-best-practices/rules/rendering-conditional-render.md +40 -0
  570. package/skills_ref/react-best-practices/rules/rendering-content-visibility.md +38 -0
  571. package/skills_ref/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  572. package/skills_ref/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  573. package/skills_ref/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  574. package/skills_ref/react-best-practices/rules/rendering-svg-precision.md +28 -0
  575. package/skills_ref/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  576. package/skills_ref/react-best-practices/rules/rerender-defer-reads.md +39 -0
  577. package/skills_ref/react-best-practices/rules/rerender-dependencies.md +45 -0
  578. package/skills_ref/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  579. package/skills_ref/react-best-practices/rules/rerender-derived-state.md +29 -0
  580. package/skills_ref/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  581. package/skills_ref/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  582. package/skills_ref/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  583. package/skills_ref/react-best-practices/rules/rerender-memo.md +44 -0
  584. package/skills_ref/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  585. package/skills_ref/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  586. package/skills_ref/react-best-practices/rules/rerender-transitions.md +40 -0
  587. package/skills_ref/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  588. package/skills_ref/react-best-practices/rules/server-after-nonblocking.md +73 -0
  589. package/skills_ref/react-best-practices/rules/server-auth-actions.md +96 -0
  590. package/skills_ref/react-best-practices/rules/server-cache-lru.md +41 -0
  591. package/skills_ref/react-best-practices/rules/server-cache-react.md +76 -0
  592. package/skills_ref/react-best-practices/rules/server-dedup-props.md +65 -0
  593. package/skills_ref/react-best-practices/rules/server-parallel-fetching.md +83 -0
  594. package/skills_ref/react-best-practices/rules/server-serialization.md +38 -0
  595. package/skills_ref/receiving-code-review/SKILL.md +213 -0
  596. package/skills_ref/registry.json +1493 -0
  597. package/skills_ref/render-deploy/SKILL.md +462 -0
  598. package/skills_ref/requesting-code-review/SKILL.md +105 -0
  599. package/skills_ref/requesting-code-review/code-reviewer.md +146 -0
  600. package/skills_ref/screen-capture/SKILL.md +162 -0
  601. package/skills_ref/security-best-practices/LICENSE.txt +201 -0
  602. package/skills_ref/security-best-practices/SKILL.md +86 -0
  603. package/skills_ref/security-best-practices/agents/openai.yaml +4 -0
  604. package/skills_ref/security-best-practices/references/golang-general-backend-security.md +826 -0
  605. package/skills_ref/security-best-practices/references/javascript-express-web-server-security.md +1158 -0
  606. package/skills_ref/security-best-practices/references/javascript-general-web-frontend-security.md +747 -0
  607. package/skills_ref/security-best-practices/references/javascript-jquery-web-frontend-security.md +678 -0
  608. package/skills_ref/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +1144 -0
  609. package/skills_ref/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +990 -0
  610. package/skills_ref/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +791 -0
  611. package/skills_ref/security-best-practices/references/python-django-web-server-security.md +882 -0
  612. package/skills_ref/security-best-practices/references/python-fastapi-web-server-security.md +1036 -0
  613. package/skills_ref/security-best-practices/references/python-flask-web-server-security.md +705 -0
  614. package/skills_ref/security-ownership-map/LICENSE.txt +201 -0
  615. package/skills_ref/security-ownership-map/SKILL.md +206 -0
  616. package/skills_ref/security-ownership-map/agents/openai.yaml +4 -0
  617. package/skills_ref/security-ownership-map/references/neo4j-import.md +60 -0
  618. package/skills_ref/security-ownership-map/scripts/build_ownership_map.py +956 -0
  619. package/skills_ref/security-ownership-map/scripts/community_maintainers.py +544 -0
  620. package/skills_ref/security-ownership-map/scripts/query_ownership.py +483 -0
  621. package/skills_ref/security-ownership-map/scripts/run_ownership_map.py +200 -0
  622. package/skills_ref/security-threat-model/LICENSE.txt +201 -0
  623. package/skills_ref/security-threat-model/SKILL.md +81 -0
  624. package/skills_ref/security-threat-model/agents/openai.yaml +4 -0
  625. package/skills_ref/security-threat-model/references/prompt-template.md +255 -0
  626. package/skills_ref/security-threat-model/references/security-controls-and-assets.md +32 -0
  627. package/skills_ref/sentry/SKILL.md +123 -0
  628. package/skills_ref/skill-creator/SKILL.md +372 -0
  629. package/skills_ref/sora/SKILL.md +153 -0
  630. package/skills_ref/speech/SKILL.md +144 -0
  631. package/skills_ref/spotify-player/SKILL.md +64 -0
  632. package/skills_ref/static-analysis/.claude-plugin/plugin.json +8 -0
  633. package/skills_ref/static-analysis/README.md +65 -0
  634. package/skills_ref/static-analysis/agents/semgrep-scanner.md +71 -0
  635. package/skills_ref/static-analysis/agents/semgrep-triager.md +107 -0
  636. package/skills_ref/static-analysis/skills/codeql/SKILL.md +119 -0
  637. package/skills_ref/static-analysis/skills/codeql/references/diagnostic-query-templates.md +339 -0
  638. package/skills_ref/static-analysis/skills/codeql/references/language-details.md +207 -0
  639. package/skills_ref/static-analysis/skills/codeql/references/performance-tuning.md +111 -0
  640. package/skills_ref/static-analysis/skills/codeql/references/ruleset-catalog.md +63 -0
  641. package/skills_ref/static-analysis/skills/codeql/references/threat-models.md +44 -0
  642. package/skills_ref/static-analysis/skills/codeql/workflows/build-database.md +669 -0
  643. package/skills_ref/static-analysis/skills/codeql/workflows/create-data-extensions.md +536 -0
  644. package/skills_ref/static-analysis/skills/codeql/workflows/run-analysis.md +436 -0
  645. package/skills_ref/static-analysis/skills/sarif-parsing/SKILL.md +479 -0
  646. package/skills_ref/static-analysis/skills/sarif-parsing/resources/jq-queries.md +162 -0
  647. package/skills_ref/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +331 -0
  648. package/skills_ref/static-analysis/skills/semgrep/SKILL.md +431 -0
  649. package/skills_ref/static-analysis/skills/semgrep/references/rulesets.md +162 -0
  650. package/skills_ref/static-analysis/skills/semgrep/references/scanner-task-prompt.md +102 -0
  651. package/skills_ref/static-analysis/skills/semgrep/references/triage-task-prompt.md +122 -0
  652. package/skills_ref/static-analysis/skills/semgrep/scripts/merge_triaged_sarif.py +252 -0
  653. package/skills_ref/summarize/SKILL.md +87 -0
  654. package/skills_ref/tdd/SKILL.md +371 -0
  655. package/skills_ref/tdd/testing-anti-patterns.md +299 -0
  656. package/skills_ref/telegram-send/SKILL.md +99 -0
  657. package/skills_ref/terraform/README.md +105 -0
  658. package/skills_ref/terraform/code-generation/.claude-plugin/plugin.json +30 -0
  659. package/skills_ref/terraform/code-generation/skills/azure-verified-modules/SKILL.md +613 -0
  660. package/skills_ref/terraform/code-generation/skills/terraform-style-guide/SKILL.md +353 -0
  661. package/skills_ref/terraform/code-generation/skills/terraform-test/SKILL.md +1669 -0
  662. package/skills_ref/terraform/module-generation/.claude-plugin/plugin.json +30 -0
  663. package/skills_ref/terraform/module-generation/skills/refactor-module/SKILL.md +538 -0
  664. package/skills_ref/terraform/module-generation/skills/terraform-stacks/SKILL.md +468 -0
  665. package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/api-monitoring.md +543 -0
  666. package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/component-blocks.md +476 -0
  667. package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/deployment-blocks.md +391 -0
  668. package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/examples.md +1529 -0
  669. package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/linked-stacks.md +187 -0
  670. package/skills_ref/terraform/module-generation/skills/terraform-stacks/references/troubleshooting.md +671 -0
  671. package/skills_ref/terraform/provider-development/.claude-plugin/plugin.json +13 -0
  672. package/skills_ref/terraform/provider-development/skills/new-terraform-provider/SKILL.md +25 -0
  673. package/skills_ref/terraform/provider-development/skills/new-terraform-provider/assets/main.go +40 -0
  674. package/skills_ref/terraform/provider-development/skills/provider-actions/SKILL.md +478 -0
  675. package/skills_ref/terraform/provider-development/skills/provider-resources/SKILL.md +599 -0
  676. package/skills_ref/terraform/provider-development/skills/run-acceptance-tests/SKILL.md +41 -0
  677. package/skills_ref/theme-factory/LICENSE.txt +202 -0
  678. package/skills_ref/theme-factory/SKILL.md +59 -0
  679. package/skills_ref/theme-factory/theme-showcase.pdf +0 -0
  680. package/skills_ref/theme-factory/themes/arctic-frost.md +19 -0
  681. package/skills_ref/theme-factory/themes/botanical-garden.md +19 -0
  682. package/skills_ref/theme-factory/themes/desert-rose.md +19 -0
  683. package/skills_ref/theme-factory/themes/forest-canopy.md +19 -0
  684. package/skills_ref/theme-factory/themes/golden-hour.md +19 -0
  685. package/skills_ref/theme-factory/themes/midnight-galaxy.md +19 -0
  686. package/skills_ref/theme-factory/themes/modern-minimalist.md +19 -0
  687. package/skills_ref/theme-factory/themes/ocean-depths.md +19 -0
  688. package/skills_ref/theme-factory/themes/sunset-boulevard.md +19 -0
  689. package/skills_ref/theme-factory/themes/tech-innovation.md +19 -0
  690. package/skills_ref/things-mac/SKILL.md +86 -0
  691. package/skills_ref/tmux/SKILL.md +153 -0
  692. package/skills_ref/transcribe/SKILL.md +81 -0
  693. package/skills_ref/trello/SKILL.md +95 -0
  694. package/skills_ref/tts/SKILL.md +99 -0
  695. package/skills_ref/vercel-deploy/SKILL.md +115 -0
  696. package/skills_ref/video-downloader/SKILL.md +99 -0
  697. package/skills_ref/video-downloader/scripts/download_video.py +145 -0
  698. package/skills_ref/video-frames/SKILL.md +46 -0
  699. package/skills_ref/vision-click/SKILL.md +128 -0
  700. package/skills_ref/weather/SKILL.md +112 -0
  701. package/skills_ref/web-artifacts-builder/LICENSE.txt +202 -0
  702. package/skills_ref/web-artifacts-builder/SKILL.md +74 -0
  703. package/skills_ref/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  704. package/skills_ref/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  705. package/skills_ref/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  706. package/skills_ref/web-perf/SKILL.md +193 -0
  707. package/skills_ref/web-routing/SKILL.md +26 -0
  708. package/skills_ref/whatsapp/SKILL.md +255 -0
  709. package/skills_ref/whatsapp/assets/agent-app-integration-example.json +35 -0
  710. package/skills_ref/whatsapp/assets/databases-example.json +11 -0
  711. package/skills_ref/whatsapp/assets/function-decide-route-interactive-buttons.json +6 -0
  712. package/skills_ref/whatsapp/assets/functions-example.json +5 -0
  713. package/skills_ref/whatsapp/assets/workflow-agent-simple.json +31 -0
  714. package/skills_ref/whatsapp/assets/workflow-api-template-wait-agent.json +59 -0
  715. package/skills_ref/whatsapp/assets/workflow-customer-support-intake-agent.json +56 -0
  716. package/skills_ref/whatsapp/assets/workflow-decision.json +83 -0
  717. package/skills_ref/whatsapp/assets/workflow-interactive-buttons-decide-ai.json +89 -0
  718. package/skills_ref/whatsapp/assets/workflow-interactive-buttons-decide-function.json +88 -0
  719. package/skills_ref/whatsapp/assets/workflow-linear.json +53 -0
  720. package/skills_ref/whatsapp/package.json +10 -0
  721. package/skills_ref/whatsapp/references/app-integrations.md +89 -0
  722. package/skills_ref/whatsapp/references/databases-reference.md +21 -0
  723. package/skills_ref/whatsapp/references/execution-context.md +42 -0
  724. package/skills_ref/whatsapp/references/function-contracts.md +55 -0
  725. package/skills_ref/whatsapp/references/functions-payloads.md +87 -0
  726. package/skills_ref/whatsapp/references/functions-reference.md +133 -0
  727. package/skills_ref/whatsapp/references/graph-contract.md +145 -0
  728. package/skills_ref/whatsapp/references/node-types.md +430 -0
  729. package/skills_ref/whatsapp/references/triggers.md +20 -0
  730. package/skills_ref/whatsapp/references/workflow-overview.md +22 -0
  731. package/skills_ref/whatsapp/references/workflow-reference.md +123 -0
  732. package/skills_ref/whatsapp/scripts/configure-prop.js +113 -0
  733. package/skills_ref/whatsapp/scripts/create-connect-token.js +38 -0
  734. package/skills_ref/whatsapp/scripts/create-function.js +64 -0
  735. package/skills_ref/whatsapp/scripts/create-integration.js +137 -0
  736. package/skills_ref/whatsapp/scripts/create-row.js +47 -0
  737. package/skills_ref/whatsapp/scripts/create-trigger.js +88 -0
  738. package/skills_ref/whatsapp/scripts/create-workflow.js +85 -0
  739. package/skills_ref/whatsapp/scripts/delete-integration.js +44 -0
  740. package/skills_ref/whatsapp/scripts/delete-row.js +49 -0
  741. package/skills_ref/whatsapp/scripts/delete-trigger.js +44 -0
  742. package/skills_ref/whatsapp/scripts/deploy-function.js +47 -0
  743. package/skills_ref/whatsapp/scripts/edit-graph.js +289 -0
  744. package/skills_ref/whatsapp/scripts/get-action-schema.js +44 -0
  745. package/skills_ref/whatsapp/scripts/get-context-value.js +80 -0
  746. package/skills_ref/whatsapp/scripts/get-execution-event.js +55 -0
  747. package/skills_ref/whatsapp/scripts/get-execution.js +44 -0
  748. package/skills_ref/whatsapp/scripts/get-function.js +43 -0
  749. package/skills_ref/whatsapp/scripts/get-graph.js +85 -0
  750. package/skills_ref/whatsapp/scripts/get-table.js +45 -0
  751. package/skills_ref/whatsapp/scripts/get-workflow.js +44 -0
  752. package/skills_ref/whatsapp/scripts/invoke-function.js +60 -0
  753. package/skills_ref/whatsapp/scripts/lib/databases/args.js +87 -0
  754. package/skills_ref/whatsapp/scripts/lib/databases/filters.js +30 -0
  755. package/skills_ref/whatsapp/scripts/lib/databases/kapso-api.js +70 -0
  756. package/skills_ref/whatsapp/scripts/lib/functions/args.js +55 -0
  757. package/skills_ref/whatsapp/scripts/lib/functions/kapso-api.js +70 -0
  758. package/skills_ref/whatsapp/scripts/lib/workflows/args.js +53 -0
  759. package/skills_ref/whatsapp/scripts/lib/workflows/kapso-api.js +123 -0
  760. package/skills_ref/whatsapp/scripts/lib/workflows/result.js +16 -0
  761. package/skills_ref/whatsapp/scripts/list-accounts.js +62 -0
  762. package/skills_ref/whatsapp/scripts/list-apps.js +42 -0
  763. package/skills_ref/whatsapp/scripts/list-execution-events.js +61 -0
  764. package/skills_ref/whatsapp/scripts/list-executions.js +53 -0
  765. package/skills_ref/whatsapp/scripts/list-function-invocations.js +53 -0
  766. package/skills_ref/whatsapp/scripts/list-functions.js +41 -0
  767. package/skills_ref/whatsapp/scripts/list-integrations.js +41 -0
  768. package/skills_ref/whatsapp/scripts/list-provider-models.js +48 -0
  769. package/skills_ref/whatsapp/scripts/list-tables.js +41 -0
  770. package/skills_ref/whatsapp/scripts/list-triggers.js +44 -0
  771. package/skills_ref/whatsapp/scripts/list-whatsapp-phone-numbers.js +56 -0
  772. package/skills_ref/whatsapp/scripts/list-workflows.js +44 -0
  773. package/skills_ref/whatsapp/scripts/openapi-explore.mjs +1273 -0
  774. package/skills_ref/whatsapp/scripts/query-rows.js +71 -0
  775. package/skills_ref/whatsapp/scripts/reload-props.js +110 -0
  776. package/skills_ref/whatsapp/scripts/resume-execution.js +75 -0
  777. package/skills_ref/whatsapp/scripts/search-actions.js +64 -0
  778. package/skills_ref/whatsapp/scripts/update-execution-status.js +51 -0
  779. package/skills_ref/whatsapp/scripts/update-function.js +65 -0
  780. package/skills_ref/whatsapp/scripts/update-graph.js +154 -0
  781. package/skills_ref/whatsapp/scripts/update-integration.js +82 -0
  782. package/skills_ref/whatsapp/scripts/update-row.js +51 -0
  783. package/skills_ref/whatsapp/scripts/update-trigger.js +60 -0
  784. package/skills_ref/whatsapp/scripts/update-workflow-settings.js +67 -0
  785. package/skills_ref/whatsapp/scripts/upsert-row.js +64 -0
  786. package/skills_ref/whatsapp/scripts/validate-graph.js +293 -0
  787. package/skills_ref/whatsapp/scripts/variables-delete.js +37 -0
  788. package/skills_ref/whatsapp/scripts/variables-list.js +55 -0
  789. package/skills_ref/whatsapp/scripts/variables-set.js +39 -0
  790. package/skills_ref/writing-plans/SKILL.md +116 -0
  791. package/skills_ref/xlsx/LICENSE.txt +30 -0
  792. package/skills_ref/xlsx/SKILL.md +292 -0
  793. package/skills_ref/xlsx/scripts/office/helpers/__init__.py +0 -0
  794. package/skills_ref/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  795. package/skills_ref/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  796. package/skills_ref/xlsx/scripts/office/pack.py +159 -0
  797. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  798. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  799. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  800. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  801. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  802. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  803. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  804. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  805. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  806. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  807. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  808. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  809. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  810. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  811. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  812. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  813. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  814. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  815. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  816. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  817. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  818. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  819. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  820. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  821. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  822. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  823. package/skills_ref/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  824. package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  825. package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  826. package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  827. package/skills_ref/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  828. package/skills_ref/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  829. package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  830. package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  831. package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  832. package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  833. package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  834. package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  835. package/skills_ref/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  836. package/skills_ref/xlsx/scripts/office/soffice.py +183 -0
  837. package/skills_ref/xlsx/scripts/office/unpack.py +132 -0
  838. package/skills_ref/xlsx/scripts/office/validate.py +111 -0
  839. package/skills_ref/xlsx/scripts/office/validators/__init__.py +15 -0
  840. package/skills_ref/xlsx/scripts/office/validators/base.py +847 -0
  841. package/skills_ref/xlsx/scripts/office/validators/docx.py +446 -0
  842. package/skills_ref/xlsx/scripts/office/validators/pptx.py +275 -0
  843. package/skills_ref/xlsx/scripts/office/validators/redlining.py +247 -0
  844. package/skills_ref/xlsx/scripts/recalc.py +184 -0
  845. package/skills_ref/xurl/SKILL.md +461 -0
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: tmux
3
+ description: Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
4
+ metadata:
5
+ { "openclaw": { "emoji": "🧵", "os": ["darwin", "linux"], "requires": { "bins": ["tmux"] } } }
6
+ ---
7
+
8
+ # tmux Session Control
9
+
10
+ Control tmux sessions by sending keystrokes and reading output. Essential for managing Claude Code sessions.
11
+
12
+ ## When to Use
13
+
14
+ ✅ **USE this skill when:**
15
+
16
+ - Monitoring Claude/Codex sessions in tmux
17
+ - Sending input to interactive terminal applications
18
+ - Scraping output from long-running processes in tmux
19
+ - Navigating tmux panes/windows programmatically
20
+ - Checking on background work in existing sessions
21
+
22
+ ## When NOT to Use
23
+
24
+ ❌ **DON'T use this skill when:**
25
+
26
+ - Running one-off shell commands → use `exec` tool directly
27
+ - Starting new background processes → use `exec` with `background:true`
28
+ - Non-interactive scripts → use `exec` tool
29
+ - The process isn't in tmux
30
+ - You need to create a new tmux session → use `exec` with `tmux new-session`
31
+
32
+ ## Example Sessions
33
+
34
+ | Session | Purpose |
35
+ | ----------------------- | --------------------------- |
36
+ | `shared` | Primary interactive session |
37
+ | `worker-2` - `worker-8` | Parallel worker sessions |
38
+
39
+ ## Common Commands
40
+
41
+ ### List Sessions
42
+
43
+ ```bash
44
+ tmux list-sessions
45
+ tmux ls
46
+ ```
47
+
48
+ ### Capture Output
49
+
50
+ ```bash
51
+ # Last 20 lines of pane
52
+ tmux capture-pane -t shared -p | tail -20
53
+
54
+ # Entire scrollback
55
+ tmux capture-pane -t shared -p -S -
56
+
57
+ # Specific pane in window
58
+ tmux capture-pane -t shared:0.0 -p
59
+ ```
60
+
61
+ ### Send Keys
62
+
63
+ ```bash
64
+ # Send text (doesn't press Enter)
65
+ tmux send-keys -t shared "hello"
66
+
67
+ # Send text + Enter
68
+ tmux send-keys -t shared "y" Enter
69
+
70
+ # Send special keys
71
+ tmux send-keys -t shared Enter
72
+ tmux send-keys -t shared Escape
73
+ tmux send-keys -t shared C-c # Ctrl+C
74
+ tmux send-keys -t shared C-d # Ctrl+D (EOF)
75
+ tmux send-keys -t shared C-z # Ctrl+Z (suspend)
76
+ ```
77
+
78
+ ### Window/Pane Navigation
79
+
80
+ ```bash
81
+ # Select window
82
+ tmux select-window -t shared:0
83
+
84
+ # Select pane
85
+ tmux select-pane -t shared:0.1
86
+
87
+ # List windows
88
+ tmux list-windows -t shared
89
+ ```
90
+
91
+ ### Session Management
92
+
93
+ ```bash
94
+ # Create new session
95
+ tmux new-session -d -s newsession
96
+
97
+ # Kill session
98
+ tmux kill-session -t sessionname
99
+
100
+ # Rename session
101
+ tmux rename-session -t old new
102
+ ```
103
+
104
+ ## Sending Input Safely
105
+
106
+ For interactive TUIs (Claude Code, Codex, etc.), split text and Enter into separate sends to avoid paste/multiline edge cases:
107
+
108
+ ```bash
109
+ tmux send-keys -t shared -l -- "Please apply the patch in src/foo.ts"
110
+ sleep 0.1
111
+ tmux send-keys -t shared Enter
112
+ ```
113
+
114
+ ## Claude Code Session Patterns
115
+
116
+ ### Check if Session Needs Input
117
+
118
+ ```bash
119
+ # Look for prompts
120
+ tmux capture-pane -t worker-3 -p | tail -10 | grep -E "❯|Yes.*No|proceed|permission"
121
+ ```
122
+
123
+ ### Approve Claude Code Prompt
124
+
125
+ ```bash
126
+ # Send 'y' and Enter
127
+ tmux send-keys -t worker-3 'y' Enter
128
+
129
+ # Or select numbered option
130
+ tmux send-keys -t worker-3 '2' Enter
131
+ ```
132
+
133
+ ### Check All Sessions Status
134
+
135
+ ```bash
136
+ for s in shared worker-2 worker-3 worker-4 worker-5 worker-6 worker-7 worker-8; do
137
+ echo "=== $s ==="
138
+ tmux capture-pane -t $s -p 2>/dev/null | tail -5
139
+ done
140
+ ```
141
+
142
+ ### Send Task to Session
143
+
144
+ ```bash
145
+ tmux send-keys -t worker-4 "Fix the bug in auth.js" Enter
146
+ ```
147
+
148
+ ## Notes
149
+
150
+ - Use `capture-pane -p` to print to stdout (essential for scripting)
151
+ - `-S -` captures entire scrollback history
152
+ - Target format: `session:window.pane` (e.g., `shared:0.0`)
153
+ - Sessions persist across SSH disconnects
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: "transcribe"
3
+ description: "Transcribe audio files to text with optional diarization and known-speaker hints. Use when a user asks to transcribe speech from audio/video, extract text from recordings, or label speakers in interviews or meetings."
4
+ ---
5
+
6
+
7
+ # Audio Transcribe
8
+
9
+ Transcribe audio using OpenAI, with optional speaker diarization when requested. Prefer the bundled CLI for deterministic, repeatable runs.
10
+
11
+ ## Workflow
12
+ 1. Collect inputs: audio file path(s), desired response format (text/json/diarized_json), optional language hint, and any known speaker references.
13
+ 2. Verify `OPENAI_API_KEY` is set. If missing, ask the user to set it locally (do not ask them to paste the key).
14
+ 3. Run the bundled `transcribe_diarize.py` CLI with sensible defaults (fast text transcription).
15
+ 4. Validate the output: transcription quality, speaker labels, and segment boundaries; iterate with a single targeted change if needed.
16
+ 5. Save outputs under `output/transcribe/` when working in this repo.
17
+
18
+ ## Decision rules
19
+ - Default to `gpt-4o-mini-transcribe` with `--response-format text` for fast transcription.
20
+ - If the user wants speaker labels or diarization, use `--model gpt-4o-transcribe-diarize --response-format diarized_json`.
21
+ - If audio is longer than ~30 seconds, keep `--chunking-strategy auto`.
22
+ - Prompting is not supported for `gpt-4o-transcribe-diarize`.
23
+
24
+ ## Output conventions
25
+ - Use `output/transcribe/<job-id>/` for evaluation runs.
26
+ - Use `--out-dir` for multiple files to avoid overwriting.
27
+
28
+ ## Dependencies (install if missing)
29
+ Prefer `uv` for dependency management.
30
+
31
+ ```
32
+ uv pip install openai
33
+ ```
34
+ If `uv` is unavailable:
35
+ ```
36
+ python3 -m pip install openai
37
+ ```
38
+
39
+ ## Environment
40
+ - `OPENAI_API_KEY` must be set for live API calls.
41
+ - If the key is missing, instruct the user to create one in the OpenAI platform UI and export it in their shell.
42
+ - Never ask the user to paste the full key in chat.
43
+
44
+ ## Skill path (set once)
45
+
46
+ ```bash
47
+ export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
48
+ export TRANSCRIBE_CLI="$CODEX_HOME/skills/transcribe/scripts/transcribe_diarize.py"
49
+ ```
50
+
51
+ User-scoped skills install under `$CODEX_HOME/skills` (default: `~/.codex/skills`).
52
+
53
+ ## CLI quick start
54
+ Single file (fast text default):
55
+ ```
56
+ python3 "$TRANSCRIBE_CLI" \
57
+ path/to/audio.wav \
58
+ --out transcript.txt
59
+ ```
60
+
61
+ Diarization with known speakers (up to 4):
62
+ ```
63
+ python3 "$TRANSCRIBE_CLI" \
64
+ meeting.m4a \
65
+ --model gpt-4o-transcribe-diarize \
66
+ --known-speaker "Alice=refs/alice.wav" \
67
+ --known-speaker "Bob=refs/bob.wav" \
68
+ --response-format diarized_json \
69
+ --out-dir output/transcribe/meeting
70
+ ```
71
+
72
+ Plain text output (explicit):
73
+ ```
74
+ python3 "$TRANSCRIBE_CLI" \
75
+ interview.mp3 \
76
+ --response-format text \
77
+ --out interview.txt
78
+ ```
79
+
80
+ ## Reference map
81
+ - `references/api.md`: supported formats, limits, response formats, and known-speaker notes.
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: trello
3
+ description: Manage Trello boards, lists, and cards via the Trello REST API.
4
+ homepage: https://developer.atlassian.com/cloud/trello/rest/
5
+ metadata:
6
+ {
7
+ "openclaw":
8
+ { "emoji": "📋", "requires": { "bins": ["jq"], "env": ["TRELLO_API_KEY", "TRELLO_TOKEN"] } },
9
+ }
10
+ ---
11
+
12
+ # Trello Skill
13
+
14
+ Manage Trello boards, lists, and cards directly from OpenClaw.
15
+
16
+ ## Setup
17
+
18
+ 1. Get your API key: https://trello.com/app-key
19
+ 2. Generate a token (click "Token" link on that page)
20
+ 3. Set environment variables:
21
+ ```bash
22
+ export TRELLO_API_KEY="your-api-key"
23
+ export TRELLO_TOKEN="your-token"
24
+ ```
25
+
26
+ ## Usage
27
+
28
+ All commands use curl to hit the Trello REST API.
29
+
30
+ ### List boards
31
+
32
+ ```bash
33
+ curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, id}'
34
+ ```
35
+
36
+ ### List lists in a board
37
+
38
+ ```bash
39
+ curl -s "https://api.trello.com/1/boards/{boardId}/lists?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, id}'
40
+ ```
41
+
42
+ ### List cards in a list
43
+
44
+ ```bash
45
+ curl -s "https://api.trello.com/1/lists/{listId}/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, id, desc}'
46
+ ```
47
+
48
+ ### Create a card
49
+
50
+ ```bash
51
+ curl -s -X POST "https://api.trello.com/1/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
52
+ -d "idList={listId}" \
53
+ -d "name=Card Title" \
54
+ -d "desc=Card description"
55
+ ```
56
+
57
+ ### Move a card to another list
58
+
59
+ ```bash
60
+ curl -s -X PUT "https://api.trello.com/1/cards/{cardId}?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
61
+ -d "idList={newListId}"
62
+ ```
63
+
64
+ ### Add a comment to a card
65
+
66
+ ```bash
67
+ curl -s -X POST "https://api.trello.com/1/cards/{cardId}/actions/comments?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
68
+ -d "text=Your comment here"
69
+ ```
70
+
71
+ ### Archive a card
72
+
73
+ ```bash
74
+ curl -s -X PUT "https://api.trello.com/1/cards/{cardId}?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
75
+ -d "closed=true"
76
+ ```
77
+
78
+ ## Notes
79
+
80
+ - Board/List/Card IDs can be found in the Trello URL or via the list commands
81
+ - The API key and token provide full access to your Trello account - keep them secret!
82
+ - Rate limits: 300 requests per 10 seconds per API key; 100 requests per 10 seconds per token; `/1/members` endpoints are limited to 100 requests per 900 seconds
83
+
84
+ ## Examples
85
+
86
+ ```bash
87
+ # Get all boards
88
+ curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN&fields=name,id" | jq
89
+
90
+ # Find a specific board by name
91
+ curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | select(.name | contains("Work"))'
92
+
93
+ # Get all cards on a board
94
+ curl -s "https://api.trello.com/1/boards/{boardId}/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, list: .idList}'
95
+ ```
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: tts
3
+ description: "Text-to-speech using macOS built-in `say` command. Generate spoken audio from text with voice selection, speed control, and file output."
4
+ metadata:
5
+ {
6
+ "openclaw":
7
+ {
8
+ "emoji": "🔊",
9
+ "requires": null,
10
+ "install": null,
11
+ },
12
+ }
13
+ ---
14
+
15
+ # Text-to-Speech (macOS)
16
+
17
+ Convert text to speech using the built-in `say` command. No dependencies required.
18
+
19
+ ## Quick Start
20
+
21
+ ```bash
22
+ say "Hello world" # Speak text
23
+ say -v Samantha "Hello world" # Use specific voice
24
+ say -o ~/output.aiff "Hello world" # Save to file
25
+ ```
26
+
27
+ ## Commands
28
+
29
+ ### Speak Text
30
+
31
+ ```bash
32
+ say "Text to speak"
33
+ say -v Yuna "안녕하세요" # Korean voice
34
+ say -v Samantha "Hello" # English voice (female)
35
+ say -v Daniel "Hello" # English voice (male)
36
+ say -r 200 "Fast speech" # Speed (words per minute, default: ~175)
37
+ say -r 100 "Slow speech"
38
+ ```
39
+
40
+ ### Save to File
41
+
42
+ ```bash
43
+ say -o ~/output.aiff "Hello world" # AIFF format
44
+ say -o ~/output.aiff --data-format=LEF32@22050 "Hello" # WAV-like format
45
+ ```
46
+
47
+ ### Convert to MP3/WAV (with ffmpeg)
48
+
49
+ ```bash
50
+ say -o /tmp/speech.aiff "Hello world"
51
+ ffmpeg -i /tmp/speech.aiff ~/speech.mp3 # Requires: brew install ffmpeg
52
+ ffmpeg -i /tmp/speech.aiff ~/speech.wav
53
+ ```
54
+
55
+ ### List Available Voices
56
+
57
+ ```bash
58
+ say -v '?' # List all voices
59
+ say -v '?' | grep en_ # English voices only
60
+ say -v '?' | grep ko_ # Korean voices only
61
+ ```
62
+
63
+ ### Read from File
64
+
65
+ ```bash
66
+ say -f ~/document.txt # Read file contents
67
+ cat ~/document.txt | say # Pipe to say
68
+ ```
69
+
70
+ ## Common Voice Selections
71
+
72
+ | Language | Voice | Example |
73
+ | ------------ | -------- | --------------------------- |
74
+ | English (US) | Samantha | `say -v Samantha "Hello"` |
75
+ | English (US) | Alex | `say -v Alex "Hello"` |
76
+ | English (UK) | Daniel | `say -v Daniel "Hello"` |
77
+ | Korean | Yuna | `say -v Yuna "안녕하세요"` |
78
+ | Japanese | Kyoko | `say -v Kyoko "こんにちは"` |
79
+
80
+ ## Advanced: External TTS (Optional)
81
+
82
+ For higher quality or more voices, install sherpa-onnx:
83
+
84
+ ```bash
85
+ brew install sherpa-onnx
86
+ sherpa-onnx-offline-tts \
87
+ --vits-model=model.onnx \
88
+ --vits-tokens=tokens.txt \
89
+ --output-filename=output.wav \
90
+ "Text to speak"
91
+ ```
92
+
93
+ ## Notes
94
+
95
+ - `say` is macOS-only (pre-installed, no setup needed).
96
+ - Default voice depends on system language settings.
97
+ - Audio plays through system speakers by default.
98
+ - Use `-o` flag to save without playing.
99
+ - For Telegram delivery, convert to OGG: `ffmpeg -i speech.aiff -c:a libopus speech.ogg`
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: vercel-deploy
3
+ description: Deploy applications and websites to Vercel using the bundled `scripts/deploy.sh` claimable-preview flow. Use when the user asks to deploy to Vercel, wants a preview URL, or says to push a project live on Vercel.
4
+ ---
5
+
6
+ # Vercel Deploy
7
+
8
+ Deploy any project to Vercel instantly. No authentication required.
9
+
10
+ ## How It Works
11
+
12
+ 1. Packages your project into a `.tar.gz` (excludes `node_modules` and `.git`)
13
+ 2. Auto-detects framework from `package.json`
14
+ 3. Uploads to deployment service
15
+ 4. Returns **Preview URL** (live site) and **Claim URL** (transfer to your Vercel account)
16
+
17
+ ## Usage
18
+
19
+ ```bash
20
+ bash scripts/deploy.sh [path]
21
+ ```
22
+
23
+ **Arguments:**
24
+ - `path` - Directory to deploy, or a `.tgz` file (defaults to current directory)
25
+
26
+ If you pass a directory, the script will create a `.tar.gz` before upload.
27
+
28
+ **Examples:**
29
+
30
+ ```bash
31
+ # Deploy current directory
32
+ bash scripts/deploy.sh
33
+
34
+ # Deploy specific project
35
+ bash scripts/deploy.sh /path/to/project
36
+
37
+ # Deploy existing tarball
38
+ bash scripts/deploy.sh /path/to/project.tgz
39
+ ```
40
+
41
+ ## Packaging Rules
42
+
43
+ - Exclude `node_modules`, `.git`, and `.env*`
44
+ - If no `package.json`, keep `framework` as `null`
45
+ - For static HTML with a single `.html` file, rename it to `index.html` before packaging
46
+
47
+ ## Output
48
+
49
+ ```
50
+ Preparing deployment...
51
+ Creating deployment package...
52
+ Deploying...
53
+ ✓ Deployment successful!
54
+
55
+ Preview URL: https://skill-deploy-abc123.vercel.app
56
+ Claim URL: https://vercel.com/claim-deployment?code=...
57
+ ```
58
+
59
+ The script also outputs JSON to stdout for programmatic use.
60
+
61
+ ```json
62
+ {
63
+ "previewUrl": "https://skill-deploy-abc123.vercel.app",
64
+ "claimUrl": "https://vercel.com/claim-deployment?code=...",
65
+ "deploymentId": "dpl_...",
66
+ "projectId": "prj_..."
67
+ }
68
+ ```
69
+
70
+ ## Framework Detection
71
+
72
+ The script auto-detects frameworks from `package.json`. Supported frameworks include:
73
+
74
+ - **React**: Next.js, Gatsby, Create React App, Remix, React Router
75
+ - **Vue**: Nuxt, Vitepress, Vuepress, Gridsome
76
+ - **Svelte**: SvelteKit, Svelte, Sapper
77
+ - **Other Frontend**: Astro, Solid Start, Angular, Ember, Preact, Docusaurus
78
+ - **Backend**: Express, Hono, Fastify, NestJS, Elysia, h3, Nitro
79
+ - **Build Tools**: Vite, Parcel
80
+ - **And more**: Blitz, Hydrogen, RedwoodJS, Storybook, Sanity, etc.
81
+
82
+ For static HTML projects (no `package.json`), framework is set to `null`.
83
+
84
+ ## Static HTML Projects
85
+
86
+ For projects without a `package.json`:
87
+ - If there's a single `.html` file not named `index.html`, it gets renamed automatically
88
+ - This ensures the page is served at the root URL (`/`)
89
+
90
+ ## Present Results to User
91
+
92
+ Always show both URLs:
93
+
94
+ ```
95
+ ✓ Deployment successful!
96
+
97
+ Preview URL: https://skill-deploy-abc123.vercel.app
98
+ Claim URL: https://vercel.com/claim-deployment?code=...
99
+
100
+ View your site at the Preview URL.
101
+ To transfer this deployment to your Vercel account, visit the Claim URL.
102
+ ```
103
+
104
+ ## Troubleshooting
105
+
106
+ ### Network Egress Error
107
+
108
+ If deployment fails due to network restrictions, tell the user:
109
+
110
+ ```
111
+ Deployment failed due to network restrictions. To fix this:
112
+
113
+ 1. Allow outbound access to *.vercel.com
114
+ 2. Try deploying again
115
+ ```
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: youtube-downloader
3
+ description: Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
4
+ ---
5
+
6
+ # YouTube Video Downloader
7
+
8
+ Download YouTube videos with full control over quality and format settings.
9
+
10
+ ## Quick Start
11
+
12
+ The simplest way to download a video:
13
+
14
+ ```bash
15
+ python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
16
+ ```
17
+
18
+ This downloads the video in best available quality as MP4 to `/mnt/user-data/outputs/`.
19
+
20
+ ## Options
21
+
22
+ ### Quality Settings
23
+
24
+ Use `-q` or `--quality` to specify video quality:
25
+
26
+ - `best` (default): Highest quality available
27
+ - `1080p`: Full HD
28
+ - `720p`: HD
29
+ - `480p`: Standard definition
30
+ - `360p`: Lower quality
31
+ - `worst`: Lowest quality available
32
+
33
+ Example:
34
+ ```bash
35
+ python scripts/download_video.py "URL" -q 720p
36
+ ```
37
+
38
+ ### Format Options
39
+
40
+ Use `-f` or `--format` to specify output format (video downloads only):
41
+
42
+ - `mp4` (default): Most compatible
43
+ - `webm`: Modern format
44
+ - `mkv`: Matroska container
45
+
46
+ Example:
47
+ ```bash
48
+ python scripts/download_video.py "URL" -f webm
49
+ ```
50
+
51
+ ### Audio Only
52
+
53
+ Use `-a` or `--audio-only` to download only audio as MP3:
54
+
55
+ ```bash
56
+ python scripts/download_video.py "URL" -a
57
+ ```
58
+
59
+ ### Custom Output Directory
60
+
61
+ Use `-o` or `--output` to specify a different output directory:
62
+
63
+ ```bash
64
+ python scripts/download_video.py "URL" -o /path/to/directory
65
+ ```
66
+
67
+ ## Complete Examples
68
+
69
+ 1. Download video in 1080p as MP4:
70
+ ```bash
71
+ python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 1080p
72
+ ```
73
+
74
+ 2. Download audio only as MP3:
75
+ ```bash
76
+ python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -a
77
+ ```
78
+
79
+ 3. Download in 720p as WebM to custom directory:
80
+ ```bash
81
+ python scripts/download_video.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ" -q 720p -f webm -o /custom/path
82
+ ```
83
+
84
+ ## How It Works
85
+
86
+ The skill uses `yt-dlp`, a robust YouTube downloader that:
87
+ - Automatically installs itself if not present
88
+ - Fetches video information before downloading
89
+ - Selects the best available streams matching your criteria
90
+ - Merges video and audio streams when needed
91
+ - Supports a wide range of YouTube video formats
92
+
93
+ ## Important Notes
94
+
95
+ - Downloads are saved to `/mnt/user-data/outputs/` by default
96
+ - Video filename is automatically generated from the video title
97
+ - The script handles installation of yt-dlp automatically
98
+ - Only single videos are downloaded (playlists are skipped by default)
99
+ - Higher quality videos may take longer to download and use more disk space