claude-code-templates 1.21.13 → 1.21.14

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 (415) hide show
  1. package/.claude/settings.local.json +8 -2
  2. package/.claude-plugin/marketplace.json +251 -0
  3. package/.github/workflows/component-security-validation.yml +129 -0
  4. package/README.md +13 -6
  5. package/cli-tool/README.md +56 -0
  6. package/cli-tool/bin/create-claude-config.js +2 -0
  7. package/cli-tool/components/.claude-plugin/marketplace.json +92 -0
  8. package/cli-tool/components/agents/development-tools/flutter-go-reviewer.md +163 -0
  9. package/cli-tool/components/agents/development-tools/unused-code-cleaner.md +194 -0
  10. package/cli-tool/components/commands/git-workflow/gemini-review.md +293 -0
  11. package/cli-tool/components/commands/testing/add-mutation-testing.md +2 -2
  12. package/cli-tool/components/commands/testing/add-property-based-testing.md +2 -2
  13. package/cli-tool/components/commands/testing/e2e-setup.md +2 -2
  14. package/cli-tool/components/commands/testing/generate-test-cases.md +2 -2
  15. package/cli-tool/components/commands/testing/generate-tests.md +8 -3
  16. package/cli-tool/components/commands/testing/setup-comprehensive-testing.md +2 -2
  17. package/cli-tool/components/commands/testing/setup-load-testing.md +2 -2
  18. package/cli-tool/components/commands/testing/setup-visual-testing.md +2 -2
  19. package/cli-tool/components/commands/testing/test-automation-orchestrator.md +2 -2
  20. package/cli-tool/components/commands/testing/test-changelog-automation.md +2 -2
  21. package/cli-tool/components/commands/testing/test-coverage.md +2 -2
  22. package/cli-tool/components/commands/testing/test-quality-analyzer.md +2 -2
  23. package/cli-tool/components/commands/testing/testing_plan_integration.md +2 -2
  24. package/cli-tool/components/commands/testing/write-tests.md +2 -2
  25. package/cli-tool/components/commands/utilities/ultra-think.md +10 -5
  26. package/cli-tool/components/hooks/git/validate-branch-name.json +1 -1
  27. package/cli-tool/components/mcps/devtools/chrome-devtools.json +9 -0
  28. package/cli-tool/components/mcps/devtools/grafana.json +15 -0
  29. package/cli-tool/components/mcps/devtools/pulumi.json +9 -0
  30. package/cli-tool/components/mcps/devtools/terraform.json +1 -1
  31. package/cli-tool/components/settings/statusline/context-monitor.py +1 -1
  32. package/cli-tool/components/skills/ANTHROPIC_ATTRIBUTION.md +81 -0
  33. package/cli-tool/components/skills/creative-design/algorithmic-art/LICENSE.txt +202 -0
  34. package/cli-tool/components/skills/creative-design/algorithmic-art/SKILL.md +405 -0
  35. package/cli-tool/components/skills/creative-design/algorithmic-art/templates/generator_template.js +223 -0
  36. package/cli-tool/components/skills/creative-design/algorithmic-art/templates/viewer.html +599 -0
  37. package/cli-tool/components/skills/creative-design/canvas-design/LICENSE.txt +202 -0
  38. package/cli-tool/components/skills/creative-design/canvas-design/SKILL.md +130 -0
  39. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  40. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  41. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  42. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  43. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  44. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  45. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  46. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  47. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  48. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  49. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  50. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  51. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  52. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  53. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  54. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  55. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  56. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  57. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  58. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  59. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  60. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  61. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  62. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  63. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  64. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  65. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  66. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  67. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  68. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  69. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  70. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  71. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  72. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  73. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  74. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  75. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  76. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  77. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  78. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  79. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  80. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  81. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  82. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  83. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  84. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  85. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  86. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  87. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  88. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  89. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  90. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  91. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  92. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  93. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  94. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  95. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  96. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  97. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  98. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  99. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  100. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  101. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  102. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  103. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  104. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  105. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  106. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  107. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  108. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  109. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  110. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  111. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  112. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  113. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  114. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  115. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  116. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  117. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  118. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  119. package/cli-tool/components/skills/creative-design/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  120. package/cli-tool/components/skills/creative-design/slack-gif-creator/LICENSE.txt +202 -0
  121. package/cli-tool/components/skills/creative-design/slack-gif-creator/SKILL.md +646 -0
  122. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/color_palettes.py +302 -0
  123. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/easing.py +230 -0
  124. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/frame_composer.py +469 -0
  125. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/gif_builder.py +246 -0
  126. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/typography.py +357 -0
  127. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/validators.py +264 -0
  128. package/cli-tool/components/skills/creative-design/slack-gif-creator/core/visual_effects.py +494 -0
  129. package/cli-tool/components/skills/creative-design/slack-gif-creator/requirements.txt +4 -0
  130. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/bounce.py +106 -0
  131. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/explode.py +331 -0
  132. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/fade.py +329 -0
  133. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/flip.py +291 -0
  134. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/kaleidoscope.py +211 -0
  135. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/morph.py +329 -0
  136. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/move.py +293 -0
  137. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/pulse.py +268 -0
  138. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/shake.py +127 -0
  139. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/slide.py +291 -0
  140. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/spin.py +269 -0
  141. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/wiggle.py +300 -0
  142. package/cli-tool/components/skills/creative-design/slack-gif-creator/templates/zoom.py +312 -0
  143. package/cli-tool/components/skills/creative-design/theme-factory/LICENSE.txt +202 -0
  144. package/cli-tool/components/skills/creative-design/theme-factory/SKILL.md +59 -0
  145. package/cli-tool/components/skills/creative-design/theme-factory/theme-showcase.pdf +0 -0
  146. package/cli-tool/components/skills/creative-design/theme-factory/themes/arctic-frost.md +19 -0
  147. package/cli-tool/components/skills/creative-design/theme-factory/themes/botanical-garden.md +19 -0
  148. package/cli-tool/components/skills/creative-design/theme-factory/themes/desert-rose.md +19 -0
  149. package/cli-tool/components/skills/creative-design/theme-factory/themes/forest-canopy.md +19 -0
  150. package/cli-tool/components/skills/creative-design/theme-factory/themes/golden-hour.md +19 -0
  151. package/cli-tool/components/skills/creative-design/theme-factory/themes/midnight-galaxy.md +19 -0
  152. package/cli-tool/components/skills/creative-design/theme-factory/themes/modern-minimalist.md +19 -0
  153. package/cli-tool/components/skills/creative-design/theme-factory/themes/ocean-depths.md +19 -0
  154. package/cli-tool/components/skills/creative-design/theme-factory/themes/sunset-boulevard.md +19 -0
  155. package/cli-tool/components/skills/creative-design/theme-factory/themes/tech-innovation.md +19 -0
  156. package/cli-tool/components/skills/development/artifacts-builder/LICENSE.txt +202 -0
  157. package/cli-tool/components/skills/development/artifacts-builder/SKILL.md +74 -0
  158. package/cli-tool/components/skills/development/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  159. package/cli-tool/components/skills/development/artifacts-builder/scripts/init-artifact.sh +322 -0
  160. package/cli-tool/components/skills/development/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  161. package/cli-tool/components/skills/development/git-commit-helper/SKILL.md +203 -0
  162. package/cli-tool/components/skills/development/mcp-builder/LICENSE.txt +202 -0
  163. package/cli-tool/components/skills/development/mcp-builder/SKILL.md +328 -0
  164. package/cli-tool/components/skills/development/mcp-builder/reference/evaluation.md +602 -0
  165. package/cli-tool/components/skills/development/mcp-builder/reference/mcp_best_practices.md +915 -0
  166. package/cli-tool/components/skills/development/mcp-builder/reference/node_mcp_server.md +916 -0
  167. package/cli-tool/components/skills/development/mcp-builder/reference/python_mcp_server.md +752 -0
  168. package/cli-tool/components/skills/development/mcp-builder/scripts/connections.py +151 -0
  169. package/cli-tool/components/skills/development/mcp-builder/scripts/evaluation.py +373 -0
  170. package/cli-tool/components/skills/development/mcp-builder/scripts/example_evaluation.xml +22 -0
  171. package/cli-tool/components/skills/development/mcp-builder/scripts/requirements.txt +2 -0
  172. package/cli-tool/components/skills/development/skill-creator/LICENSE.txt +202 -0
  173. package/cli-tool/components/skills/development/skill-creator/SKILL.md +209 -0
  174. package/cli-tool/components/skills/development/skill-creator/scripts/init_skill.py +303 -0
  175. package/cli-tool/components/skills/development/skill-creator/scripts/package_skill.py +110 -0
  176. package/cli-tool/components/skills/development/skill-creator/scripts/quick_validate.py +65 -0
  177. package/cli-tool/components/skills/development/webapp-testing/LICENSE.txt +202 -0
  178. package/cli-tool/components/skills/development/webapp-testing/SKILL.md +96 -0
  179. package/cli-tool/components/skills/development/webapp-testing/examples/console_logging.py +35 -0
  180. package/cli-tool/components/skills/development/webapp-testing/examples/element_discovery.py +40 -0
  181. package/cli-tool/components/skills/development/webapp-testing/examples/static_html_automation.py +33 -0
  182. package/cli-tool/components/skills/development/webapp-testing/scripts/with_server.py +106 -0
  183. package/cli-tool/components/skills/document-processing/docx/LICENSE.txt +30 -0
  184. package/cli-tool/components/skills/document-processing/docx/SKILL.md +197 -0
  185. package/cli-tool/components/skills/document-processing/docx/docx-js.md +350 -0
  186. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  187. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  188. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  189. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  190. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  191. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  192. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  193. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  194. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  195. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  196. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  197. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  198. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  199. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  200. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  201. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  202. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  203. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  204. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  205. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  206. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  207. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  208. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  209. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  210. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  211. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  212. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  213. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  214. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  215. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  216. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  217. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/mce/mc.xsd +75 -0
  218. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  219. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  220. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  221. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  222. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  223. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  224. package/cli-tool/components/skills/document-processing/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  225. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/pack.py +159 -0
  226. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/unpack.py +29 -0
  227. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validate.py +69 -0
  228. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/__init__.py +15 -0
  229. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/base.py +951 -0
  230. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/docx.py +274 -0
  231. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/pptx.py +315 -0
  232. package/cli-tool/components/skills/document-processing/docx/ooxml/scripts/validation/redlining.py +279 -0
  233. package/cli-tool/components/skills/document-processing/docx/ooxml.md +610 -0
  234. package/cli-tool/components/skills/document-processing/docx/scripts/__init__.py +1 -0
  235. package/cli-tool/components/skills/document-processing/docx/scripts/document.py +1276 -0
  236. package/cli-tool/components/skills/document-processing/docx/scripts/templates/comments.xml +3 -0
  237. package/cli-tool/components/skills/document-processing/docx/scripts/templates/commentsExtended.xml +3 -0
  238. package/cli-tool/components/skills/document-processing/docx/scripts/templates/commentsExtensible.xml +3 -0
  239. package/cli-tool/components/skills/document-processing/docx/scripts/templates/commentsIds.xml +3 -0
  240. package/cli-tool/components/skills/document-processing/docx/scripts/templates/people.xml +3 -0
  241. package/cli-tool/components/skills/document-processing/docx/scripts/utilities.py +374 -0
  242. package/cli-tool/components/skills/document-processing/pdf-anthropic/LICENSE.txt +30 -0
  243. package/cli-tool/components/skills/document-processing/pdf-anthropic/SKILL.md +294 -0
  244. package/cli-tool/components/skills/document-processing/pdf-anthropic/forms.md +205 -0
  245. package/cli-tool/components/skills/document-processing/pdf-anthropic/reference.md +612 -0
  246. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/check_bounding_boxes.py +70 -0
  247. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/check_bounding_boxes_test.py +226 -0
  248. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/check_fillable_fields.py +12 -0
  249. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/convert_pdf_to_images.py +35 -0
  250. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/create_validation_image.py +41 -0
  251. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/extract_form_field_info.py +152 -0
  252. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/fill_fillable_fields.py +114 -0
  253. package/cli-tool/components/skills/document-processing/pdf-anthropic/scripts/fill_pdf_form_with_annotations.py +108 -0
  254. package/cli-tool/components/skills/document-processing/pdf-processing/FORMS.md +143 -0
  255. package/cli-tool/components/skills/document-processing/pdf-processing/SKILL.md +149 -0
  256. package/cli-tool/components/skills/document-processing/pdf-processing-pro/FORMS.md +610 -0
  257. package/cli-tool/components/skills/document-processing/pdf-processing-pro/OCR.md +137 -0
  258. package/cli-tool/components/skills/document-processing/pdf-processing-pro/SKILL.md +296 -0
  259. package/cli-tool/components/skills/document-processing/pdf-processing-pro/TABLES.md +626 -0
  260. package/cli-tool/components/skills/document-processing/pdf-processing-pro/scripts/analyze_form.py +307 -0
  261. package/cli-tool/components/skills/document-processing/pptx/LICENSE.txt +30 -0
  262. package/cli-tool/components/skills/document-processing/pptx/SKILL.md +484 -0
  263. package/cli-tool/components/skills/document-processing/pptx/html2pptx.md +625 -0
  264. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  265. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  266. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  267. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  268. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  269. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  270. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  271. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  272. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  273. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  274. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  275. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  276. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  277. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  278. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  279. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  280. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  281. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  282. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  283. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  284. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  285. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  286. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  287. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  288. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  289. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  290. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  291. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  292. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  293. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  294. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  295. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  296. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  297. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  298. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  299. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  300. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  301. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  302. package/cli-tool/components/skills/document-processing/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  303. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/pack.py +159 -0
  304. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/unpack.py +29 -0
  305. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validate.py +69 -0
  306. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/__init__.py +15 -0
  307. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/base.py +951 -0
  308. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/docx.py +274 -0
  309. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/pptx.py +315 -0
  310. package/cli-tool/components/skills/document-processing/pptx/ooxml/scripts/validation/redlining.py +279 -0
  311. package/cli-tool/components/skills/document-processing/pptx/ooxml.md +427 -0
  312. package/cli-tool/components/skills/document-processing/pptx/scripts/html2pptx.js +979 -0
  313. package/cli-tool/components/skills/document-processing/pptx/scripts/inventory.py +1020 -0
  314. package/cli-tool/components/skills/document-processing/pptx/scripts/rearrange.py +231 -0
  315. package/cli-tool/components/skills/document-processing/pptx/scripts/replace.py +385 -0
  316. package/cli-tool/components/skills/document-processing/pptx/scripts/thumbnail.py +450 -0
  317. package/cli-tool/components/skills/document-processing/xlsx/LICENSE.txt +30 -0
  318. package/cli-tool/components/skills/document-processing/xlsx/SKILL.md +289 -0
  319. package/cli-tool/components/skills/document-processing/xlsx/recalc.py +178 -0
  320. package/cli-tool/components/skills/enterprise-communication/brand-guidelines/LICENSE.txt +202 -0
  321. package/cli-tool/components/skills/enterprise-communication/brand-guidelines/SKILL.md +73 -0
  322. package/cli-tool/components/skills/enterprise-communication/email-composer/SKILL.md +317 -0
  323. package/cli-tool/components/skills/enterprise-communication/excel-analysis/SKILL.md +247 -0
  324. package/cli-tool/components/skills/enterprise-communication/internal-comms/LICENSE.txt +202 -0
  325. package/cli-tool/components/skills/enterprise-communication/internal-comms/SKILL.md +32 -0
  326. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/3p-updates.md +47 -0
  327. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/company-newsletter.md +65 -0
  328. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/faq-answers.md +30 -0
  329. package/cli-tool/components/skills/enterprise-communication/internal-comms/examples/general-comms.md +16 -0
  330. package/cli-tool/package-lock.json +39 -16
  331. package/cli-tool/package.json +7 -2
  332. package/cli-tool/security-report.json +62361 -0
  333. package/cli-tool/src/analytics-web/chats_mobile.html +17 -16
  334. package/cli-tool/src/console-bridge.js +3 -3
  335. package/cli-tool/src/index.js +157 -10
  336. package/cli-tool/src/plugin-dashboard-web/app.js +806 -0
  337. package/cli-tool/src/plugin-dashboard-web/index.html +292 -0
  338. package/cli-tool/src/plugin-dashboard-web/styles.css +1781 -0
  339. package/cli-tool/src/plugin-dashboard.js +689 -0
  340. package/cli-tool/src/security-audit.js +164 -0
  341. package/cli-tool/src/validation/ARCHITECTURE.md +309 -0
  342. package/cli-tool/src/validation/BaseValidator.js +152 -0
  343. package/cli-tool/src/validation/README.md +543 -0
  344. package/cli-tool/src/validation/ValidationOrchestrator.js +305 -0
  345. package/cli-tool/src/validation/validators/IntegrityValidator.js +338 -0
  346. package/cli-tool/src/validation/validators/ProvenanceValidator.js +399 -0
  347. package/cli-tool/src/validation/validators/ReferenceValidator.js +373 -0
  348. package/cli-tool/src/validation/validators/SemanticValidator.js +449 -0
  349. package/cli-tool/src/validation/validators/StructuralValidator.js +376 -0
  350. package/docs/CLAUDE.md +363 -0
  351. package/docs/api/README.md +297 -0
  352. package/docs/api/package.json +7 -0
  353. package/docs/api/track-download-supabase.js +150 -0
  354. package/docs/blog/README.md +199 -0
  355. package/docs/blog/blog-articles.json +133 -0
  356. package/docs/blog/css/blog-controls.css +254 -0
  357. package/docs/blog/e2b-claude-code-sandbox/index.html +8 -0
  358. package/docs/blog/index.html +81 -124
  359. package/docs/blog/js/blog-loader.js +602 -0
  360. package/docs/blog/nextjs-vercel-claude-code-integration/index.html +8 -0
  361. package/docs/blog/supabase-claude-code-integration/index.html +8 -0
  362. package/docs/component.html +226 -48
  363. package/docs/components.json +61610 -604
  364. package/docs/css/blog.css +292 -0
  365. package/docs/css/component-page.css +840 -3
  366. package/docs/css/plugin-page.css +648 -0
  367. package/docs/css/styles.css +504 -1
  368. package/docs/css/trending.css +110 -6
  369. package/docs/download-stats.html +8 -0
  370. package/docs/index.html +48 -22
  371. package/docs/jobs.html +8 -0
  372. package/docs/js/cart-manager.js +21 -8
  373. package/docs/js/component-page.js +1013 -12
  374. package/docs/js/data-loader.js +11 -8
  375. package/docs/js/index-events.js +305 -53
  376. package/docs/js/plugin-page.js +390 -0
  377. package/docs/js/script.js +50 -3
  378. package/docs/js/search-functionality.js +19 -16
  379. package/docs/js/trending.js +55 -20
  380. package/docs/plugin.html +262 -0
  381. package/docs/sandbox-interface.html +8 -0
  382. package/docs/static/favicon/about.txt +6 -0
  383. package/docs/static/favicon/android-chrome-192x192.png +0 -0
  384. package/docs/static/favicon/android-chrome-512x512.png +0 -0
  385. package/docs/static/favicon/apple-touch-icon.png +0 -0
  386. package/docs/static/favicon/favicon-16x16.png +0 -0
  387. package/docs/static/favicon/favicon-32x32.png +0 -0
  388. package/docs/static/favicon/favicon.ico +0 -0
  389. package/docs/static/favicon/site.webmanifest +1 -0
  390. package/docs/trending-data.json +616 -579
  391. package/docs/trending.html +24 -3
  392. package/docs/vercel.json +12 -0
  393. package/docs/workflows.html +8 -0
  394. package/generate_components_json.py +386 -11
  395. package/package.json +1 -1
  396. package/sync-api.sh +50 -0
  397. package/vercel.json +10 -75
  398. package/ROADMAP.md +0 -278
  399. package/test_serpapi.py +0 -36
  400. /package/cli-tool/components/commands/svelte/{svelte:a11y.md → svelte-a11y.md} +0 -0
  401. /package/cli-tool/components/commands/svelte/{svelte:component.md → svelte-component.md} +0 -0
  402. /package/cli-tool/components/commands/svelte/{svelte:debug.md → svelte-debug.md} +0 -0
  403. /package/cli-tool/components/commands/svelte/{svelte:migrate.md → svelte-migrate.md} +0 -0
  404. /package/cli-tool/components/commands/svelte/{svelte:optimize.md → svelte-optimize.md} +0 -0
  405. /package/cli-tool/components/commands/svelte/{svelte:scaffold.md → svelte-scaffold.md} +0 -0
  406. /package/cli-tool/components/commands/svelte/{svelte:storybook-migrate.md → svelte-storybook-migrate.md} +0 -0
  407. /package/cli-tool/components/commands/svelte/{svelte:storybook-mock.md → svelte-storybook-mock.md} +0 -0
  408. /package/cli-tool/components/commands/svelte/{svelte:storybook-setup.md → svelte-storybook-setup.md} +0 -0
  409. /package/cli-tool/components/commands/svelte/{svelte:storybook-story.md → svelte-storybook-story.md} +0 -0
  410. /package/cli-tool/components/commands/svelte/{svelte:storybook-troubleshoot.md → svelte-storybook-troubleshoot.md} +0 -0
  411. /package/cli-tool/components/commands/svelte/{svelte:storybook.md → svelte-storybook.md} +0 -0
  412. /package/cli-tool/components/commands/svelte/{svelte:test-coverage.md → svelte-test-coverage.md} +0 -0
  413. /package/cli-tool/components/commands/svelte/{svelte:test-fix.md → svelte-test-fix.md} +0 -0
  414. /package/cli-tool/components/commands/svelte/{svelte:test-setup.md → svelte-test-setup.md} +0 -0
  415. /package/cli-tool/components/commands/svelte/{svelte:test.md → svelte-test.md} +0 -0
@@ -249,14 +249,14 @@ class DataLoader {
249
249
  // Get all components as a flat array
250
250
  getAllComponents() {
251
251
  if (!this.componentsData) return [];
252
-
252
+
253
253
  const allComponents = [];
254
- ['agents', 'commands', 'mcps'].forEach(type => {
254
+ ['agents', 'commands', 'mcps', 'skills'].forEach(type => {
255
255
  if (this.componentsData[type]) {
256
256
  allComponents.push(...this.componentsData[type]);
257
257
  }
258
258
  });
259
-
259
+
260
260
  return allComponents;
261
261
  }
262
262
 
@@ -284,22 +284,23 @@ class DataLoader {
284
284
  agents: [],
285
285
  commands: [],
286
286
  mcps: [],
287
+ skills: [],
287
288
  templates: [] // Include templates in pagination structure
288
289
  };
289
-
290
- ['agents', 'commands', 'mcps'].forEach(type => {
290
+
291
+ ['agents', 'commands', 'mcps', 'skills'].forEach(type => {
291
292
  if (fullData[type]) {
292
293
  const startIndex = (page - 1) * itemsPerPage;
293
294
  const endIndex = startIndex + itemsPerPage;
294
295
  paginatedData[type] = fullData[type].slice(startIndex, endIndex);
295
296
  }
296
297
  });
297
-
298
+
298
299
  // Templates don't need pagination - include all if available
299
300
  if (fullData.templates) {
300
301
  paginatedData.templates = fullData.templates;
301
302
  }
302
-
303
+
303
304
  return paginatedData;
304
305
  }
305
306
 
@@ -369,10 +370,11 @@ class DataLoader {
369
370
  mcps: this.fullComponentsData.mcps ? this.fullComponentsData.mcps.length : 0,
370
371
  settings: this.fullComponentsData.settings ? this.fullComponentsData.settings.length : 0,
371
372
  hooks: this.fullComponentsData.hooks ? this.fullComponentsData.hooks.length : 0,
373
+ skills: this.fullComponentsData.skills ? this.fullComponentsData.skills.length : 0,
372
374
  templates: this.fullComponentsData.templates ? this.fullComponentsData.templates.length : 0
373
375
  };
374
376
  }
375
-
377
+
376
378
  // Fallback to current loaded data
377
379
  return {
378
380
  agents: this.componentsData?.agents?.length || 0,
@@ -380,6 +382,7 @@ class DataLoader {
380
382
  mcps: this.componentsData?.mcps?.length || 0,
381
383
  settings: this.componentsData?.settings?.length || 0,
382
384
  hooks: this.componentsData?.hooks?.length || 0,
385
+ skills: this.componentsData?.skills?.length || 0,
383
386
  templates: this.componentsData?.templates?.length || 0
384
387
  };
385
388
  }
@@ -22,7 +22,9 @@ class IndexPageManager {
22
22
  mcps: new Set(),
23
23
  settings: new Set(),
24
24
  hooks: new Set(),
25
- templates: new Set()
25
+ skills: new Set(),
26
+ templates: new Set(),
27
+ plugins: new Set()
26
28
  };
27
29
 
28
30
  // Pagination settings
@@ -64,17 +66,40 @@ class IndexPageManager {
64
66
  try {
65
67
  // Setup event listeners first (they don't depend on data)
66
68
  this.setupEventListeners();
67
-
69
+
68
70
  // Show loading state
69
71
  this.showLoadingState(true);
70
-
72
+
71
73
  // Load all components and templates at once
72
74
  await this.loadComponentsData();
73
75
  await this.loadTemplatesData();
74
-
76
+
77
+ // Check if URL has a specific filter and update accordingly
78
+ const filterFromURL = this.getFilterFromURL();
79
+ if (filterFromURL && filterFromURL !== this.currentFilter) {
80
+ this.currentFilter = filterFromURL;
81
+
82
+ // Update active filter chip
83
+ document.querySelectorAll('.component-type-filters .filter-chip').forEach(btn => {
84
+ btn.classList.remove('active');
85
+ });
86
+ const activeBtn = document.querySelector(`.component-type-filters [data-filter="${filterFromURL}"]`);
87
+ if (activeBtn) {
88
+ activeBtn.classList.add('active');
89
+ }
90
+ }
91
+
92
+ // Update sort selector for initial filter
93
+ this.updateSortSelector();
94
+
75
95
  // Display components
76
96
  this.displayCurrentFilter();
77
-
97
+
98
+ // Show category filters for the current filter
99
+ if (typeof showCategoryFilters === 'function') {
100
+ showCategoryFilters(this.currentFilter);
101
+ }
102
+
78
103
  } catch (error) {
79
104
  console.error('Error initializing index page:', error);
80
105
  this.showError('Failed to load data. Please refresh the page.');
@@ -83,6 +108,23 @@ class IndexPageManager {
83
108
  }
84
109
  }
85
110
 
111
+ // Get filter from URL path
112
+ getFilterFromURL() {
113
+ const path = window.location.pathname;
114
+ const segments = path.split('/').filter(segment => segment);
115
+
116
+ // Check if first segment is a valid filter
117
+ const validFilters = ['agents', 'commands', 'settings', 'hooks', 'mcps', 'skills', 'templates', 'plugins'];
118
+ const firstSegment = segments[0];
119
+
120
+ if (firstSegment && validFilters.includes(firstSegment)) {
121
+ return firstSegment;
122
+ }
123
+
124
+ // Default to agents
125
+ return 'agents';
126
+ }
127
+
86
128
  async loadTemplatesData() {
87
129
  try {
88
130
  // Templates are now loaded from components.json, not GitHub
@@ -183,13 +225,51 @@ class IndexPageManager {
183
225
  this.currentFilter = filter;
184
226
  this.currentPage = 1; // Reset to first page when changing filter
185
227
  this.currentCategoryFilter = 'all'; // Reset category filter to show all items
186
-
228
+
187
229
  // Update active button
188
230
  document.querySelectorAll('.filter-btn').forEach(btn => {
189
231
  btn.classList.toggle('active', btn.dataset.filter === filter);
190
232
  });
191
-
233
+
234
+ // Update sort selector options based on filter
235
+ this.updateSortSelector();
236
+
192
237
  this.displayCurrentFilter();
238
+
239
+ // Show category filters for the new filter
240
+ if (typeof showCategoryFilters === 'function') {
241
+ showCategoryFilters(filter);
242
+ }
243
+ }
244
+
245
+ // Update sort selector based on current filter
246
+ updateSortSelector() {
247
+ const sortSelector = document.getElementById('sortSelector');
248
+ if (!sortSelector) return;
249
+
250
+ const currentValue = sortSelector.value;
251
+
252
+ if (this.currentFilter === 'agents') {
253
+ // Add "Verified" option for agents if it doesn't exist
254
+ const verifiedOption = Array.from(sortSelector.options).find(opt => opt.value === 'verified');
255
+ if (!verifiedOption) {
256
+ const option = document.createElement('option');
257
+ option.value = 'verified';
258
+ option.textContent = 'Verified First';
259
+ sortSelector.insertBefore(option, sortSelector.options[0]);
260
+ }
261
+ } else {
262
+ // Remove "Verified" option for other filters
263
+ const verifiedOption = Array.from(sortSelector.options).find(opt => opt.value === 'verified');
264
+ if (verifiedOption) {
265
+ verifiedOption.remove();
266
+ // Reset to downloads if verified was selected
267
+ if (currentValue === 'verified') {
268
+ sortSelector.value = 'downloads';
269
+ this.currentSort = 'downloads';
270
+ }
271
+ }
272
+ }
193
273
  }
194
274
 
195
275
  // Set category filter
@@ -285,7 +365,7 @@ class IndexPageManager {
285
365
  // Sort components based on current sort option
286
366
  sortComponents(components) {
287
367
  const sortedComponents = [...components]; // Create a copy to avoid mutating original
288
-
368
+
289
369
  if (this.currentSort === 'downloads') {
290
370
  // Sort by downloads (descending) - components with no downloads go to the end
291
371
  sortedComponents.sort((a, b) => {
@@ -300,8 +380,24 @@ class IndexPageManager {
300
380
  const nameB = (b.name || '').toLowerCase();
301
381
  return nameA.localeCompare(nameB);
302
382
  });
383
+ } else if (this.currentSort === 'verified') {
384
+ // Sort by verified status first (100% score), then by downloads
385
+ sortedComponents.sort((a, b) => {
386
+ // Check if component has 100% validation score
387
+ const aVerified = a.security && a.security.validated && a.security.score === 100 && a.security.valid;
388
+ const bVerified = b.security && b.security.validated && b.security.score === 100 && b.security.valid;
389
+
390
+ // Verified components come first
391
+ if (aVerified && !bVerified) return -1;
392
+ if (!aVerified && bVerified) return 1;
393
+
394
+ // If both verified or both not verified, sort by downloads
395
+ const downloadsA = a.downloads || 0;
396
+ const downloadsB = b.downloads || 0;
397
+ return downloadsB - downloadsA;
398
+ });
303
399
  }
304
-
400
+
305
401
  return sortedComponents;
306
402
  }
307
403
 
@@ -320,6 +416,7 @@ class IndexPageManager {
320
416
  this.availableCategories.mcps.clear();
321
417
  this.availableCategories.settings.clear();
322
418
  this.availableCategories.hooks.clear();
419
+ this.availableCategories.skills.clear();
323
420
  this.availableCategories.templates.clear();
324
421
 
325
422
  // Collect categories from each component type
@@ -357,7 +454,14 @@ class IndexPageManager {
357
454
  this.availableCategories.hooks.add(category);
358
455
  });
359
456
  }
360
-
457
+
458
+ if (this.componentsData.skills && Array.isArray(this.componentsData.skills)) {
459
+ this.componentsData.skills.forEach(component => {
460
+ const category = component.category || 'general';
461
+ this.availableCategories.skills.add(category);
462
+ });
463
+ }
464
+
361
465
  // Collect categories from templates (use language as category for language templates)
362
466
  if (this.componentsData.templates && Array.isArray(this.componentsData.templates)) {
363
467
  this.componentsData.templates.forEach(template => {
@@ -388,11 +492,15 @@ class IndexPageManager {
388
492
  case 'templates':
389
493
  this.displayTemplates(grid);
390
494
  break;
495
+ case 'plugins':
496
+ this.displayPlugins(grid);
497
+ break;
391
498
  case 'agents':
392
499
  case 'commands':
393
500
  case 'mcps':
394
501
  case 'settings':
395
502
  case 'hooks':
503
+ case 'skills':
396
504
  this.displayComponents(grid, this.currentFilter);
397
505
  break;
398
506
  default:
@@ -439,6 +547,107 @@ class IndexPageManager {
439
547
  });
440
548
  }
441
549
 
550
+ displayPlugins(grid) {
551
+ if (!this.componentsData || !this.componentsData.plugins) {
552
+ grid.innerHTML = '<div class="loading">Loading plugins...</div>';
553
+ return;
554
+ }
555
+
556
+ // Clear the grid
557
+ grid.innerHTML = '';
558
+
559
+ // Get plugins from loaded components data
560
+ const plugins = this.componentsData.plugins;
561
+
562
+ if (plugins.length === 0) {
563
+ grid.innerHTML = '<div class="no-data">No plugins available</div>';
564
+ return;
565
+ }
566
+
567
+ // Add marketplace setup notice
568
+ const marketplaceNotice = document.createElement('div');
569
+ marketplaceNotice.className = 'plugin-marketplace-notice';
570
+ marketplaceNotice.innerHTML = `
571
+ <div class="notice-icon">ℹ️</div>
572
+ <div class="notice-content">
573
+ <h4>First Time Setup Required</h4>
574
+ <p>Before installing any plugin, you need to add the marketplace to Claude Code:</p>
575
+ <div class="notice-command">
576
+ <code>/plugin marketplace add https://github.com/davila7/claude-code-templates</code>
577
+ <button class="notice-copy-btn" onclick="copyToClipboard('/plugin marketplace add https://github.com/davila7/claude-code-templates'); event.stopPropagation();" title="Copy command">
578
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor">
579
+ <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/>
580
+ </svg>
581
+ </button>
582
+ </div>
583
+ <p class="notice-footer">After adding the marketplace, you can install any plugin below.</p>
584
+ </div>
585
+ `;
586
+ grid.appendChild(marketplaceNotice);
587
+
588
+ // Create plugin cards
589
+ plugins.forEach(plugin => {
590
+ const pluginCard = this.createPluginCard(plugin);
591
+ grid.appendChild(pluginCard);
592
+ });
593
+ }
594
+
595
+ createPluginCard(plugin) {
596
+ const card = document.createElement('div');
597
+ card.className = 'template-card plugin-card';
598
+
599
+ // Count components
600
+ const totalComponents = (plugin.commands || 0) + (plugin.agents || 0) + (plugin.mcpServers || 0);
601
+
602
+ card.innerHTML = `
603
+ <div class="card-inner">
604
+ <div class="card-front">
605
+ <div class="plugin-content-wrapper">
606
+ <div class="plugin-version">v${plugin.version}</div>
607
+ <div class="framework-logo" style="color: #a855f7">
608
+ <span class="component-icon">🧩</span>
609
+ </div>
610
+ <h3 class="template-title">${this.formatComponentName(plugin.name)}</h3>
611
+ <p class="template-description">${plugin.description}</p>
612
+ <div class="plugin-stats">
613
+ ${plugin.commands > 0 ? `<span class="plugin-stat"><span class="stat-icon">⚡</span>${plugin.commands}</span>` : ''}
614
+ ${plugin.agents > 0 ? `<span class="plugin-stat"><span class="stat-icon">🤖</span>${plugin.agents}</span>` : ''}
615
+ ${plugin.mcpServers > 0 ? `<span class="plugin-stat"><span class="stat-icon">🔌</span>${plugin.mcpServers}</span>` : ''}
616
+ </div>
617
+ </div>
618
+ <button class="plugin-view-details-btn" onclick="window.location.href='/plugin/${plugin.name}'; event.stopPropagation();">
619
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
620
+ <path d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z"/>
621
+ </svg>
622
+ View Details
623
+ </button>
624
+ </div>
625
+ <div class="card-back">
626
+ <div class="command-display">
627
+ <h3>Installation Command</h3>
628
+ <div class="command-code-container">
629
+ <div class="command-code">${plugin.installCommand}</div>
630
+ <button class="copy-overlay-btn" onclick="copyToClipboard('${plugin.installCommand.replace(/'/g, "\\'")}'); event.stopPropagation();" title="Copy command">
631
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
632
+ <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/>
633
+ </svg>
634
+ Copy Command
635
+ </button>
636
+ </div>
637
+ <div class="plugin-components-list">
638
+ <h4>Included Components (${totalComponents})</h4>
639
+ ${plugin.commands > 0 ? `<div class="component-type-item">⚡ ${plugin.commands} Command${plugin.commands > 1 ? 's' : ''}</div>` : ''}
640
+ ${plugin.agents > 0 ? `<div class="component-type-item">🤖 ${plugin.agents} Agent${plugin.agents > 1 ? 's' : ''}</div>` : ''}
641
+ ${plugin.mcpServers > 0 ? `<div class="component-type-item">🔌 ${plugin.mcpServers} MCP${plugin.mcpServers > 1 ? 's' : ''}</div>` : ''}
642
+ </div>
643
+ </div>
644
+ </div>
645
+ </div>
646
+ `;
647
+
648
+ return card;
649
+ }
650
+
442
651
  displayComponents(grid, type) {
443
652
  if (!this.componentsData) {
444
653
  grid.innerHTML = '<div class="loading">Loading components...</div>';
@@ -508,7 +717,8 @@ class IndexPageManager {
508
717
  command: { icon: '⚡', color: '#4ecdc4' },
509
718
  mcp: { icon: '🔌', color: '#45b7d1' },
510
719
  setting: { icon: '⚙️', color: '#9c88ff' },
511
- hook: { icon: '🪝', color: '#ff8c42' }
720
+ hook: { icon: '🪝', color: '#ff8c42' },
721
+ skill: { icon: '🎨', color: '#f59e0b' }
512
722
  };
513
723
 
514
724
  const config = typeConfig[component.type];
@@ -525,14 +735,17 @@ class IndexPageManager {
525
735
  const categoryLabel = `<div class="category-label">${this.formatComponentName(categoryName)}</div>`;
526
736
 
527
737
  // Create download badge if downloads data exists
528
- const downloadBadge = component.downloads && component.downloads > 0 ?
738
+ const downloadBadge = component.downloads && component.downloads > 0 ?
529
739
  `<div class="download-badge" title="${component.downloads} downloads">
530
740
  <svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">
531
741
  <path d="M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"/>
532
742
  </svg>
533
743
  ${this.formatNumber(component.downloads)}
534
744
  </div>` : '';
535
-
745
+
746
+ // Create validation badge for agents with security data
747
+ const validationBadge = this.createValidationBadge(component.security);
748
+
536
749
  return `
537
750
  <div class="template-card" data-type="${component.type}">
538
751
  <div class="card-inner">
@@ -541,6 +754,7 @@ class IndexPageManager {
541
754
  ${categoryLabel}
542
755
  <div class="framework-logo" style="color: ${config.color}">
543
756
  <span class="component-icon">${config.icon}</span>
757
+ ${validationBadge}
544
758
  </div>
545
759
  <h3 class="template-title">${this.formatComponentName(component.name)}</h3>
546
760
  ${component.type === 'mcp' ?
@@ -636,7 +850,7 @@ class IndexPageManager {
636
850
 
637
851
  getComponentDescription(component) {
638
852
  let description = '';
639
-
853
+
640
854
  if (component.description) {
641
855
  description = component.description;
642
856
  } else if (component.content) {
@@ -653,85 +867,117 @@ class IndexPageManager {
653
867
  }
654
868
  }
655
869
  }
656
-
870
+
657
871
  if (!description) {
658
872
  description = `A ${component.type} component for Claude Code.`;
659
873
  }
660
-
874
+
661
875
  // Truncate description to max 120 characters for proper card display
662
876
  if (description.length > 120) {
663
877
  description = description.substring(0, 117) + '...';
664
878
  }
665
-
879
+
666
880
  return description;
667
881
  }
668
882
 
883
+ /**
884
+ * Create validation badge HTML - Only for perfect 100% score
885
+ */
886
+ createValidationBadge(validation) {
887
+ if (!validation || !validation.validated) return '';
888
+
889
+ const score = validation.score || 0;
890
+ const isValid = validation.valid;
891
+
892
+ // ONLY show badge for perfect score (100%)
893
+ if (score === 100 && isValid) {
894
+ return `<div class="verified-checkmark" title="100% Validated - Perfect Security Score">
895
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="#1DA1F2">
896
+ <path d="M22.5 12.5c0-1.58-.875-2.95-2.148-3.6.154-.435.238-.905.238-1.4 0-2.21-1.71-3.998-3.818-3.998-.47 0-.92.084-1.336.25C14.818 2.415 13.51 1.5 12 1.5s-2.816.917-3.437 2.25c-.415-.165-.866-.25-1.336-.25-2.11 0-3.818 1.79-3.818 4 0 .494.083.964.237 1.4-1.272.65-2.147 2.018-2.147 3.6 0 1.495.782 2.798 1.942 3.486-.02.17-.032.34-.032.514 0 2.21 1.708 4 3.818 4 .47 0 .92-.086 1.335-.25.62 1.334 1.926 2.25 3.437 2.25 1.512 0 2.818-.916 3.437-2.25.415.163.865.248 1.336.248 2.11 0 3.818-1.79 3.818-4 0-.174-.012-.344-.033-.513 1.158-.687 1.943-1.99 1.943-3.484zm-6.616-3.334l-4.334 6.5c-.145.217-.382.334-.625.334-.143 0-.288-.04-.416-.126l-.115-.094-2.415-2.415c-.293-.293-.293-.768 0-1.06s.768-.294 1.06 0l1.77 1.767 3.825-5.74c.23-.345.696-.436 1.04-.207.346.23.44.696.21 1.04z"/>
897
+ </svg>
898
+ </div>`;
899
+ }
900
+
901
+ // Don't show anything for scores below 100
902
+ return '';
903
+ }
904
+
669
905
  // Update filter button counts
670
906
  updateFilterCounts() {
671
907
  // Get accurate total counts from data loader (includes full data counts)
672
908
  const totalCounts = window.dataLoader.getTotalCounts();
673
909
  if (!totalCounts) return;
674
-
910
+
675
911
  // Update each filter button with accurate total count
676
912
  const agentsBtn = document.querySelector('[data-filter="agents"]');
677
913
  const commandsBtn = document.querySelector('[data-filter="commands"]');
678
914
  const mcpsBtn = document.querySelector('[data-filter="mcps"]');
679
915
  const settingsBtn = document.querySelector('[data-filter="settings"]');
680
916
  const hooksBtn = document.querySelector('[data-filter="hooks"]');
917
+ const skillsBtn = document.querySelector('[data-filter="skills"]');
681
918
  const templatesBtn = document.querySelector('[data-filter="templates"]');
682
-
919
+
683
920
  if (agentsBtn) {
684
- agentsBtn.innerHTML = `🤖 Agents (${totalCounts.agents})`;
921
+ agentsBtn.innerHTML = `<span class="chip-icon">🤖</span>agents (${totalCounts.agents})`;
685
922
  }
686
923
  if (commandsBtn) {
687
- commandsBtn.innerHTML = `⚡ Commands (${totalCounts.commands})`;
924
+ commandsBtn.innerHTML = `<span class="chip-icon">⚡</span>commands (${totalCounts.commands})`;
688
925
  }
689
926
  if (mcpsBtn) {
690
- mcpsBtn.innerHTML = `🔌 MCPs (${totalCounts.mcps})`;
927
+ mcpsBtn.innerHTML = `<span class="chip-icon">🔌</span>mcps (${totalCounts.mcps})`;
691
928
  }
692
929
  if (settingsBtn) {
693
- settingsBtn.innerHTML = `⚙️ Settings (${totalCounts.settings})`;
930
+ settingsBtn.innerHTML = `<span class="chip-icon">⚙️</span>settings (${totalCounts.settings})`;
694
931
  }
695
932
  if (hooksBtn) {
696
- hooksBtn.innerHTML = `🪝 Hooks (${totalCounts.hooks})`;
933
+ hooksBtn.innerHTML = `<span class="chip-icon">🪝</span>hooks (${totalCounts.hooks})`;
934
+ }
935
+ if (skillsBtn) {
936
+ skillsBtn.innerHTML = `<span class="new-label">NEW</span><span class="chip-icon">🎨</span>skills (${totalCounts.skills})`;
697
937
  }
698
938
  if (templatesBtn) {
699
- templatesBtn.innerHTML = `📦 Templates (${totalCounts.templates})`;
939
+ templatesBtn.innerHTML = `<span class="chip-icon">📦</span>templates (${totalCounts.templates})`;
700
940
  }
701
941
  }
702
942
 
703
943
  // Create Add Component card
704
944
  createAddComponentCard(type) {
705
945
  const typeConfig = {
706
- agents: {
707
- icon: '🤖',
708
- name: 'Agent',
946
+ agents: {
947
+ icon: '🤖',
948
+ name: 'Agent',
709
949
  description: 'Create a new AI specialist agent',
710
950
  color: '#ff6b6b'
711
951
  },
712
- commands: {
713
- icon: '⚡',
714
- name: 'Command',
952
+ commands: {
953
+ icon: '⚡',
954
+ name: 'Command',
715
955
  description: 'Add a custom slash command',
716
956
  color: '#4ecdc4'
717
957
  },
718
- mcps: {
719
- icon: '🔌',
720
- name: 'MCP',
958
+ mcps: {
959
+ icon: '🔌',
960
+ name: 'MCP',
721
961
  description: 'Build a Model Context Protocol integration',
722
962
  color: '#45b7d1'
723
963
  },
724
- settings: {
725
- icon: '⚙️',
726
- name: 'Setting',
964
+ settings: {
965
+ icon: '⚙️',
966
+ name: 'Setting',
727
967
  description: 'Configure Claude Code behavior',
728
968
  color: '#9c88ff'
729
969
  },
730
- hooks: {
731
- icon: '🪝',
732
- name: 'Hook',
970
+ hooks: {
971
+ icon: '🪝',
972
+ name: 'Hook',
733
973
  description: 'Automate tool execution workflows',
734
974
  color: '#ff8c42'
975
+ },
976
+ skills: {
977
+ icon: '🎨',
978
+ name: 'Skill',
979
+ description: 'Add modular capabilities with progressive disclosure',
980
+ color: '#f59e0b'
735
981
  }
736
982
  };
737
983
 
@@ -1038,6 +1284,15 @@ function handleSortChange(sortValue) {
1038
1284
  // Global function for handling filter click with navigation
1039
1285
  function handleFilterClick(event, filter) {
1040
1286
  event.preventDefault(); // Prevent default link navigation
1287
+
1288
+ // If plugins filter, scroll to plugins section
1289
+ if (filter === 'plugins') {
1290
+ const contentGrid = document.getElementById('contentGrid');
1291
+ if (contentGrid) {
1292
+ contentGrid.scrollIntoView({ behavior: 'smooth', block: 'start' });
1293
+ }
1294
+ }
1295
+
1041
1296
  setUnifiedFilter(filter);
1042
1297
  }
1043
1298
 
@@ -1117,11 +1372,20 @@ function showCategoryFilters(componentType) {
1117
1372
  console.log('MCPs data:', mcps);
1118
1373
  categories = getUniqueCategories(mcps);
1119
1374
  break;
1375
+ case 'skills':
1376
+ const skills = dataLoader.getComponentsByType('skill');
1377
+ console.log('Skills data:', skills);
1378
+ categories = getUniqueCategories(skills);
1379
+ break;
1120
1380
  case 'templates':
1121
1381
  const templates = dataLoader.getComponentsByType('template');
1122
1382
  console.log('Templates data:', templates);
1123
1383
  categories = getUniqueCategories(templates);
1124
1384
  break;
1385
+ case 'plugins':
1386
+ // Plugins don't have categories
1387
+ categories = [];
1388
+ break;
1125
1389
  default:
1126
1390
  categories = [];
1127
1391
  }
@@ -1743,19 +2007,7 @@ function handleAddToCart(name, path, type, category, buttonElement) {
1743
2007
  document.addEventListener('DOMContentLoaded', () => {
1744
2008
  window.indexManager = new IndexPageManager();
1745
2009
  window.indexManager.init();
1746
-
1747
- // Initialize category filters for default selection (agents)
1748
- // Wait for components to load, then show categories
1749
- const initCategories = () => {
1750
- if (window.dataLoader && window.dataLoader.componentsData) {
1751
- showCategoryFilters('agents');
1752
- } else {
1753
- setTimeout(initCategories, 200);
1754
- }
1755
- };
1756
-
1757
- setTimeout(initCategories, 100);
1758
-
2010
+
1759
2011
  // Focus search input on page load and setup terminal cursor
1760
2012
  setTimeout(() => {
1761
2013
  const searchInput = document.getElementById('searchInput');