winter-super-cli 2026.5.26 → 2026.5.27

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 (1218) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +601 -47
  3. package/bin/winter.js +8 -1
  4. package/package.json +13 -2
  5. package/src/agent/swe-agent.js +169 -0
  6. package/src/ai/prompts/success-criteria.js +210 -0
  7. package/src/ai/prompts/system-prompt.js +113 -0
  8. package/src/ai/prompts/task-classifier.js +121 -0
  9. package/src/ai/prompts/tool-templates.js +116 -0
  10. package/src/ai/providers.js +113 -23
  11. package/src/cache/contextreuse.js +159 -0
  12. package/src/cache/embeddings.js +185 -0
  13. package/src/cache/similarity.js +175 -0
  14. package/src/cli/commands.js +253 -4
  15. package/src/cli/config.js +163 -7
  16. package/src/cli/context-loader.js +277 -0
  17. package/src/cli/conversation-format.js +253 -0
  18. package/src/cli/markdown-format.js +143 -0
  19. package/src/cli/prompt-builder.js +189 -0
  20. package/src/cli/repl-commands.js +344 -0
  21. package/src/cli/repl.js +505 -847
  22. package/src/cli/secret-env.js +69 -0
  23. package/src/cli/slash-commands.js +50 -0
  24. package/src/cli/spinner.js +32 -0
  25. package/src/cli/terminal-ui.js +34 -1
  26. package/src/context/compress.js +71 -0
  27. package/src/context/priority.js +115 -0
  28. package/src/context/router.js +36 -0
  29. package/src/context/selector.js +145 -0
  30. package/src/context/summarizer.js +146 -0
  31. package/src/mcp/client.js +146 -0
  32. package/src/mcp/completions.js +246 -0
  33. package/src/mcp/diagnostics.js +169 -0
  34. package/src/mcp/ide-server.js +195 -0
  35. package/src/mcp/protocol.js +42 -0
  36. package/src/session/manager.js +47 -1
  37. package/src/tools/agent.js +69 -0
  38. package/src/tools/analytics.js +160 -0
  39. package/src/tools/executor.js +597 -28
  40. package/src/tools/fallback.js +123 -0
  41. package/src/tools/insert-text.js +93 -0
  42. package/src/tools/interactive.js +122 -0
  43. package/src/tools/notebook.js +136 -0
  44. package/src/tools/optimizer.js +141 -0
  45. package/src/tools/parallel.js +159 -0
  46. package/src/tools/permission.js +86 -0
  47. package/src/tools/retry.js +88 -0
  48. package/src/tools/scheduler.js +160 -0
  49. package/src/tools/str-replace-all.js +61 -0
  50. package/src/tools/todo.js +98 -0
  51. package/src/tools/web-archive.js +212 -0
  52. package/CLAUDE.md +0 -118
  53. package/memories/readme.md +0 -35
  54. package/resources/local/agents.md/AGENTS.md +0 -43
  55. package/resources/local/agents.md/LICENSE +0 -21
  56. package/resources/local/agents.md/README.md +0 -49
  57. package/resources/local/agents.md/components/AboutSection.tsx +0 -37
  58. package/resources/local/agents.md/components/CodeExample.tsx +0 -207
  59. package/resources/local/agents.md/components/CompatibilitySection.tsx +0 -378
  60. package/resources/local/agents.md/components/ExampleListSection.tsx +0 -188
  61. package/resources/local/agents.md/components/ExamplesSection.tsx +0 -22
  62. package/resources/local/agents.md/components/FAQSection.tsx +0 -113
  63. package/resources/local/agents.md/components/Footer.tsx +0 -17
  64. package/resources/local/agents.md/components/Hero.tsx +0 -230
  65. package/resources/local/agents.md/components/HowToUseSection.tsx +0 -66
  66. package/resources/local/agents.md/components/Section.tsx +0 -44
  67. package/resources/local/agents.md/components/ThreeCanvas.tsx +0 -240
  68. package/resources/local/agents.md/components/WhySection.tsx +0 -64
  69. package/resources/local/agents.md/components/icons/ClipboardIcon.tsx +0 -27
  70. package/resources/local/agents.md/components/icons/CopyIcon.tsx +0 -15
  71. package/resources/local/agents.md/components/icons/GitHubIcon.tsx +0 -24
  72. package/resources/local/agents.md/components/icons/LinkIcon.tsx +0 -27
  73. package/resources/local/agents.md/components/icons/UserIcon.tsx +0 -27
  74. package/resources/local/agents.md/next.config.ts +0 -8
  75. package/resources/local/agents.md/package.json +0 -27
  76. package/resources/local/agents.md/pages/_app.tsx +0 -24
  77. package/resources/local/agents.md/pages/_document.tsx +0 -24
  78. package/resources/local/agents.md/pages/index.tsx +0 -160
  79. package/resources/local/agents.md/pnpm-lock.yaml +0 -2782
  80. package/resources/local/agents.md/postcss.config.mjs +0 -5
  81. package/resources/local/agents.md/public/favicon-dark.png +0 -0
  82. package/resources/local/agents.md/public/favicon-light.png +0 -0
  83. package/resources/local/agents.md/public/favicon.ico +0 -0
  84. package/resources/local/agents.md/public/logos/aider.svg +0 -16
  85. package/resources/local/agents.md/public/logos/amp.svg +0 -5
  86. package/resources/local/agents.md/public/logos/augment.svg +0 -9
  87. package/resources/local/agents.md/public/logos/codex.svg +0 -3
  88. package/resources/local/agents.md/public/logos/copilot.svg +0 -1
  89. package/resources/local/agents.md/public/logos/cursor.svg +0 -15
  90. package/resources/local/agents.md/public/logos/devin-dark.svg +0 -1
  91. package/resources/local/agents.md/public/logos/devin-light.svg +0 -1
  92. package/resources/local/agents.md/public/logos/factory.svg +0 -3
  93. package/resources/local/agents.md/public/logos/gemini.svg +0 -27
  94. package/resources/local/agents.md/public/logos/goose.svg +0 -12
  95. package/resources/local/agents.md/public/logos/jules.svg +0 -3
  96. package/resources/local/agents.md/public/logos/junie.svg +0 -5
  97. package/resources/local/agents.md/public/logos/kilo-code.svg +0 -43
  98. package/resources/local/agents.md/public/logos/ona-dark.svg +0 -3
  99. package/resources/local/agents.md/public/logos/ona-light.svg +0 -3
  100. package/resources/local/agents.md/public/logos/opencode.svg +0 -40
  101. package/resources/local/agents.md/public/logos/phoenix.svg +0 -44
  102. package/resources/local/agents.md/public/logos/roocode.svg +0 -3
  103. package/resources/local/agents.md/public/logos/semgrep.svg +0 -7
  104. package/resources/local/agents.md/public/logos/uipath.svg +0 -6
  105. package/resources/local/agents.md/public/logos/vscode-dark.svg +0 -19
  106. package/resources/local/agents.md/public/logos/vscode-light.svg +0 -12
  107. package/resources/local/agents.md/public/logos/warp.svg +0 -7
  108. package/resources/local/agents.md/public/logos/windsurf-dark.svg +0 -3
  109. package/resources/local/agents.md/public/logos/windsurf-light.svg +0 -3
  110. package/resources/local/agents.md/public/logos/zed.svg +0 -3
  111. package/resources/local/agents.md/public/og.png +0 -0
  112. package/resources/local/agents.md/styles/globals.css +0 -415
  113. package/resources/local/agents.md/tsconfig.json +0 -34
  114. package/resources/local/awesome-design-md/README.md +0 -197
  115. package/resources/local/awesome-design-md/design-md/airbnb/DESIGN.md +0 -545
  116. package/resources/local/awesome-design-md/design-md/airbnb/README.md +0 -5
  117. package/resources/local/awesome-design-md/design-md/airtable/DESIGN.md +0 -554
  118. package/resources/local/awesome-design-md/design-md/airtable/README.md +0 -5
  119. package/resources/local/awesome-design-md/design-md/apple/DESIGN.md +0 -562
  120. package/resources/local/awesome-design-md/design-md/apple/README.md +0 -5
  121. package/resources/local/awesome-design-md/design-md/binance/DESIGN.md +0 -634
  122. package/resources/local/awesome-design-md/design-md/binance/README.md +0 -5
  123. package/resources/local/awesome-design-md/design-md/bmw/DESIGN.md +0 -544
  124. package/resources/local/awesome-design-md/design-md/bmw/README.md +0 -5
  125. package/resources/local/awesome-design-md/design-md/bmw-m/DESIGN.md +0 -503
  126. package/resources/local/awesome-design-md/design-md/bmw-m/README.md +0 -5
  127. package/resources/local/awesome-design-md/design-md/bugatti/DESIGN.md +0 -454
  128. package/resources/local/awesome-design-md/design-md/bugatti/README.md +0 -5
  129. package/resources/local/awesome-design-md/design-md/cal/DESIGN.md +0 -542
  130. package/resources/local/awesome-design-md/design-md/cal/README.md +0 -5
  131. package/resources/local/awesome-design-md/design-md/claude/DESIGN.md +0 -589
  132. package/resources/local/awesome-design-md/design-md/claude/README.md +0 -5
  133. package/resources/local/awesome-design-md/design-md/clay/DESIGN.md +0 -541
  134. package/resources/local/awesome-design-md/design-md/clay/README.md +0 -5
  135. package/resources/local/awesome-design-md/design-md/clickhouse/DESIGN.md +0 -544
  136. package/resources/local/awesome-design-md/design-md/clickhouse/README.md +0 -5
  137. package/resources/local/awesome-design-md/design-md/cohere/DESIGN.md +0 -451
  138. package/resources/local/awesome-design-md/design-md/cohere/README.md +0 -5
  139. package/resources/local/awesome-design-md/design-md/coinbase/DESIGN.md +0 -570
  140. package/resources/local/awesome-design-md/design-md/coinbase/README.md +0 -5
  141. package/resources/local/awesome-design-md/design-md/composio/DESIGN.md +0 -506
  142. package/resources/local/awesome-design-md/design-md/composio/README.md +0 -5
  143. package/resources/local/awesome-design-md/design-md/cursor/DESIGN.md +0 -537
  144. package/resources/local/awesome-design-md/design-md/cursor/README.md +0 -5
  145. package/resources/local/awesome-design-md/design-md/elevenlabs/DESIGN.md +0 -504
  146. package/resources/local/awesome-design-md/design-md/elevenlabs/README.md +0 -5
  147. package/resources/local/awesome-design-md/design-md/expo/DESIGN.md +0 -526
  148. package/resources/local/awesome-design-md/design-md/expo/README.md +0 -5
  149. package/resources/local/awesome-design-md/design-md/ferrari/DESIGN.md +0 -531
  150. package/resources/local/awesome-design-md/design-md/ferrari/README.md +0 -5
  151. package/resources/local/awesome-design-md/design-md/figma/DESIGN.md +0 -578
  152. package/resources/local/awesome-design-md/design-md/figma/README.md +0 -5
  153. package/resources/local/awesome-design-md/design-md/framer/DESIGN.md +0 -544
  154. package/resources/local/awesome-design-md/design-md/framer/README.md +0 -5
  155. package/resources/local/awesome-design-md/design-md/hashicorp/DESIGN.md +0 -575
  156. package/resources/local/awesome-design-md/design-md/hashicorp/README.md +0 -5
  157. package/resources/local/awesome-design-md/design-md/ibm/DESIGN.md +0 -550
  158. package/resources/local/awesome-design-md/design-md/ibm/README.md +0 -5
  159. package/resources/local/awesome-design-md/design-md/intercom/DESIGN.md +0 -546
  160. package/resources/local/awesome-design-md/design-md/intercom/README.md +0 -5
  161. package/resources/local/awesome-design-md/design-md/kraken/DESIGN.md +0 -125
  162. package/resources/local/awesome-design-md/design-md/kraken/README.md +0 -5
  163. package/resources/local/awesome-design-md/design-md/lamborghini/DESIGN.md +0 -288
  164. package/resources/local/awesome-design-md/design-md/lamborghini/README.md +0 -5
  165. package/resources/local/awesome-design-md/design-md/linear.app/DESIGN.md +0 -548
  166. package/resources/local/awesome-design-md/design-md/linear.app/README.md +0 -5
  167. package/resources/local/awesome-design-md/design-md/lovable/DESIGN.md +0 -298
  168. package/resources/local/awesome-design-md/design-md/lovable/README.md +0 -5
  169. package/resources/local/awesome-design-md/design-md/mastercard/DESIGN.md +0 -365
  170. package/resources/local/awesome-design-md/design-md/mastercard/README.md +0 -5
  171. package/resources/local/awesome-design-md/design-md/meta/DESIGN.md +0 -683
  172. package/resources/local/awesome-design-md/design-md/meta/README.md +0 -5
  173. package/resources/local/awesome-design-md/design-md/minimax/DESIGN.md +0 -746
  174. package/resources/local/awesome-design-md/design-md/minimax/README.md +0 -5
  175. package/resources/local/awesome-design-md/design-md/mintlify/DESIGN.md +0 -852
  176. package/resources/local/awesome-design-md/design-md/mintlify/README.md +0 -5
  177. package/resources/local/awesome-design-md/design-md/miro/DESIGN.md +0 -825
  178. package/resources/local/awesome-design-md/design-md/miro/README.md +0 -5
  179. package/resources/local/awesome-design-md/design-md/mistral.ai/DESIGN.md +0 -773
  180. package/resources/local/awesome-design-md/design-md/mistral.ai/README.md +0 -5
  181. package/resources/local/awesome-design-md/design-md/mongodb/DESIGN.md +0 -767
  182. package/resources/local/awesome-design-md/design-md/mongodb/README.md +0 -5
  183. package/resources/local/awesome-design-md/design-md/nike/DESIGN.md +0 -575
  184. package/resources/local/awesome-design-md/design-md/nike/README.md +0 -5
  185. package/resources/local/awesome-design-md/design-md/notion/DESIGN.md +0 -821
  186. package/resources/local/awesome-design-md/design-md/notion/README.md +0 -5
  187. package/resources/local/awesome-design-md/design-md/nvidia/DESIGN.md +0 -640
  188. package/resources/local/awesome-design-md/design-md/nvidia/README.md +0 -5
  189. package/resources/local/awesome-design-md/design-md/ollama/DESIGN.md +0 -539
  190. package/resources/local/awesome-design-md/design-md/ollama/README.md +0 -5
  191. package/resources/local/awesome-design-md/design-md/opencode.ai/DESIGN.md +0 -521
  192. package/resources/local/awesome-design-md/design-md/opencode.ai/README.md +0 -5
  193. package/resources/local/awesome-design-md/design-md/pinterest/DESIGN.md +0 -597
  194. package/resources/local/awesome-design-md/design-md/pinterest/README.md +0 -5
  195. package/resources/local/awesome-design-md/design-md/playstation/DESIGN.md +0 -661
  196. package/resources/local/awesome-design-md/design-md/playstation/README.md +0 -5
  197. package/resources/local/awesome-design-md/design-md/posthog/DESIGN.md +0 -690
  198. package/resources/local/awesome-design-md/design-md/posthog/README.md +0 -5
  199. package/resources/local/awesome-design-md/design-md/raycast/DESIGN.md +0 -669
  200. package/resources/local/awesome-design-md/design-md/raycast/README.md +0 -5
  201. package/resources/local/awesome-design-md/design-md/renault/DESIGN.md +0 -589
  202. package/resources/local/awesome-design-md/design-md/renault/README.md +0 -5
  203. package/resources/local/awesome-design-md/design-md/replicate/DESIGN.md +0 -616
  204. package/resources/local/awesome-design-md/design-md/replicate/README.md +0 -5
  205. package/resources/local/awesome-design-md/design-md/resend/DESIGN.md +0 -585
  206. package/resources/local/awesome-design-md/design-md/resend/README.md +0 -5
  207. package/resources/local/awesome-design-md/design-md/revolut/DESIGN.md +0 -636
  208. package/resources/local/awesome-design-md/design-md/revolut/README.md +0 -5
  209. package/resources/local/awesome-design-md/design-md/runwayml/DESIGN.md +0 -244
  210. package/resources/local/awesome-design-md/design-md/runwayml/README.md +0 -5
  211. package/resources/local/awesome-design-md/design-md/sanity/DESIGN.md +0 -357
  212. package/resources/local/awesome-design-md/design-md/sanity/README.md +0 -5
  213. package/resources/local/awesome-design-md/design-md/sentry/DESIGN.md +0 -262
  214. package/resources/local/awesome-design-md/design-md/sentry/README.md +0 -5
  215. package/resources/local/awesome-design-md/design-md/shopify/DESIGN.md +0 -350
  216. package/resources/local/awesome-design-md/design-md/shopify/README.md +0 -5
  217. package/resources/local/awesome-design-md/design-md/spacex/DESIGN.md +0 -194
  218. package/resources/local/awesome-design-md/design-md/spacex/README.md +0 -5
  219. package/resources/local/awesome-design-md/design-md/spotify/DESIGN.md +0 -246
  220. package/resources/local/awesome-design-md/design-md/spotify/README.md +0 -5
  221. package/resources/local/awesome-design-md/design-md/starbucks/DESIGN.md +0 -580
  222. package/resources/local/awesome-design-md/design-md/starbucks/README.md +0 -5
  223. package/resources/local/awesome-design-md/design-md/stripe/DESIGN.md +0 -322
  224. package/resources/local/awesome-design-md/design-md/stripe/README.md +0 -5
  225. package/resources/local/awesome-design-md/design-md/supabase/DESIGN.md +0 -255
  226. package/resources/local/awesome-design-md/design-md/supabase/README.md +0 -5
  227. package/resources/local/awesome-design-md/design-md/superhuman/DESIGN.md +0 -252
  228. package/resources/local/awesome-design-md/design-md/superhuman/README.md +0 -5
  229. package/resources/local/awesome-design-md/design-md/tesla/DESIGN.md +0 -286
  230. package/resources/local/awesome-design-md/design-md/tesla/README.md +0 -5
  231. package/resources/local/awesome-design-md/design-md/theverge/DESIGN.md +0 -339
  232. package/resources/local/awesome-design-md/design-md/theverge/README.md +0 -5
  233. package/resources/local/awesome-design-md/design-md/together.ai/DESIGN.md +0 -263
  234. package/resources/local/awesome-design-md/design-md/together.ai/README.md +0 -5
  235. package/resources/local/awesome-design-md/design-md/uber/DESIGN.md +0 -295
  236. package/resources/local/awesome-design-md/design-md/uber/README.md +0 -5
  237. package/resources/local/awesome-design-md/design-md/vercel/DESIGN.md +0 -310
  238. package/resources/local/awesome-design-md/design-md/vercel/README.md +0 -5
  239. package/resources/local/awesome-design-md/design-md/vodafone/DESIGN.md +0 -423
  240. package/resources/local/awesome-design-md/design-md/vodafone/README.md +0 -5
  241. package/resources/local/awesome-design-md/design-md/voltagent/DESIGN.md +0 -323
  242. package/resources/local/awesome-design-md/design-md/voltagent/README.md +0 -5
  243. package/resources/local/awesome-design-md/design-md/warp/DESIGN.md +0 -253
  244. package/resources/local/awesome-design-md/design-md/warp/README.md +0 -5
  245. package/resources/local/awesome-design-md/design-md/webflow/DESIGN.md +0 -92
  246. package/resources/local/awesome-design-md/design-md/webflow/README.md +0 -5
  247. package/resources/local/awesome-design-md/design-md/wired/DESIGN.md +0 -278
  248. package/resources/local/awesome-design-md/design-md/wired/README.md +0 -5
  249. package/resources/local/awesome-design-md/design-md/wise/DESIGN.md +0 -173
  250. package/resources/local/awesome-design-md/design-md/wise/README.md +0 -5
  251. package/resources/local/awesome-design-md/design-md/x.ai/DESIGN.md +0 -257
  252. package/resources/local/awesome-design-md/design-md/x.ai/README.md +0 -5
  253. package/resources/local/awesome-design-md/design-md/zapier/DESIGN.md +0 -328
  254. package/resources/local/awesome-design-md/design-md/zapier/README.md +0 -5
  255. package/resources/local/awesome-design-md/design-md-cli.js +0 -167
  256. package/resources/local/claude/plugins/blocklist.json +0 -17
  257. package/resources/local/claude/plugins/installed_plugins.json +0 -37
  258. package/resources/local/claude/plugins/known_marketplaces.json +0 -18
  259. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/.claude-plugin/marketplace.json +0 -55
  260. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/README.md +0 -94
  261. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/THIRD_PARTY_NOTICES.md +0 -405
  262. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/algorithmic-art/LICENSE.txt +0 -202
  263. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/algorithmic-art/SKILL.md +0 -405
  264. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/algorithmic-art/templates/generator_template.js +0 -223
  265. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/algorithmic-art/templates/viewer.html +0 -599
  266. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/brand-guidelines/LICENSE.txt +0 -202
  267. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/brand-guidelines/SKILL.md +0 -73
  268. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/LICENSE.txt +0 -202
  269. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/SKILL.md +0 -130
  270. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  271. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  272. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  273. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +0 -93
  274. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  275. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +0 -93
  276. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  277. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  278. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  279. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  280. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  281. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  282. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  283. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  284. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +0 -93
  285. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  286. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +0 -94
  287. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  288. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  289. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +0 -93
  290. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  291. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +0 -93
  292. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  293. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  294. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  295. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  296. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  297. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  298. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  299. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  300. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  301. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  302. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  303. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  304. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  305. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  306. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  307. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +0 -93
  308. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  309. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  310. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  311. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  312. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  313. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  314. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Jura-OFL.txt +0 -93
  315. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  316. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  317. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  318. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  319. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  320. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Lora-OFL.txt +0 -93
  321. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  322. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  323. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +0 -93
  324. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  325. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  326. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  327. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  328. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +0 -93
  329. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  330. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  331. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +0 -93
  332. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +0 -93
  333. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  334. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  335. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +0 -93
  336. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  337. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +0 -93
  338. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  339. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  340. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +0 -93
  341. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  342. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +0 -93
  343. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  344. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  345. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  346. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  347. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +0 -93
  348. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  349. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +0 -93
  350. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  351. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/LICENSE.txt +0 -202
  352. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/SKILL.md +0 -324
  353. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/csharp/claude-api.md +0 -402
  354. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/curl/examples.md +0 -216
  355. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/curl/managed-agents.md +0 -336
  356. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/go/claude-api.md +0 -421
  357. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/go/managed-agents/README.md +0 -561
  358. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/java/claude-api.md +0 -432
  359. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/java/managed-agents/README.md +0 -442
  360. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/php/claude-api.md +0 -375
  361. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/php/managed-agents/README.md +0 -435
  362. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/python/claude-api/README.md +0 -420
  363. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/python/claude-api/batches.md +0 -185
  364. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/python/claude-api/files-api.md +0 -165
  365. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/python/claude-api/streaming.md +0 -162
  366. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/python/claude-api/tool-use.md +0 -590
  367. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/python/managed-agents/README.md +0 -332
  368. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/ruby/claude-api.md +0 -113
  369. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/ruby/managed-agents/README.md +0 -389
  370. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/agent-design.md +0 -101
  371. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/error-codes.md +0 -213
  372. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/live-sources.md +0 -132
  373. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-api-reference.md +0 -337
  374. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-client-patterns.md +0 -209
  375. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-core.md +0 -218
  376. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-environments.md +0 -211
  377. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-events.md +0 -189
  378. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-memory.md +0 -197
  379. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-onboarding.md +0 -114
  380. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-overview.md +0 -64
  381. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/managed-agents-tools.md +0 -315
  382. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/model-migration.md +0 -779
  383. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/models.md +0 -121
  384. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/prompt-caching.md +0 -171
  385. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/shared/tool-use-concepts.md +0 -327
  386. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/typescript/claude-api/README.md +0 -333
  387. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/typescript/claude-api/batches.md +0 -106
  388. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/typescript/claude-api/files-api.md +0 -98
  389. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/typescript/claude-api/streaming.md +0 -178
  390. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/typescript/claude-api/tool-use.md +0 -527
  391. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/claude-api/typescript/managed-agents/README.md +0 -359
  392. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/doc-coauthoring/SKILL.md +0 -375
  393. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/LICENSE.txt +0 -30
  394. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/SKILL.md +0 -590
  395. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/__init__.py +0 -1
  396. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/accept_changes.py +0 -135
  397. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/comment.py +0 -318
  398. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/helpers/__init__.py +0 -0
  399. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/helpers/merge_runs.py +0 -199
  400. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/helpers/simplify_redlines.py +0 -197
  401. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/pack.py +0 -159
  402. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  403. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  404. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  405. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  406. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  407. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  408. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  409. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  410. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  411. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  412. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  413. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  414. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  415. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  416. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  417. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  418. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  419. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  420. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  421. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  422. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  423. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  424. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  425. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  426. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  427. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  428. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  429. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  430. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  431. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  432. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  433. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/mce/mc.xsd +0 -75
  434. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  435. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  436. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  437. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  438. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  439. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  440. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  441. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/soffice.py +0 -183
  442. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/unpack.py +0 -132
  443. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/validate.py +0 -111
  444. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/validators/__init__.py +0 -15
  445. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/validators/base.py +0 -847
  446. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/validators/docx.py +0 -446
  447. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/validators/pptx.py +0 -275
  448. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/office/validators/redlining.py +0 -247
  449. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/templates/comments.xml +0 -3
  450. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  451. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  452. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/templates/commentsIds.xml +0 -3
  453. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/docx/scripts/templates/people.xml +0 -3
  454. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/frontend-design/LICENSE.txt +0 -177
  455. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/frontend-design/SKILL.md +0 -42
  456. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/internal-comms/LICENSE.txt +0 -202
  457. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/internal-comms/SKILL.md +0 -32
  458. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/internal-comms/examples/3p-updates.md +0 -47
  459. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/internal-comms/examples/company-newsletter.md +0 -65
  460. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/internal-comms/examples/faq-answers.md +0 -30
  461. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/internal-comms/examples/general-comms.md +0 -16
  462. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/LICENSE.txt +0 -202
  463. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/SKILL.md +0 -236
  464. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/reference/evaluation.md +0 -602
  465. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/reference/mcp_best_practices.md +0 -249
  466. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/reference/node_mcp_server.md +0 -970
  467. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/reference/python_mcp_server.md +0 -719
  468. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/scripts/connections.py +0 -151
  469. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/scripts/evaluation.py +0 -373
  470. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  471. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/mcp-builder/scripts/requirements.txt +0 -2
  472. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/LICENSE.txt +0 -30
  473. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/SKILL.md +0 -314
  474. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/forms.md +0 -294
  475. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/reference.md +0 -612
  476. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/check_bounding_boxes.py +0 -65
  477. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/check_fillable_fields.py +0 -11
  478. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/convert_pdf_to_images.py +0 -33
  479. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/create_validation_image.py +0 -37
  480. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/extract_form_field_info.py +0 -122
  481. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/extract_form_structure.py +0 -115
  482. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/fill_fillable_fields.py +0 -98
  483. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -107
  484. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/LICENSE.txt +0 -30
  485. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/SKILL.md +0 -232
  486. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/editing.md +0 -205
  487. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/pptxgenjs.md +0 -420
  488. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/__init__.py +0 -0
  489. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/add_slide.py +0 -195
  490. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/clean.py +0 -286
  491. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  492. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/helpers/merge_runs.py +0 -199
  493. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/helpers/simplify_redlines.py +0 -197
  494. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/pack.py +0 -159
  495. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  496. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  497. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  498. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  499. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  500. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  501. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  502. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  503. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  504. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  505. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  506. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  507. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  508. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  509. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  510. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  511. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  512. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  513. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  514. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  515. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  516. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  517. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  518. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  519. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  520. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  521. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  522. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  523. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  524. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  525. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  526. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
  527. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  528. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  529. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  530. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  531. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  532. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  533. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  534. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/soffice.py +0 -183
  535. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/unpack.py +0 -132
  536. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/validate.py +0 -111
  537. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/validators/__init__.py +0 -15
  538. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/validators/base.py +0 -847
  539. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/validators/docx.py +0 -446
  540. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/validators/pptx.py +0 -275
  541. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/office/validators/redlining.py +0 -247
  542. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/thumbnail.py +0 -289
  543. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/LICENSE.txt +0 -202
  544. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/SKILL.md +0 -485
  545. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/agents/analyzer.md +0 -274
  546. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/agents/comparator.md +0 -202
  547. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/agents/grader.md +0 -223
  548. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/assets/eval_review.html +0 -146
  549. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  550. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  551. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/references/schemas.md +0 -430
  552. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/__init__.py +0 -0
  553. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  554. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/generate_report.py +0 -326
  555. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/improve_description.py +0 -247
  556. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/package_skill.py +0 -136
  557. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/quick_validate.py +0 -103
  558. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/run_eval.py +0 -310
  559. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/run_loop.py +0 -328
  560. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/skill-creator/scripts/utils.py +0 -47
  561. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/slack-gif-creator/LICENSE.txt +0 -202
  562. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/slack-gif-creator/SKILL.md +0 -254
  563. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/slack-gif-creator/core/easing.py +0 -234
  564. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/slack-gif-creator/core/frame_composer.py +0 -176
  565. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/slack-gif-creator/core/gif_builder.py +0 -269
  566. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/slack-gif-creator/core/validators.py +0 -136
  567. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/slack-gif-creator/requirements.txt +0 -4
  568. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/LICENSE.txt +0 -202
  569. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/SKILL.md +0 -59
  570. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/theme-showcase.pdf +0 -0
  571. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/arctic-frost.md +0 -19
  572. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/botanical-garden.md +0 -19
  573. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/desert-rose.md +0 -19
  574. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/forest-canopy.md +0 -19
  575. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/golden-hour.md +0 -19
  576. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/midnight-galaxy.md +0 -19
  577. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/modern-minimalist.md +0 -19
  578. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/ocean-depths.md +0 -19
  579. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/sunset-boulevard.md +0 -19
  580. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/theme-factory/themes/tech-innovation.md +0 -19
  581. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/web-artifacts-builder/LICENSE.txt +0 -202
  582. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/web-artifacts-builder/SKILL.md +0 -74
  583. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/web-artifacts-builder/scripts/bundle-artifact.sh +0 -54
  584. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/web-artifacts-builder/scripts/init-artifact.sh +0 -322
  585. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  586. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/webapp-testing/LICENSE.txt +0 -202
  587. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/webapp-testing/SKILL.md +0 -96
  588. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/webapp-testing/examples/console_logging.py +0 -35
  589. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/webapp-testing/examples/element_discovery.py +0 -40
  590. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/webapp-testing/examples/static_html_automation.py +0 -33
  591. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/webapp-testing/scripts/with_server.py +0 -106
  592. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/LICENSE.txt +0 -30
  593. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/SKILL.md +0 -292
  594. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  595. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/helpers/merge_runs.py +0 -199
  596. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/helpers/simplify_redlines.py +0 -197
  597. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/pack.py +0 -159
  598. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  599. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  600. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  601. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  602. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  603. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  604. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  605. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  606. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  607. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  608. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  609. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  610. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  611. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  612. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  613. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  614. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  615. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  616. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  617. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  618. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  619. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  620. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  621. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  622. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  623. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  624. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  625. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  626. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  627. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  628. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  629. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -75
  630. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  631. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  632. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  633. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  634. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  635. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  636. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  637. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/soffice.py +0 -183
  638. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/unpack.py +0 -132
  639. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/validate.py +0 -111
  640. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/validators/__init__.py +0 -15
  641. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/validators/base.py +0 -847
  642. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/validators/docx.py +0 -446
  643. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/validators/pptx.py +0 -275
  644. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/office/validators/redlining.py +0 -247
  645. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/skills/xlsx/scripts/recalc.py +0 -184
  646. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/spec/agent-skills-spec.md +0 -3
  647. package/resources/local/claude/plugins/marketplaces/anthropic-agent-skills/template/SKILL.md +0 -6
  648. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/.claude-plugin/marketplace.json +0 -1724
  649. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/.gcs-sha +0 -1
  650. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/README.md +0 -51
  651. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/asana/.claude-plugin/plugin.json +0 -7
  652. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/asana/.mcp.json +0 -6
  653. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/context7/.claude-plugin/plugin.json +0 -7
  654. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/context7/.mcp.json +0 -6
  655. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/.claude-plugin/plugin.json +0 -11
  656. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/.mcp.json +0 -8
  657. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/ACCESS.md +0 -143
  658. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/LICENSE +0 -202
  659. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/README.md +0 -112
  660. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/bun.lock +0 -244
  661. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/package.json +0 -14
  662. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/server.ts +0 -900
  663. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/skills/access/SKILL.md +0 -137
  664. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/discord/skills/configure/SKILL.md +0 -99
  665. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/.claude-plugin/plugin.json +0 -13
  666. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/.mcp.json +0 -8
  667. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/LICENSE +0 -202
  668. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/README.md +0 -47
  669. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/bun.lock +0 -206
  670. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/package.json +0 -16
  671. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/fakechat/server.ts +0 -295
  672. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/firebase/.claude-plugin/plugin.json +0 -7
  673. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/firebase/.mcp.json +0 -6
  674. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/github/.claude-plugin/plugin.json +0 -7
  675. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/github/.mcp.json +0 -9
  676. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/gitlab/.claude-plugin/plugin.json +0 -7
  677. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/gitlab/.mcp.json +0 -6
  678. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/greptile/.claude-plugin/plugin.json +0 -10
  679. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/greptile/.mcp.json +0 -9
  680. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/greptile/README.md +0 -57
  681. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/.claude-plugin/plugin.json +0 -11
  682. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/.mcp.json +0 -8
  683. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/ACCESS.md +0 -142
  684. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/LICENSE +0 -202
  685. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/README.md +0 -84
  686. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/bun.lock +0 -207
  687. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/package.json +0 -17
  688. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/server.ts +0 -875
  689. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/skills/access/SKILL.md +0 -140
  690. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/imessage/skills/configure/SKILL.md +0 -82
  691. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/laravel-boost/.claude-plugin/plugin.json +0 -7
  692. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/laravel-boost/.mcp.json +0 -6
  693. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/linear/.claude-plugin/plugin.json +0 -7
  694. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/linear/.mcp.json +0 -6
  695. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/playwright/.claude-plugin/plugin.json +0 -7
  696. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/playwright/.mcp.json +0 -6
  697. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/serena/.claude-plugin/plugin.json +0 -7
  698. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/serena/.mcp.json +0 -6
  699. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/.claude-plugin/plugin.json +0 -11
  700. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/.mcp.json +0 -8
  701. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/ACCESS.md +0 -147
  702. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/LICENSE +0 -202
  703. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/README.md +0 -99
  704. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/bun.lock +0 -212
  705. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/package.json +0 -14
  706. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/server.ts +0 -1032
  707. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/skills/access/SKILL.md +0 -136
  708. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/skills/configure/SKILL.md +0 -96
  709. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/terraform/.claude-plugin/plugin.json +0 -7
  710. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/external_plugins/terraform/.mcp.json +0 -12
  711. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/agent-sdk-dev/.claude-plugin/plugin.json +0 -8
  712. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/agent-sdk-dev/LICENSE +0 -202
  713. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/agent-sdk-dev/README.md +0 -208
  714. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/agent-sdk-dev/agents/agent-sdk-verifier-py.md +0 -140
  715. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/agent-sdk-dev/agents/agent-sdk-verifier-ts.md +0 -145
  716. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/agent-sdk-dev/commands/new-sdk-app.md +0 -176
  717. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/clangd-lsp/LICENSE +0 -202
  718. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/clangd-lsp/README.md +0 -36
  719. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/.claude-plugin/plugin.json +0 -9
  720. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/LICENSE +0 -202
  721. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/README.md +0 -29
  722. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/automation-recommender-example.png +0 -0
  723. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/skills/claude-automation-recommender/SKILL.md +0 -288
  724. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/skills/claude-automation-recommender/references/hooks-patterns.md +0 -226
  725. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/skills/claude-automation-recommender/references/mcp-servers.md +0 -263
  726. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/skills/claude-automation-recommender/references/plugins-reference.md +0 -98
  727. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/skills/claude-automation-recommender/references/skills-reference.md +0 -408
  728. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-code-setup/skills/claude-automation-recommender/references/subagent-templates.md +0 -181
  729. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/.claude-plugin/plugin.json +0 -9
  730. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/LICENSE +0 -202
  731. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/README.md +0 -40
  732. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/claude-md-improver-example.png +0 -0
  733. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/commands/revise-claude-md.md +0 -54
  734. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/revise-claude-md-example.png +0 -0
  735. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/skills/claude-md-improver/SKILL.md +0 -179
  736. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/skills/claude-md-improver/references/quality-criteria.md +0 -109
  737. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/skills/claude-md-improver/references/templates.md +0 -253
  738. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/claude-md-management/skills/claude-md-improver/references/update-guidelines.md +0 -150
  739. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/code-review/.claude-plugin/plugin.json +0 -9
  740. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/code-review/LICENSE +0 -202
  741. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/code-review/README.md +0 -246
  742. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/code-review/commands/code-review.md +0 -92
  743. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/code-simplifier/.claude-plugin/plugin.json +0 -9
  744. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/code-simplifier/LICENSE +0 -202
  745. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/code-simplifier/agents/code-simplifier.md +0 -52
  746. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/commit-commands/.claude-plugin/plugin.json +0 -9
  747. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/commit-commands/LICENSE +0 -202
  748. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/commit-commands/README.md +0 -225
  749. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/commit-commands/commands/clean_gone.md +0 -53
  750. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/commit-commands/commands/commit-push-pr.md +0 -20
  751. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/commit-commands/commands/commit.md +0 -17
  752. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/csharp-lsp/LICENSE +0 -202
  753. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/csharp-lsp/README.md +0 -25
  754. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/example-plugin/.claude-plugin/plugin.json +0 -8
  755. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/example-plugin/.mcp.json +0 -6
  756. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/example-plugin/LICENSE +0 -202
  757. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/example-plugin/README.md +0 -69
  758. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/example-plugin/commands/example-command.md +0 -39
  759. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/example-plugin/skills/example-command/SKILL.md +0 -39
  760. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/example-plugin/skills/example-skill/SKILL.md +0 -84
  761. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/explanatory-output-style/.claude-plugin/plugin.json +0 -9
  762. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/explanatory-output-style/LICENSE +0 -202
  763. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/explanatory-output-style/README.md +0 -72
  764. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/explanatory-output-style/hooks/hooks.json +0 -15
  765. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/explanatory-output-style/hooks-handlers/session-start.sh +0 -15
  766. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/feature-dev/.claude-plugin/plugin.json +0 -8
  767. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/feature-dev/LICENSE +0 -202
  768. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/feature-dev/README.md +0 -412
  769. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/feature-dev/agents/code-architect.md +0 -34
  770. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/feature-dev/agents/code-explorer.md +0 -51
  771. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/feature-dev/agents/code-reviewer.md +0 -46
  772. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/feature-dev/commands/feature-dev.md +0 -125
  773. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/frontend-design/.claude-plugin/plugin.json +0 -8
  774. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/frontend-design/LICENSE +0 -202
  775. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/frontend-design/README.md +0 -31
  776. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/frontend-design/skills/frontend-design/SKILL.md +0 -42
  777. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/gopls-lsp/LICENSE +0 -202
  778. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/gopls-lsp/README.md +0 -20
  779. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/.claude-plugin/plugin.json +0 -8
  780. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/LICENSE +0 -202
  781. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/README.md +0 -340
  782. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/agents/conversation-analyzer.md +0 -176
  783. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/commands/configure.md +0 -128
  784. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/commands/help.md +0 -175
  785. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/commands/hookify.md +0 -231
  786. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/commands/list.md +0 -82
  787. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/core/__init__.py +0 -0
  788. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/core/config_loader.py +0 -297
  789. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/core/rule_engine.py +0 -313
  790. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/examples/console-log-warning.local.md +0 -14
  791. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/examples/dangerous-rm.local.md +0 -14
  792. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/examples/require-tests-stop.local.md +0 -22
  793. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/examples/sensitive-files-warning.local.md +0 -18
  794. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/__init__.py +0 -0
  795. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/hooks.json +0 -49
  796. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/posttooluse.py +0 -62
  797. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/pretooluse.py +0 -66
  798. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/stop.py +0 -55
  799. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/userpromptsubmit.py +0 -54
  800. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/matchers/__init__.py +0 -0
  801. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/skills/writing-rules/SKILL.md +0 -374
  802. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/utils/__init__.py +0 -0
  803. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/jdtls-lsp/LICENSE +0 -202
  804. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/jdtls-lsp/README.md +0 -33
  805. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/kotlin-lsp/LICENSE +0 -202
  806. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/kotlin-lsp/README.md +0 -16
  807. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/learning-output-style/.claude-plugin/plugin.json +0 -9
  808. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/learning-output-style/LICENSE +0 -202
  809. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/learning-output-style/README.md +0 -93
  810. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/learning-output-style/hooks/hooks.json +0 -15
  811. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/learning-output-style/hooks-handlers/session-start.sh +0 -15
  812. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/lua-lsp/LICENSE +0 -202
  813. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/lua-lsp/README.md +0 -32
  814. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/.claude-plugin/plugin.json +0 -8
  815. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/LICENSE +0 -202
  816. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/README.md +0 -40
  817. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/SKILL.md +0 -411
  818. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/evals/trigger_eval.json +0 -23
  819. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/references/adversarial_prompts.md +0 -293
  820. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/references/attempt_agent.md +0 -63
  821. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/references/known_constructions.md +0 -46
  822. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/references/model_tier_defaults.md +0 -66
  823. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/references/presentation_prompts.md +0 -153
  824. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/references/solver_heuristics.md +0 -135
  825. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/references/verifier_patterns.md +0 -206
  826. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/scripts/check_latex.sh +0 -4
  827. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/math-olympiad/skills/math-olympiad/scripts/compile_pdf.sh +0 -54
  828. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/.claude-plugin/plugin.json +0 -8
  829. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/LICENSE +0 -202
  830. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/README.md +0 -32
  831. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-app/SKILL.md +0 -361
  832. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-app/references/apps-sdk-messages.md +0 -160
  833. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-app/references/iframe-sandbox.md +0 -149
  834. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-app/references/widget-templates.md +0 -249
  835. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/SKILL.md +0 -221
  836. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/auth.md +0 -108
  837. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/deploy-cloudflare-workers.md +0 -106
  838. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/elicitation.md +0 -129
  839. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/remote-http-scaffold.md +0 -211
  840. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/resources-and-prompts.md +0 -122
  841. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/server-capabilities.md +0 -164
  842. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/tool-design.md +0 -189
  843. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcp-server/references/versions.md +0 -25
  844. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcpb/SKILL.md +0 -199
  845. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcpb/references/local-security.md +0 -149
  846. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/mcp-server-dev/skills/build-mcpb/references/manifest-schema.md +0 -156
  847. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/php-lsp/LICENSE +0 -202
  848. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/php-lsp/README.md +0 -24
  849. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/.claude-plugin/plugin.json +0 -8
  850. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/LICENSE +0 -202
  851. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/README.md +0 -28
  852. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/skills/playground/SKILL.md +0 -76
  853. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/skills/playground/templates/code-map.md +0 -158
  854. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/skills/playground/templates/concept-map.md +0 -73
  855. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/skills/playground/templates/data-explorer.md +0 -67
  856. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/skills/playground/templates/design-playground.md +0 -67
  857. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/skills/playground/templates/diff-review.md +0 -179
  858. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/playground/skills/playground/templates/document-critique.md +0 -171
  859. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/.claude-plugin/plugin.json +0 -8
  860. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/LICENSE +0 -202
  861. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/README.md +0 -402
  862. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/agents/agent-creator.md +0 -176
  863. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/agents/plugin-validator.md +0 -184
  864. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/agents/skill-reviewer.md +0 -184
  865. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/commands/create-plugin.md +0 -449
  866. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development/SKILL.md +0 -415
  867. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -238
  868. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -427
  869. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -207
  870. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -411
  871. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -491
  872. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -217
  873. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/README.md +0 -272
  874. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/SKILL.md +0 -884
  875. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/examples/plugin-commands.md +0 -557
  876. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/examples/simple-commands.md +0 -504
  877. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/advanced-workflows.md +0 -722
  878. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/documentation-patterns.md +0 -739
  879. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/frontmatter-reference.md +0 -463
  880. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/interactive-commands.md +0 -920
  881. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/marketplace-considerations.md +0 -904
  882. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/plugin-features-reference.md +0 -609
  883. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/testing-strategies.md +0 -702
  884. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/SKILL.md +0 -712
  885. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
  886. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -43
  887. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -38
  888. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/references/advanced.md +0 -479
  889. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/references/migration.md +0 -369
  890. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/references/patterns.md +0 -346
  891. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/scripts/README.md +0 -164
  892. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
  893. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -252
  894. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  895. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/mcp-integration/SKILL.md +0 -554
  896. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
  897. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
  898. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -26
  899. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/mcp-integration/references/authentication.md +0 -549
  900. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/mcp-integration/references/server-types.md +0 -536
  901. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -538
  902. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/SKILL.md +0 -544
  903. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/examples/create-settings-command.md +0 -98
  904. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/examples/example-settings.md +0 -159
  905. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/examples/read-settings-hook.sh +0 -65
  906. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/references/parsing-techniques.md +0 -549
  907. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/references/real-world-examples.md +0 -395
  908. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/scripts/parse-frontmatter.sh +0 -59
  909. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-settings/scripts/validate-settings.sh +0 -101
  910. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure/README.md +0 -109
  911. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure/SKILL.md +0 -476
  912. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -765
  913. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
  914. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -587
  915. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -567
  916. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -552
  917. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/skill-development/SKILL.md +0 -637
  918. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -209
  919. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/.claude-plugin/plugin.json +0 -8
  920. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/LICENSE +0 -202
  921. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/README.md +0 -313
  922. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/agents/code-reviewer.md +0 -47
  923. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/agents/code-simplifier.md +0 -88
  924. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/agents/comment-analyzer.md +0 -70
  925. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/agents/pr-test-analyzer.md +0 -69
  926. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/agents/silent-failure-hunter.md +0 -130
  927. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/agents/type-design-analyzer.md +0 -110
  928. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pr-review-toolkit/commands/review-pr.md +0 -189
  929. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pyright-lsp/LICENSE +0 -202
  930. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/pyright-lsp/README.md +0 -31
  931. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/.claude-plugin/plugin.json +0 -9
  932. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/LICENSE +0 -202
  933. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/README.md +0 -197
  934. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/commands/cancel-ralph.md +0 -18
  935. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/commands/help.md +0 -126
  936. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/commands/ralph-loop.md +0 -18
  937. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/hooks/hooks.json +0 -15
  938. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/hooks/stop-hook.sh +0 -191
  939. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/scripts/setup-ralph-loop.sh +0 -204
  940. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ruby-lsp/LICENSE +0 -202
  941. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/ruby-lsp/README.md +0 -31
  942. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp/LICENSE +0 -202
  943. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/rust-analyzer-lsp/README.md +0 -34
  944. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/.claude-plugin/plugin.json +0 -8
  945. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/LICENSE +0 -202
  946. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/hooks/hooks.json +0 -16
  947. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/hooks/security_reminder_hook.py +0 -280
  948. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/session-report/LICENSE +0 -202
  949. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/session-report/skills/session-report/SKILL.md +0 -42
  950. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/session-report/skills/session-report/analyze-sessions.mjs +0 -875
  951. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/session-report/skills/session-report/template.html +0 -569
  952. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/.claude-plugin/plugin.json +0 -8
  953. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/LICENSE +0 -202
  954. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/README.md +0 -3
  955. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/LICENSE.txt +0 -202
  956. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/SKILL.md +0 -479
  957. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/agents/analyzer.md +0 -274
  958. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/agents/comparator.md +0 -202
  959. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/agents/grader.md +0 -223
  960. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/assets/eval_review.html +0 -146
  961. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  962. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  963. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/references/schemas.md +0 -430
  964. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/__init__.py +0 -0
  965. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  966. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/generate_report.py +0 -326
  967. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/improve_description.py +0 -248
  968. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/package_skill.py +0 -136
  969. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/quick_validate.py +0 -103
  970. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/run_eval.py +0 -310
  971. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/run_loop.py +0 -332
  972. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/skill-creator/skills/skill-creator/scripts/utils.py +0 -47
  973. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/swift-lsp/LICENSE +0 -202
  974. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/swift-lsp/README.md +0 -25
  975. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/typescript-lsp/LICENSE +0 -202
  976. package/resources/local/claude/plugins/marketplaces/claude-plugins-official/plugins/typescript-lsp/README.md +0 -24
  977. package/resources/local/claude/skills/skill-creator/SKILL.md +0 -39
  978. package/resources/local/claude/skills/vercel-react-best-practices/AGENTS.md +0 -2410
  979. package/resources/local/claude/skills/vercel-react-best-practices/SKILL.md +0 -125
  980. package/resources/local/claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  981. package/resources/local/claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -49
  982. package/resources/local/claude/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  983. package/resources/local/claude/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -80
  984. package/resources/local/claude/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -36
  985. package/resources/local/claude/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
  986. package/resources/local/claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  987. package/resources/local/claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -59
  988. package/resources/local/claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  989. package/resources/local/claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  990. package/resources/local/claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  991. package/resources/local/claude/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  992. package/resources/local/claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  993. package/resources/local/claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  994. package/resources/local/claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  995. package/resources/local/claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  996. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -57
  997. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  998. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  999. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  1000. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  1001. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  1002. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  1003. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  1004. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  1005. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  1006. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  1007. package/resources/local/claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  1008. package/resources/local/claude/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  1009. package/resources/local/claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  1010. package/resources/local/claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  1011. package/resources/local/claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  1012. package/resources/local/claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  1013. package/resources/local/claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  1014. package/resources/local/claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  1015. package/resources/local/claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  1016. package/resources/local/claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  1017. package/resources/local/claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  1018. package/resources/local/claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  1019. package/resources/local/claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  1020. package/resources/local/claude/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  1021. package/resources/local/claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  1022. package/resources/local/claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  1023. package/resources/local/claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  1024. package/resources/local/claude/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  1025. package/resources/local/claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  1026. package/resources/local/claude/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
  1027. package/resources/local/claude/skills/web-design-guidelines/SKILL.md +0 -39
  1028. package/resources/local/codex/AGENTS.md +0 -0
  1029. package/resources/local/codex/models_cache.json +0 -395
  1030. package/resources/local/codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/.codex-plugin/plugin.json +0 -42
  1031. package/resources/local/codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/assets/browser.png +0 -0
  1032. package/resources/local/codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/scripts/browser-client.mjs +0 -177
  1033. package/resources/local/codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/skills/browser/SKILL.md +0 -734
  1034. package/resources/local/codex/plugins/cache/openai-bundled/browser-use/0.1.0-alpha1/skills/browser/agents/openai.yaml +0 -4
  1035. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/.codex-plugin/plugin.json +0 -49
  1036. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/README.md +0 -17
  1037. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/assets/icon.png +0 -0
  1038. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/assets/logo.png +0 -0
  1039. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/LICENSE.txt +0 -19
  1040. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/SKILL.md +0 -400
  1041. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/agents/openai.yaml +0 -7
  1042. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/assets/file-document.png +0 -0
  1043. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/examples/end_to_end_smoke_test.md +0 -32
  1044. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/manifest.txt +0 -72
  1045. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/ooxml/comments.md +0 -37
  1046. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/ooxml/hyperlinks_and_fields.md +0 -69
  1047. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/ooxml/rels_and_content_types.md +0 -37
  1048. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/ooxml/tracked_changes.md +0 -41
  1049. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/references/design_presets.md +0 -243
  1050. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/references/header_templates.md +0 -373
  1051. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/render_docx.py +0 -392
  1052. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/a11y_audit.py +0 -372
  1053. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/accept_tracked_changes.py +0 -180
  1054. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/add_tracked_replacements.py +0 -190
  1055. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/apply_template_styles.py +0 -131
  1056. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/captions_and_crossrefs.py +0 -305
  1057. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/comments_add.py +0 -260
  1058. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/comments_apply_patch.py +0 -156
  1059. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/comments_extract.py +0 -168
  1060. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/comments_strip.py +0 -151
  1061. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/content_controls.py +0 -358
  1062. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/docx_ooxml_patch.py +0 -649
  1063. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/docx_table_to_csv.py +0 -72
  1064. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/fields_materialize.py +0 -310
  1065. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/fields_report.py +0 -182
  1066. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/flatten_ref_fields.py +0 -154
  1067. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/footnotes_report.py +0 -99
  1068. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/heading_audit.py +0 -103
  1069. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/images_audit.py +0 -171
  1070. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/insert_note.py +0 -244
  1071. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/insert_ref_fields.py +0 -239
  1072. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/insert_toc.py +0 -154
  1073. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/internal_nav.py +0 -365
  1074. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/make_fixtures.py +0 -258
  1075. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/merge_docx_append.py +0 -110
  1076. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/privacy_scrub.py +0 -176
  1077. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/redact_docx.py +0 -315
  1078. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/render_and_diff.py +0 -165
  1079. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/section_audit.py +0 -86
  1080. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/set_protection.py +0 -149
  1081. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/style_lint.py +0 -170
  1082. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/style_normalize.py +0 -187
  1083. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/table_geometry.py +0 -270
  1084. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/watermark_add.py +0 -170
  1085. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/watermark_audit_remove.py +0 -145
  1086. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/scripts/xlsx_to_docx_table.py +0 -179
  1087. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/accessibility_a11y.md +0 -55
  1088. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/captions_crossrefs.md +0 -97
  1089. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/clean_tracked_changes.md +0 -44
  1090. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/comments_manage.md +0 -71
  1091. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/compare_diff.md +0 -32
  1092. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/create_edit.md +0 -47
  1093. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/fields_update.md +0 -66
  1094. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/fixtures_edge_cases.md +0 -42
  1095. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/footnotes_endnotes.md +0 -52
  1096. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/forms_content_controls.md +0 -49
  1097. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/headings_numbering.md +0 -44
  1098. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/images_figures.md +0 -35
  1099. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/multi_doc_merge.md +0 -31
  1100. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/navigation_internal_links.md +0 -62
  1101. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/privacy_scrub_metadata.md +0 -24
  1102. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/protection_restrict_editing.md +0 -36
  1103. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/read_review.md +0 -60
  1104. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/redaction_anonymization.md +0 -57
  1105. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/sections_layout.md +0 -62
  1106. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/style_lint_normalize.md +0 -70
  1107. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/tables_spreadsheets.md +0 -36
  1108. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/templates_style_packs.md +0 -34
  1109. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/toc_workflow.md +0 -61
  1110. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/verify_render.md +0 -54
  1111. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/tasks/watermarks_background.md +0 -35
  1112. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/troubleshooting/libreoffice_headless.md +0 -42
  1113. package/resources/local/codex/plugins/cache/openai-primary-runtime/documents/26.505.10851/skills/documents/troubleshooting/run_splitting.md +0 -15
  1114. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/.codex-plugin/plugin.json +0 -48
  1115. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/README.md +0 -17
  1116. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/assets/icon.png +0 -0
  1117. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/assets/logo.png +0 -0
  1118. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/SKILL.md +0 -743
  1119. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/agents/openai.yaml +0 -7
  1120. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/assets/file-presentation.png +0 -0
  1121. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/profiles/appendix-heavy.md +0 -24
  1122. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/profiles/consumer-retail.md +0 -59
  1123. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/profiles/engineering-platform.md +0 -30
  1124. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/profiles/finance-ir.md +0 -33
  1125. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/profiles/gtm-growth.md +0 -30
  1126. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/profiles/product-platform.md +0 -31
  1127. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/profiles/template-and-edit.md +0 -153
  1128. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/artifact_tool_utils.mjs +0 -504
  1129. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/build_artifact_deck.mjs +0 -209
  1130. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/check_icon_manifest.mjs +0 -138
  1131. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/check_layout_quality.mjs +0 -495
  1132. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/cleanup_presentation_workspace.mjs +0 -164
  1133. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/create_reference_slide.py +0 -96
  1134. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/create_reference_slides.py +0 -264
  1135. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/inspect_template_deck.mjs +0 -216
  1136. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/make_contact_sheet.py +0 -58
  1137. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/openai_generate_image.py +0 -146
  1138. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/prepare_template_starter_deck.mjs +0 -229
  1139. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/render_artifact_slide.mjs +0 -105
  1140. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/render_lucide_icon.mjs +0 -229
  1141. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/scripts/run_prompt_battle.mjs +0 -872
  1142. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/subagent-instructions.md +0 -128
  1143. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/templates/design-system-template.md +0 -107
  1144. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/templates/icon-manifest-template.json +0 -38
  1145. package/resources/local/codex/plugins/cache/openai-primary-runtime/presentations/26.505.10851/skills/presentations/templates/visual-qa-template.md +0 -114
  1146. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/.codex-plugin/plugin.json +0 -48
  1147. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/README.md +0 -17
  1148. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/assets/icon.png +0 -0
  1149. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/assets/logo.png +0 -0
  1150. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/SKILL.md +0 -607
  1151. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/agents/openai.yaml +0 -7
  1152. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/assets/file-spreadsheet.png +0 -0
  1153. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/charts.md +0 -31
  1154. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/style_guidelines.md +0 -99
  1155. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/templates/financial_models.md +0 -121
  1156. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/templates/healthcare.md +0 -33
  1157. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/templates/marketing_advertising.md +0 -31
  1158. package/resources/local/codex/plugins/cache/openai-primary-runtime/spreadsheets/26.505.10851/skills/spreadsheets/templates/scientific_research.md +0 -19
  1159. package/resources/local/codex/rules/default.rules +0 -13
  1160. package/resources/local/codex/skills/.system/.codex-system-skills.marker +0 -1
  1161. package/resources/local/codex/skills/.system/imagegen/LICENSE.txt +0 -201
  1162. package/resources/local/codex/skills/.system/imagegen/SKILL.md +0 -356
  1163. package/resources/local/codex/skills/.system/imagegen/agents/openai.yaml +0 -6
  1164. package/resources/local/codex/skills/.system/imagegen/assets/imagegen-small.svg +0 -5
  1165. package/resources/local/codex/skills/.system/imagegen/assets/imagegen.png +0 -0
  1166. package/resources/local/codex/skills/.system/imagegen/references/cli.md +0 -242
  1167. package/resources/local/codex/skills/.system/imagegen/references/codex-network.md +0 -33
  1168. package/resources/local/codex/skills/.system/imagegen/references/image-api.md +0 -90
  1169. package/resources/local/codex/skills/.system/imagegen/references/prompting.md +0 -118
  1170. package/resources/local/codex/skills/.system/imagegen/references/sample-prompts.md +0 -433
  1171. package/resources/local/codex/skills/.system/imagegen/scripts/image_gen.py +0 -995
  1172. package/resources/local/codex/skills/.system/imagegen/scripts/remove_chroma_key.py +0 -440
  1173. package/resources/local/codex/skills/.system/openai-docs/LICENSE.txt +0 -201
  1174. package/resources/local/codex/skills/.system/openai-docs/SKILL.md +0 -88
  1175. package/resources/local/codex/skills/.system/openai-docs/agents/openai.yaml +0 -14
  1176. package/resources/local/codex/skills/.system/openai-docs/assets/openai-small.svg +0 -3
  1177. package/resources/local/codex/skills/.system/openai-docs/assets/openai.png +0 -0
  1178. package/resources/local/codex/skills/.system/openai-docs/references/latest-model.md +0 -37
  1179. package/resources/local/codex/skills/.system/openai-docs/references/prompting-guide.md +0 -244
  1180. package/resources/local/codex/skills/.system/openai-docs/references/upgrade-guide.md +0 -181
  1181. package/resources/local/codex/skills/.system/openai-docs/scripts/resolve-latest-model-info.js +0 -147
  1182. package/resources/local/codex/skills/.system/plugin-creator/SKILL.md +0 -160
  1183. package/resources/local/codex/skills/.system/plugin-creator/agents/openai.yaml +0 -6
  1184. package/resources/local/codex/skills/.system/plugin-creator/assets/plugin-creator-small.svg +0 -3
  1185. package/resources/local/codex/skills/.system/plugin-creator/assets/plugin-creator.png +0 -0
  1186. package/resources/local/codex/skills/.system/plugin-creator/references/plugin-json-spec.md +0 -170
  1187. package/resources/local/codex/skills/.system/plugin-creator/scripts/create_basic_plugin.py +0 -301
  1188. package/resources/local/codex/skills/.system/skill-creator/SKILL.md +0 -416
  1189. package/resources/local/codex/skills/.system/skill-creator/agents/openai.yaml +0 -5
  1190. package/resources/local/codex/skills/.system/skill-creator/assets/skill-creator-small.svg +0 -3
  1191. package/resources/local/codex/skills/.system/skill-creator/assets/skill-creator.png +0 -0
  1192. package/resources/local/codex/skills/.system/skill-creator/license.txt +0 -202
  1193. package/resources/local/codex/skills/.system/skill-creator/references/openai_yaml.md +0 -49
  1194. package/resources/local/codex/skills/.system/skill-creator/scripts/generate_openai_yaml.py +0 -226
  1195. package/resources/local/codex/skills/.system/skill-creator/scripts/init_skill.py +0 -400
  1196. package/resources/local/codex/skills/.system/skill-creator/scripts/quick_validate.py +0 -101
  1197. package/resources/local/codex/skills/.system/skill-installer/LICENSE.txt +0 -202
  1198. package/resources/local/codex/skills/.system/skill-installer/SKILL.md +0 -58
  1199. package/resources/local/codex/skills/.system/skill-installer/agents/openai.yaml +0 -5
  1200. package/resources/local/codex/skills/.system/skill-installer/assets/skill-installer-small.svg +0 -3
  1201. package/resources/local/codex/skills/.system/skill-installer/assets/skill-installer.png +0 -0
  1202. package/resources/local/codex/skills/.system/skill-installer/scripts/github_utils.py +0 -21
  1203. package/resources/local/codex/skills/.system/skill-installer/scripts/install-skill-from-github.py +0 -308
  1204. package/resources/local/codex/skills/.system/skill-installer/scripts/list-skills.py +0 -107
  1205. package/resources/local/codex/skills/vibefigma/SKILL.md +0 -87
  1206. package/resources/local/codex/skills/vibefigma/references/responsive-cleanup.md +0 -180
  1207. package/resources/local/karpathy-tools/CLAUDE.md +0 -65
  1208. package/resources/local/karpathy-tools/karpathy-md.js +0 -140
  1209. package/rules/default.md +0 -108
  1210. package/skills/coding.md +0 -87
  1211. package/skills/debug.md +0 -63
  1212. package/skills/test.md +0 -64
  1213. package/src/ai/providers.test.js +0 -137
  1214. package/src/cli/commands.test.js +0 -179
  1215. package/src/cli/repl.test.js +0 -507
  1216. package/src/cli/terminal-ui.test.js +0 -33
  1217. package/src/session/manager.test.js +0 -72
  1218. package/src/tools/executor.test.js +0 -286
package/src/cli/repl.js CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
 
6
6
  import readline from 'readline';
7
- import { promises as fs } from 'fs';
7
+ import { promises as fs, watch as fsWatch } from 'fs';
8
8
  import { homedir } from 'os';
9
9
  import { welcomeBanner, colors } from './snowflake-logo.js';
10
10
  import { renderBox, terminalWidth, stripAnsi, visibleWidth, wrapText, padVisible } from './terminal-ui.js';
@@ -12,142 +12,35 @@ import { ToolExecutor } from '../tools/executor.js';
12
12
  import { SessionManager } from '../session/manager.js';
13
13
  import { AIProviderManager } from '../ai/providers.js';
14
14
  import { ConfigLoader } from './config.js';
15
+ import { PermissionManager } from '../tools/permission.js';
16
+ import { compressConversation } from '../context/compress.js';
17
+ import { getToolUsageSummary } from '../tools/analytics.js';
18
+ import { SweAgent } from '../agent/swe-agent.js';
19
+ import { SLASH_COMMANDS } from './slash-commands.js';
20
+ import { formatMarkdown } from './markdown-format.js';
21
+ import { Spinner } from './spinner.js';
22
+ import { ContextLoader } from './context-loader.js';
23
+ import { PromptBuilder } from './prompt-builder.js';
24
+ import {
25
+ addUsage as mergeUsage,
26
+ buildToolCallSignature as buildToolCallSignatureText,
27
+ buildToolFallbackAnswer as buildFallbackAnswer,
28
+ compactText as compactPromptText,
29
+ decodeXmlEntities as decodeXmlValue,
30
+ extractFirstJsonObject as extractJsonObject,
31
+ extractInlineToolCalls as extractInlineCalls,
32
+ formatAnswerFooter as formatFooterText,
33
+ formatToolCallsForMessage as formatToolCalls,
34
+ formatToolResultForConsole as formatToolResult,
35
+ formatUsage as formatUsageText,
36
+ normalizeToolCalls as normalizeCalls,
37
+ parseToolArguments as parseArguments,
38
+ summarizePromptList as summarizePrompts,
39
+ } from './conversation-format.js';
40
+ import { handleSlashCommand } from './repl-commands.js';
15
41
  import path from 'path';
16
- import { highlight } from 'cli-highlight';
17
-
18
- // All slash commands (like Claude Code)
19
- const SLASH_COMMANDS = [
20
- // Project
21
- { cmd: '/project', desc: 'Show/set current project' },
22
- { cmd: '/cd', desc: 'Change directory' },
23
- { cmd: '/pwd', desc: 'Show current directory' },
24
- // Session
25
- { cmd: '/session', desc: 'Session management' },
26
- { cmd: '/sessions', desc: 'List all sessions' },
27
- { cmd: '/clear', desc: 'Clear screen' },
28
- // Memory
29
- { cmd: '/remember', desc: 'Store in memory', usage: '/remember <text>' },
30
- { cmd: '/memories', desc: 'Show stored memories' },
31
- { cmd: '/forget', desc: 'Clear memories', usage: '/forget [pattern]' },
32
- // Plans
33
- { cmd: '/plan', desc: 'Create/view plans' },
34
- { cmd: '/plans', desc: 'List active plans' },
35
- // Tasks
36
- { cmd: '/tasks', desc: 'List tasks' },
37
- { cmd: '/task', desc: 'Create task', usage: '/task <description>' },
38
- { cmd: '/agent', desc: 'Launch subagent', usage: '/agent <task>' },
39
- // Tools
40
- { cmd: '/read', desc: 'Read file', usage: '/read <file>' },
41
- { cmd: '/write', desc: 'Write file', usage: '/write <file> <content>' },
42
- { cmd: '/glob', desc: 'Find files', usage: '/glob <pattern>' },
43
- { cmd: '/grep', desc: 'Search files', usage: '/grep <pattern>' },
44
- { cmd: '/bash', desc: 'Run command', usage: '/bash <command>' },
45
- { cmd: '/image', desc: 'Analyze image/screenshot', usage: '/image <file> [question]' },
46
- // Design
47
- { cmd: '/design', desc: 'Design commands', sub: ['search', 'add', 'list', 'preview'] },
48
- { cmd: '/designs', desc: 'List/search awesome-design-md systems', usage: '/designs [query]' },
49
- // Skills
50
- { cmd: '/skill', desc: 'Skills management', sub: ['list', 'enable', 'create'] },
51
- { cmd: '/skills', desc: 'List local Winter/Codex/Claude skills' },
52
- // Plugins
53
- { cmd: '/plugin', desc: 'Plugin management', sub: ['list', 'install', 'remove'] },
54
- // Local agent resources
55
- { cmd: '/codex', desc: 'Browse ~/.codex resources', usage: '/codex [skills|plugins|models|rules|memories]' },
56
- { cmd: '/claude', desc: 'Browse ~/.claude resources', usage: '/claude [skills|plugins|settings]' },
57
- { cmd: '/karpathy', desc: 'Browse karpathy-tools and guidelines' },
58
- { cmd: '/agents', desc: 'Read ~/agents.md' },
59
- { cmd: '/resources', desc: 'Show bundled local resource manifest' },
60
- // Provider
61
- { cmd: '/provider', desc: 'Show/switch AI provider', usage: '/provider <custom|claude|ollama|openai|groq>' },
62
- { cmd: '/providers', desc: 'List all providers' },
63
- { cmd: '/models', desc: 'List configured/cached models' },
64
- // Config
65
- { cmd: '/config', desc: 'Show configuration' },
66
- { cmd: '/model', desc: 'Show/set active provider model', usage: '/model <model-id>' },
67
- // Help & Exit
68
- { cmd: '/help', desc: 'Show this help' },
69
- { cmd: '/?', desc: 'Show help' },
70
- { cmd: '/exit', desc: 'Exit Winter' },
71
- { cmd: '/quit', desc: 'Exit Winter' },
72
- ];
73
-
74
-
75
- function formatMarkdown(text) {
76
- if (!text) return '';
77
- let formatted = text;
78
-
79
- formatted = formatted.replace(/```(\w*)\n([\s\S]*?)```/g, (match, lang, code) => {
80
- const label = lang || 'code';
81
- let coloredCode = code.trimEnd();
82
- try {
83
- coloredCode = highlight(coloredCode, { language: lang || 'javascript', ignoreIllegals: true });
84
- } catch (e) {
85
- // Fallback
86
- }
87
-
88
- const boxWidth = Math.max(60, Math.min(terminalWidth(60, 100, 80), 100));
89
- const body = wrapText(coloredCode, boxWidth - 4);
90
-
91
- return `\n${renderBox({
92
- title: label,
93
- width: boxWidth,
94
- borderColor: colors.dim,
95
- titleColor: colors.dim,
96
- body,
97
- })}\n${colors.white}`;
98
- });
99
42
 
100
- // Bold
101
- formatted = formatted.replace(/\*\*(.*?)\*\*/g, `${colors.bright}$1${colors.reset}${colors.white}`);
102
43
 
103
- // Italic
104
- formatted = formatted.replace(/(?<!\*)\*([^*\n]+)\*(?!\*)/g, `${colors.italic || colors.dim}$1${colors.reset}${colors.white}`);
105
-
106
- // Inline code
107
- formatted = formatted.replace(/`([^`\n]+)`/g, `${colors.cyan}$1${colors.reset}${colors.white}`);
108
-
109
- // Headings
110
- formatted = formatted.replace(/^### (.+)$/gm, `${colors.cyan} $1${colors.reset}`);
111
- formatted = formatted.replace(/^## (.+)$/gm, `${colors.cyan}${colors.bright} $1${colors.reset}`);
112
- formatted = formatted.replace(/^# (.+)$/gm, `\n${colors.bright}${colors.cyan}━ $1${colors.reset}\n`);
113
-
114
- // Horizontal rules
115
- formatted = formatted.replace(/^---+$/gm, `${colors.dim}${'─'.repeat(50)}${colors.reset}`);
116
-
117
- // Unordered list bullets
118
- formatted = formatted.replace(/^(\s*)[-*] /gm, `$1${colors.cyan}•${colors.reset} `);
119
-
120
- // Numbered list
121
- formatted = formatted.replace(/^(\s*)(\d+)\. /gm, `$1${colors.cyan}$2.${colors.reset} `);
122
-
123
- return formatted;
124
- }
125
-
126
- class Spinner {
127
- constructor(text = '') {
128
- this.text = text;
129
- this.frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
130
- this.interval = null;
131
- this.frameIndex = 0;
132
- }
133
- start() {
134
- if (this.interval) return;
135
- this.interval = setInterval(() => {
136
- process.stdout.write(`\r\x1b[K${colors.cyan}${this.frames[this.frameIndex]}${colors.reset} ${colors.dim}${this.text}${colors.reset}`);
137
- this.frameIndex = (this.frameIndex + 1) % this.frames.length;
138
- }, 80);
139
- }
140
- stop(finalText) {
141
- if (this.interval) {
142
- clearInterval(this.interval);
143
- this.interval = null;
144
- process.stdout.write(`\r\x1b[K${finalText ? finalText + '\n' : ''}`);
145
- }
146
- }
147
- update(text) {
148
- this.text = text;
149
- }
150
- }
151
44
 
152
45
  export class WinterREPL {
153
46
  constructor(options = {}) {
@@ -167,36 +60,56 @@ export class WinterREPL {
167
60
  this.taskQueue = [];
168
61
  this.isProcessing = false;
169
62
  this.isCancelled = false;
63
+ this.sessionPermissionGrants = new Set();
64
+ this.permissionManager = new PermissionManager(this.config, this.session);
65
+ this.contextLoader = new ContextLoader({ projectPath: this.projectPath, session: this.session, tools: this.tools });
66
+ this.promptBuilder = new PromptBuilder({
67
+ session: this.session,
68
+ tools: this.tools,
69
+ projectPath: this.projectPath,
70
+ sessionPermissionGrants: this.sessionPermissionGrants,
71
+ compactText: (text, maxChars, label) => this.compactText(text, maxChars, label),
72
+ summarizePrompts: (items, opts) => this.summarizePromptList(items, opts),
73
+ });
74
+ this.watchers = [];
170
75
  }
171
76
 
172
- getProjectInstructionFiles() {
173
- return ['winter.md', 'WINTER.md', 'CLAUDE.md', '.claude/CLAUDE.md'];
77
+ getSessionToolPermissionStore() {
78
+ const context = this.session?.getContext?.() || {};
79
+ const value = context.toolPermissions?.value;
80
+ return value && typeof value === 'object' ? value : { session: [] };
174
81
  }
175
82
 
176
- async readProjectInstructionFiles() {
177
- const fsPromises = await import('fs/promises');
178
- const files = [];
179
- const seen = new Set();
83
+ hydrateSessionToolPermissions() {
84
+ const store = this.getSessionToolPermissionStore();
85
+ this.sessionPermissionGrants = new Set(Array.isArray(store.session) ? store.session : []);
86
+ }
180
87
 
181
- for (const relativePath of this.getProjectInstructionFiles()) {
182
- const filePath = path.join(this.projectPath, relativePath);
183
- const normalizedPath = path.normalize(filePath).toLowerCase();
88
+ async rememberSessionToolPermission(toolName) {
89
+ const store = this.getSessionToolPermissionStore();
90
+ const sessionGrants = new Set(Array.isArray(store.session) ? store.session : []);
91
+ sessionGrants.add(toolName);
92
+ await this.session.updateContext('toolPermissions', {
93
+ session: [...sessionGrants],
94
+ });
95
+ this.sessionPermissionGrants = sessionGrants;
96
+ }
184
97
 
185
- if (seen.has(normalizedPath)) continue;
186
- seen.add(normalizedPath);
98
+ async shouldPromptForToolPermission(toolName) {
99
+ if (this.sessionPermissionGrants.has(toolName)) return false;
100
+ return await this.permissionManager.shouldPromptForToolPermission(toolName);
101
+ }
187
102
 
188
- try {
189
- const stat = await fsPromises.stat(filePath).catch(() => null);
190
- if (!stat || !stat.isFile()) continue;
103
+ buildSessionSignalsPrompt() {
104
+ return this.promptBuilder.buildSessionSignalsPrompt();
105
+ }
191
106
 
192
- const content = await fsPromises.readFile(filePath, 'utf8');
193
- files.push({ relativePath, filePath, content });
194
- } catch {
195
- // Ignore unreadable instruction files.
196
- }
197
- }
107
+ getProjectInstructionFiles() {
108
+ return this.contextLoader.getProjectInstructionFiles();
109
+ }
198
110
 
199
- return files;
111
+ async readProjectInstructionFiles() {
112
+ return this.contextLoader.readProjectInstructionFiles();
200
113
  }
201
114
 
202
115
  async start() {
@@ -358,7 +271,7 @@ export class WinterREPL {
358
271
  this.rl = readline.createInterface({
359
272
  input: process.stdin,
360
273
  output: process.stdout,
361
- prompt: `${colors.bright}${colors.cyan}winter > ${colors.reset}`,
274
+ prompt: `${colors.bright}${colors.cyan}winter❄️: ${colors.reset}`,
362
275
  completer: this.completer.bind(this),
363
276
  });
364
277
  this.installSlashSuggestions();
@@ -406,30 +319,11 @@ export class WinterREPL {
406
319
  }
407
320
 
408
321
  getResourcePaths() {
409
- const home = homedir();
410
- const localRoot = path.join(this.projectPath, 'resources', 'local');
411
- return {
412
- codex: {
413
- root: path.join(localRoot, 'codex'),
414
- skills: path.join(localRoot, 'codex', 'skills'),
415
- plugins: path.join(localRoot, 'codex', 'plugins'),
416
- models: path.join(localRoot, 'codex', 'models_cache.json'),
417
- rules: path.join(localRoot, 'codex', 'rules'),
418
- memories: path.join(localRoot, 'codex', 'memories'),
419
- },
420
- claude: {
421
- root: path.join(localRoot, 'claude'),
422
- skills: path.join(localRoot, 'claude', 'skills'),
423
- plugins: path.join(localRoot, 'claude', 'plugins'),
424
- projects: path.join(localRoot, 'claude', 'projects'),
425
- settings: path.join(localRoot, 'claude', 'settings.json'),
426
- },
427
- karpathy: path.join(localRoot, 'karpathy-tools'),
428
- designs: path.join(localRoot, 'awesome-design-md', 'design-md'),
429
- agents: path.join(localRoot, 'agents.md'),
430
- manifest: path.join(localRoot, 'manifest.json'),
431
- localRoot,
432
- };
322
+ return this.contextLoader.getResourcePaths();
323
+ }
324
+
325
+ getUserResourcePaths() {
326
+ return this.contextLoader.getUserResourcePaths();
433
327
  }
434
328
 
435
329
  async showResourceManifest() {
@@ -546,15 +440,7 @@ export class WinterREPL {
546
440
  }
547
441
 
548
442
  async listPathEntries(target, limit = 100) {
549
- try {
550
- const entries = await fs.readdir(target, { withFileTypes: true });
551
- return entries
552
- .map(entry => ({ name: entry.name, isDirectory: entry.isDirectory() }))
553
- .sort((a, b) => Number(b.isDirectory) - Number(a.isDirectory) || a.name.localeCompare(b.name))
554
- .slice(0, limit);
555
- } catch {
556
- return [];
557
- }
443
+ return this.contextLoader.listPathEntries(target, limit);
558
444
  }
559
445
 
560
446
  async handleInput(input) {
@@ -852,328 +738,7 @@ export class WinterREPL {
852
738
  }
853
739
 
854
740
  async handleSlashCommand(input) {
855
- const parts = input.split(/\s+/);
856
- const cmd = parts[0].toLowerCase();
857
- const args = parts.slice(1);
858
-
859
- switch (cmd) {
860
- // Project commands
861
- case '/project':
862
- case '/pwd':
863
- console.log(`${colors.cyan}${this.projectPath}${colors.reset}`);
864
- break;
865
- case '/cd':
866
- if (args[0]) {
867
- this.projectPath = path.resolve(args[0]);
868
- console.log(`${colors.green}✓ Changed to: ${this.projectPath}${colors.reset}`);
869
- }
870
- break;
871
-
872
- // Session commands
873
- case '/session':
874
- console.log(`${colors.cyan}Session: ${this.session.getSessionId().substring(0, 8)}${colors.reset}`);
875
- break;
876
- case '/sessions':
877
- const sessions = await this.session.listSessions();
878
- console.log(`${colors.cyan}Sessions:${colors.reset}`);
879
- sessions.forEach(s => console.log(` ${s.id.substring(0, 8)} - ${s.createdAt}`));
880
- break;
881
- case '/clear':
882
- console.clear();
883
- break;
884
-
885
- // Memory commands
886
- case '/remember':
887
- if (args.length > 0) {
888
- await this.session.addToMemory(args.join(' '));
889
- console.log(`${colors.green}✓ Remembered${colors.reset}`);
890
- }
891
- break;
892
- case '/memories':
893
- const memories = this.session.getMemory();
894
- if (memories.length === 0) {
895
- console.log(`${colors.dim}No memories${colors.reset}`);
896
- } else {
897
- console.log(`${colors.cyan}Memories:${colors.reset}`);
898
- memories.slice(-10).forEach(m => console.log(` ${colors.dim}•${colors.reset} ${m.text}`));
899
- }
900
- break;
901
- case '/forget':
902
- console.log(`${colors.green}✓ Memories cleared${colors.reset}`);
903
- break;
904
-
905
- // Git Auto-Pilot
906
- case '/commit':
907
- await this.runAutoCommit(args.join(' '));
908
- return;
909
- case '/review':
910
- await this.runCodeReview(args.join(' '));
911
- return;
912
-
913
- // Plan commands
914
- case '/plan':
915
- case '/plans':
916
- if (args.length > 0) {
917
- await this.generateInteractivePlan(args.join(' '));
918
- break;
919
- }
920
- const plans = this.session.getPlans();
921
- if (plans.length === 0) {
922
- console.log(`${colors.dim}No active plans${colors.reset}`);
923
- } else {
924
- console.log(`${colors.cyan}Active Plans:${colors.reset}`);
925
- plans.forEach(p => console.log(` ${colors.green}•${colors.reset} ${p.title} [${p.status}]`));
926
- }
927
- break;
928
-
929
- // Task commands
930
- case '/tasks':
931
- const tasks = this.session.getPlans();
932
- if (tasks.length === 0) {
933
- console.log(`${colors.dim}No tasks${colors.reset}`);
934
- } else {
935
- console.log(`${colors.cyan}Tasks:${colors.reset}`);
936
- tasks.forEach(t => console.log(` ${colors.green}•${colors.reset} ${t.title} [${t.status}]`));
937
- }
938
- break;
939
- case '/task':
940
- if (args.length > 0) {
941
- await this.session.createPlan(args.join(' '), '');
942
- console.log(`${colors.green}✓ Task created${colors.reset}`);
943
- }
944
- break;
945
- case '/agent':
946
- if (args.length > 0) {
947
- let role = 'general';
948
- let task = args.join(' ');
949
- const first = args[0].toLowerCase();
950
- if (['plan', 'review', 'debug', 'research', 'browser'].includes(first)) {
951
- role = first;
952
- task = args.slice(1).join(' ');
953
- }
954
- if (!task) {
955
- console.log(`${colors.dim}Usage: /agent [plan|review|debug|research|browser] <task>${colors.reset}`);
956
- break;
957
- }
958
- console.log(`${colors.cyan}Subagent:${colors.reset} ${role}`);
959
- await this.runAgent(role, task);
960
- } else {
961
- console.log(`${colors.dim}Usage: /agent [plan|review|debug|research|browser] <task>${colors.reset}`);
962
- }
963
- break;
964
-
965
- // Tool commands
966
- case '/read':
967
- if (args[0]) {
968
- const result = await this.tools.execute('Read', { file_path: path.resolve(this.projectPath, args[0]) });
969
- if (result.success) {
970
- console.log(result.content);
971
- } else {
972
- console.log(`${colors.red}Error: ${result.error}${colors.reset}`);
973
- }
974
- }
975
- break;
976
- case '/write':
977
- if (args.length > 1) {
978
- const [file, ...content] = args;
979
- const result = await this.tools.execute('Write', { file_path: path.resolve(this.projectPath, file), content: content.join(' ') });
980
- if (result.success) {
981
- console.log(`${colors.green}✓ Wrote ${file}${colors.reset}`);
982
- } else {
983
- console.log(`${colors.red}Error: ${result.error}${colors.reset}`);
984
- }
985
- }
986
- break;
987
- case '/bash':
988
- if (args.length > 0) {
989
- const result = await this.tools.execute('Bash', { command: args.join(' '), cwd: this.projectPath });
990
- if (result.success) {
991
- if (result.stdout) console.log(result.stdout);
992
- if (result.stderr) console.log(`${colors.yellow}${result.stderr}${colors.reset}`);
993
- } else {
994
- console.log(`${colors.red}Error: ${result.error}${colors.reset}`);
995
- }
996
- }
997
- break;
998
- case '/glob':
999
- if (args[0]) {
1000
- const result = await this.tools.execute('Glob', { pattern: args[0], cwd: this.projectPath });
1001
- if (result.success) {
1002
- result.files.forEach(f => console.log(` ${f}`));
1003
- }
1004
- }
1005
- break;
1006
- case '/grep':
1007
- if (args[0]) {
1008
- const result = await this.tools.execute('Grep', { pattern: args[0], path: this.projectPath });
1009
- if (result.success) {
1010
- result.matches.forEach(m => console.log(` ${m}`));
1011
- }
1012
- }
1013
- break;
1014
- case '/image':
1015
- if (args.length > 0) {
1016
- const imgPath = path.resolve(this.projectPath, args[0]);
1017
- try {
1018
- const img = await this.loadImageAsBase64(imgPath);
1019
- if (img) {
1020
- const question = args.slice(1).join(' ') || 'Vui lòng phân tích hình ảnh này.';
1021
- await this.chat(question, [img]);
1022
- } else {
1023
- console.log(`Không thể load ảnh: ${args[0]}`);
1024
- }
1025
- } catch {
1026
- console.log(`Lỗi xử lý ảnh`);
1027
- }
1028
- } else {
1029
- console.log(`Sử dụng: /image <file> [câu hỏi]`);
1030
- }
1031
- break;
1032
-
1033
- case '/paste':
1034
- const clipText = await this.getClipboardContent();
1035
- if (clipText) {
1036
- console.log(`\x1b[35m[CLIPBOARD]\x1b[0m Đã nhận ${clipText.length} ký tự từ bộ nhớ đệm.`);
1037
- const userQuery = args.join(' ') || 'Hãy đọc và phân tích nội dung sau:';
1038
- await this.chat(`${userQuery}\n\n\`\`\`\n${clipText}\n\`\`\``);
1039
- } else {
1040
- console.log('\x1b[33mKhông tìm thấy văn bản trong bộ nhớ đệm hoặc bị lỗi.\x1b[0m');
1041
- }
1042
- break;
1043
-
1044
- // Design commands
1045
- case '/design':
1046
- const { DesignCommands } = await import('../design/commands.js');
1047
- const design = new DesignCommands(this.session, this.config);
1048
- await design.execute(args[0], args.slice(1));
1049
- break;
1050
- case '/designs':
1051
- await this.showDesignSystems(args[0]);
1052
- break;
1053
-
1054
- // Skills commands
1055
- case '/skill':
1056
- const { SkillManager } = await import('../skills/manager.js');
1057
- const skills = new SkillManager(this.session);
1058
- const skillList = await skills.listSkills();
1059
- if (args[0] === 'list' || !args[0]) {
1060
- console.log(`${colors.cyan}Skills:${colors.reset}`);
1061
- skillList.forEach(s => console.log(` ${s.icon} ${s.name} - ${s.description}`));
1062
- }
1063
- break;
1064
- case '/skills':
1065
- await this.showAllLocalSkills();
1066
- break;
1067
-
1068
- // Plugin commands
1069
- case '/plugin':
1070
- const { PluginManager } = await import('../plugins/manager.js');
1071
- const plugins = new PluginManager(this.session);
1072
- const pluginList = await plugins.listPlugins();
1073
- if (args[0] === 'list' || !args[0]) {
1074
- console.log(`${colors.cyan}Plugins:${colors.reset}`);
1075
- pluginList.forEach(p => console.log(` ${p.icon} ${p.name} v${p.version}`));
1076
- }
1077
- break;
1078
- case '/codex':
1079
- await this.showResourceGroup('codex', args[0]);
1080
- break;
1081
- case '/claude':
1082
- await this.showResourceGroup('claude', args[0]);
1083
- break;
1084
- case '/karpathy':
1085
- await this.showKarpathyResources();
1086
- break;
1087
- case '/agents':
1088
- await this.showAgentsFile();
1089
- break;
1090
- case '/resources':
1091
- await this.showResourceManifest();
1092
- break;
1093
-
1094
- // Provider commands
1095
- case '/provider':
1096
- if (args[0]) {
1097
- const providerName = args[0].trim().toLowerCase();
1098
- const switched = typeof this.ai.switchProvider === 'function'
1099
- ? await this.ai.switchProvider(providerName)
1100
- : (this.ai.setProvider(providerName) ? providerName : null);
1101
-
1102
- if (switched) {
1103
- await this.config.setDefaultProvider(switched);
1104
- console.log(`${colors.green}✓ Provider: ${switched}${colors.reset}`);
1105
- } else {
1106
- const available = this.ai.listProviders().map(p => p.name).join(', ') || 'none';
1107
- console.log(`${colors.red}Unknown provider: ${providerName}${colors.reset}`);
1108
- console.log(`${colors.dim}Available providers: ${available}${colors.reset}`);
1109
- }
1110
- } else {
1111
- console.log(`${colors.cyan}Provider: ${this.ai.getActiveProvider()}${colors.reset}`);
1112
- }
1113
- break;
1114
- case '/providers':
1115
- const providers = this.ai.listProviders();
1116
- console.log(`${colors.cyan}Providers:${colors.reset}`);
1117
- providers.forEach(p => {
1118
- const status = p.ready ? `${colors.green}●${colors.reset}` : `${colors.red}○${colors.reset}`;
1119
- console.log(` ${status} ${p.name} (${p.model})`);
1120
- });
1121
- break;
1122
- case '/models':
1123
- await this.showModels();
1124
- break;
1125
-
1126
- // Config commands
1127
- case '/config':
1128
- const cfg = await this.config.load();
1129
- console.log(JSON.stringify(cfg, null, 2));
1130
- break;
1131
- case '/model':
1132
- if (args[0]) {
1133
- const providerName = this.ai.getActiveProvider();
1134
- const model = args.join(' ');
1135
- await this.config.setProviderModel(providerName, model);
1136
- this.ai.providers[providerName].model = model;
1137
- console.log(`${colors.green}✓ Model for ${providerName}: ${model}${colors.reset}`);
1138
- } else {
1139
- console.log(`${colors.cyan}Model: ${this.ai.providers[this.ai.getActiveProvider()]?.model}${colors.reset}`);
1140
- }
1141
- break;
1142
-
1143
- // Help & Exit
1144
- case '/':
1145
- this.showCommandMenu();
1146
- break;
1147
- case '/auto':
1148
- case '/tdd':
1149
- if (args.length > 0) {
1150
- await this.runAutoHealing(args.join(' '));
1151
- } else {
1152
- console.log(`\x1b[33mSử dụng: /auto <yêu cầu code>\x1b[0m`);
1153
- }
1154
- break;
1155
- case '/help':
1156
- case '/?':
1157
- this.showCommandMenu();
1158
- break;
1159
- case '/exit':
1160
- case '/quit':
1161
- this.running = false;
1162
- console.log(`${colors.dim}Exiting...${colors.reset}`);
1163
- if (!this.readlineClosed) this.rl.close();
1164
- break;
1165
-
1166
- default:
1167
- // Try partial match
1168
- const match = SLASH_COMMANDS.find(c => c.cmd.startsWith(cmd));
1169
- if (match) {
1170
- console.log(`${colors.cyan}${match.cmd}${colors.reset} - ${match.desc}`);
1171
- if (match.usage) console.log(`${colors.dim}Usage: ${match.usage}${colors.reset}`);
1172
- } else {
1173
- console.log(`${colors.red}Unknown command: ${cmd}${colors.reset}`);
1174
- console.log(`${colors.dim}Type /help for available commands${colors.reset}`);
1175
- }
1176
- }
741
+ return handleSlashCommand(this, input);
1177
742
  }
1178
743
 
1179
744
  showCommandMenu() {
@@ -1208,6 +773,7 @@ export class WinterREPL {
1208
773
  `${c.bright}Cấu hình Model${c.reset}`,
1209
774
  row(`${c.yellow}/provider${c.reset} Đổi provider AI`, `${c.yellow}/model${c.reset} Đổi model`),
1210
775
  row(`${c.yellow}/providers${c.reset} Danh sách provider`, `${c.yellow}/models${c.reset} Danh sách model`),
776
+ row(`${c.yellow}/mcp${c.reset} MCP server mgmt`, `${c.yellow}/permissions${c.reset} Quyền/allowlist`),
1211
777
  '',
1212
778
  `${c.bright}Bộ nhớ & Kỹ năng${c.reset}`,
1213
779
  row(`${c.yellow}/remember${c.reset} Lưu vào bộ nhớ`, `${c.yellow}/memories${c.reset} Xem bộ nhớ`),
@@ -1262,6 +828,8 @@ ${colors.white}AI & Config:${colors.reset}
1262
828
  /provider [name] Show/switch provider and save default
1263
829
  /providers List providers
1264
830
  /models List configured/cached models
831
+ /mcp MCP server management
832
+ /permissions Permission allowlist
1265
833
  /config Show config
1266
834
  /model [model] Show/set active provider model
1267
835
 
@@ -1380,10 +948,49 @@ ${colors.reset}
1380
948
  }
1381
949
  }
1382
950
 
951
+ selectExecutionProfile(messages = [], options = {}) {
952
+ if (typeof this.ai?.selectExecutionProfile === 'function') {
953
+ const profile = this.ai.selectExecutionProfile(messages, options);
954
+ if (profile?.provider || profile?.model) return profile;
955
+ }
956
+
957
+ const text = Array.isArray(messages)
958
+ ? messages.map(message => {
959
+ if (!message) return '';
960
+ if (typeof message.content === 'string') return message.content;
961
+ if (Array.isArray(message.content)) {
962
+ return message.content.map(part => part?.text || part?.image_url?.url || '').join('\n');
963
+ }
964
+ return '';
965
+ }).join('\n').toLowerCase()
966
+ : String(messages || '').toLowerCase();
967
+
968
+ const providers = this.ai?.providers || {};
969
+ const activeProvider = this.ai?.getActiveProvider?.() || Object.keys(providers)[0] || null;
970
+ const hasProvider = name => !!providers[name]?.model || !!providers[name]?.ready;
971
+
972
+ let provider = activeProvider;
973
+ if (/\b(review|refactor|debug|fix|bug|error|stack trace|test|tool|patch|code)\b/.test(text) && hasProvider('claude')) {
974
+ provider = 'claude';
975
+ } else if (/\b(summary|summarize|commit message|changelog|docs|explain|rewrite)\b/.test(text) && hasProvider('openai')) {
976
+ provider = 'openai';
977
+ } else if (/\b(local|offline|privacy|private|on-device)\b/.test(text) && hasProvider('ollama')) {
978
+ provider = 'ollama';
979
+ } else if (/\b(quick|brief|short|fast)\b/.test(text) && hasProvider('groq')) {
980
+ provider = 'groq';
981
+ }
982
+
983
+ return {
984
+ provider,
985
+ model: options.model || providers[provider]?.model || providers[activeProvider]?.model || null,
986
+ };
987
+ }
988
+
1383
989
 
1384
990
  async runConversation(messages, label = 'Thinking', tools = null) {
1385
991
  this.spinner = new Spinner(label + '...');
1386
992
  this.spinner.start();
993
+ this.hydrateSessionToolPermissions();
1387
994
 
1388
995
  const startedAt = Date.now();
1389
996
  const previousTools = this.ai.tools;
@@ -1394,11 +1001,14 @@ ${colors.reset}
1394
1001
  let usedTools = false;
1395
1002
  const toolSummaries = [];
1396
1003
  const totalUsage = {};
1004
+ let lastToolSignature = null;
1005
+ const executionProfile = this.selectExecutionProfile(messages, { enableTools: true });
1397
1006
  try {
1398
1007
  for (let i = 0; i < 8; i++) {
1399
1008
  if (this.isCancelled) throw new Error('AbortError');
1400
1009
  const turn = await this.requestAssistantTurn(messages, {
1401
- model: this.ai.providers[this.ai.getActiveProvider()]?.model,
1010
+ provider: executionProfile.provider,
1011
+ model: executionProfile.model,
1402
1012
  enableTools: true,
1403
1013
  }, startedAt, totalUsage);
1404
1014
 
@@ -1429,15 +1039,16 @@ ${colors.reset}
1429
1039
  usedTools = true;
1430
1040
  if (this.spinner) this.spinner.stop();
1431
1041
 
1042
+ const currentToolSignature = this.buildToolCallSignature(toolCalls);
1043
+ if (currentToolSignature && currentToolSignature === lastToolSignature) {
1044
+ console.log(`
1045
+ ${colors.yellow}ℹ AI đang lặp lại cùng một chuỗi tool call. Dừng vòng lặp để tránh spam.${colors.reset}`);
1046
+ reachedToolLimit = false;
1047
+ break;
1048
+ }
1049
+ lastToolSignature = currentToolSignature;
1050
+
1432
1051
  const BOX_WIDTH = terminalWidth(76, 116, 92);
1433
- const innerWidth = BOX_WIDTH - 2;
1434
- const title = ' AGENT TOOLS EXECUTION ';
1435
- const titlePad = Math.max(0, innerWidth - visibleWidth(title));
1436
- const leftPad = Math.floor(titlePad / 2);
1437
- const rightPad = titlePad - leftPad;
1438
- console.log(`\n${colors.magenta}╭${'─'.repeat(innerWidth)}╮${colors.reset}`);
1439
- console.log(`${colors.magenta}│${colors.reset}${' '.repeat(leftPad)}${colors.bright}${title}${colors.reset}${' '.repeat(rightPad)}${colors.magenta}│${colors.reset}`);
1440
- console.log(`${colors.magenta}├${'─'.repeat(innerWidth)}┤${colors.reset}`);
1441
1052
  messages.push({
1442
1053
  role: 'assistant',
1443
1054
  content: assistantMsg.content || '',
@@ -1451,19 +1062,26 @@ ${colors.reset}
1451
1062
  const enrichedArgs = argParseError ? {} : this.enrichToolArgs(canonicalToolName, toolArgs, messages);
1452
1063
 
1453
1064
  const icon = canonicalToolName === 'Bash' ? '⚙' : canonicalToolName === 'Read' ? '📖' : canonicalToolName === 'Write' ? '✏️' : canonicalToolName === 'Edit' ? '🔧' : canonicalToolName === 'Grep' ? '🔍' : canonicalToolName === 'Glob' ? '📂' : '⚡';
1454
- console.log(`${colors.magenta}│${colors.reset} ${icon} ${colors.cyan}${colors.bright}${toolName}${colors.reset}`);
1455
1065
 
1456
1066
  let proceed = true;
1457
- if (canonicalToolName === 'Bash' && !argParseError) {
1067
+ if (await this.shouldPromptForToolPermission(canonicalToolName) && !argParseError) {
1458
1068
  const cmd = enrichedArgs.command || enrichedArgs.cmd || 'unknown';
1459
- process.stdout.write(`${colors.magenta}│${colors.reset} ${colors.yellow}⚠ AI muốn chạy: ${colors.bright}${cmd}${colors.reset}\n`);
1460
- proceed = await new Promise(resolve => {
1461
- this.rl.question(`${colors.magenta}│${colors.reset} ${colors.yellow}Cho phép? [y/N]: ${colors.reset}`, answer => {
1462
- resolve(answer.trim().toLowerCase() === 'y');
1463
- });
1464
- });
1465
- if (!proceed) {
1466
- console.log(`${colors.magenta}│${colors.reset} ${colors.dim}Đã hủy lệnh.${colors.reset}`);
1069
+ if (this.sessionPermissionGrants.has(canonicalToolName)) {
1070
+ proceed = true;
1071
+ } else {
1072
+ proceed = await this.promptToolPermission(cmd);
1073
+ if (proceed === 'session') {
1074
+ await this.rememberSessionToolPermission(canonicalToolName);
1075
+ proceed = true;
1076
+ }
1077
+
1078
+ if (proceed === true) {
1079
+ await this.permissionManager.allowTool(canonicalToolName);
1080
+ }
1081
+
1082
+ if (!proceed) {
1083
+ console.log(`${colors.magenta}│${colors.reset} ${colors.dim}Đã hủy lệnh.${colors.reset}`);
1084
+ }
1467
1085
  }
1468
1086
  }
1469
1087
 
@@ -1491,18 +1109,21 @@ ${colors.reset}
1491
1109
  if (summary) {
1492
1110
  toolSummaries.push(`${canonicalToolName}: ${summary}`);
1493
1111
  const statusIcon = result.success === false ? `${colors.red}✖${colors.reset}` : `${colors.green}✓${colors.reset}`;
1494
-
1495
- const maxLen = BOX_WIDTH - 8;
1496
- const wrappedLines = summary.split('\n').flatMap(line => wrapText(line, maxLen));
1497
- for (const [index, line] of wrappedLines.entries()) {
1498
- const prefix = index === 0 ? statusIcon : ' ';
1499
- const cleanLine = stripAnsi(line);
1500
- const padding = ' '.repeat(Math.max(0, maxLen - visibleWidth(cleanLine)));
1501
- console.log(`${colors.magenta}│${colors.reset} ${prefix} ${colors.dim}${cleanLine}${colors.reset}${padding}${colors.magenta}│${colors.reset}`);
1502
- }
1112
+ const toolLine = `${icon} ${colors.cyan}${colors.bright}${toolName}${colors.reset}`;
1113
+ const summaryLines = summary.split('\n').flatMap(line => wrapText(line, BOX_WIDTH - 8));
1114
+ console.log(renderBox({
1115
+ title: 'AGENT TOOLS EXECUTION',
1116
+ width: BOX_WIDTH,
1117
+ borderColor: colors.magenta,
1118
+ titleColor: colors.bright,
1119
+ body: [
1120
+ toolLine,
1121
+ ...summaryLines.map((line, index) => index === 0 ? `${statusIcon} ${colors.dim}${line}${colors.reset}` : `${colors.dim}${line}${colors.reset}`),
1122
+ ],
1123
+ }));
1503
1124
  }
1504
1125
  }
1505
- console.log(`${colors.magenta}╰${''.repeat(innerWidth)}╯${colors.reset}\n`);
1126
+ console.log('');
1506
1127
  }
1507
1128
 
1508
1129
  if (usedTools && !finalContent) {
@@ -1510,6 +1131,7 @@ ${colors.reset}
1510
1131
  }
1511
1132
  } finally {
1512
1133
  if (tools) this.ai.setTools(previousTools);
1134
+ if (this.spinner) this.spinner.stop();
1513
1135
  }
1514
1136
 
1515
1137
  if ((reachedToolLimit || usedTools) && !finalContent) {
@@ -1648,9 +1270,13 @@ ${colors.reset}
1648
1270
 
1649
1271
  readline.emitKeypressEvents(process.stdin, this.rl);
1650
1272
 
1651
- process.stdin.on('keypress', (_str, key = {}) => {
1273
+ process.stdin.on('keypress', (str, key = {}) => {
1652
1274
  if (key.ctrl || key.meta) return;
1653
1275
 
1276
+ if (typeof str === 'string' && str.length > 1) {
1277
+ return;
1278
+ }
1279
+
1654
1280
  if (this.slashMenu.open && this.handleSlashMenuKey(key)) {
1655
1281
  return;
1656
1282
  }
@@ -1703,7 +1329,7 @@ ${colors.reset}
1703
1329
  this.moveSlashSelection(1);
1704
1330
  return true;
1705
1331
  }
1706
- if (key.name === 'tab' || key.name === 'return') {
1332
+ if (key.name === 'tab') {
1707
1333
  this.acceptSlashSelection();
1708
1334
  return true;
1709
1335
  }
@@ -1726,9 +1352,15 @@ ${colors.reset}
1726
1352
  const item = this.slashMenu.items[this.slashMenu.selected];
1727
1353
  if (!item) return;
1728
1354
 
1729
- const suffix = item.usage ? ' ' : '';
1355
+ const currentLine = String(this.rl?.line ?? this.slashMenu.line ?? '');
1356
+ const slashPrefixMatch = currentLine.match(/^\s*(\/\S*)(.*)$/);
1357
+ const prefix = slashPrefixMatch ? slashPrefixMatch[1] : currentLine.trim();
1358
+ const suffixText = slashPrefixMatch ? slashPrefixMatch[2] : '';
1359
+ const needsSpace = item.usage && suffixText && !/^\s/.test(suffixText);
1360
+ const replacement = `${item.cmd}${needsSpace ? ' ' : ''}${suffixText}`.trimEnd();
1361
+
1730
1362
  this.rl.write(null, { ctrl: true, name: 'u' });
1731
- this.rl.write(item.cmd + suffix);
1363
+ this.rl.write(replacement || prefix || item.cmd);
1732
1364
  this.closeSlashMenu();
1733
1365
  this.rl.prompt(true);
1734
1366
  }
@@ -1843,6 +1475,7 @@ ${colors.reset}
1843
1475
  }
1844
1476
 
1845
1477
  async requestFinalAnswer(messages, toolSummaries, startedAt, totalUsage) {
1478
+ const executionProfile = this.selectExecutionProfile(messages, { enableTools: false });
1846
1479
  const finalMessages = [
1847
1480
  ...messages,
1848
1481
  {
@@ -1859,11 +1492,12 @@ ${colors.reset}
1859
1492
 
1860
1493
  try {
1861
1494
  if (typeof this.ai.streamRequest === 'function') {
1862
- return await this.streamFinalAnswer(finalMessages, startedAt, totalUsage);
1495
+ return await this.streamFinalAnswer(finalMessages, startedAt, totalUsage, executionProfile);
1863
1496
  }
1864
1497
 
1865
1498
  const response = await this.ai.sendRequest(finalMessages, {
1866
- model: this.ai.providers[this.ai.getActiveProvider()]?.model,
1499
+ provider: executionProfile.provider,
1500
+ model: executionProfile.model,
1867
1501
  enableTools: false,
1868
1502
  });
1869
1503
  this.addUsage(totalUsage, response.usage);
@@ -1879,14 +1513,16 @@ ${colors.reset}
1879
1513
  }
1880
1514
  }
1881
1515
 
1882
- async streamFinalAnswer(messages, startedAt, totalUsage) {
1516
+ async streamFinalAnswer(messages, startedAt, totalUsage, executionProfile = null) {
1883
1517
  let content = '';
1518
+ const profile = executionProfile || this.selectExecutionProfile(messages, { enableTools: false });
1884
1519
 
1885
1520
  try {
1886
1521
  process.stdout.write(`\n${colors.white}`);
1887
1522
  let isFirst = true;
1888
1523
  for await (const chunk of this.ai.streamRequest(messages, {
1889
- model: this.ai.providers[this.ai.getActiveProvider()]?.model,
1524
+ provider: profile.provider,
1525
+ model: profile.model,
1890
1526
  enableTools: false,
1891
1527
  })) {
1892
1528
  if (chunk.usage) this.addUsage(totalUsage, chunk.usage);
@@ -1907,7 +1543,8 @@ ${colors.reset}
1907
1543
  }
1908
1544
 
1909
1545
  const response = await this.ai.sendRequest(messages, {
1910
- model: this.ai.providers[this.ai.getActiveProvider()]?.model,
1546
+ provider: profile.provider,
1547
+ model: profile.model,
1911
1548
  enableTools: false,
1912
1549
  });
1913
1550
  this.addUsage(totalUsage, response.usage);
@@ -1926,210 +1563,229 @@ ${colors.reset}
1926
1563
  }
1927
1564
 
1928
1565
  formatAnswerFooter(startedAt, usage = {}) {
1929
- const elapsedMs = Math.max(0, Date.now() - startedAt);
1930
- const seconds = (elapsedMs / 1000).toFixed(elapsedMs < 10000 ? 1 : 0);
1931
- const tokenText = this.formatUsage(usage);
1932
- return tokenText ? `Time: ${seconds}s · Tokens: ${tokenText}` : `Time: ${seconds}s · Tokens: n/a`;
1566
+ return formatFooterText(startedAt, usage);
1933
1567
  }
1934
1568
 
1935
1569
  addUsage(totalUsage, usage = {}) {
1936
- if (!usage || typeof usage !== 'object') return totalUsage;
1570
+ return mergeUsage(totalUsage, usage);
1571
+ }
1937
1572
 
1938
- const prompt = usage.prompt_tokens ?? usage.input_tokens;
1939
- const completion = usage.completion_tokens ?? usage.output_tokens;
1940
- const total = usage.total_tokens ?? (
1941
- typeof prompt === 'number' || typeof completion === 'number'
1942
- ? (prompt || 0) + (completion || 0)
1943
- : undefined
1944
- );
1573
+ formatUsage(usage = {}) {
1574
+ return formatUsageText(usage);
1575
+ }
1945
1576
 
1946
- if (typeof prompt === 'number') {
1947
- totalUsage.prompt_tokens = (totalUsage.prompt_tokens || 0) + prompt;
1948
- }
1949
- if (typeof completion === 'number') {
1950
- totalUsage.completion_tokens = (totalUsage.completion_tokens || 0) + completion;
1951
- }
1952
- if (typeof total === 'number') {
1953
- totalUsage.total_tokens = (totalUsage.total_tokens || 0) + total;
1954
- }
1577
+ buildToolFallbackAnswer(toolSummaries, errorMessage = '') {
1578
+ return buildFallbackAnswer(toolSummaries, errorMessage);
1579
+ }
1955
1580
 
1956
- return totalUsage;
1581
+ formatToolResultForConsole(toolName, result) {
1582
+ return formatToolResult(toolName, result);
1957
1583
  }
1958
1584
 
1959
- formatUsage(usage = {}) {
1960
- const prompt = usage.prompt_tokens;
1961
- const completion = usage.completion_tokens;
1962
- const total = usage.total_tokens;
1585
+ normalizeToolCalls(toolCalls) {
1586
+ return normalizeCalls(toolCalls, rawArgs => this.parseToolArguments(rawArgs));
1587
+ }
1963
1588
 
1964
- if (typeof total === 'number' && typeof prompt === 'number' && typeof completion === 'number') {
1965
- return `${total} total (${prompt} in, ${completion} out)`;
1966
- }
1967
- if (typeof total === 'number') return `${total} total`;
1968
- if (typeof prompt === 'number' || typeof completion === 'number') {
1969
- return `${prompt || 0} in, ${completion || 0} out`;
1970
- }
1971
- return '';
1589
+ extractInlineToolCalls(content) {
1590
+ return extractInlineCalls(content);
1972
1591
  }
1973
1592
 
1974
- buildToolFallbackAnswer(toolSummaries, errorMessage = '') {
1975
- const lines = ['I used the requested tools but could not get a final model response.'];
1976
- if (errorMessage) lines.push(`Final answer request failed: ${errorMessage}`);
1977
- if (toolSummaries.length) {
1978
- lines.push('Tool results:');
1979
- lines.push(...toolSummaries.map(summary => `- ${summary}`));
1980
- }
1981
- return lines.join('\n');
1593
+ decodeXmlEntities(value) {
1594
+ return decodeXmlValue(value);
1982
1595
  }
1983
1596
 
1984
- formatToolResultForConsole(toolName, result) {
1985
- if (!result) return '';
1986
- if (result.success === false) {
1987
- return `Tool failed: ${result.error || 'unknown error'}`;
1988
- }
1989
-
1990
- switch (toolName) {
1991
- case 'Read':
1992
- return `Read ${result.path} (${result.lines} lines, ${result.size} chars)`;
1993
- case 'Write':
1994
- return result.diff ? `Wrote ${result.path}\n${result.diff}` : `Wrote ${result.path} (${result.size} chars)`;
1995
- case 'Edit':
1996
- return result.diff ? `Edited ${result.path}\n${result.diff}` : `Edited ${result.path} (${result.replacements} replacements)`;
1997
- case 'Glob':
1998
- return `Found ${result.count} file(s)`;
1999
- case 'Grep':
2000
- return `Found ${result.count} match(es)`;
2001
- case 'Bash': {
2002
- const output = (result.stdout || result.stderr || '').trim();
2003
- return output.length > 1200 ? `${output.slice(0, 1200)}\n... truncated` : output;
1597
+ parseToolArguments(rawArgs) {
1598
+ return parseArguments(rawArgs);
1599
+ }
1600
+
1601
+ extractFirstJsonObject(text) {
1602
+ return extractJsonObject(text);
1603
+ }
1604
+
1605
+ formatToolCallsForMessage(toolCalls) {
1606
+ return formatToolCalls(toolCalls);
1607
+ }
1608
+
1609
+ async promptToolPermission(commandText) {
1610
+ process.stdout.write(`${colors.magenta}│${colors.reset} ${colors.yellow}⚠ AI muốn chạy: ${colors.bright}${commandText}${colors.reset}\n`);
1611
+ process.stdout.write(`${colors.magenta}│${colors.reset} ${colors.cyan}1.${colors.reset} Cho phép\n`);
1612
+ process.stdout.write(`${colors.magenta}│${colors.reset} ${colors.cyan}2.${colors.reset} Cho phép trong phiên\n`);
1613
+ process.stdout.write(`${colors.magenta}│${colors.reset} ${colors.cyan}3.${colors.reset} Không cho phép\n`);
1614
+
1615
+ while (true) {
1616
+ const answer = await new Promise(resolve => {
1617
+ this.rl.question(`${colors.magenta}│${colors.reset} ${colors.yellow}Chọn [1/2/3]: ${colors.reset}`, resolve);
1618
+ });
1619
+
1620
+ const choice = String(answer || '').trim().toLowerCase();
1621
+ if (choice === '1' || choice === 'y' || choice === 'yes' || choice === 'allow') {
1622
+ return true;
2004
1623
  }
2005
- case 'WebFetch':
2006
- return `Fetched ${result.url} (${result.length} chars)`;
2007
- case 'WebSearch':
2008
- return `Found ${result.count} result(s)`;
2009
- default:
2010
- return result.message || '';
1624
+ if (choice === '2' || choice === 'a' || choice === 'session' || choice === 'allow session') {
1625
+ return 'session';
1626
+ }
1627
+ if (choice === '3' || choice === 'n' || choice === 'no' || choice === 'deny' || choice === '0') {
1628
+ return false;
1629
+ }
1630
+
1631
+ process.stdout.write(`${colors.magenta}│${colors.reset} ${colors.dim}Vui lòng chọn 1, 2 hoặc 3.${colors.reset}\n`);
2011
1632
  }
2012
1633
  }
2013
1634
 
2014
- normalizeToolCalls(toolCalls) {
2015
- if (!Array.isArray(toolCalls)) return [];
2016
-
2017
- return toolCalls.map((tc, index) => {
2018
- const fn = tc.function || {};
2019
- const rawArgs = fn.arguments ?? tc.arguments ?? tc.input ?? {};
1635
+ buildToolCallSignature(toolCalls) {
1636
+ return buildToolCallSignatureText(toolCalls, name => this.tools?.normalizeToolName?.(name) || name);
1637
+ }
2020
1638
 
2021
- return {
2022
- ...tc,
2023
- id: tc.id || `call-${index}`,
2024
- toolName: fn.name || tc.name || tc.tool_name || tc.type,
2025
- toolArgs: this.parseToolArguments(rawArgs),
2026
- };
1639
+ getCompressedPromptHistory(options = {}) {
1640
+ const raw = this.session.getHistory(options.limit || 40)
1641
+ .filter(entry => entry && typeof entry.content === 'string')
1642
+ .map(entry => ({ role: entry.role, content: entry.content }));
1643
+ const compressed = compressConversation(raw, {
1644
+ keepRecent: options.keepRecent || 14,
1645
+ maxChars: options.maxTotalChars || 12000,
1646
+ maxItems: 18,
2027
1647
  });
1648
+
1649
+ return {
1650
+ summary: compressed.summary,
1651
+ entries: compressed.recent,
1652
+ compressed,
1653
+ };
2028
1654
  }
2029
1655
 
2030
- extractInlineToolCalls(content) {
2031
- const text = String(content || '');
2032
- const toolCalls = [];
2033
- let cleaned = text;
2034
- const callPattern = /<minimax:tool_call>\s*<invoke\s+name=["']([^"']+)["']>([\s\S]*?)<\/invoke>\s*<\/minimax:tool_call>/gi;
2035
-
2036
- cleaned = cleaned.replace(callPattern, (_match, name, body) => {
2037
- const args = {};
2038
- const paramPattern = /<parameter\s+name=["']([^"']+)["']>([\s\S]*?)<\/parameter>/gi;
2039
- let param;
2040
- while ((param = paramPattern.exec(body))) {
2041
- args[param[1]] = this.decodeXmlEntities(param[2].trim());
1656
+ async compressSessionContext(verbose = false) {
1657
+ const raw = this.session.getHistory(80)
1658
+ .filter(entry => entry && typeof entry.content === 'string')
1659
+ .map(entry => ({ role: entry.role, content: entry.content }));
1660
+ const compressed = compressConversation(raw, {
1661
+ keepRecent: 14,
1662
+ maxChars: 12000,
1663
+ maxItems: 24,
1664
+ });
1665
+
1666
+ if (!compressed.compressed) {
1667
+ if (verbose) {
1668
+ console.log(`${colors.dim}Context is already compact (${compressed.totalChars} chars).${colors.reset}`);
2042
1669
  }
2043
- toolCalls.push({
2044
- id: `inline-${Date.now()}-${toolCalls.length}`,
2045
- type: 'function',
2046
- function: {
2047
- name,
2048
- arguments: JSON.stringify(args),
2049
- },
2050
- });
2051
- return '';
2052
- }).trim();
1670
+ return compressed;
1671
+ }
1672
+
1673
+ await this.session.updateContext('conversationSummary', {
1674
+ summary: compressed.summary,
1675
+ omittedCount: compressed.omittedCount,
1676
+ totalChars: compressed.totalChars,
1677
+ updatedAt: new Date().toISOString(),
1678
+ });
1679
+ await this.session.replaceMemory('[Conversation Summary]', compressed.summary, 'summary');
2053
1680
 
2054
- return { content: cleaned, toolCalls };
1681
+ if (verbose) {
1682
+ console.log(`${colors.green}✓ Compressed ${compressed.omittedCount} old message(s) into session summary.${colors.reset}`);
1683
+ }
1684
+ return compressed;
2055
1685
  }
2056
1686
 
2057
- decodeXmlEntities(value) {
2058
- return String(value || '')
2059
- .replace(/&lt;/g, '<')
2060
- .replace(/&gt;/g, '>')
2061
- .replace(/&quot;/g, '"')
2062
- .replace(/&apos;/g, "'")
2063
- .replace(/&amp;/g, '&');
1687
+ showToolStats() {
1688
+ const summary = getToolUsageSummary();
1689
+ if (summary.length === 0) {
1690
+ console.log(`${colors.dim}No tool usage recorded in this process.${colors.reset}`);
1691
+ return;
1692
+ }
1693
+
1694
+ console.log(`${colors.cyan}Tool Usage:${colors.reset}`);
1695
+ for (const item of summary) {
1696
+ console.log(` ${item.tool}: ${item.calls} call(s), ${item.failures} failure(s), avg ${item.avgMs}ms`);
1697
+ }
2064
1698
  }
2065
1699
 
2066
- parseToolArguments(rawArgs) {
2067
- if (!rawArgs) return {};
2068
- if (typeof rawArgs === 'object') return rawArgs;
2069
- if (typeof rawArgs !== 'string') return {};
1700
+ showReplay(limit = 20) {
1701
+ const history = this.session.getHistory(Math.max(1, limit));
1702
+ const toolEvents = this.session.getToolEvents?.(Math.max(1, limit)) || [];
2070
1703
 
2071
- const text = rawArgs.trim();
2072
- if (!text) return {};
1704
+ console.log(`${colors.cyan}Session Replay:${colors.reset}`);
1705
+ if (history.length === 0 && toolEvents.length === 0) {
1706
+ console.log(` ${colors.dim}No replay data yet.${colors.reset}`);
1707
+ return;
1708
+ }
2073
1709
 
2074
- try {
2075
- return JSON.parse(text);
2076
- } catch (error) {
2077
- const extracted = this.extractFirstJsonObject(text);
2078
- if (extracted && extracted !== text) {
2079
- try {
2080
- return JSON.parse(extracted);
2081
- } catch {}
1710
+ for (const entry of history) {
1711
+ const text = this.compactText(entry.content || '', 220, 'history').replace(/\s+/g, ' ');
1712
+ console.log(` [${entry.timestamp || ''}] ${entry.role}: ${text}`);
1713
+ }
1714
+
1715
+ if (toolEvents.length > 0) {
1716
+ console.log(`${colors.cyan}Tool Events:${colors.reset}`);
1717
+ for (const event of toolEvents) {
1718
+ const status = event.success === false ? 'failed' : 'ok';
1719
+ console.log(` [${event.timestamp || ''}] ${event.tool} ${status} ${event.durationMs || 0}ms`);
2082
1720
  }
1721
+ }
1722
+ }
2083
1723
 
2084
- return {
2085
- __toolArgParseError: error.message,
2086
- __rawToolArgs: text.length > 800 ? `${text.slice(0, 800)}...` : text,
2087
- };
1724
+ async showDiff(args = []) {
1725
+ const cached = args.includes('--cached') || args.includes('--staged');
1726
+ const confirm = args.includes('--confirm');
1727
+ const command = cached ? 'git diff --cached' : 'git diff';
1728
+ const result = await this.tools.execute('Bash', { command, cwd: this.projectPath }, { cwd: this.projectPath });
1729
+ const diff = result.stdout || '';
1730
+
1731
+ if (!result.success) {
1732
+ console.log(`${colors.red}Error: ${result.error}${colors.reset}`);
1733
+ return;
1734
+ }
1735
+ if (!diff.trim()) {
1736
+ console.log(`${colors.dim}No diff.${colors.reset}`);
1737
+ return;
1738
+ }
1739
+
1740
+ console.log(diff);
1741
+ if (confirm) {
1742
+ const answer = await new Promise(resolve => {
1743
+ this.rl.question(`${colors.yellow}Apply is not automatic here. Continue? [y/N]: ${colors.reset}`, resolve);
1744
+ });
1745
+ console.log(/^y(es)?$/i.test(String(answer || '').trim())
1746
+ ? `${colors.green}✓ Confirmed${colors.reset}`
1747
+ : `${colors.dim}Cancelled${colors.reset}`);
2088
1748
  }
2089
1749
  }
2090
1750
 
2091
- extractFirstJsonObject(text) {
2092
- const start = text.indexOf('{');
2093
- if (start === -1) return null;
2094
-
2095
- let depth = 0;
2096
- let inString = false;
2097
- let escaped = false;
2098
-
2099
- for (let i = start; i < text.length; i++) {
2100
- const ch = text[i];
2101
- if (escaped) {
2102
- escaped = false;
2103
- continue;
2104
- }
2105
- if (ch === '\\') {
2106
- escaped = true;
2107
- continue;
2108
- }
2109
- if (ch === '"') {
2110
- inString = !inString;
2111
- continue;
2112
- }
2113
- if (inString) continue;
2114
- if (ch === '{') depth++;
2115
- if (ch === '}') {
2116
- depth--;
2117
- if (depth === 0) return text.slice(start, i + 1);
2118
- }
1751
+ async handleWatchCommand(args = []) {
1752
+ const action = args[0];
1753
+ if (action === 'stop') {
1754
+ this.stopWatchers();
1755
+ console.log(`${colors.green}✓ Watcher stopped${colors.reset}`);
1756
+ return;
2119
1757
  }
2120
1758
 
2121
- return null;
1759
+ const command = args.join(' ').trim() || 'npm test';
1760
+ this.stopWatchers();
1761
+
1762
+ let timer = null;
1763
+ const run = async (reason) => {
1764
+ if (timer) clearTimeout(timer);
1765
+ timer = setTimeout(async () => {
1766
+ console.log(`${colors.dim}Watcher: ${reason}; running ${command}${colors.reset}`);
1767
+ const result = await this.tools.execute('Bash', { command, cwd: this.projectPath, timeout: 120000 }, { cwd: this.projectPath });
1768
+ if (result.stdout) console.log(result.stdout);
1769
+ if (result.stderr) console.log(`${colors.yellow}${result.stderr}${colors.reset}`);
1770
+ if (!result.success) console.log(`${colors.red}Watcher command failed: ${result.error}${colors.reset}`);
1771
+ }, 250);
1772
+ };
1773
+
1774
+ const watcher = fsWatch(this.projectPath, { recursive: true }, (_eventType, fileName) => {
1775
+ const name = String(fileName || '');
1776
+ if (!name || /(^|[\\/])(\.git|node_modules|\.winter)([\\/]|$)/.test(name)) return;
1777
+ run(name);
1778
+ });
1779
+ this.watchers.push(watcher);
1780
+ console.log(`${colors.green}✓ Watching ${this.projectPath}${colors.reset}`);
1781
+ console.log(`${colors.dim}Command: ${command}. Use /watch stop to stop.${colors.reset}`);
2122
1782
  }
2123
1783
 
2124
- formatToolCallsForMessage(toolCalls) {
2125
- return toolCalls.map((tc) => ({
2126
- id: tc.id,
2127
- type: 'function',
2128
- function: {
2129
- name: tc.toolName || tc.function?.name || 'unknown',
2130
- arguments: JSON.stringify(tc.toolArgs || {}),
2131
- },
2132
- }));
1784
+ stopWatchers() {
1785
+ for (const watcher of this.watchers) {
1786
+ try { watcher.close(); } catch {}
1787
+ }
1788
+ this.watchers = [];
2133
1789
  }
2134
1790
 
2135
1791
  async chat(message, imageAttachments = []) {
@@ -2140,12 +1796,16 @@ ${colors.reset}
2140
1796
  { role: 'system', content: this.getSystemPrompt(context) }
2141
1797
  ];
2142
1798
 
2143
- const history = this.getPromptHistory({
1799
+ await this.compressSessionContext(false);
1800
+ const promptHistory = this.getCompressedPromptHistory({
2144
1801
  limit: 20,
2145
- maxEntryChars: 2000,
1802
+ keepRecent: 14,
2146
1803
  maxTotalChars: 12000,
2147
1804
  });
2148
- for (const entry of history) {
1805
+ if (promptHistory.summary) {
1806
+ messages.push({ role: 'system', content: `Compressed prior conversation:\n${promptHistory.summary}` });
1807
+ }
1808
+ for (const entry of promptHistory.entries) {
2149
1809
  messages.push({ role: entry.role, content: entry.content });
2150
1810
  }
2151
1811
 
@@ -2206,8 +1866,11 @@ ${colors.reset}
2206
1866
  { role: 'system', content: this.getAgentSystemPrompt(role, context) }
2207
1867
  ];
2208
1868
 
2209
- const history = this.session.getHistory(20);
2210
- for (const entry of history) {
1869
+ const promptHistory = this.getCompressedPromptHistory({ limit: 30, keepRecent: 14, maxTotalChars: 12000 });
1870
+ if (promptHistory.summary) {
1871
+ messages.push({ role: 'system', content: `Compressed prior conversation:\n${promptHistory.summary}` });
1872
+ }
1873
+ for (const entry of promptHistory.entries) {
2211
1874
  messages.push({ role: entry.role, content: entry.content });
2212
1875
  }
2213
1876
 
@@ -2270,53 +1933,7 @@ ${colors.reset}
2270
1933
  }
2271
1934
 
2272
1935
  async getLocalResourceContext() {
2273
- try {
2274
- const manifestPath = this.getResourcePaths().manifest;
2275
- const raw = await fs.readFile(manifestPath, 'utf8');
2276
- const manifest = JSON.parse(raw.replace(/^\uFEFF/, ''));
2277
- const paths = this.getResourcePaths();
2278
- const [claudeSkills, codexSkills, claudePlugins, codexMemories] = await Promise.all([
2279
- this.listPathEntries(paths.claude.skills, 20),
2280
- this.listPathEntries(paths.codex.skills, 20),
2281
- this.listPathEntries(paths.claude.plugins, 20),
2282
- this.listPathEntries(paths.codex.memories, 20),
2283
- ]);
2284
-
2285
- const lines = [];
2286
- lines.push('[Local Resources]');
2287
- lines.push(`- Root: ${manifest.root || this.getResourcePaths().localRoot}`);
2288
-
2289
- for (const resource of manifest.localResources || []) {
2290
- lines.push(`- ${resource.name}: ${resource.files} files, ${(resource.bytes / 1024 / 1024).toFixed(2)} MB`);
2291
- }
2292
-
2293
- if (manifest.redacted?.length) {
2294
- lines.push(`- Redacted: ${manifest.redacted.join('; ')}`);
2295
- }
2296
-
2297
- lines.push('- Use Read/Grep/Glob to inspect any local resource when it matters for the task.');
2298
- lines.push('- Local resource families: agents.md, awesome-design-md, claude, codex, karpathy-tools.');
2299
-
2300
- if (claudeSkills.length > 0) {
2301
- lines.push(`- Claude skills: ${claudeSkills.slice(0, 10).map(item => item.name).join(', ')}${claudeSkills.length > 10 ? ', ...' : ''}`);
2302
- }
2303
-
2304
- if (claudePlugins.length > 0) {
2305
- lines.push(`- Claude plugin roots: ${claudePlugins.slice(0, 10).map(item => item.name).join(', ')}${claudePlugins.length > 10 ? ', ...' : ''}`);
2306
- }
2307
-
2308
- if (codexSkills.length > 0) {
2309
- lines.push(`- Codex skills: ${codexSkills.slice(0, 10).map(item => item.name).join(', ')}${codexSkills.length > 10 ? ', ...' : ''}`);
2310
- }
2311
-
2312
- if (codexMemories.length > 0) {
2313
- lines.push(`- Codex memories: ${codexMemories.slice(0, 10).map(item => item.name).join(', ')}${codexMemories.length > 10 ? ', ...' : ''}`);
2314
- }
2315
-
2316
- return lines.join('\n');
2317
- } catch {
2318
- return '';
2319
- }
1936
+ return this.contextLoader.getLocalResourceContext();
2320
1937
  }
2321
1938
 
2322
1939
  async bootstrapProjectCapabilities() {
@@ -2391,63 +2008,25 @@ ${colors.reset}
2391
2008
  }
2392
2009
 
2393
2010
  async getStartupSkillCatalog() {
2394
- const catalog = new Set(['coding', 'design', 'debug', 'refactor', 'test', 'security', 'performance']);
2395
- const resourcePaths = this.getResourcePaths();
2396
- const folders = [resourcePaths.claude.skills, resourcePaths.codex.skills];
2397
-
2398
- for (const folder of folders) {
2399
- const entries = await this.listPathEntries(folder, 200);
2400
- for (const entry of entries) {
2401
- catalog.add(entry.name);
2402
- }
2403
- }
2404
-
2405
- return catalog;
2011
+ return this.contextLoader.getStartupSkillCatalog();
2406
2012
  }
2407
2013
 
2408
2014
  async getProjectSignals() {
2409
- const signals = [];
2410
-
2411
- try {
2412
- const packageJsonPath = path.join(this.projectPath, 'package.json');
2413
- const raw = await fs.readFile(packageJsonPath, 'utf8');
2414
- const pkg = JSON.parse(raw);
2415
-
2416
- signals.push(String(pkg.name || '').toLowerCase());
2417
- signals.push(String(pkg.description || '').toLowerCase());
2418
-
2419
- for (const key of ['dependencies', 'devDependencies', 'peerDependencies']) {
2420
- const deps = pkg[key] || {};
2421
- for (const depName of Object.keys(deps)) {
2422
- signals.push(depName.toLowerCase());
2423
- }
2424
- }
2425
-
2426
- for (const script of Object.values(pkg.scripts || {})) {
2427
- signals.push(String(script).toLowerCase());
2428
- }
2429
- } catch {
2430
- // Ignore package.json parsing issues.
2431
- }
2432
-
2433
- try {
2434
- const entries = await fs.readdir(this.projectPath, { withFileTypes: true });
2435
- for (const entry of entries) {
2436
- if (!entry.isFile()) continue;
2437
- signals.push(path.extname(entry.name).toLowerCase().slice(1));
2438
- signals.push(entry.name.toLowerCase());
2439
- }
2440
- } catch {
2441
- // Ignore directory scan issues.
2442
- }
2443
-
2444
- return signals.filter(Boolean);
2015
+ return this.contextLoader.getProjectSignals();
2445
2016
  }
2446
-
2447
2017
  getSystemPrompt(context = '') {
2018
+ this.hydrateSessionToolPermissions();
2448
2019
  const memories = this.session.getMemory();
2449
2020
  const plans = this.session.getPlans();
2450
2021
  const sessionContext = this.session.getContext() || {};
2022
+ const environmentSummary = this.tools?.getRuntimeEnvironmentSummary?.() || [
2023
+ `Host OS: ${process.platform === 'win32' ? 'Windows' : process.platform === 'darwin' ? 'macOS' : process.platform === 'linux' ? 'Linux' : process.platform}`,
2024
+ `Node platform: ${process.platform}`,
2025
+ `Current shell hint: ${process.platform === 'win32' ? 'powershell-capable or cmd/unknown' : (process.env.SHELL || 'bash/sh')}`,
2026
+ process.platform === 'win32'
2027
+ ? 'Shell rule: Use shell:"powershell" for PowerShell cmdlets, shell:"cmd" for cmd.exe syntax, and shell:"auto" when unsure.'
2028
+ : 'Shell rule: Use the native POSIX shell on non-Windows hosts and leave shell unspecified unless a specific shell is required.',
2029
+ ].join('\n');
2451
2030
 
2452
2031
  let memoryStr = memories.length > 0 ? `\n## Memories (Important Context)\n${this.summarizePromptList(memories, {
2453
2032
  limit: 8,
@@ -2467,6 +2046,7 @@ ${colors.reset}
2467
2046
  let startupPlanStr = sessionContext.bootstrapPlan?.title
2468
2047
  ? `\n## Startup Plan\n- ${sessionContext.bootstrapPlan.title}: ${sessionContext.bootstrapPlan.description}`
2469
2048
  : '';
2049
+ const sessionSignalsStr = `\n${this.buildSessionSignalsPrompt()}`;
2470
2050
 
2471
2051
  return `You are Winter, an expert AI coding assistant.
2472
2052
 
@@ -2485,6 +2065,10 @@ ${colors.reset}
2485
2065
  - Winter's job is to amplify weaker models: decompose problems, pull the right context, and use tools to reach a stronger answer than raw inference alone would produce.
2486
2066
  - Always begin with a short plan before coding or tool execution, then refine the plan if new facts appear.
2487
2067
 
2068
+ ## Runtime Environment
2069
+ ${environmentSummary}
2070
+ ${sessionSignalsStr}
2071
+
2488
2072
  ## CRITICAL LANGUAGE RULE
2489
2073
  **You MUST always respond in Vietnamese (tiếng Việt).** Never respond in Chinese, Japanese, Korean or any other language unless the user explicitly asks you to. This is non-negotiable.
2490
2074
 
@@ -2633,45 +2217,119 @@ ${memoryStr}${plansStr}${skillsStr}${startupPlanStr}
2633
2217
  ${context ? `\n## Project Context\n${this.compactText(context, 6000, 'project context')}` : ''}`;
2634
2218
  }
2635
2219
 
2636
- compactText(text, maxChars = 1200, label = 'text') {
2637
- const value = String(text ?? '');
2638
- if (value.length <= maxChars) return value;
2639
-
2640
- const headChars = Math.max(0, Math.floor(maxChars * 0.7));
2641
- const tailChars = Math.max(0, Math.floor(maxChars * 0.2));
2642
- const head = value.slice(0, headChars);
2643
- const tail = tailChars > 0 ? value.slice(-tailChars) : '';
2644
- const omitted = Math.max(0, value.length - head.length - tail.length);
2220
+ async handleMcpCommand(args) {
2221
+ const [action, ...rest] = args;
2222
+ const config = await this.config.load();
2223
+ config.mcp = config.mcp || { servers: [] };
2645
2224
 
2646
- return [
2647
- head,
2648
- `[${label} truncated: ${omitted} chars omitted]`,
2649
- tail,
2650
- ].filter(Boolean).join('\n');
2225
+ switch (action) {
2226
+ case undefined:
2227
+ case 'list':
2228
+ console.log(`${colors.cyan}MCP Servers:${colors.reset}`);
2229
+ if ((config.mcp.servers || []).length === 0) {
2230
+ console.log(` ${colors.dim}No MCP servers configured.${colors.reset}`);
2231
+ break;
2232
+ }
2233
+ config.mcp.servers.forEach(server => {
2234
+ const enabled = server.enabled === false ? `${colors.red}disabled${colors.reset}` : `${colors.green}enabled${colors.reset}`;
2235
+ console.log(` • ${server.name} (${enabled}) -> ${server.command}${server.args?.length ? ` ${server.args.join(' ')}` : ''}`);
2236
+ });
2237
+ break;
2238
+ case 'add': {
2239
+ const [name, command, ...commandArgs] = rest;
2240
+ if (!name || !command) {
2241
+ console.log(`${colors.yellow}Usage: /mcp add <name> <command> [args-json]${colors.reset}`);
2242
+ break;
2243
+ }
2244
+ let parsedArgs = [];
2245
+ const rawArgs = commandArgs.join(' ').trim();
2246
+ if (rawArgs) {
2247
+ try {
2248
+ const parsed = JSON.parse(rawArgs);
2249
+ parsedArgs = Array.isArray(parsed) ? parsed : [String(parsed)];
2250
+ } catch {
2251
+ parsedArgs = commandArgs;
2252
+ }
2253
+ }
2254
+ config.mcp.servers = (config.mcp.servers || []).filter(server => server.name !== name);
2255
+ config.mcp.servers.push({ name, command, args: parsedArgs, enabled: true });
2256
+ await this.config.save(config);
2257
+ console.log(`${colors.green}✓ Added MCP server: ${name}${colors.reset}`);
2258
+ break;
2259
+ }
2260
+ case 'remove': {
2261
+ const name = rest[0];
2262
+ if (!name) {
2263
+ console.log(`${colors.yellow}Usage: /mcp remove <name>${colors.reset}`);
2264
+ break;
2265
+ }
2266
+ config.mcp.servers = (config.mcp.servers || []).filter(server => server.name !== name);
2267
+ await this.config.save(config);
2268
+ console.log(`${colors.green}✓ Removed MCP server: ${name}${colors.reset}`);
2269
+ break;
2270
+ }
2271
+ case 'allow': {
2272
+ const name = rest[0];
2273
+ if (!name) {
2274
+ console.log(`${colors.yellow}Usage: /mcp allow <name>${colors.reset}`);
2275
+ break;
2276
+ }
2277
+ await this.config.setPermissionAllowlist({ mcpServers: [name] });
2278
+ console.log(`${colors.green}✓ MCP server allowed: ${name}${colors.reset}`);
2279
+ break;
2280
+ }
2281
+ default:
2282
+ console.log(`${colors.yellow}Usage: /mcp <list|add|remove|allow>${colors.reset}`);
2283
+ }
2651
2284
  }
2652
2285
 
2653
- summarizePromptList(items, { limit = 8, maxEntryChars = 220, maxTotalChars = 1600, mapper = value => value?.text ?? String(value ?? '') } = {}) {
2654
- const selected = [];
2655
- let total = 0;
2656
-
2657
- for (const item of items.slice(-limit)) {
2658
- const raw = this.compactText(mapper(item), maxEntryChars, 'entry').trim();
2659
- if (!raw) continue;
2660
- if (total + raw.length > maxTotalChars && selected.length > 0) break;
2661
- selected.push(`- ${raw}`);
2662
- total += raw.length;
2663
- }
2286
+ async handlePermissionsCommand(args) {
2287
+ const [action, ...rest] = args;
2288
+ const config = await this.config.load();
2289
+ config.permissions = config.permissions || { allowlist: { tools: [], commands: [], mcpServers: [] } };
2290
+ config.permissions.allowlist = config.permissions.allowlist || { tools: [], commands: [], mcpServers: [] };
2664
2291
 
2665
- if (items.length > selected.length) {
2666
- selected.push(`- ... (${items.length - selected.length} mục đã được lược bớt)`);
2292
+ switch (action) {
2293
+ case undefined:
2294
+ case 'list':
2295
+ console.log(`${colors.cyan}Permission Allowlist:${colors.reset}`);
2296
+ console.log(` Tools: ${(config.permissions.allowlist.tools || []).join(', ') || 'none'}`);
2297
+ console.log(` Commands: ${(config.permissions.allowlist.commands || []).join(', ') || 'none'}`);
2298
+ console.log(` MCP Servers: ${(config.permissions.allowlist.mcpServers || []).join(', ') || 'none'}`);
2299
+ console.log(` Prompt by default: ${config.permissions.promptByDefault !== false}`);
2300
+ break;
2301
+ case 'allow': {
2302
+ const [kind, value] = rest;
2303
+ if (!kind || !value) {
2304
+ console.log(`${colors.yellow}Usage: /permissions allow <tool|command|mcp> <value>${colors.reset}`);
2305
+ break;
2306
+ }
2307
+ const field = kind === 'tool' ? 'tools' : kind === 'command' ? 'commands' : kind === 'mcp' ? 'mcpServers' : null;
2308
+ if (!field) {
2309
+ console.log(`${colors.yellow}Allowed kinds: tool, command, mcp${colors.reset}`);
2310
+ break;
2311
+ }
2312
+ await this.config.setPermissionAllowlist({ [field]: [value] });
2313
+ console.log(`${colors.green}✓ Allowed ${kind}: ${value}${colors.reset}`);
2314
+ break;
2315
+ }
2316
+ case 'prompt': {
2317
+ const value = String(rest[0] || '').toLowerCase();
2318
+ await this.config.setPermissionAllowlist({ promptByDefault: !(value === 'off' || value === 'false' || value === '0' || value === 'no') });
2319
+ console.log(`${colors.green}✓ Updated prompt policy${colors.reset}`);
2320
+ break;
2321
+ }
2322
+ default:
2323
+ console.log(`${colors.yellow}Usage: /permissions <list|allow|prompt>${colors.reset}`);
2667
2324
  }
2325
+ }
2668
2326
 
2669
- return selected.join('\n');
2327
+ compactText(text, maxChars = 1200, label = 'text') {
2328
+ return compactPromptText(text, maxChars, label);
2670
2329
  }
2671
2330
 
2672
- getAgentTools(role) {
2673
- // Trả về tất cả công cụ hiện có trong executor
2674
- return this.tools.getToolDefinitions();
2331
+ summarizePromptList(items, options = {}) {
2332
+ return summarizePrompts(items, options);
2675
2333
  }
2676
2334
 
2677
2335
  async getClipboardContent() {