@mthanh/vespercli 1.7.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1294) hide show
  1. package/README.md +299 -191
  2. package/assets/CATALOG.md +496 -314
  3. package/assets/claude/.claude-plugin/marketplace.json +56 -0
  4. package/assets/claude/.claude-plugin/plugin.json +10 -0
  5. package/assets/claude/agents/code-reviewer.md +13 -0
  6. package/assets/claude/agents/context7.md +1 -1
  7. package/assets/claude/agents/feature-wrap-document.md +29 -6
  8. package/assets/claude/agents/modernization.md +1 -0
  9. package/assets/claude/agents/skill-creator.md +1 -1
  10. package/assets/claude/agents/workspace-learner.md +12 -6
  11. package/assets/claude/context.md.tpl +1 -1
  12. package/assets/claude/orchestration.md.tpl +15 -14
  13. package/assets/claude/packs/backend/.claude-plugin/plugin.json +10 -0
  14. package/assets/claude/packs/backend/skills/agent-fundamentals/SKILL.md +89 -0
  15. package/assets/claude/packs/backend/skills/agent-fundamentals/references/codebase-query.md +95 -0
  16. package/assets/claude/packs/backend/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  17. package/assets/claude/packs/backend/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  18. package/assets/claude/packs/docs/.claude-plugin/plugin.json +10 -0
  19. package/assets/claude/packs/docs/skills/agent-fundamentals/SKILL.md +89 -0
  20. package/assets/claude/packs/docs/skills/agent-fundamentals/references/codebase-query.md +95 -0
  21. package/assets/claude/packs/docs/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  22. package/assets/claude/packs/docs/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  23. package/assets/claude/packs/frontend/.claude-plugin/plugin.json +10 -0
  24. package/assets/claude/packs/frontend/skills/agent-fundamentals/SKILL.md +89 -0
  25. package/assets/claude/packs/frontend/skills/agent-fundamentals/references/codebase-query.md +95 -0
  26. package/assets/claude/packs/frontend/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  27. package/assets/claude/packs/frontend/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  28. package/assets/claude/packs/frontend/skills/nextjs-tailwind/SKILL.md +74 -0
  29. package/assets/claude/packs/frontend/skills/reactjs/SKILL.md +164 -0
  30. package/assets/claude/packs/frontend/skills/tailwind-v4-vite/SKILL.md +238 -0
  31. package/assets/claude/packs/integrations/.claude-plugin/plugin.json +10 -0
  32. package/assets/claude/packs/integrations/agents/clickup-agent.md +134 -0
  33. package/assets/claude/packs/integrations/skills/agent-fundamentals/SKILL.md +89 -0
  34. package/assets/claude/packs/integrations/skills/agent-fundamentals/references/codebase-query.md +95 -0
  35. package/assets/claude/packs/integrations/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  36. package/assets/claude/packs/integrations/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  37. package/assets/claude/packs/integrations/skills/github-actions-to-gitlab-ci/LICENSE +21 -0
  38. package/assets/claude/packs/integrations/skills/github-actions-to-gitlab-ci/SKILL.md +370 -0
  39. package/assets/claude/packs/integrations/skills/github-actions-to-gitlab-ci/UPSTREAM.json +7 -0
  40. package/assets/claude/packs/integrations/skills/github-actions-to-gitlab-ci/references/marketplace-actions.md +1042 -0
  41. package/assets/claude/packs/integrations/skills/github-actions-to-gitlab-ci/references/syntax-mapping.md +906 -0
  42. package/assets/claude/packs/integrations/skills/github-actions-to-gitlab-ci/references/validator.md +91 -0
  43. package/assets/claude/packs/integrations/skills/github-actions-to-gitlab-ci/scripts/validate.sh +206 -0
  44. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/LICENSE +21 -0
  45. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/SKILL.md +422 -0
  46. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/UPSTREAM.json +7 -0
  47. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/README.md +70 -0
  48. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/node-mocha/.gitlab-ci.yml +55 -0
  49. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/node-mocha/README.md +28 -0
  50. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-click/.gitlab-ci.yml +133 -0
  51. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-click/README.md +31 -0
  52. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.after-layered.yml +59 -0
  53. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.before.yml +34 -0
  54. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.broken.yml +49 -0
  55. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.optimized.yml +65 -0
  56. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.yml +101 -0
  57. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/README.md +42 -0
  58. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/caching.md +170 -0
  59. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/catalog.md +173 -0
  60. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/debugging.md +168 -0
  61. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/images.md +79 -0
  62. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/mental-model.md +96 -0
  63. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/onboarding.md +122 -0
  64. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/optimize.md +301 -0
  65. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/recipes.md +426 -0
  66. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/syntax.md +319 -0
  67. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/references/verification.md +278 -0
  68. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/scripts/catalog-search.sh +76 -0
  69. package/assets/claude/packs/integrations/skills/gitlab-ci-skill/scripts/verify.sh +332 -0
  70. package/assets/claude/packs/integrations/skills/gitlab-guardrails/SKILL.md +62 -0
  71. package/assets/claude/packs/playwright/.claude-plugin/plugin.json +10 -0
  72. package/assets/claude/packs/playwright/skills/agent-fundamentals/SKILL.md +89 -0
  73. package/assets/claude/packs/playwright/skills/agent-fundamentals/references/codebase-query.md +95 -0
  74. package/assets/claude/packs/playwright/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  75. package/assets/claude/packs/playwright/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  76. package/assets/claude/packs/playwright/skills/playwright-generate-test/SKILL.md +25 -0
  77. package/assets/claude/packs/polyglot/.claude-plugin/plugin.json +10 -0
  78. package/assets/claude/packs/polyglot/skills/agent-fundamentals/SKILL.md +89 -0
  79. package/assets/claude/packs/polyglot/skills/agent-fundamentals/references/codebase-query.md +95 -0
  80. package/assets/claude/packs/polyglot/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  81. package/assets/claude/packs/polyglot/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  82. package/assets/claude/packs/polyglot/skills/flutter/SKILL.md +449 -0
  83. package/assets/claude/packs/polyglot/skills/google-adk-python/SKILL.md +242 -0
  84. package/assets/claude/packs/polyglot/skills/java/SKILL.md +83 -0
  85. package/assets/claude/packs/styles/.claude-plugin/plugin.json +10 -0
  86. package/assets/claude/packs/styles/skills/agent-fundamentals/SKILL.md +89 -0
  87. package/assets/claude/packs/styles/skills/agent-fundamentals/references/codebase-query.md +95 -0
  88. package/assets/claude/packs/styles/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  89. package/assets/claude/packs/styles/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  90. package/assets/claude/packs/styles/skills/i-have-adhd/LICENSE +21 -0
  91. package/assets/claude/packs/styles/skills/i-have-adhd/SKILL.md +142 -0
  92. package/assets/claude/packs/styles/skills/i-have-adhd/UPSTREAM.json +7 -0
  93. package/assets/claude/packs/styles/skills/ponytail/LICENSE +21 -0
  94. package/assets/claude/packs/styles/skills/ponytail/SKILL.md +120 -0
  95. package/assets/claude/packs/styles/skills/ponytail/UPSTREAM.json +7 -0
  96. package/assets/claude/skills/create-specification/SKILL.md +136 -0
  97. package/assets/claude/skills/document/SKILL.md +5 -0
  98. package/assets/claude/skills/mcp-memory/SKILL.md +13 -13
  99. package/assets/claude/skills/mcp-memory/references/agent-memory-protocol.md +33 -42
  100. package/assets/claude/skills/mcp-memory/references/entity-schema.md +7 -26
  101. package/assets/claude/skills/mcp-memory/references/memory-hygiene.md +1 -4
  102. package/assets/claude/skills/project-management/SKILL.md +5 -0
  103. package/assets/claude/skills/repo-story-time/SKILL.md +134 -0
  104. package/assets/claude/skills/self-explanatory-code-commenting/SKILL.md +3 -1
  105. package/assets/claude/skills/skill-creator/SKILL.md +1 -1
  106. package/assets/claude/skills/task-implementation/SKILL.md +3 -1
  107. package/assets/claude/skills/vesper-catalog-editing-safety/SKILL.md +82 -51
  108. package/assets/claude/skills/vesper-orchestration/SKILL.md +71 -0
  109. package/assets/claude/skills/vesper-orchestration/references/implement-pipeline.md +337 -0
  110. package/assets/claude/skills/vesper-orchestration/references/multi-task-dispatch.md +13 -0
  111. package/assets/claude/skills/vesper-orchestration/references/qa-e2e-pipeline.md +160 -0
  112. package/assets/claude/skills/vesper-orchestration/references/reinit-pipeline.md +98 -0
  113. package/assets/claude/skills/vesper-orchestration/references/research-plan-pipeline.md +214 -0
  114. package/assets/claude/skills/vscode-agent-config/SKILL.md +5 -0
  115. package/assets/claude/vesper-orchestrator.md +211 -159
  116. package/assets/claude-committed/agents/vesper-orchestrator.md +31 -0
  117. package/assets/claude-committed/skills/compact-knowledge/SKILL.md +32 -0
  118. package/assets/claude-committed/skills/reinit/SKILL.md +22 -0
  119. package/assets/claude-committed/skills/revalidate-knowledge/SKILL.md +44 -0
  120. package/assets/claude-committed/skills/revalidate-team/SKILL.md +25 -0
  121. package/assets/copilot/agents/code-planner.agent.md +418 -0
  122. package/assets/copilot/agents/code-reviewer.agent.md +90 -0
  123. package/assets/copilot/agents/code-tester.agent.md +23 -0
  124. package/assets/copilot/agents/context7.agent.md +897 -0
  125. package/assets/copilot/agents/copywriter.agent.md +182 -0
  126. package/assets/copilot/agents/feature-wrap-document.agent.md +713 -0
  127. package/assets/copilot/agents/janitor.agent.md +103 -0
  128. package/assets/copilot/agents/modernization.agent.md +646 -0
  129. package/assets/copilot/agents/principal-software-engineer.agent.md +50 -0
  130. package/assets/copilot/agents/refine-issue.agent.md +39 -0
  131. package/assets/copilot/agents/se-system-architecture-reviewer.agent.md +190 -0
  132. package/assets/copilot/agents/se-technical-writer.agent.md +432 -0
  133. package/assets/copilot/agents/skill-creator.agent.md +395 -0
  134. package/assets/copilot/agents/task-researcher.agent.md +294 -0
  135. package/assets/copilot/agents/technical-product-manager.agent.md +316 -0
  136. package/assets/copilot/agents/vision-analyst.agent.md +92 -0
  137. package/assets/copilot/agents/vitest.agent.md +603 -0
  138. package/assets/copilot/agents/workspace-learner.agent.md +439 -0
  139. package/assets/copilot/instructions-extended/flutter/flutter.instructions.md +447 -0
  140. package/assets/copilot/instructions-extended/java/java.instructions.md +81 -0
  141. package/assets/copilot/instructions-extended/nextjs-tailwind/nextjs-tailwind.instructions.md +72 -0
  142. package/assets/copilot/instructions-extended/reactjs/reactjs.instructions.md +162 -0
  143. package/assets/copilot/instructions-extended/self-explanatory-code-commenting/self-explanatory-code-commenting.instructions.md +162 -0
  144. package/assets/copilot/instructions-extended/tailwind-v4-vite/tailwind-v4-vite.instructions.md +236 -0
  145. package/assets/copilot/instructions-extended/task-implementation/task-implementation.instructions.md +223 -0
  146. package/assets/copilot/packs/backend/agents/firebase-developer.agent.md +701 -0
  147. package/assets/copilot/packs/backend/agents/nodejs-express-developer.agent.md +619 -0
  148. package/assets/copilot/packs/backend/skills/nestjs/SKILL.md +425 -0
  149. package/assets/copilot/packs/docs/skills/ai-multimodal/SKILL.md +357 -0
  150. package/assets/copilot/packs/frontend/agents/expert-nextjs-developer.agent.md +489 -0
  151. package/assets/copilot/packs/frontend/agents/expert-react-frontend-engineer.agent.md +751 -0
  152. package/assets/copilot/packs/frontend/agents/jest-react-component-analyzer.agent.md +303 -0
  153. package/assets/copilot/packs/frontend/agents/jest-react-scenario-scanner.agent.md +236 -0
  154. package/assets/copilot/packs/frontend/agents/jest-react-test-generator.agent.md +605 -0
  155. package/assets/copilot/packs/frontend/agents/jest-react-test-planner.agent.md +461 -0
  156. package/assets/copilot/packs/frontend/agents/jest-react-test-runner.agent.md +332 -0
  157. package/assets/copilot/packs/frontend/skills/nextjs/SKILL.md +179 -0
  158. package/assets/copilot/packs/frontend/skills/nextjs-tailwind/SKILL.md +72 -0
  159. package/assets/copilot/packs/frontend/skills/reactjs/SKILL.md +162 -0
  160. package/assets/copilot/packs/frontend/skills/tailwind-v4-vite/SKILL.md +236 -0
  161. package/assets/copilot/packs/integrations/agents/clickup-agent.agent.md +135 -0
  162. package/assets/copilot/packs/integrations/skills/github-actions-to-gitlab-ci/LICENSE +21 -0
  163. package/assets/copilot/packs/integrations/skills/github-actions-to-gitlab-ci/SKILL.md +370 -0
  164. package/assets/copilot/packs/integrations/skills/github-actions-to-gitlab-ci/UPSTREAM.json +7 -0
  165. package/assets/copilot/packs/integrations/skills/github-actions-to-gitlab-ci/references/marketplace-actions.md +1042 -0
  166. package/assets/copilot/packs/integrations/skills/github-actions-to-gitlab-ci/references/syntax-mapping.md +906 -0
  167. package/assets/copilot/packs/integrations/skills/github-actions-to-gitlab-ci/references/validator.md +91 -0
  168. package/assets/copilot/packs/integrations/skills/github-actions-to-gitlab-ci/scripts/validate.sh +206 -0
  169. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/LICENSE +21 -0
  170. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/SKILL.md +422 -0
  171. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/UPSTREAM.json +7 -0
  172. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/README.md +70 -0
  173. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/node-mocha/.gitlab-ci.yml +55 -0
  174. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/node-mocha/README.md +28 -0
  175. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-click/.gitlab-ci.yml +133 -0
  176. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-click/README.md +31 -0
  177. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.after-layered.yml +59 -0
  178. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.before.yml +34 -0
  179. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.broken.yml +49 -0
  180. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.optimized.yml +65 -0
  181. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/.gitlab-ci.yml +101 -0
  182. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/examples/python-uv-tox/README.md +42 -0
  183. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/caching.md +170 -0
  184. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/catalog.md +173 -0
  185. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/debugging.md +168 -0
  186. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/images.md +79 -0
  187. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/mental-model.md +96 -0
  188. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/onboarding.md +122 -0
  189. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/optimize.md +301 -0
  190. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/recipes.md +426 -0
  191. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/syntax.md +319 -0
  192. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/references/verification.md +278 -0
  193. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/scripts/catalog-search.sh +76 -0
  194. package/assets/copilot/packs/integrations/skills/gitlab-ci-skill/scripts/verify.sh +332 -0
  195. package/assets/copilot/packs/integrations/skills/gitlab-guardrails/SKILL.md +62 -0
  196. package/assets/copilot/packs/playwright/agents/playwright-component-analyzer.agent.md +216 -0
  197. package/assets/copilot/packs/playwright/agents/playwright-scenario-scanner.agent.md +180 -0
  198. package/assets/copilot/packs/playwright/agents/playwright-test-generator.agent.md +410 -0
  199. package/assets/copilot/packs/playwright/agents/playwright-test-planner.agent.md +398 -0
  200. package/assets/copilot/packs/playwright/agents/playwright-tester.agent.md +65 -0
  201. package/assets/copilot/packs/playwright/skills/chrome-devtools/SKILL.md +360 -0
  202. package/assets/copilot/packs/playwright/skills/chrome-devtools/scripts/README.md +213 -0
  203. package/assets/copilot/packs/playwright/skills/playwright-generate-test/SKILL.md +25 -0
  204. package/assets/copilot/packs/playwright/skills/playwright-typescript/SKILL.md +86 -0
  205. package/assets/copilot/packs/polyglot/skills/flutter/SKILL.md +447 -0
  206. package/assets/copilot/packs/polyglot/skills/google-adk-python/SKILL.md +242 -0
  207. package/assets/copilot/packs/polyglot/skills/java/SKILL.md +81 -0
  208. package/assets/copilot/packs/styles/skills/i-have-adhd/LICENSE +21 -0
  209. package/assets/copilot/packs/styles/skills/i-have-adhd/SKILL.md +142 -0
  210. package/assets/copilot/packs/styles/skills/i-have-adhd/UPSTREAM.json +7 -0
  211. package/assets/copilot/packs/styles/skills/ponytail/LICENSE +21 -0
  212. package/assets/copilot/packs/styles/skills/ponytail/SKILL.md +120 -0
  213. package/assets/copilot/packs/styles/skills/ponytail/UPSTREAM.json +7 -0
  214. package/assets/copilot/prompts/compact-knowledge.prompt.md +27 -0
  215. package/assets/copilot/prompts/reinit.prompt.md +19 -0
  216. package/assets/copilot/prompts/revalidate-knowledge.prompt.md +39 -0
  217. package/assets/copilot/prompts/revalidate-team.prompt.md +21 -0
  218. package/assets/copilot/skills/agent-fundamentals/SKILL.md +89 -0
  219. package/assets/copilot/skills/agent-fundamentals/references/codebase-query.md +95 -0
  220. package/assets/copilot/skills/agent-fundamentals/references/terminal-discipline.md +94 -0
  221. package/assets/copilot/skills/agent-fundamentals/references/tool-usage-patterns.md +67 -0
  222. package/assets/copilot/skills/create-specification/SKILL.md +136 -0
  223. package/assets/copilot/skills/document/SKILL.md +45 -0
  224. package/assets/copilot/skills/mcp-memory/SKILL.md +97 -0
  225. package/assets/copilot/skills/mcp-memory/references/agent-memory-protocol.md +186 -0
  226. package/assets/copilot/skills/mcp-memory/references/entity-schema.md +141 -0
  227. package/assets/copilot/skills/mcp-memory/references/memory-hygiene.md +163 -0
  228. package/assets/copilot/skills/nodejs-javascript-vitest/SKILL.md +34 -0
  229. package/assets/copilot/skills/project-management/SKILL.md +129 -0
  230. package/assets/copilot/skills/repo-story-time/SKILL.md +134 -0
  231. package/assets/copilot/skills/self-explanatory-code-commenting/SKILL.md +162 -0
  232. package/assets/copilot/skills/sequential-thinking/README.md +118 -0
  233. package/assets/copilot/skills/skill-creator/SKILL.md +237 -0
  234. package/assets/copilot/skills/skill-creator/agent_skills_spec.md +55 -0
  235. package/assets/copilot/skills/task-implementation/SKILL.md +223 -0
  236. package/assets/copilot/skills/vesper-catalog-editing-safety/SKILL.md +172 -0
  237. package/assets/copilot/skills/vesper-orchestration/SKILL.md +71 -0
  238. package/assets/copilot/skills/vesper-orchestration/references/implement-pipeline.md +337 -0
  239. package/assets/copilot/skills/vesper-orchestration/references/multi-task-dispatch.md +13 -0
  240. package/assets/copilot/skills/vesper-orchestration/references/qa-e2e-pipeline.md +160 -0
  241. package/assets/copilot/skills/vesper-orchestration/references/reinit-pipeline.md +98 -0
  242. package/assets/copilot/skills/vesper-orchestration/references/research-plan-pipeline.md +214 -0
  243. package/assets/copilot/skills/vscode-agent-config/SKILL.md +95 -0
  244. package/assets/hooks/post-checkout +33 -14
  245. package/assets/hooks/pre-commit +54 -39
  246. package/assets/legacy/claude-1x-digests.json +3354 -0
  247. package/assets/manifest.json +174 -6
  248. package/dist/cli.min.js +208 -39
  249. package/package.json +11 -2
  250. package/scripts/__snapshots__/generate-claude-assets.test.js.snap +31 -0
  251. package/scripts/generate-claude-assets.js +598 -305
  252. package/scripts/generate-claude-assets.strict.test.js +303 -0
  253. package/scripts/generate-claude-assets.test.js +665 -0
  254. package/scripts/generate-legacy-digests.js +192 -0
  255. package/scripts/generate-manifests.js +26 -147
  256. package/scripts/packs-layout.test.js +378 -0
  257. package/src/mcp/vesper-indexing/dist/cli-index.js +0 -1
  258. package/src/mcp/vesper-indexing/dist/cli-index.js.map +1 -1
  259. package/src/mcp/vesper-indexing/package-lock.json +2 -2
  260. package/src/mcp/vesper-indexing/package.json +1 -1
  261. package/assets/agents/clickup-agent/clickup-agent.agent.md +0 -135
  262. package/assets/agents/code-tester/code-tester.agent.md +0 -35
  263. package/assets/agents/context7/context7.agent.md +0 -901
  264. package/assets/agents/copywriter/copywriter.agent.md +0 -182
  265. package/assets/agents/expert-nextjs-developer/expert-nextjs-developer.agent.md +0 -502
  266. package/assets/agents/expert-react-frontend-engineer/expert-react-frontend-engineer.agent.md +0 -785
  267. package/assets/agents/firebase-developer/firebase-developer.agent.md +0 -714
  268. package/assets/agents/janitor/janitor.agent.md +0 -136
  269. package/assets/agents/jest-react-component-analyzer/jest-react-component-analyzer.agent.md +0 -308
  270. package/assets/agents/jest-react-scenario-scanner/jest-react-scenario-scanner.agent.md +0 -236
  271. package/assets/agents/jest-react-test-generator/jest-react-test-generator.agent.md +0 -605
  272. package/assets/agents/jest-react-test-planner/jest-react-test-planner.agent.md +0 -461
  273. package/assets/agents/jest-react-test-runner/jest-react-test-runner.agent.md +0 -332
  274. package/assets/agents/modernization/modernization.agent.md +0 -660
  275. package/assets/agents/nodejs-express-developer/nodejs-express-developer.agent.md +0 -632
  276. package/assets/agents/playwright-component-analyzer/playwright-component-analyzer.agent.md +0 -221
  277. package/assets/agents/playwright-scenario-scanner/playwright-scenario-scanner.agent.md +0 -180
  278. package/assets/agents/playwright-test-generator/playwright-test-generator.agent.md +0 -410
  279. package/assets/agents/playwright-test-planner/playwright-test-planner.agent.md +0 -398
  280. package/assets/agents/playwright-tester/playwright-tester.agent.md +0 -65
  281. package/assets/agents/refine-issue/refine-issue.agent.md +0 -39
  282. package/assets/agents/vitest/vitest.agent.md +0 -603
  283. package/assets/claude/agents/clickup-agent.md +0 -134
  284. package/assets/claude/agents/history-logger.md +0 -102
  285. package/assets/claude/commands/compact-knowledge.md +0 -10
  286. package/assets/claude/commands/create-specification.md +0 -131
  287. package/assets/claude/commands/playwright-generate-test.md +0 -24
  288. package/assets/claude/commands/reinit.md +0 -5
  289. package/assets/claude/commands/repo-story-time.md +0 -154
  290. package/assets/claude/commands/revalidate-knowledge.md +0 -17
  291. package/assets/claude/commands/revalidate-team.md +0 -5
  292. package/assets/claude/skills/gitlab-guardrails/SKILL.md +0 -62
  293. package/assets/claude/skills/google-adk-python/SKILL.md +0 -237
  294. package/assets/claude/skills/java/SKILL.md +0 -81
  295. package/assets/claude/skills/nextjs-tailwind/SKILL.md +0 -72
  296. package/assets/claude/skills/reactjs/SKILL.md +0 -162
  297. package/assets/claude/skills/tailwind-v4-vite/SKILL.md +0 -236
  298. package/assets/core/agents/code-planner.agent.md +0 -454
  299. package/assets/core/agents/code-reviewer.agent.md +0 -98
  300. package/assets/core/agents/feature-wrap-document.agent.md +0 -593
  301. package/assets/core/agents/history-logger.agent.md +0 -112
  302. package/assets/core/agents/principal-software-engineer.agent.md +0 -80
  303. package/assets/core/agents/se-system-architecture-reviewer.agent.md +0 -203
  304. package/assets/core/agents/se-technical-writer.agent.md +0 -446
  305. package/assets/core/agents/skill-creator.agent.md +0 -441
  306. package/assets/core/agents/task-researcher.agent.md +0 -329
  307. package/assets/core/agents/technical-product-manager.agent.md +0 -328
  308. package/assets/core/agents/vesper.agent.md +0 -679
  309. package/assets/core/agents/vision-analyst.agent.md +0 -93
  310. package/assets/core/agents/workspace-learner.agent.md +0 -509
  311. package/assets/core/instructions/terminal-discipline.instructions.md +0 -27
  312. package/assets/core/instructions/vesper-cli-development.instructions.md +0 -85
  313. package/assets/core/instructions/vesper-implement.instructions.md +0 -250
  314. package/assets/core/instructions/vesper-qa-e2e.instructions.md +0 -155
  315. package/assets/core/instructions/vesper-reinit.instructions.md +0 -99
  316. package/assets/core/instructions/vesper-research-plan.instructions.md +0 -193
  317. package/assets/core/instructions/vscode-mcp-tools.instructions.md +0 -138
  318. package/assets/core/prompts/compact-knowledge.prompt.md +0 -14
  319. package/assets/core/prompts/memory-update.prompt.md +0 -94
  320. package/assets/core/prompts/revalidate-knowledge.prompt.md +0 -19
  321. package/assets/core/skills/agent-fundamentals/SKILL.md +0 -75
  322. package/assets/core/skills/agent-fundamentals/references/codebase-query.md +0 -106
  323. package/assets/core/skills/agent-fundamentals/references/terminal-discipline.md +0 -94
  324. package/assets/core/skills/agent-fundamentals/references/tool-usage-patterns.md +0 -72
  325. package/assets/core/skills/mcp-memory/SKILL.md +0 -109
  326. package/assets/core/skills/mcp-memory/references/agent-memory-protocol.md +0 -195
  327. package/assets/core/skills/mcp-memory/references/entity-schema.md +0 -160
  328. package/assets/core/skills/mcp-memory/references/memory-hygiene.md +0 -166
  329. package/assets/core/skills/vesper-orchestration/SKILL.md +0 -31
  330. package/assets/core/skills/vesper-orchestration/references/implement-pipeline.md +0 -244
  331. package/assets/core/skills/vesper-orchestration/references/qa-e2e-pipeline.md +0 -151
  332. package/assets/core/skills/vesper-orchestration/references/reinit-pipeline.md +0 -87
  333. package/assets/core/skills/vesper-orchestration/references/research-plan-pipeline.md +0 -189
  334. package/assets/instructions/document/document.instructions.md +0 -40
  335. package/assets/instructions/java/java.instructions.md +0 -81
  336. package/assets/instructions/nestjs/nestjs.instructions.md +0 -424
  337. package/assets/instructions/nextjs/nextjs.instructions.md +0 -178
  338. package/assets/instructions/nextjs-tailwind/nextjs-tailwind.instructions.md +0 -72
  339. package/assets/instructions/nodejs-javascript-vitest/nodejs-javascript-vitest.instructions.md +0 -33
  340. package/assets/instructions/playwright-typescript/playwright-typescript.instructions.md +0 -85
  341. package/assets/instructions/project-management/project-management.instructions.md +0 -124
  342. package/assets/instructions/reactjs/reactjs.instructions.md +0 -162
  343. package/assets/instructions/self-explanatory-code-commenting/self-explanatory-code-commenting.instructions.md +0 -162
  344. package/assets/instructions/tailwind-v4-vite/tailwind-v4-vite.instructions.md +0 -236
  345. package/assets/instructions/task-implementation/task-implementation.instructions.md +0 -223
  346. package/assets/prompts/create-specification/create-specification.prompt.md +0 -151
  347. package/assets/prompts/playwright-generate-test/playwright-generate-test.prompt.md +0 -26
  348. package/assets/prompts/repo-story-time/repo-story-time.prompt.md +0 -156
  349. package/assets/skills/.env.example +0 -32
  350. package/assets/skills/.mcp.json.example +0 -19
  351. package/assets/skills/README.md +0 -111
  352. package/assets/skills/aesthetic/manifest.json +0 -14
  353. package/assets/skills/ai-multimodal/SKILL.md +0 -357
  354. package/assets/skills/ai-multimodal/manifest.json +0 -20
  355. package/assets/skills/backend-development/manifest.json +0 -19
  356. package/assets/skills/better-auth/manifest.json +0 -15
  357. package/assets/skills/chrome-devtools/SKILL.md +0 -360
  358. package/assets/skills/chrome-devtools/manifest.json +0 -31
  359. package/assets/skills/chrome-devtools/scripts/README.md +0 -213
  360. package/assets/skills/code-review/manifest.json +0 -11
  361. package/assets/skills/databases/manifest.json +0 -25
  362. package/assets/skills/debugging/manifest.json +0 -17
  363. package/assets/skills/devops/manifest.json +0 -25
  364. package/assets/skills/docs-seeker/manifest.json +0 -15
  365. package/assets/skills/document-skills/manifest.json +0 -137
  366. package/assets/skills/frontend-design/manifest.json +0 -9
  367. package/assets/skills/gitlab-guardrails/SKILL.md +0 -62
  368. package/assets/skills/gitlab-guardrails/manifest.json +0 -8
  369. package/assets/skills/google-adk-python/SKILL.md +0 -237
  370. package/assets/skills/google-adk-python/manifest.json +0 -8
  371. package/assets/skills/mcp-builder/manifest.json +0 -17
  372. package/assets/skills/mermaidjs-v11/manifest.json +0 -13
  373. package/assets/skills/premium-frontend-ui/manifest.json +0 -8
  374. package/assets/skills/problem-solving/manifest.json +0 -14
  375. package/assets/skills/react-mui-tanstack/manifest.json +0 -18
  376. package/assets/skills/sequential-thinking/README.md +0 -118
  377. package/assets/skills/sequential-thinking/manifest.json +0 -11
  378. package/assets/skills/skill-creator/SKILL.md +0 -237
  379. package/assets/skills/skill-creator/manifest.json +0 -12
  380. package/assets/skills/tailwind-shadcn/manifest.json +0 -104
  381. package/assets/skills/vercel-react-best-practices/manifest.json +0 -60
  382. package/assets/skills/vesper-catalog-editing-safety/SKILL.md +0 -141
  383. package/assets/skills/vesper-catalog-editing-safety/manifest.json +0 -8
  384. package/assets/skills/vscode-agent-config/SKILL.md +0 -90
  385. package/assets/skills/vscode-agent-config/manifest.json +0 -8
  386. package/assets/skills/web-design-guidelines/manifest.json +0 -8
  387. package/assets/skills/web-frameworks/manifest.json +0 -24
  388. /package/assets/claude/{agents → packs/backend/agents}/firebase-developer.md +0 -0
  389. /package/assets/claude/{agents → packs/backend/agents}/nodejs-express-developer.md +0 -0
  390. /package/assets/claude/{skills → packs/backend/skills}/backend-development/SKILL.md +0 -0
  391. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-api-design.md +0 -0
  392. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-architecture.md +0 -0
  393. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-authentication.md +0 -0
  394. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-code-quality.md +0 -0
  395. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-debugging.md +0 -0
  396. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-devops.md +0 -0
  397. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-mindset.md +0 -0
  398. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-performance.md +0 -0
  399. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-security.md +0 -0
  400. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-technologies.md +0 -0
  401. /package/assets/claude/{skills → packs/backend/skills}/backend-development/references/backend-testing.md +0 -0
  402. /package/assets/claude/{skills → packs/backend/skills}/better-auth/SKILL.md +0 -0
  403. /package/assets/claude/{skills → packs/backend/skills}/better-auth/references/advanced-features.md +0 -0
  404. /package/assets/claude/{skills → packs/backend/skills}/better-auth/references/database-integration.md +0 -0
  405. /package/assets/claude/{skills → packs/backend/skills}/better-auth/references/email-password-auth.md +0 -0
  406. /package/assets/claude/{skills → packs/backend/skills}/better-auth/references/oauth-providers.md +0 -0
  407. /package/assets/claude/{skills → packs/backend/skills}/better-auth/scripts/.coverage +0 -0
  408. /package/assets/claude/{skills → packs/backend/skills}/better-auth/scripts/better_auth_init.py +0 -0
  409. /package/assets/claude/{skills → packs/backend/skills}/better-auth/scripts/requirements.txt +0 -0
  410. /package/assets/claude/{skills → packs/backend/skills}/better-auth/scripts/tests/.coverage +0 -0
  411. /package/assets/claude/{skills → packs/backend/skills}/better-auth/scripts/tests/test_better_auth_init.py +0 -0
  412. /package/assets/claude/{skills → packs/backend/skills}/databases/SKILL.md +0 -0
  413. /package/assets/claude/{skills → packs/backend/skills}/databases/references/mongodb-aggregation.md +0 -0
  414. /package/assets/claude/{skills → packs/backend/skills}/databases/references/mongodb-atlas.md +0 -0
  415. /package/assets/claude/{skills → packs/backend/skills}/databases/references/mongodb-crud.md +0 -0
  416. /package/assets/claude/{skills → packs/backend/skills}/databases/references/mongodb-indexing.md +0 -0
  417. /package/assets/claude/{skills → packs/backend/skills}/databases/references/postgresql-administration.md +0 -0
  418. /package/assets/claude/{skills → packs/backend/skills}/databases/references/postgresql-performance.md +0 -0
  419. /package/assets/claude/{skills → packs/backend/skills}/databases/references/postgresql-psql-cli.md +0 -0
  420. /package/assets/claude/{skills → packs/backend/skills}/databases/references/postgresql-queries.md +0 -0
  421. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/.coverage +0 -0
  422. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/db_backup.py +0 -0
  423. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/db_migrate.py +0 -0
  424. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/db_performance_check.py +0 -0
  425. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/requirements.txt +0 -0
  426. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/tests/coverage-db.json +0 -0
  427. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/tests/requirements.txt +0 -0
  428. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/tests/test_db_backup.py +0 -0
  429. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/tests/test_db_migrate.py +0 -0
  430. /package/assets/claude/{skills → packs/backend/skills}/databases/scripts/tests/test_db_performance_check.py +0 -0
  431. /package/assets/claude/{skills → packs/backend/skills}/devops/.env.example +0 -0
  432. /package/assets/claude/{skills → packs/backend/skills}/devops/SKILL.md +0 -0
  433. /package/assets/claude/{skills → packs/backend/skills}/devops/references/browser-rendering.md +0 -0
  434. /package/assets/claude/{skills → packs/backend/skills}/devops/references/cloudflare-d1-kv.md +0 -0
  435. /package/assets/claude/{skills → packs/backend/skills}/devops/references/cloudflare-platform.md +0 -0
  436. /package/assets/claude/{skills → packs/backend/skills}/devops/references/cloudflare-r2-storage.md +0 -0
  437. /package/assets/claude/{skills → packs/backend/skills}/devops/references/cloudflare-workers-advanced.md +0 -0
  438. /package/assets/claude/{skills → packs/backend/skills}/devops/references/cloudflare-workers-apis.md +0 -0
  439. /package/assets/claude/{skills → packs/backend/skills}/devops/references/cloudflare-workers-basics.md +0 -0
  440. /package/assets/claude/{skills → packs/backend/skills}/devops/references/docker-basics.md +0 -0
  441. /package/assets/claude/{skills → packs/backend/skills}/devops/references/docker-compose.md +0 -0
  442. /package/assets/claude/{skills → packs/backend/skills}/devops/references/gcloud-platform.md +0 -0
  443. /package/assets/claude/{skills → packs/backend/skills}/devops/references/gcloud-services.md +0 -0
  444. /package/assets/claude/{skills → packs/backend/skills}/devops/scripts/cloudflare_deploy.py +0 -0
  445. /package/assets/claude/{skills → packs/backend/skills}/devops/scripts/docker_optimize.py +0 -0
  446. /package/assets/claude/{skills → packs/backend/skills}/devops/scripts/requirements.txt +0 -0
  447. /package/assets/claude/{skills → packs/backend/skills}/devops/scripts/tests/requirements.txt +0 -0
  448. /package/assets/claude/{skills → packs/backend/skills}/devops/scripts/tests/test_cloudflare_deploy.py +0 -0
  449. /package/assets/claude/{skills → packs/backend/skills}/devops/scripts/tests/test_docker_optimize.py +0 -0
  450. /package/assets/claude/{skills → packs/backend/skills}/nestjs/SKILL.md +0 -0
  451. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/.env.example +0 -0
  452. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/SKILL.md +0 -0
  453. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/references/audio-processing.md +0 -0
  454. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/references/image-generation.md +0 -0
  455. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/references/video-analysis.md +0 -0
  456. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/references/vision-understanding.md +0 -0
  457. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/document_converter.py +0 -0
  458. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/gemini_batch_process.py +0 -0
  459. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/media_optimizer.py +0 -0
  460. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/requirements.txt +0 -0
  461. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/tests/.coverage +0 -0
  462. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/tests/requirements.txt +0 -0
  463. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/tests/test_document_converter.py +0 -0
  464. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/tests/test_gemini_batch_process.py +0 -0
  465. /package/assets/claude/{skills → packs/docs/skills}/ai-multimodal/scripts/tests/test_media_optimizer.py +0 -0
  466. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/LICENSE.txt +0 -0
  467. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/SKILL.md +0 -0
  468. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/docx-js.md +0 -0
  469. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  470. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  471. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  472. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  473. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  474. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  475. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  476. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  477. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  478. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  479. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  480. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  481. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  482. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  483. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  484. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  485. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  486. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  487. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  488. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  489. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  490. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  491. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  492. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  493. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  494. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  495. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  496. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  497. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  498. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  499. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  500. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/mce/mc.xsd +0 -0
  501. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  502. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  503. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  504. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  505. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  506. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  507. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  508. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/pack.py +0 -0
  509. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/unpack.py +0 -0
  510. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/validate.py +0 -0
  511. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/__init__.py +0 -0
  512. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/base.py +0 -0
  513. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/docx.py +0 -0
  514. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/pptx.py +0 -0
  515. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/redlining.py +0 -0
  516. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/ooxml.md +0 -0
  517. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/__init__.py +0 -0
  518. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/document.py +0 -0
  519. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/templates/comments.xml +0 -0
  520. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/templates/commentsExtended.xml +0 -0
  521. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/templates/commentsExtensible.xml +0 -0
  522. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/templates/commentsIds.xml +0 -0
  523. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/templates/people.xml +0 -0
  524. /package/assets/claude/{skills → packs/docs/skills}/document-skills/docx/scripts/utilities.py +0 -0
  525. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/LICENSE.txt +0 -0
  526. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/SKILL.md +0 -0
  527. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/forms.md +0 -0
  528. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/reference.md +0 -0
  529. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/check_bounding_boxes.py +0 -0
  530. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/check_bounding_boxes_test.py +0 -0
  531. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/check_fillable_fields.py +0 -0
  532. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/convert_pdf_to_images.py +0 -0
  533. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/create_validation_image.py +0 -0
  534. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/extract_form_field_info.py +0 -0
  535. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/fill_fillable_fields.py +0 -0
  536. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  537. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/LICENSE.txt +0 -0
  538. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/SKILL.md +0 -0
  539. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/html2pptx.md +0 -0
  540. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  541. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  542. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  543. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  544. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  545. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  546. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  547. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  548. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  549. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  550. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  551. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  552. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  553. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  554. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  555. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  556. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  557. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  558. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  559. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  560. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  561. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  562. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  563. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  564. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  565. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  566. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  567. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  568. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  569. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  570. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  571. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/mce/mc.xsd +0 -0
  572. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  573. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  574. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  575. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  576. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  577. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  578. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  579. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/pack.py +0 -0
  580. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/unpack.py +0 -0
  581. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/validate.py +0 -0
  582. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/__init__.py +0 -0
  583. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/base.py +0 -0
  584. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/docx.py +0 -0
  585. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/pptx.py +0 -0
  586. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/redlining.py +0 -0
  587. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/ooxml.md +0 -0
  588. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/scripts/html2pptx.js +0 -0
  589. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/scripts/inventory.py +0 -0
  590. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/scripts/rearrange.py +0 -0
  591. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/scripts/replace.py +0 -0
  592. /package/assets/claude/{skills → packs/docs/skills}/document-skills/pptx/scripts/thumbnail.py +0 -0
  593. /package/assets/claude/{skills → packs/docs/skills}/document-skills/xlsx/LICENSE.txt +0 -0
  594. /package/assets/claude/{skills → packs/docs/skills}/document-skills/xlsx/SKILL.md +0 -0
  595. /package/assets/claude/{skills → packs/docs/skills}/document-skills/xlsx/recalc.py +0 -0
  596. /package/assets/claude/{agents → packs/frontend/agents}/expert-nextjs-developer.md +0 -0
  597. /package/assets/claude/{agents → packs/frontend/agents}/expert-react-frontend-engineer.md +0 -0
  598. /package/assets/claude/{agents → packs/frontend/agents}/jest-react-component-analyzer.md +0 -0
  599. /package/assets/claude/{agents → packs/frontend/agents}/jest-react-scenario-scanner.md +0 -0
  600. /package/assets/claude/{agents → packs/frontend/agents}/jest-react-test-generator.md +0 -0
  601. /package/assets/claude/{agents → packs/frontend/agents}/jest-react-test-planner.md +0 -0
  602. /package/assets/claude/{agents → packs/frontend/agents}/jest-react-test-runner.md +0 -0
  603. /package/assets/claude/{skills → packs/frontend/skills}/aesthetic/SKILL.md +0 -0
  604. /package/assets/claude/{skills → packs/frontend/skills}/aesthetic/assets/design-guideline-template.md +0 -0
  605. /package/assets/claude/{skills → packs/frontend/skills}/aesthetic/assets/design-story-template.md +0 -0
  606. /package/assets/claude/{skills → packs/frontend/skills}/aesthetic/references/design-principles.md +0 -0
  607. /package/assets/claude/{skills → packs/frontend/skills}/aesthetic/references/design-resources.md +0 -0
  608. /package/assets/claude/{skills → packs/frontend/skills}/aesthetic/references/micro-interactions.md +0 -0
  609. /package/assets/claude/{skills → packs/frontend/skills}/aesthetic/references/storytelling-design.md +0 -0
  610. /package/assets/claude/{skills → packs/frontend/skills}/frontend-design/SKILL.md +0 -0
  611. /package/assets/claude/{skills → packs/frontend/skills}/frontend-design/references/animejs.md +0 -0
  612. /package/assets/claude/{skills → packs/frontend/skills}/nextjs/SKILL.md +0 -0
  613. /package/assets/claude/{skills → packs/frontend/skills}/premium-frontend-ui/SKILL.md +0 -0
  614. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/SKILL.md +0 -0
  615. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/common-patterns.md +0 -0
  616. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/complete-examples.md +0 -0
  617. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/component-patterns.md +0 -0
  618. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/data-fetching.md +0 -0
  619. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/file-organization.md +0 -0
  620. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/loading-and-error-states.md +0 -0
  621. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/performance.md +0 -0
  622. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/routing-guide.md +0 -0
  623. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/styling-guide.md +0 -0
  624. /package/assets/claude/{skills → packs/frontend/skills}/react-mui-tanstack/resources/typescript-standards.md +0 -0
  625. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/LICENSE.txt +0 -0
  626. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/SKILL.md +0 -0
  627. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/ArsenalSC-OFL.txt +0 -0
  628. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  629. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  630. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BigShoulders-OFL.txt +0 -0
  631. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  632. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Boldonse-OFL.txt +0 -0
  633. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Boldonse-Regular.ttf +0 -0
  634. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  635. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BricolageGrotesque-OFL.txt +0 -0
  636. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  637. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  638. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  639. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-OFL.txt +0 -0
  640. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  641. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/DMMono-OFL.txt +0 -0
  642. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/DMMono-Regular.ttf +0 -0
  643. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/EricaOne-OFL.txt +0 -0
  644. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/EricaOne-Regular.ttf +0 -0
  645. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/GeistMono-Bold.ttf +0 -0
  646. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/GeistMono-OFL.txt +0 -0
  647. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/GeistMono-Regular.ttf +0 -0
  648. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Gloock-OFL.txt +0 -0
  649. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Gloock-Regular.ttf +0 -0
  650. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  651. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexMono-OFL.txt +0 -0
  652. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  653. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  654. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  655. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  656. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  657. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  658. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  659. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  660. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-OFL.txt +0 -0
  661. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  662. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  663. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  664. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Italiana-OFL.txt +0 -0
  665. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Italiana-Regular.ttf +0 -0
  666. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  667. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/JetBrainsMono-OFL.txt +0 -0
  668. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  669. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Jura-Light.ttf +0 -0
  670. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Jura-Medium.ttf +0 -0
  671. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Jura-OFL.txt +0 -0
  672. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/LibreBaskerville-OFL.txt +0 -0
  673. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  674. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-Bold.ttf +0 -0
  675. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  676. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-Italic.ttf +0 -0
  677. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-OFL.txt +0 -0
  678. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-Regular.ttf +0 -0
  679. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NationalPark-Bold.ttf +0 -0
  680. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NationalPark-OFL.txt +0 -0
  681. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NationalPark-Regular.ttf +0 -0
  682. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -0
  683. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  684. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Outfit-Bold.ttf +0 -0
  685. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Outfit-OFL.txt +0 -0
  686. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Outfit-Regular.ttf +0 -0
  687. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  688. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PixelifySans-OFL.txt +0 -0
  689. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PoiretOne-OFL.txt +0 -0
  690. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  691. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  692. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/RedHatMono-OFL.txt +0 -0
  693. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  694. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Silkscreen-OFL.txt +0 -0
  695. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  696. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  697. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/SmoochSans-OFL.txt +0 -0
  698. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Tektur-Medium.ttf +0 -0
  699. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Tektur-OFL.txt +0 -0
  700. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Tektur-Regular.ttf +0 -0
  701. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-Bold.ttf +0 -0
  702. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  703. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-Italic.ttf +0 -0
  704. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-OFL.txt +0 -0
  705. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-Regular.ttf +0 -0
  706. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/YoungSerif-OFL.txt +0 -0
  707. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  708. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/references/canvas-design-system.md +0 -0
  709. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/references/shadcn-accessibility.md +0 -0
  710. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/references/shadcn-components.md +0 -0
  711. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/references/shadcn-theming.md +0 -0
  712. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/references/tailwind-customization.md +0 -0
  713. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/references/tailwind-responsive.md +0 -0
  714. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/references/tailwind-utilities.md +0 -0
  715. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/.coverage +0 -0
  716. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/requirements.txt +0 -0
  717. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/shadcn_add.py +0 -0
  718. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/tailwind_config_gen.py +0 -0
  719. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/tests/coverage-ui.json +0 -0
  720. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/tests/requirements.txt +0 -0
  721. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/tests/test_shadcn_add.py +0 -0
  722. /package/assets/claude/{skills → packs/frontend/skills}/tailwind-shadcn/scripts/tests/test_tailwind_config_gen.py +0 -0
  723. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/AGENTS.md +0 -0
  724. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/README.md +0 -0
  725. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/SKILL.md +0 -0
  726. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/metadata.json +0 -0
  727. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/_sections.md +0 -0
  728. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/_template.md +0 -0
  729. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -0
  730. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/advanced-use-latest.md +0 -0
  731. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/async-api-routes.md +0 -0
  732. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/async-defer-await.md +0 -0
  733. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/async-dependencies.md +0 -0
  734. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/async-parallel.md +0 -0
  735. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -0
  736. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -0
  737. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/bundle-conditional.md +0 -0
  738. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -0
  739. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -0
  740. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/bundle-preload.md +0 -0
  741. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/client-event-listeners.md +0 -0
  742. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -0
  743. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -0
  744. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/client-swr-dedup.md +0 -0
  745. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -0
  746. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-cache-function-results.md +0 -0
  747. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-cache-property-access.md +0 -0
  748. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-cache-storage.md +0 -0
  749. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-combine-iterations.md +0 -0
  750. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-early-exit.md +0 -0
  751. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -0
  752. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-index-maps.md +0 -0
  753. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-length-check-first.md +0 -0
  754. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-min-max-loop.md +0 -0
  755. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -0
  756. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -0
  757. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rendering-activity.md +0 -0
  758. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
  759. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -0
  760. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -0
  761. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -0
  762. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
  763. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -0
  764. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -0
  765. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rerender-dependencies.md +0 -0
  766. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rerender-derived-state.md +0 -0
  767. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -0
  768. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -0
  769. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rerender-memo.md +0 -0
  770. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/rerender-transitions.md +0 -0
  771. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -0
  772. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/server-cache-lru.md +0 -0
  773. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/server-cache-react.md +0 -0
  774. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -0
  775. /package/assets/claude/{skills → packs/frontend/skills}/vercel-react-best-practices/rules/server-serialization.md +0 -0
  776. /package/assets/claude/{skills → packs/frontend/skills}/web-design-guidelines/SKILL.md +0 -0
  777. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/SKILL.md +0 -0
  778. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/nextjs-app-router.md +0 -0
  779. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/nextjs-data-fetching.md +0 -0
  780. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/nextjs-optimization.md +0 -0
  781. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/nextjs-server-components.md +0 -0
  782. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/remix-icon-integration.md +0 -0
  783. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/turborepo-caching.md +0 -0
  784. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/turborepo-pipelines.md +0 -0
  785. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/references/turborepo-setup.md +0 -0
  786. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/.coverage +0 -0
  787. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/__init__.py +0 -0
  788. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/nextjs_init.py +0 -0
  789. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/requirements.txt +0 -0
  790. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/tests/coverage-web.json +0 -0
  791. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/tests/requirements.txt +0 -0
  792. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/tests/test_nextjs_init.py +0 -0
  793. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/tests/test_turborepo_migrate.py +0 -0
  794. /package/assets/claude/{skills → packs/frontend/skills}/web-frameworks/scripts/turborepo_migrate.py +0 -0
  795. /package/assets/claude/{agents → packs/playwright/agents}/playwright-component-analyzer.md +0 -0
  796. /package/assets/claude/{agents → packs/playwright/agents}/playwright-scenario-scanner.md +0 -0
  797. /package/assets/claude/{agents → packs/playwright/agents}/playwright-test-generator.md +0 -0
  798. /package/assets/claude/{agents → packs/playwright/agents}/playwright-test-planner.md +0 -0
  799. /package/assets/claude/{agents → packs/playwright/agents}/playwright-tester.md +0 -0
  800. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/SKILL.md +0 -0
  801. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/references/cdp-domains.md +0 -0
  802. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/references/performance-guide.md +0 -0
  803. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/references/puppeteer-reference.md +0 -0
  804. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/PERSISTENT-BROWSER.md +0 -0
  805. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/README.md +0 -0
  806. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/__tests__/selector.test.js +0 -0
  807. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/click.js +0 -0
  808. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/close-persistent.js +0 -0
  809. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/console.js +0 -0
  810. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/evaluate.js +0 -0
  811. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/fill.js +0 -0
  812. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/install-deps.sh +0 -0
  813. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/install.sh +0 -0
  814. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/launch-persistent.js +0 -0
  815. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/lib/browser.js +0 -0
  816. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/lib/selector.js +0 -0
  817. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/navigate.js +0 -0
  818. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/network.js +0 -0
  819. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/package-lock.json +0 -0
  820. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/package.json +0 -0
  821. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/performance.js +0 -0
  822. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/screenshot.js +0 -0
  823. /package/assets/claude/{skills → packs/playwright/skills}/chrome-devtools/scripts/snapshot.js +0 -0
  824. /package/assets/claude/{skills → packs/playwright/skills}/playwright-typescript/SKILL.md +0 -0
  825. /package/assets/{skills → claude/skills/skill-creator}/agent_skills_spec.md +0 -0
  826. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/SKILL.md +0 -0
  827. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-api-design.md +0 -0
  828. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-architecture.md +0 -0
  829. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-authentication.md +0 -0
  830. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-code-quality.md +0 -0
  831. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-debugging.md +0 -0
  832. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-devops.md +0 -0
  833. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-mindset.md +0 -0
  834. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-performance.md +0 -0
  835. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-security.md +0 -0
  836. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-technologies.md +0 -0
  837. /package/assets/{skills → copilot/packs/backend/skills}/backend-development/references/backend-testing.md +0 -0
  838. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/SKILL.md +0 -0
  839. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/references/advanced-features.md +0 -0
  840. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/references/database-integration.md +0 -0
  841. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/references/email-password-auth.md +0 -0
  842. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/references/oauth-providers.md +0 -0
  843. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/scripts/.coverage +0 -0
  844. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/scripts/better_auth_init.py +0 -0
  845. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/scripts/requirements.txt +0 -0
  846. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/scripts/tests/.coverage +0 -0
  847. /package/assets/{skills → copilot/packs/backend/skills}/better-auth/scripts/tests/test_better_auth_init.py +0 -0
  848. /package/assets/{skills → copilot/packs/backend/skills}/databases/SKILL.md +0 -0
  849. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/mongodb-aggregation.md +0 -0
  850. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/mongodb-atlas.md +0 -0
  851. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/mongodb-crud.md +0 -0
  852. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/mongodb-indexing.md +0 -0
  853. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/postgresql-administration.md +0 -0
  854. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/postgresql-performance.md +0 -0
  855. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/postgresql-psql-cli.md +0 -0
  856. /package/assets/{skills → copilot/packs/backend/skills}/databases/references/postgresql-queries.md +0 -0
  857. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/.coverage +0 -0
  858. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/db_backup.py +0 -0
  859. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/db_migrate.py +0 -0
  860. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/db_performance_check.py +0 -0
  861. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/requirements.txt +0 -0
  862. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/tests/coverage-db.json +0 -0
  863. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/tests/requirements.txt +0 -0
  864. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/tests/test_db_backup.py +0 -0
  865. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/tests/test_db_migrate.py +0 -0
  866. /package/assets/{skills → copilot/packs/backend/skills}/databases/scripts/tests/test_db_performance_check.py +0 -0
  867. /package/assets/{skills → copilot/packs/backend/skills}/devops/.env.example +0 -0
  868. /package/assets/{skills → copilot/packs/backend/skills}/devops/SKILL.md +0 -0
  869. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/browser-rendering.md +0 -0
  870. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/cloudflare-d1-kv.md +0 -0
  871. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/cloudflare-platform.md +0 -0
  872. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/cloudflare-r2-storage.md +0 -0
  873. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/cloudflare-workers-advanced.md +0 -0
  874. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/cloudflare-workers-apis.md +0 -0
  875. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/cloudflare-workers-basics.md +0 -0
  876. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/docker-basics.md +0 -0
  877. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/docker-compose.md +0 -0
  878. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/gcloud-platform.md +0 -0
  879. /package/assets/{skills → copilot/packs/backend/skills}/devops/references/gcloud-services.md +0 -0
  880. /package/assets/{skills → copilot/packs/backend/skills}/devops/scripts/cloudflare_deploy.py +0 -0
  881. /package/assets/{skills → copilot/packs/backend/skills}/devops/scripts/docker_optimize.py +0 -0
  882. /package/assets/{skills → copilot/packs/backend/skills}/devops/scripts/requirements.txt +0 -0
  883. /package/assets/{skills → copilot/packs/backend/skills}/devops/scripts/tests/requirements.txt +0 -0
  884. /package/assets/{skills → copilot/packs/backend/skills}/devops/scripts/tests/test_cloudflare_deploy.py +0 -0
  885. /package/assets/{skills → copilot/packs/backend/skills}/devops/scripts/tests/test_docker_optimize.py +0 -0
  886. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/.env.example +0 -0
  887. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/references/audio-processing.md +0 -0
  888. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/references/image-generation.md +0 -0
  889. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/references/video-analysis.md +0 -0
  890. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/references/vision-understanding.md +0 -0
  891. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/document_converter.py +0 -0
  892. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/gemini_batch_process.py +0 -0
  893. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/media_optimizer.py +0 -0
  894. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/requirements.txt +0 -0
  895. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/tests/.coverage +0 -0
  896. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/tests/requirements.txt +0 -0
  897. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/tests/test_document_converter.py +0 -0
  898. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/tests/test_gemini_batch_process.py +0 -0
  899. /package/assets/{skills → copilot/packs/docs/skills}/ai-multimodal/scripts/tests/test_media_optimizer.py +0 -0
  900. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/LICENSE.txt +0 -0
  901. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/SKILL.md +0 -0
  902. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/docx-js.md +0 -0
  903. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  904. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  905. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  906. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  907. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  908. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  909. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  910. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  911. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  912. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  913. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  914. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  915. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  916. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  917. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  918. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  919. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  920. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  921. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  922. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  923. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  924. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  925. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  926. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  927. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  928. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  929. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  930. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  931. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  932. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  933. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  934. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/mce/mc.xsd +0 -0
  935. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  936. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  937. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  938. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  939. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  940. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  941. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  942. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/pack.py +0 -0
  943. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/unpack.py +0 -0
  944. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/validate.py +0 -0
  945. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/__init__.py +0 -0
  946. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/base.py +0 -0
  947. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/docx.py +0 -0
  948. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/pptx.py +0 -0
  949. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml/scripts/validation/redlining.py +0 -0
  950. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/ooxml.md +0 -0
  951. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/__init__.py +0 -0
  952. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/document.py +0 -0
  953. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/templates/comments.xml +0 -0
  954. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/templates/commentsExtended.xml +0 -0
  955. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/templates/commentsExtensible.xml +0 -0
  956. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/templates/commentsIds.xml +0 -0
  957. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/templates/people.xml +0 -0
  958. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/docx/scripts/utilities.py +0 -0
  959. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/LICENSE.txt +0 -0
  960. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/SKILL.md +0 -0
  961. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/forms.md +0 -0
  962. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/reference.md +0 -0
  963. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/check_bounding_boxes.py +0 -0
  964. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/check_bounding_boxes_test.py +0 -0
  965. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/check_fillable_fields.py +0 -0
  966. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/convert_pdf_to_images.py +0 -0
  967. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/create_validation_image.py +0 -0
  968. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/extract_form_field_info.py +0 -0
  969. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/fill_fillable_fields.py +0 -0
  970. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  971. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/LICENSE.txt +0 -0
  972. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/SKILL.md +0 -0
  973. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/html2pptx.md +0 -0
  974. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  975. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  976. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  977. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  978. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  979. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  980. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  981. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  982. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  983. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  984. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  985. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  986. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  987. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  988. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  989. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  990. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  991. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  992. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  993. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  994. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  995. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  996. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  997. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  998. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  999. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  1000. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  1001. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  1002. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  1003. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  1004. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  1005. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/mce/mc.xsd +0 -0
  1006. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +0 -0
  1007. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +0 -0
  1008. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +0 -0
  1009. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -0
  1010. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -0
  1011. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  1012. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -0
  1013. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/pack.py +0 -0
  1014. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/unpack.py +0 -0
  1015. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/validate.py +0 -0
  1016. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/__init__.py +0 -0
  1017. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/base.py +0 -0
  1018. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/docx.py +0 -0
  1019. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/pptx.py +0 -0
  1020. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml/scripts/validation/redlining.py +0 -0
  1021. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/ooxml.md +0 -0
  1022. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/scripts/html2pptx.js +0 -0
  1023. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/scripts/inventory.py +0 -0
  1024. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/scripts/rearrange.py +0 -0
  1025. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/scripts/replace.py +0 -0
  1026. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/pptx/scripts/thumbnail.py +0 -0
  1027. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/xlsx/LICENSE.txt +0 -0
  1028. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/xlsx/SKILL.md +0 -0
  1029. /package/assets/{skills → copilot/packs/docs/skills}/document-skills/xlsx/recalc.py +0 -0
  1030. /package/assets/{skills → copilot/packs/frontend/skills}/aesthetic/SKILL.md +0 -0
  1031. /package/assets/{skills → copilot/packs/frontend/skills}/aesthetic/assets/design-guideline-template.md +0 -0
  1032. /package/assets/{skills → copilot/packs/frontend/skills}/aesthetic/assets/design-story-template.md +0 -0
  1033. /package/assets/{skills → copilot/packs/frontend/skills}/aesthetic/references/design-principles.md +0 -0
  1034. /package/assets/{skills → copilot/packs/frontend/skills}/aesthetic/references/design-resources.md +0 -0
  1035. /package/assets/{skills → copilot/packs/frontend/skills}/aesthetic/references/micro-interactions.md +0 -0
  1036. /package/assets/{skills → copilot/packs/frontend/skills}/aesthetic/references/storytelling-design.md +0 -0
  1037. /package/assets/{skills → copilot/packs/frontend/skills}/frontend-design/SKILL.md +0 -0
  1038. /package/assets/{skills → copilot/packs/frontend/skills}/frontend-design/references/animejs.md +0 -0
  1039. /package/assets/{skills → copilot/packs/frontend/skills}/premium-frontend-ui/SKILL.md +0 -0
  1040. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/SKILL.md +0 -0
  1041. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/common-patterns.md +0 -0
  1042. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/complete-examples.md +0 -0
  1043. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/component-patterns.md +0 -0
  1044. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/data-fetching.md +0 -0
  1045. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/file-organization.md +0 -0
  1046. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/loading-and-error-states.md +0 -0
  1047. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/performance.md +0 -0
  1048. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/routing-guide.md +0 -0
  1049. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/styling-guide.md +0 -0
  1050. /package/assets/{skills → copilot/packs/frontend/skills}/react-mui-tanstack/resources/typescript-standards.md +0 -0
  1051. /package/assets/{skills/mcp-builder → copilot/packs/frontend/skills/tailwind-shadcn}/LICENSE.txt +0 -0
  1052. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/SKILL.md +0 -0
  1053. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/ArsenalSC-OFL.txt +0 -0
  1054. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1055. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1056. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BigShoulders-OFL.txt +0 -0
  1057. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1058. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Boldonse-OFL.txt +0 -0
  1059. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1060. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1061. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BricolageGrotesque-OFL.txt +0 -0
  1062. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1063. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1064. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1065. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-OFL.txt +0 -0
  1066. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1067. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/DMMono-OFL.txt +0 -0
  1068. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/DMMono-Regular.ttf +0 -0
  1069. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/EricaOne-OFL.txt +0 -0
  1070. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1071. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1072. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/GeistMono-OFL.txt +0 -0
  1073. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1074. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Gloock-OFL.txt +0 -0
  1075. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Gloock-Regular.ttf +0 -0
  1076. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1077. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexMono-OFL.txt +0 -0
  1078. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1079. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1080. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1081. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1082. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1083. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1084. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1085. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1086. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-OFL.txt +0 -0
  1087. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1088. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1089. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1090. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Italiana-OFL.txt +0 -0
  1091. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Italiana-Regular.ttf +0 -0
  1092. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1093. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/JetBrainsMono-OFL.txt +0 -0
  1094. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1095. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Jura-Light.ttf +0 -0
  1096. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Jura-Medium.ttf +0 -0
  1097. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Jura-OFL.txt +0 -0
  1098. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/LibreBaskerville-OFL.txt +0 -0
  1099. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1100. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-Bold.ttf +0 -0
  1101. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1102. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-Italic.ttf +0 -0
  1103. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-OFL.txt +0 -0
  1104. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Lora-Regular.ttf +0 -0
  1105. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1106. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NationalPark-OFL.txt +0 -0
  1107. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1108. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -0
  1109. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1110. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Outfit-Bold.ttf +0 -0
  1111. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Outfit-OFL.txt +0 -0
  1112. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Outfit-Regular.ttf +0 -0
  1113. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1114. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PixelifySans-OFL.txt +0 -0
  1115. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PoiretOne-OFL.txt +0 -0
  1116. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1117. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1118. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/RedHatMono-OFL.txt +0 -0
  1119. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1120. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Silkscreen-OFL.txt +0 -0
  1121. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1122. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1123. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/SmoochSans-OFL.txt +0 -0
  1124. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Tektur-Medium.ttf +0 -0
  1125. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Tektur-OFL.txt +0 -0
  1126. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/Tektur-Regular.ttf +0 -0
  1127. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1128. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1129. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1130. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-OFL.txt +0 -0
  1131. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1132. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/YoungSerif-OFL.txt +0 -0
  1133. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1134. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/references/canvas-design-system.md +0 -0
  1135. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/references/shadcn-accessibility.md +0 -0
  1136. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/references/shadcn-components.md +0 -0
  1137. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/references/shadcn-theming.md +0 -0
  1138. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/references/tailwind-customization.md +0 -0
  1139. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/references/tailwind-responsive.md +0 -0
  1140. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/references/tailwind-utilities.md +0 -0
  1141. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/.coverage +0 -0
  1142. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/requirements.txt +0 -0
  1143. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/shadcn_add.py +0 -0
  1144. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/tailwind_config_gen.py +0 -0
  1145. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/tests/coverage-ui.json +0 -0
  1146. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/tests/requirements.txt +0 -0
  1147. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/tests/test_shadcn_add.py +0 -0
  1148. /package/assets/{skills → copilot/packs/frontend/skills}/tailwind-shadcn/scripts/tests/test_tailwind_config_gen.py +0 -0
  1149. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/AGENTS.md +0 -0
  1150. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/README.md +0 -0
  1151. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/SKILL.md +0 -0
  1152. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/metadata.json +0 -0
  1153. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/_sections.md +0 -0
  1154. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/_template.md +0 -0
  1155. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -0
  1156. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/advanced-use-latest.md +0 -0
  1157. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/async-api-routes.md +0 -0
  1158. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/async-defer-await.md +0 -0
  1159. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/async-dependencies.md +0 -0
  1160. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/async-parallel.md +0 -0
  1161. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -0
  1162. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -0
  1163. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/bundle-conditional.md +0 -0
  1164. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -0
  1165. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -0
  1166. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/bundle-preload.md +0 -0
  1167. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/client-event-listeners.md +0 -0
  1168. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -0
  1169. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -0
  1170. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/client-swr-dedup.md +0 -0
  1171. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -0
  1172. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-cache-function-results.md +0 -0
  1173. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-cache-property-access.md +0 -0
  1174. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-cache-storage.md +0 -0
  1175. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-combine-iterations.md +0 -0
  1176. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-early-exit.md +0 -0
  1177. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -0
  1178. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-index-maps.md +0 -0
  1179. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-length-check-first.md +0 -0
  1180. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-min-max-loop.md +0 -0
  1181. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -0
  1182. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -0
  1183. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rendering-activity.md +0 -0
  1184. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
  1185. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -0
  1186. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -0
  1187. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -0
  1188. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
  1189. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -0
  1190. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -0
  1191. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rerender-dependencies.md +0 -0
  1192. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rerender-derived-state.md +0 -0
  1193. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -0
  1194. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -0
  1195. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rerender-memo.md +0 -0
  1196. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/rerender-transitions.md +0 -0
  1197. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -0
  1198. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/server-cache-lru.md +0 -0
  1199. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/server-cache-react.md +0 -0
  1200. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -0
  1201. /package/assets/{skills → copilot/packs/frontend/skills}/vercel-react-best-practices/rules/server-serialization.md +0 -0
  1202. /package/assets/{skills → copilot/packs/frontend/skills}/web-design-guidelines/SKILL.md +0 -0
  1203. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/SKILL.md +0 -0
  1204. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/nextjs-app-router.md +0 -0
  1205. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/nextjs-data-fetching.md +0 -0
  1206. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/nextjs-optimization.md +0 -0
  1207. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/nextjs-server-components.md +0 -0
  1208. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/remix-icon-integration.md +0 -0
  1209. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/turborepo-caching.md +0 -0
  1210. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/turborepo-pipelines.md +0 -0
  1211. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/references/turborepo-setup.md +0 -0
  1212. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/.coverage +0 -0
  1213. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/__init__.py +0 -0
  1214. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/nextjs_init.py +0 -0
  1215. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/requirements.txt +0 -0
  1216. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/tests/coverage-web.json +0 -0
  1217. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/tests/requirements.txt +0 -0
  1218. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/tests/test_nextjs_init.py +0 -0
  1219. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/tests/test_turborepo_migrate.py +0 -0
  1220. /package/assets/{skills → copilot/packs/frontend/skills}/web-frameworks/scripts/turborepo_migrate.py +0 -0
  1221. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/references/cdp-domains.md +0 -0
  1222. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/references/performance-guide.md +0 -0
  1223. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/references/puppeteer-reference.md +0 -0
  1224. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/PERSISTENT-BROWSER.md +0 -0
  1225. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/__tests__/selector.test.js +0 -0
  1226. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/click.js +0 -0
  1227. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/close-persistent.js +0 -0
  1228. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/console.js +0 -0
  1229. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/evaluate.js +0 -0
  1230. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/fill.js +0 -0
  1231. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/install-deps.sh +0 -0
  1232. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/install.sh +0 -0
  1233. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/launch-persistent.js +0 -0
  1234. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/lib/browser.js +0 -0
  1235. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/lib/selector.js +0 -0
  1236. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/navigate.js +0 -0
  1237. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/network.js +0 -0
  1238. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/package-lock.json +0 -0
  1239. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/package.json +0 -0
  1240. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/performance.js +0 -0
  1241. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/screenshot.js +0 -0
  1242. /package/assets/{skills → copilot/packs/playwright/skills}/chrome-devtools/scripts/snapshot.js +0 -0
  1243. /package/assets/{skills → copilot/skills}/code-review/SKILL.md +0 -0
  1244. /package/assets/{skills → copilot/skills}/code-review/references/code-review-reception.md +0 -0
  1245. /package/assets/{skills → copilot/skills}/code-review/references/requesting-code-review.md +0 -0
  1246. /package/assets/{skills → copilot/skills}/code-review/references/verification-before-completion.md +0 -0
  1247. /package/assets/{skills → copilot/skills}/debugging/defense-in-depth/SKILL.md +0 -0
  1248. /package/assets/{skills → copilot/skills}/debugging/root-cause-tracing/SKILL.md +0 -0
  1249. /package/assets/{skills → copilot/skills}/debugging/root-cause-tracing/find-polluter.sh +0 -0
  1250. /package/assets/{skills → copilot/skills}/debugging/systematic-debugging/CREATION-LOG.md +0 -0
  1251. /package/assets/{skills → copilot/skills}/debugging/systematic-debugging/SKILL.md +0 -0
  1252. /package/assets/{skills → copilot/skills}/debugging/systematic-debugging/test-academic.md +0 -0
  1253. /package/assets/{skills → copilot/skills}/debugging/systematic-debugging/test-pressure-1.md +0 -0
  1254. /package/assets/{skills → copilot/skills}/debugging/systematic-debugging/test-pressure-2.md +0 -0
  1255. /package/assets/{skills → copilot/skills}/debugging/systematic-debugging/test-pressure-3.md +0 -0
  1256. /package/assets/{skills → copilot/skills}/debugging/verification-before-completion/SKILL.md +0 -0
  1257. /package/assets/{skills → copilot/skills}/docs-seeker/SKILL.md +0 -0
  1258. /package/assets/{skills → copilot/skills}/docs-seeker/WORKFLOWS.md +0 -0
  1259. /package/assets/{skills → copilot/skills}/docs-seeker/references/best-practices.md +0 -0
  1260. /package/assets/{skills → copilot/skills}/docs-seeker/references/documentation-sources.md +0 -0
  1261. /package/assets/{skills → copilot/skills}/docs-seeker/references/error-handling.md +0 -0
  1262. /package/assets/{skills → copilot/skills}/docs-seeker/references/limitations.md +0 -0
  1263. /package/assets/{skills → copilot/skills}/docs-seeker/references/performance.md +0 -0
  1264. /package/assets/{skills → copilot/skills}/docs-seeker/references/tool-selection.md +0 -0
  1265. /package/assets/{skills/skill-creator → copilot/skills/mcp-builder}/LICENSE.txt +0 -0
  1266. /package/assets/{skills → copilot/skills}/mcp-builder/SKILL.md +0 -0
  1267. /package/assets/{skills → copilot/skills}/mcp-builder/reference/evaluation.md +0 -0
  1268. /package/assets/{skills → copilot/skills}/mcp-builder/reference/mcp_best_practices.md +0 -0
  1269. /package/assets/{skills → copilot/skills}/mcp-builder/reference/node_mcp_server.md +0 -0
  1270. /package/assets/{skills → copilot/skills}/mcp-builder/reference/python_mcp_server.md +0 -0
  1271. /package/assets/{skills → copilot/skills}/mcp-builder/scripts/connections.py +0 -0
  1272. /package/assets/{skills → copilot/skills}/mcp-builder/scripts/evaluation.py +0 -0
  1273. /package/assets/{skills → copilot/skills}/mcp-builder/scripts/example_evaluation.xml +0 -0
  1274. /package/assets/{skills → copilot/skills}/mcp-builder/scripts/requirements.txt +0 -0
  1275. /package/assets/{skills → copilot/skills}/mermaidjs-v11/SKILL.md +0 -0
  1276. /package/assets/{skills → copilot/skills}/mermaidjs-v11/references/cli-usage.md +0 -0
  1277. /package/assets/{skills → copilot/skills}/mermaidjs-v11/references/configuration.md +0 -0
  1278. /package/assets/{skills → copilot/skills}/mermaidjs-v11/references/diagram-types.md +0 -0
  1279. /package/assets/{skills → copilot/skills}/mermaidjs-v11/references/examples.md +0 -0
  1280. /package/assets/{skills → copilot/skills}/mermaidjs-v11/references/integration.md +0 -0
  1281. /package/assets/{skills → copilot/skills}/problem-solving/ABOUT.md +0 -0
  1282. /package/assets/{skills → copilot/skills}/problem-solving/collision-zone-thinking/SKILL.md +0 -0
  1283. /package/assets/{skills → copilot/skills}/problem-solving/inversion-exercise/SKILL.md +0 -0
  1284. /package/assets/{skills → copilot/skills}/problem-solving/meta-pattern-recognition/SKILL.md +0 -0
  1285. /package/assets/{skills → copilot/skills}/problem-solving/scale-game/SKILL.md +0 -0
  1286. /package/assets/{skills → copilot/skills}/problem-solving/simplification-cascades/SKILL.md +0 -0
  1287. /package/assets/{skills → copilot/skills}/problem-solving/when-stuck/SKILL.md +0 -0
  1288. /package/assets/{skills → copilot/skills}/sequential-thinking/SKILL.md +0 -0
  1289. /package/assets/{skills → copilot/skills}/sequential-thinking/references/advanced.md +0 -0
  1290. /package/assets/{skills → copilot/skills}/sequential-thinking/references/examples.md +0 -0
  1291. /package/assets/{skills/tailwind-shadcn → copilot/skills/skill-creator}/LICENSE.txt +0 -0
  1292. /package/assets/{skills → copilot/skills}/skill-creator/scripts/init_skill.py +0 -0
  1293. /package/assets/{skills → copilot/skills}/skill-creator/scripts/package_skill.py +0 -0
  1294. /package/assets/{skills → copilot/skills}/skill-creator/scripts/quick_validate.py +0 -0
@@ -1,383 +1,676 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Generate the Claude Code target's extended catalog from the Copilot source assets.
3
+ * Generate the **Copilot** target's catalog from the canonical **Claude** source trees.
4
4
  *
5
- * Converts:
6
- * assets/agents/<name>/<name>.agent.md -> assets/claude/agents/<name>.md
7
- * assets/prompts/<name>/<name>.prompt.md -> assets/claude/commands/<name>.md
8
- * assets/skills/<name>/ -> assets/claude/skills/<name>/ (near-verbatim)
9
- * assets/instructions/<name>/<name>.instructions.md -> assets/claude/skills/<name>/SKILL.md (new skill)
5
+ * DIRECTION (Vesper 2.0): `assets/claude/` + `assets/claude-committed/` are the sole
6
+ * hand-authored catalog; `assets/copilot/` is machine-generated, COMMITTED output. The
7
+ * filename is historical (it is still "the asset generator"); only its direction changed.
10
8
  *
11
- * This is a one-time/periodic build step run by maintainers (like generate-manifests.js) —
12
- * `vesper add --target claude` copies the *output* of this script, it never transforms
13
- * anything at install time. The 12 core agents + the orchestrator playbook are hand-authored
14
- * separately in assets/claude/ and are never touched by this script.
9
+ * THIS FILE IS AN I/O SHELL. Every Claude → Copilot inversion layer lives in the PURE
10
+ * module `src/cli/utils/copilot-render.js`, which the runtime Copilot provisioning
11
+ * module imports too. Runtime code must NEVER import from `scripts/` (enforced by a
12
+ * test): the CLI bundle once inlined this file's run-as-main guard and regenerated the
13
+ * installed package's assets mid-command.
14
+ *
15
+ * Scan roots → outputs:
16
+ *
17
+ * assets/claude/agents/<name>.md -> copilot/agents/<name>.agent.md (hidden specialist)
18
+ * assets/claude/skills/<name>/ -> copilot/skills/<name>/ (EVERY .md rendered)
19
+ * assets/claude/skills/<name>/SKILL.md
20
+ * `copilot-apply-to` + tier `core` -> copilot/instructions/<name>.instructions.md
21
+ * `copilot-apply-to` + tier `extended` -> copilot/instructions-extended/<name>/<name>.instructions.md
22
+ * assets/claude-committed/skills/<name>/ -> copilot/prompts/<name>.prompt.md
23
+ * (must carry `disable-model-invocation: true`)
24
+ * assets/claude/packs/<pack>/agents/<name>.md -> copilot/packs/<pack>/agents/<name>.agent.md
25
+ * assets/claude/packs/<pack>/skills/<name>/ -> copilot/packs/<pack>/skills/<name>/
26
+ * (tiered instructions of a packed skill go to the GLOBAL instructions folders above;
27
+ * the shared `agent-fundamentals` copy each pack carries is validated, not mirrored;
28
+ * a THIRD-PARTY skill — one carrying `UPSTREAM.json` (epic J) — is copied VERBATIM,
29
+ * `UPSTREAM.json` and `LICENSE` included: Vesper does not author it, so it is neither
30
+ * rendered nor residue-scanned, and its own `disable-model-invocation` marker is allowed)
31
+ * assets/manifest.json <- written here too (no timestamp); carries
32
+ * `packs` + `assetPacks` (pack per asset)
33
+ *
34
+ * The instruction TIER restores 1.x's core/extended split (1.x kept them apart by tree:
35
+ * `assets/core/instructions/` injected for every project, `assets/instructions/<name>/`
36
+ * opt-in). Only the core folder is default-injected by `settings.js`; each extended
37
+ * instruction lives in its own folder so it can be injected individually.
38
+ *
39
+ * STRICT: any per-entry failure (I/O, missing/unsafe frontmatter, a committed skill
40
+ * without the maintenance marker, a plugin skill WITH it, an unmapped tool or model,
41
+ * Claude-host residue outside the allow-list) fails the run with every error listed,
42
+ * and NOTHING is written.
43
+ * ATOMIC: the tree is built in memory, written to a sibling temp dir, and swapped in
44
+ * by rename — an interrupted run never leaves a partial `assets/copilot/`.
45
+ *
46
+ * !! LOAD-BEARING !! `disable-model-invocation: true` is NOT globally unique (the third-party
47
+ * `packs/styles/skills/i-have-adhd/SKILL.md` carries it). Prompt emission is scoped to
48
+ * `assets/claude-committed/skills/` by TREE LOCATION, never by the marker alone.
15
49
  *
16
50
  * Run: node scripts/generate-claude-assets.js
17
51
  */
18
52
 
19
- import { readdir, readFile, writeFile, mkdir, cp, stat } from 'node:fs/promises';
20
- import { join, dirname } from 'node:path';
21
- import { fileURLToPath } from 'node:url';
53
+ import { readdir, readFile, writeFile, mkdir, rm, rename, stat, chmod } from 'node:fs/promises';
54
+ import { existsSync } from 'node:fs';
55
+ import { join, dirname, relative, sep } from 'node:path';
56
+ import { fileURLToPath, pathToFileURL } from 'node:url';
57
+
58
+ import {
59
+ splitFrontmatter,
60
+ readFrontmatterValue,
61
+ isYamlSafeInlineScalar,
62
+ extractClaudeToolTokens,
63
+ mapClaudeToolsToCopilot,
64
+ mapMcpTools,
65
+ convertAgentToCopilot,
66
+ convertMaintenanceSkillToPrompt,
67
+ convertSkillToInstructions,
68
+ convertSkillMd,
69
+ convertSkillMarkdownFile,
70
+ applyCopilotBodyTokenReplacements,
71
+ renderCopilotText,
72
+ hasMaintenanceMarker,
73
+ readInstructionTier,
74
+ COPILOT_INSTRUCTION_TIERS,
75
+ __resetDiagnostics,
76
+ __getDiagnostics,
77
+ getDiagnosticMessages,
78
+ } from '../src/cli/utils/copilot-render.js';
79
+
80
+ // Re-exported so the generator's own test suite (and tooling) keeps one import site.
81
+ export {
82
+ splitFrontmatter,
83
+ readFrontmatterValue,
84
+ extractClaudeToolTokens,
85
+ mapClaudeToolsToCopilot,
86
+ mapMcpTools,
87
+ convertAgentToCopilot,
88
+ convertMaintenanceSkillToPrompt,
89
+ convertSkillToInstructions,
90
+ convertSkillMd,
91
+ applyCopilotBodyTokenReplacements,
92
+ renderCopilotText,
93
+ __resetDiagnostics,
94
+ __getDiagnostics,
95
+ };
22
96
 
23
97
  const __filename = fileURLToPath(import.meta.url);
24
98
  const __dirname = dirname(__filename);
25
99
 
26
- const ASSETS_DIR = join(__dirname, '..', 'assets');
27
- const CLAUDE_DIR = join(ASSETS_DIR, 'claude');
28
-
29
- /** Tool token map: Copilot tool name -> Claude Code tool name(s) (comma-separated) */
30
- const TOOL_MAP = {
31
- 'read/readFile': 'Read',
32
- 'read': 'Read',
33
- 'edit/editFiles': 'Edit, Write',
34
- 'edit/createFile': 'Write',
35
- 'edit/createDirectory': 'Write',
36
- 'edit': 'Edit, Write',
37
- 'execute/runInTerminal': 'Bash',
38
- 'execute/createAndRunTask': 'Bash',
39
- 'execute/getTerminalOutput': 'Bash',
40
- 'execute/testFailure': 'Bash',
41
- 'execute/runTests': 'Bash',
42
- 'execute/runNotebookCell': 'Bash',
43
- 'execute/awaitTerminal': 'Bash',
44
- 'execute': 'Bash',
45
- 'search/listDirectory': 'Glob',
46
- 'search/fileSearch': 'Glob',
47
- 'search/codebase': 'Grep',
48
- 'search/changes': 'Bash',
49
- 'search/searchSubagent': 'Agent',
50
- 'search': 'Grep, Glob',
51
- 'todo': 'TodoWrite',
52
- 'agent': 'Agent',
53
- 'vscode/askQuestions': 'AskUserQuestion',
54
- 'web/fetch': 'WebFetch',
55
- 'web': 'WebFetch, WebSearch',
56
- };
100
+ export const ASSETS_DIR = join(__dirname, '..', 'assets');
101
+ /** The committed Copilot output root (M-2). Never hand-edited — regenerate instead. */
102
+ export const COPILOT_DIR = join(ASSETS_DIR, 'copilot');
57
103
 
58
- /** Pure-VS-Code tokens with no Claude Code equivalent — dropped, not mapped */
59
- const DROP_TOKENS = new Set([
60
- 'vscode/getProjectSetupInfo',
61
- 'vscode/installExtension',
62
- 'vscode/newWorkspace',
63
- 'vscode/openSimpleBrowser',
64
- 'vscode/runCommand',
65
- 'vscode/vscodeAPI',
66
- 'vscode/extensions',
67
- 'vscode',
68
- ]);
104
+ /** The two canonical, hand-authored roots (assets-relative). */
105
+ export const CANONICAL_ROOTS = Object.freeze(['claude', 'claude-committed']);
69
106
 
70
- /** MCP-namespaced tokens pass through as mcp__<server>__* wildcards (kept as a note, not expanded) */
71
- const MCP_PASSTHROUGH = ['vesper-indexing/*', 'memory/*', 'sequential-thinking/*', 'context7/*'];
72
-
73
- // Pinned model IDs, not floating aliases (`opus`/`sonnet`/`haiku`) — aliases
74
- // silently track the newest release of each family, which means unreviewed
75
- // cost changes. Bump these deliberately when adopting a new model version.
76
- const MODEL_MAP = {
77
- 'Claude Opus 4.8': 'claude-opus-4-8',
78
- 'Claude Opus 4.7': 'claude-opus-4-8',
79
- 'Claude Sonnet 4.6': 'claude-sonnet-5',
80
- 'Claude Haiku 4.5': 'claude-haiku-4-5-20251001',
81
- 'GPT-5.5': 'claude-sonnet-5',
82
- };
107
+ /**
108
+ * The four — and only four — scan roots, as assets-relative POSIX paths. `packs` is the root of
109
+ * the stack packs (epic H): each `claude/packs/<pack>/` is a plugin of its own (`vesper-<pack>`)
110
+ * with its own `agents/` + `skills/`, listed in the marketplace next to the core plugin.
111
+ */
112
+ export const SCAN_ROOT_RELATIVE_PATHS = Object.freeze({
113
+ pluginAgents: 'claude/agents',
114
+ pluginSkills: 'claude/skills',
115
+ packs: 'claude/packs',
116
+ committedSkills: 'claude-committed/skills',
117
+ });
118
+
119
+ /** Plugin name prefix of every pack: `vesper-<pack>` (the core plugin is `vesper`). */
120
+ export const PACK_PLUGIN_PREFIX = 'vesper-';
83
121
 
84
122
  /**
85
- * Parse a simple `tools: [...]` frontmatter array (single or multi-line) into a token list.
86
- * @param {string} frontmatter
87
- * @returns {string[]}
123
+ * The provenance record a THIRD-PARTY pack skill carries beside its `SKILL.md` (epic J):
124
+ * `{ upstream, sha, retrieved, license, path }`, written by `scripts/vendor-sync.js`. Its
125
+ * presence is what makes a skill third-party to this generator: copied verbatim, never
126
+ * rendered, never residue-scanned, its own frontmatter markers allowed.
88
127
  */
89
- function extractToolTokens(frontmatter) {
90
- const match = frontmatter.match(/tools:\s*\[([\s\S]*?)\]/);
91
- if (!match) return [];
92
- return match[1]
93
- .split(',')
94
- .map(t => t.trim().replace(/^['"]|['"]$/g, ''))
95
- .filter(Boolean);
128
+ export const UPSTREAM_RECORD_FILE = 'UPSTREAM.json';
129
+
130
+ /** Is this skill folder third-party (carries an `UPSTREAM.json`)? */
131
+ export function isThirdPartySkillDir(skillDir) {
132
+ return existsSync(join(skillDir, UPSTREAM_RECORD_FILE));
133
+ }
134
+
135
+ /** Validate a third-party skill's `UPSTREAM.json`; errors pushed, never thrown. */
136
+ async function checkUpstreamRecord(skillDir, where, errors) {
137
+ const rec = await readJsonOrNull(join(skillDir, UPSTREAM_RECORD_FILE));
138
+ if (!rec) { errors.push(`${where}/${UPSTREAM_RECORD_FILE}: missing or unparseable`); return; }
139
+ if (typeof rec.upstream !== 'string' || !/^https?:\/\/\S+$/.test(rec.upstream)) errors.push(`${where}/${UPSTREAM_RECORD_FILE}: "upstream" must be a git URL`);
140
+ if (typeof rec.sha !== 'string' || !/^[0-9a-f]{40}$/.test(rec.sha)) errors.push(`${where}/${UPSTREAM_RECORD_FILE}: "sha" must be a 40-hex commit`);
141
+ if (typeof rec.retrieved !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(rec.retrieved)) errors.push(`${where}/${UPSTREAM_RECORD_FILE}: "retrieved" must be YYYY-MM-DD`);
142
+ if (typeof rec.license !== 'string' || !rec.license) errors.push(`${where}/${UPSTREAM_RECORD_FILE}: "license" is required`);
143
+ if (!existsSync(join(skillDir, 'LICENSE'))) errors.push(`${where}: a third-party skill ships its upstream LICENSE verbatim`);
96
144
  }
97
145
 
98
146
  /**
99
- * Convert a Copilot tool-token list into a Claude Code `tools:` frontmatter value.
100
- * @param {string[]} tokens
101
- * @returns {string}
147
+ * Skills every pack carries as a byte-identical COPY of the core skill. Every agent preloads
148
+ * `agent-fundamentals` through its `skills:` frontmatter; the Claude Code docs do not promise
149
+ * that a plugin agent can preload a skill shipped by a DIFFERENT plugin, so each pack ships its
150
+ * own copy (kept identical to the core by `syncSharedPackSkills`, asserted by the strict build).
151
+ * The Copilot mirror does NOT duplicate them: Copilot injects the core `skills/` folder for
152
+ * every project, so one copy is enough there.
102
153
  */
103
- function mapToolTokens(tokens) {
104
- const claudeTools = new Set();
105
- const mcpNotes = new Set();
106
-
107
- for (const token of tokens) {
108
- if (DROP_TOKENS.has(token)) continue;
109
- if (MCP_PASSTHROUGH.includes(token)) {
110
- mcpNotes.add(token.replace('/*', ''));
111
- continue;
112
- }
113
- const mapped = TOOL_MAP[token];
114
- if (mapped) {
115
- mapped.split(',').forEach(t => claudeTools.add(t.trim()));
116
- }
117
- }
154
+ export const SHARED_PACK_SKILLS = Object.freeze(['agent-fundamentals']);
118
155
 
119
- // Expand known MCP servers to their concrete tool names (best-effort; unknown servers noted as-is).
120
- const MCP_TOOL_NAMES = {
121
- 'vesper-indexing': ['mcp__vesper-indexing__vesper_search', 'mcp__vesper-indexing__vesper_symbols', 'mcp__vesper-indexing__vesper_status', 'mcp__vesper-indexing__vesper_reindex'],
122
- 'memory': ['mcp__memory__create_entities', 'mcp__memory__create_relations', 'mcp__memory__add_observations', 'mcp__memory__search_nodes', 'mcp__memory__open_nodes'],
123
- 'sequential-thinking': ['mcp__sequential-thinking__sequentialthinking'],
124
- 'context7': ['mcp__context7__resolve-library-id', 'mcp__context7__get-library-docs'],
125
- };
126
- for (const server of mcpNotes) {
127
- (MCP_TOOL_NAMES[server] || []).forEach(t => claudeTools.add(t));
156
+ /** The pack names (directory names under `claude/packs/`), sorted. */
157
+ export async function listPackNames(assetsDir = ASSETS_DIR) {
158
+ try {
159
+ const entries = await readdir(join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.packs), { withFileTypes: true });
160
+ return entries.filter((e) => e.isDirectory() && !e.name.startsWith('.')).map((e) => e.name).sort();
161
+ } catch {
162
+ return [];
128
163
  }
164
+ }
165
+
166
+ /**
167
+ * Every child of a canonical root that is deliberately NOT a scan root. The
168
+ * completeness test requires each child of `assets/claude/` and
169
+ * `assets/claude-committed/` to be EITHER a scan root OR listed here, so a catalog
170
+ * author adding a tree gets a failing test instead of silent non-emission.
171
+ */
172
+ export const EXCLUDED_SOURCE_PATHS = Object.freeze([
173
+ 'claude/.claude-plugin', // plugin manifest dir (plugin.json, marketplace.json)
174
+ 'claude/vesper-orchestrator.md', // always-on playbook \
175
+ 'claude/orchestration.md.tpl', // roster template } rendered project-local by the
176
+ 'claude/context.md.tpl', // whitepaper template / host modules, not emitted here
177
+ 'claude/evals', // `claude plugin eval` suite (epic G): tests the plugin, ships nowhere
178
+ 'claude-committed/agents', // the thin pickable persona (DEC-7: rendered project-local)
179
+ ]);
129
180
 
130
- return Array.from(claudeTools).join(', ');
181
+ /** Normalize an absolute-or-relative path to an assets-relative POSIX path. */
182
+ function toAssetsRelative(somePath) {
183
+ const rel = somePath.startsWith(ASSETS_DIR) ? relative(ASSETS_DIR, somePath) : somePath;
184
+ return rel.split(sep).join('/').replace(/^\.\//, '').replace(/\/+$/, '');
131
185
  }
132
186
 
133
187
  /**
134
- * Convert an `.agent.md` file's content (frontmatter + body) into Claude subagent format.
135
- * @param {string} content
136
- * @param {string} kebabName - directory/asset name, used as the subagent name
137
- * @returns {string}
188
+ * Is this source path excluded from scanning? True for the listed canonical-root
189
+ * children and for anything outside the two canonical roots (`hooks/`, `legacy/`, …).
190
+ * @param {string} somePath - absolute path, or a path already relative to `assets/`
138
191
  */
139
- function convertAgent(content, kebabName) {
140
- const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
141
- if (!frontmatterMatch) return content;
142
-
143
- const [, frontmatter, body] = frontmatterMatch;
144
- const descriptionMatch = frontmatter.match(/description:\s*['"]?(.*?)['"]?\s*(\n|$)/);
145
- const modelMatch = frontmatter.match(/model:\s*['"]?(.*?)['"]?\s*(\n|$)/);
146
-
147
- const description = descriptionMatch ? descriptionMatch[1] : `${kebabName} specialist agent`;
148
- const model = modelMatch ? (MODEL_MAP[modelMatch[1]] || 'claude-sonnet-5') : 'claude-sonnet-5';
149
- const tools = mapToolTokens(extractToolTokens(frontmatter));
150
-
151
- const newFrontmatter = [
152
- `name: ${kebabName}`,
153
- `description: ${description}`,
154
- `model: ${model}`,
155
- tools ? `tools: ${tools}` : null,
156
- // Preload the universal Vesper baseline skill into every subagent —
157
- // guarantees terminal discipline / codebase-query rules without relying
158
- // on incidental skill auto-discovery.
159
- 'skills: [agent-fundamentals]',
160
- ].filter(Boolean).join('\n');
161
-
162
- const cleanedBody = applyBodyTokenReplacements(body);
163
-
164
- return `---\n${newFrontmatter}\n---\n${cleanedBody}`;
192
+ export function isExcludedSource(somePath) {
193
+ const rel = toAssetsRelative(somePath);
194
+ if (!CANONICAL_ROOTS.some((r) => rel === r || rel.startsWith(`${r}/`))) return true;
195
+ // Each pack's own plugin manifest dir (`claude/packs/<pack>/.claude-plugin`) — the per-pack
196
+ // twin of `claude/.claude-plugin`; validated by the build, never emitted.
197
+ if (/^claude\/packs\/[^/]+\/\.claude-plugin(\/|$)/.test(rel)) return true;
198
+ return EXCLUDED_SOURCE_PATHS.some((ex) => rel === ex || rel.startsWith(`${ex}/`));
165
199
  }
166
200
 
167
201
  /**
168
- * Convert a `.prompt.md` file's content into a Claude Code slash command.
169
- * @param {string} content
170
- * @returns {string}
202
+ * THE DISCRIMINATOR (DEC-6, single-key): a skill emits a `.prompt.md` iff it lives
203
+ * under `assets/claude-committed/skills/` AND carries `disable-model-invocation: true`.
204
+ * Tree location is the load-bearing signal (the marker is not globally unique).
171
205
  */
172
- function convertPrompt(content) {
173
- const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
174
- if (!frontmatterMatch) return content;
206
+ export function isCommittedMaintenanceSkill(skillDir, frontmatter) {
207
+ const rel = toAssetsRelative(skillDir);
208
+ if (!rel.startsWith(`${SCAN_ROOT_RELATIVE_PATHS.committedSkills}/`)) return false;
209
+ return hasMaintenanceMarker(frontmatter);
210
+ }
175
211
 
176
- const [, frontmatter, body] = frontmatterMatch;
177
- const descriptionMatch = frontmatter.match(/description:\s*['"]?(.*?)['"]?\s*(\n|$)/);
178
- const description = descriptionMatch ? descriptionMatch[1] : '';
212
+ /** Source-only files never copied into the generated catalog. */
213
+ const SKIPPED_SOURCE_FILES = new Set(['manifest.json', 'skill.json']);
179
214
 
180
- const newFrontmatter = description ? `description: ${description}` : '';
181
- const cleanedBody = applyBodyTokenReplacements(body).replace(/\$\{input:[^}]+\}/g, '$ARGUMENTS');
215
+ /**
216
+ * Claude-host residue that must not appear anywhere in the generated tree, and the
217
+ * explicit allow-list of files where a token is legitimately host-neutral prose
218
+ * (e.g. a skill ABOUT Claude settings, a vendored-style tool reference). Every
219
+ * allow-list entry names the file AND the token; nothing is allowed tree-wide.
220
+ */
221
+ export const COPILOT_RESIDUE_TOKENS = Object.freeze([
222
+ { token: 'vesper:', pattern: /\bvesper:(?!start\b|end\b|gitignore\b|hook\b)[a-z<*]/, why: 'Copilot delegation names are plain (no plugin namespace)' },
223
+ { token: 'vesper-<pack>:', pattern: /\bvesper-(?:<pack>|[a-z][a-z0-9-]*):[a-z<*]/, why: 'Copilot delegation names are plain (no pack namespace either)' },
224
+ { token: '.claude/rules/', pattern: /\.claude\/rules\//, why: 'Copilot brain lives under .vesper/instructions/' },
225
+ { token: '.claude/vesper/', pattern: /\.claude\/vesper\//, why: 'Copilot brain lives under .vesper/' },
226
+ { token: '.claude/agents/', pattern: /\.claude\/agents\//, why: 'Copilot agents live under .vesper/agents/' },
227
+ { token: '.claude/skills/', pattern: /\.claude\/skills\//, why: 'Copilot skills live under .vesper/skills/' },
228
+ { token: 'unsuffixed brain file', pattern: /\.vesper\/instructions\/vesper-(orchestrator|orchestration|context)\.md/, why: 'Copilot only attaches *.instructions.md' },
229
+ { token: '.vesper/orchestration.md', pattern: /\.vesper\/(orchestrator|orchestration|context)\.md/, why: 'not the roster/whitepaper path the rendered playbook reads' },
230
+ { token: '.claude/settings.json', pattern: /\.claude\/settings\.json/, why: 'Copilot has no .claude/settings.json' },
231
+ ]);
182
232
 
183
- return newFrontmatter ? `---\n${newFrontmatter}\n---\n${cleanedBody}` : cleanedBody;
184
- }
233
+ /**
234
+ * `path → tokens allowed there`. Keep this list SHORT and justified; the residue
235
+ * test prints the offending file + line for anything not listed.
236
+ */
237
+ export const COPILOT_RESIDUE_ALLOW_LIST = Object.freeze({
238
+ // The catalog-safety skill is maintainer documentation of BOTH hosts' delivery model;
239
+ // `.claude/settings.json` (the Claude plugin declaration) is its subject matter, not an
240
+ // instruction for this host. Its remaining Copilot-copy prose issues are recorded in
241
+ // the epic (d) change log for a later pass.
242
+ 'skills/vesper-catalog-editing-safety/SKILL.md': ['.claude/settings.json'],
243
+ });
185
244
 
186
245
  /**
187
- * Convert an `.instructions.md` file into a new Skill (SKILL.md).
188
- * @param {string} content
189
- * @param {string} kebabName
190
- * @returns {string}
246
+ * Find Claude-host residue in one generated file's text.
247
+ * @param {string} relPath - path relative to the Copilot output root
248
+ * @param {string} text
249
+ * @returns {string[]} human-readable findings (empty = clean)
191
250
  */
192
- function convertInstructionToSkill(content, kebabName) {
193
- const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
194
- if (!frontmatterMatch) return content;
251
+ export function findCopilotResidue(relPath, text) {
252
+ const allowed = new Set(COPILOT_RESIDUE_ALLOW_LIST[relPath] || []);
253
+ const findings = [];
254
+ const lines = text.split('\n');
255
+ for (const { token, pattern, why } of COPILOT_RESIDUE_TOKENS) {
256
+ if (allowed.has(token)) continue;
257
+ lines.forEach((line, i) => {
258
+ if (pattern.test(line)) findings.push(`${relPath}:${i + 1}: ${token} — ${why}: ${line.trim().slice(0, 140)}`);
259
+ });
260
+ }
261
+ return findings;
262
+ }
195
263
 
196
- const [, frontmatter, body] = frontmatterMatch;
197
- const descriptionMatch = frontmatter.match(/description:\s*['"]?(.*?)['"]?\s*(\n|$)/);
198
- const applyToMatch = frontmatter.match(/applyTo:\s*['"]?(.*?)['"]?\s*(\n|$)/);
264
+ // ---------------------------------------------------------------------------
265
+ // Scan helpers (read-only)
266
+ // ---------------------------------------------------------------------------
267
+
268
+ async function listChildren(dir, kind) {
269
+ const entries = await readdir(dir, { withFileTypes: true });
270
+ return entries
271
+ .filter((e) => (kind === 'dir' ? e.isDirectory() : e.isFile()))
272
+ .filter((e) => !e.name.startsWith('.'))
273
+ .map((e) => e.name)
274
+ .sort();
275
+ }
199
276
 
200
- const baseDescription = descriptionMatch ? descriptionMatch[1] : `${kebabName} conventions`;
201
- const applyTo = applyToMatch ? applyToMatch[1] : '';
202
- const description = applyTo
203
- ? `${baseDescription} Use when working with files matching: ${applyTo}.`
204
- : baseDescription;
277
+ async function walkFiles(root) {
278
+ const out = [];
279
+ const visit = async (dir) => {
280
+ for (const e of await readdir(dir, { withFileTypes: true })) {
281
+ const abs = join(dir, e.name);
282
+ if (e.isDirectory()) await visit(abs);
283
+ else if (e.isFile()) out.push(relative(root, abs).split(sep).join('/'));
284
+ }
285
+ };
286
+ await visit(root);
287
+ return out.sort();
288
+ }
205
289
 
206
- const newFrontmatter = [`name: ${kebabName}`, `description: ${description}`].join('\n');
207
- const cleanedBody = applyBodyTokenReplacements(body);
290
+ /** Validate a canonical source frontmatter for YAML safety of its description. */
291
+ function checkDescriptionYaml(frontmatter, where, errors) {
292
+ const line = frontmatter.split('\n').find((l) => l.startsWith('description:'));
293
+ if (!line) {
294
+ errors.push(`${where}: frontmatter has no description`);
295
+ return;
296
+ }
297
+ if (!isYamlSafeInlineScalar(line.slice('description:'.length))) {
298
+ errors.push(`${where}: unquoted description is not valid YAML (contains ": " or a YAML indicator) — quote it`);
299
+ }
300
+ }
208
301
 
209
- return `---\n${newFrontmatter}\n---\n${cleanedBody}`;
302
+ /** Read + parse a JSON file; `null` when missing/unparseable (the caller reports it). */
303
+ async function readJsonOrNull(abs) {
304
+ try { return JSON.parse(await readFile(abs, 'utf-8')); } catch { return null; }
305
+ }
306
+
307
+ /** The package version every plugin manifest must carry (`package.json` next to `assets/`). */
308
+ async function readPackageVersion(assetsDir) {
309
+ const pkg = await readJsonOrNull(join(assetsDir, '..', 'package.json'));
310
+ return pkg?.version ?? null;
210
311
  }
211
312
 
212
313
  /**
213
- * Body-text regex passes shared by all converters: path mentions and a handful
214
- * of recurring Copilot-only inline tokens. Deliberately conservative — most
215
- * prose is left untouched (per the generator's design, ~90% of body content
216
- * is portable process knowledge, not Copilot mechanics).
217
- * @param {string} body
218
- * @returns {string}
314
+ * Validate one pack's plugin manifest: `packs/<pack>/.claude-plugin/plugin.json` must exist,
315
+ * be named `vesper-<pack>` and carry the package version. Errors are pushed, never thrown.
219
316
  */
220
- function applyBodyTokenReplacements(body) {
221
- return body
222
- .replace(/\.github\/agents/g, '.claude/agents')
223
- .replace(/\.github\/instructions/g, '.claude/skills')
224
- .replace(/\.github\/prompts/g, '.claude/commands')
225
- .replace(/\.github\/skills/g, '.claude/skills')
226
- .replace(/\.vscode\/mcp\.json/g, '.mcp.json')
227
- .replace(/vscode\/askQuestions/g, 'AskUserQuestion')
228
- .replace(/manage_todo_list/g, 'TodoWrite')
229
- // Inline VS Code tool-name mentions (frequent in shared Terminal Discipline /
230
- // tool-hierarchy boilerplate blocks copied across many agents). Word-boundary
231
- // regexes so both `backticked` and bare occurrences are caught.
232
- .replace(/\bmulti_replace_string_in_file\b/g, 'Edit')
233
- .replace(/\breplace_string_in_file\b/g, 'Edit')
234
- .replace(/\bread_file\b/g, 'Read')
235
- .replace(/\bgrep_search\b/g, 'Grep')
236
- .replace(/\bfile_search\b/g, 'Glob')
237
- .replace(/\bsemantic_search\b/g, 'Grep')
238
- .replace(/\blist_dir\b/g, 'Glob')
239
- .replace(/\bcreate_file\b/g, 'Write')
240
- .replace(/`get_terminal_output`/g, 'the background-task output mechanism')
241
- .replace(/`isBackground:\s*true`/g, '`run_in_background: true`')
242
- .replace(/isBackground:\s*true/g, 'run_in_background: true')
243
- // Copilot's subagent-invocation directives — subagents can't nest in Claude
244
- // Code; surface the need back to the orchestrator instead
245
- .replace(/#tool:agent\/runSubagent/g, 'your available tools')
246
- .replace(/#runSubagent:\s*/g, 'request via the orchestrator: ')
247
- .replace(/#agent:\s*/g, 'request via the orchestrator: ');
317
+ async function checkPackManifest(assetsDir, pack, version, errors) {
318
+ const where = `claude/packs/${pack}/.claude-plugin/plugin.json`;
319
+ const manifest = await readJsonOrNull(join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.packs, pack, '.claude-plugin', 'plugin.json'));
320
+ if (!manifest) { errors.push(`${where}: missing or unparseable`); return; }
321
+ if (manifest.name !== `${PACK_PLUGIN_PREFIX}${pack}`) errors.push(`${where}: name must be "${PACK_PLUGIN_PREFIX}${pack}" (got "${manifest.name}")`);
322
+ if (version && manifest.version !== version) errors.push(`${where}: version must equal package.json (${version}), got "${manifest.version}"`);
248
323
  }
249
324
 
250
- async function ensureDir(dir) {
251
- await mkdir(dir, { recursive: true });
325
+ /**
326
+ * Validate the marketplace: it must list the core plugin (`vesper`, `source: "./"`) and every
327
+ * pack (`vesper-<pack>`, `source: "./packs/<pack>"`), and nothing else.
328
+ */
329
+ async function checkMarketplace(assetsDir, packs, errors) {
330
+ const where = 'claude/.claude-plugin/marketplace.json';
331
+ const abs = join(assetsDir, 'claude', '.claude-plugin', 'marketplace.json');
332
+ // A minimal fixture tree (no packs, no manifest dir) has nothing to validate.
333
+ if (packs.length === 0 && !existsSync(abs)) return;
334
+ const mp = await readJsonOrNull(abs);
335
+ if (!mp || !Array.isArray(mp.plugins)) { errors.push(`${where}: missing, unparseable or without a plugins array`); return; }
336
+ const expected = new Map([['vesper', './'], ...packs.map((p) => [`${PACK_PLUGIN_PREFIX}${p}`, `./packs/${p}`])]);
337
+ const listed = new Map(mp.plugins.map((p) => [p.name, p.source]));
338
+ for (const [name, source] of expected) {
339
+ if (!listed.has(name)) errors.push(`${where}: plugin "${name}" (source ${source}) is not listed`);
340
+ else if (listed.get(name) !== source) errors.push(`${where}: plugin "${name}" must have source "${source}" (got "${listed.get(name)}")`);
341
+ }
342
+ for (const name of listed.keys()) {
343
+ if (!expected.has(name)) errors.push(`${where}: lists "${name}", which is neither the core plugin nor a pack under claude/packs/`);
344
+ }
252
345
  }
253
346
 
254
- async function listAssetFolders(dir) {
255
- try {
256
- const entries = await readdir(dir, { withFileTypes: true });
257
- return entries.filter(e => e.isDirectory() && !e.name.startsWith('.')).map(e => e.name);
258
- } catch {
259
- return [];
347
+ /**
348
+ * The expected byte-identical copies of the shared skills, per pack: `Map<relative path under
349
+ * claude/, Buffer>` (`packs/<pack>/skills/<skill>/<file>`), read from the core skill folder.
350
+ */
351
+ export async function expectedSharedPackSkillFiles({ assetsDir = ASSETS_DIR } = {}) {
352
+ const out = new Map();
353
+ const packs = await listPackNames(assetsDir);
354
+ for (const skill of SHARED_PACK_SKILLS) {
355
+ const src = join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.pluginSkills, skill);
356
+ if (!existsSync(src)) continue;
357
+ for (const rel of await walkFiles(src)) {
358
+ const content = await readFile(join(src, rel));
359
+ for (const pack of packs) out.set(`packs/${pack}/skills/${skill}/${rel}`, content);
360
+ }
260
361
  }
362
+ return out;
261
363
  }
262
364
 
263
- async function generateAgents() {
264
- const srcDir = join(ASSETS_DIR, 'agents');
265
- const destDir = join(CLAUDE_DIR, 'agents');
266
- await ensureDir(destDir);
267
-
268
- const names = await listAssetFolders(srcDir);
269
- let count = 0;
270
- for (const name of names) {
271
- const srcPath = join(srcDir, name, `${name}.agent.md`);
272
- try {
273
- const content = await readFile(srcPath, 'utf-8');
274
- const converted = convertAgent(content, name);
275
- await writeFile(join(destDir, `${name}.md`), converted, 'utf-8');
276
- count += 1;
277
- } catch (error) {
278
- console.warn(` skip agents/${name}: ${error.message}`);
365
+ /**
366
+ * Refresh every pack's copy of the shared skills from the core (the one write the generator
367
+ * makes INTO the canonical tree — a sync of duplicates, not authored content). Returns the
368
+ * paths it changed. Idempotent; the strict build reports any copy that still differs.
369
+ */
370
+ export async function syncSharedPackSkills({ assetsDir = ASSETS_DIR } = {}) {
371
+ const changed = [];
372
+ for (const [rel, content] of await expectedSharedPackSkillFiles({ assetsDir })) {
373
+ const dest = join(assetsDir, 'claude', ...rel.split('/'));
374
+ let current = null;
375
+ try { current = await readFile(dest); } catch { current = null; }
376
+ if (current && current.equals(content)) continue;
377
+ await mkdir(dirname(dest), { recursive: true });
378
+ await writeFile(dest, content);
379
+ changed.push(`claude/${rel}`);
380
+ }
381
+ // Stale extra files inside a pack copy (a file removed from the core) are removed too.
382
+ const expected = await expectedSharedPackSkillFiles({ assetsDir });
383
+ for (const pack of await listPackNames(assetsDir)) {
384
+ for (const skill of SHARED_PACK_SKILLS) {
385
+ const dir = join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.packs, pack, 'skills', skill);
386
+ if (!existsSync(dir)) continue;
387
+ for (const rel of await walkFiles(dir)) {
388
+ const key = `packs/${pack}/skills/${skill}/${rel}`;
389
+ if (!expected.has(key)) { await rm(join(dir, rel), { force: true }); changed.push(`claude/${key} (removed)`); }
390
+ }
279
391
  }
280
392
  }
281
- return count;
393
+ return changed;
282
394
  }
283
395
 
284
- async function generatePrompts() {
285
- const srcDir = join(ASSETS_DIR, 'prompts');
286
- const destDir = join(CLAUDE_DIR, 'commands');
287
- await ensureDir(destDir);
396
+ // ---------------------------------------------------------------------------
397
+ // Build the whole generated tree in memory
398
+ // ---------------------------------------------------------------------------
288
399
 
289
- const names = await listAssetFolders(srcDir);
290
- let count = 0;
291
- for (const name of names) {
292
- const srcPath = join(srcDir, name, `${name}.prompt.md`);
293
- try {
294
- const content = await readFile(srcPath, 'utf-8');
295
- const converted = convertPrompt(content);
296
- await writeFile(join(destDir, `${name}.md`), converted, 'utf-8');
297
- count += 1;
298
- } catch (error) {
299
- console.warn(` skip prompts/${name}: ${error.message}`);
400
+ /**
401
+ * Compute the complete expected `assets/copilot/` tree (plus the global manifest)
402
+ * from the canonical sources, WITHOUT writing anything. `assetsDir` is a test seam
403
+ * (a fixture tree with the same `claude/` + `claude-committed/` layout). The generator writes exactly
404
+ * this; the freshness test compares the committed tree against exactly this.
405
+ *
406
+ * Packs (epic H): `claude/packs/<pack>/agents|skills` mirror to `copilot/packs/<pack>/agents|skills`;
407
+ * the tiered instructions of a packed skill go to the same global `instructions/` and
408
+ * `instructions-extended/` folders as a core skill's (opt-in instructions are a per-project
409
+ * mechanism of their own, not a pack one); the shared skills are not mirrored per pack.
410
+ *
411
+ * @returns {Promise<{files: Map<string, {content: Buffer, mode: number}>, manifest: object, errors: string[], counts: object}>}
412
+ * `files` keys are POSIX paths relative to `assets/copilot/`.
413
+ */
414
+ export async function buildCopilotTree({ assetsDir = ASSETS_DIR } = {}) {
415
+ __resetDiagnostics();
416
+ const files = new Map();
417
+ const errors = [];
418
+ const put = (rel, content, mode = 0o644) => files.set(rel, { content: Buffer.isBuffer(content) ? content : Buffer.from(content, 'utf-8'), mode });
419
+ const counts = { agents: 0, skills: 0, coreInstructions: 0, extendedInstructions: 0, prompts: 0, packs: 0, thirdParty: 0 };
420
+ const coreInstructions = [];
421
+ const extendedInstructions = [];
422
+ /** Generated paths copied verbatim from a third-party skill — exempt from the residue scan. */
423
+ const thirdPartyFiles = new Set();
424
+ // `pack` per asset: `core` or the pack name. Names are unique across core + packs.
425
+ const assetPacks = { agents: {}, skills: {} };
426
+ const claimAssetName = (type, name, pack, where) => {
427
+ const prior = assetPacks[type][name];
428
+ if (prior !== undefined && !(type === 'skills' && SHARED_PACK_SKILLS.includes(name))) {
429
+ errors.push(`${where}: ${type.slice(0, -1)} "${name}" is also shipped by ${prior === 'core' ? 'the core' : `pack "${prior}"`} — names are unique across the marketplace`);
430
+ return false;
300
431
  }
301
- }
302
- return count;
303
- }
432
+ if (prior === undefined) assetPacks[type][name] = pack;
433
+ return true;
434
+ };
304
435
 
305
- async function generateSkillsFromSkills() {
306
- const srcDir = join(ASSETS_DIR, 'skills');
307
- const destDir = join(CLAUDE_DIR, 'skills');
308
- await ensureDir(destDir);
436
+ /** 1. Agents → hidden specialists (one folder: the core, or a pack). */
437
+ const scanAgents = async (agentsDir, { pack, outPrefix, whereBase }) => {
438
+ let names = [];
439
+ try { names = (await listChildren(agentsDir, 'file')).filter((f) => f.endsWith('.md')); } catch { return; }
440
+ for (const file of names) {
441
+ const name = file.replace(/\.md$/, '');
442
+ const where = `${whereBase}/${file}`;
443
+ try {
444
+ if (!claimAssetName('agents', name, pack, where)) continue;
445
+ const content = await readFile(join(agentsDir, file), 'utf-8');
446
+ const { frontmatter } = splitFrontmatter(content);
447
+ if (!frontmatter) throw new Error('no parseable frontmatter (an agent without it would ship pickable)');
448
+ checkDescriptionYaml(frontmatter, where, errors);
449
+ put(`${outPrefix}agents/${name}.agent.md`, convertAgentToCopilot(content, name));
450
+ counts.agents += 1;
451
+ } catch (error) {
452
+ errors.push(`${where}: ${error.message}`);
453
+ }
454
+ }
455
+ };
309
456
 
310
- const names = await listAssetFolders(srcDir);
311
- let count = 0;
312
- for (const name of names) {
313
- const srcPath = join(srcDir, name);
314
- const destPath = join(destDir, name);
315
- try {
316
- await cp(srcPath, destPath, {
317
- recursive: true,
318
- filter: (source) => !source.endsWith('manifest.json') && !source.endsWith('skill.json'),
319
- });
320
- // Token-replace SKILL.md body in place, if this is a single-skill folder
321
- // (some entries, e.g. debugging/problem-solving/document-skills, are bundles
322
- // of multiple sub-skills with no top-level SKILL.md — the directory copy above
323
- // already handles those correctly, nothing further to patch).
324
- const skillMdPath = join(destPath, 'SKILL.md');
457
+ /** 2. Plugin skills → skills (every file; every .md rendered) + tiered instructions. */
458
+ const scanSkills = async (skillsDir, { pack, outPrefix, whereBase }) => {
459
+ let names = [];
460
+ try { names = await listChildren(skillsDir, 'dir'); } catch { return; }
461
+ for (const name of names) {
462
+ const srcDir = join(skillsDir, name);
463
+ const where = `${whereBase}/${name}`;
464
+ const shared = pack !== 'core' && SHARED_PACK_SKILLS.includes(name);
465
+ // A third-party skill (epic J): upstream's bytes, shipped as pack content. Copied verbatim
466
+ // (`UPSTREAM.json` + `LICENSE` included) so the Copilot mirror is the same snapshot; its
467
+ // markdown is neither rendered nor residue-scanned (Vesper does not author it), and its
468
+ // own `disable-model-invocation` marker is allowed — prompt emission is tree-scoped anyway.
469
+ const thirdParty = isThirdPartySkillDir(srcDir);
325
470
  try {
326
- const content = await readFile(skillMdPath, 'utf-8');
327
- await writeFile(skillMdPath, applyBodyTokenReplacements(content), 'utf-8');
328
- } catch {
329
- // Bundle folder with no top-level SKILL.md — already fully copied above.
471
+ if (!claimAssetName('skills', name, pack, where)) continue;
472
+ if (thirdParty && pack === 'core') throw new Error(`carries ${UPSTREAM_RECORD_FILE} — third-party skills are pack content, never core`);
473
+ if (thirdParty) await checkUpstreamRecord(srcDir, where, errors);
474
+ const rels = (await walkFiles(srcDir)).filter((r) => !SKIPPED_SOURCE_FILES.has(r.split('/').pop()));
475
+ const skillMds = rels.filter((r) => r === 'SKILL.md' || r.endsWith('/SKILL.md'));
476
+ if (skillMds.length === 0) throw new Error('no SKILL.md at any depth — not a skill');
477
+ for (const rel of rels) {
478
+ const abs = join(srcDir, rel);
479
+ const { mode } = await stat(abs);
480
+ if (!rel.endsWith('.md') || thirdParty) {
481
+ if (!shared) put(`${outPrefix}skills/${name}/${rel}`, await readFile(abs), mode & 0o777);
482
+ if (thirdParty) thirdPartyFiles.add(`${outPrefix}skills/${name}/${rel}`);
483
+ continue;
484
+ }
485
+ const content = await readFile(abs, 'utf-8');
486
+ const isSkillMd = rel === 'SKILL.md' || rel.endsWith('/SKILL.md');
487
+ if (isSkillMd) {
488
+ const { frontmatter } = splitFrontmatter(content);
489
+ if (!frontmatter) throw new Error(`${rel} has no frontmatter (name + description are required)`);
490
+ checkDescriptionYaml(frontmatter, `${where}/${rel}`, errors);
491
+ if (hasMaintenanceMarker(frontmatter)) {
492
+ throw new Error(`${rel} carries disable-model-invocation: true — maintenance skills belong in assets/claude-committed/skills/, not the plugin tree`);
493
+ }
494
+ }
495
+ if (!shared) put(`${outPrefix}skills/${name}/${rel}`, rel === 'SKILL.md' ? convertSkillMd(content) : convertSkillMarkdownFile(content), mode & 0o777);
496
+ }
497
+ if (shared) continue; // a pack's copy of a shared skill: validated below, never mirrored
498
+ counts.skills += 1;
499
+ if (thirdParty) { counts.thirdParty += 1; continue; } // no tiers, no instructions: upstream's skill as-is
500
+
501
+ if (rels.includes('SKILL.md')) {
502
+ const content = await readFile(join(srcDir, 'SKILL.md'), 'utf-8');
503
+ const { frontmatter } = splitFrontmatter(content);
504
+ const instructions = convertSkillToInstructions(content, name);
505
+ const tier = readInstructionTier(frontmatter);
506
+ if (instructions) {
507
+ if (!COPILOT_INSTRUCTION_TIERS.includes(tier)) {
508
+ throw new Error(`carries copilot-apply-to but copilot-instructions-tier is ${tier === null ? 'missing' : `"${tier}"`} — set core or extended`);
509
+ }
510
+ if (tier === 'core') {
511
+ put(`instructions/${name}.instructions.md`, instructions);
512
+ coreInstructions.push(name);
513
+ counts.coreInstructions += 1;
514
+ } else {
515
+ put(`instructions-extended/${name}/${name}.instructions.md`, instructions);
516
+ extendedInstructions.push(name);
517
+ counts.extendedInstructions += 1;
518
+ }
519
+ } else if (tier !== null) {
520
+ throw new Error('carries copilot-instructions-tier without copilot-apply-to');
521
+ }
522
+ }
523
+ } catch (error) {
524
+ errors.push(`${where}: ${error.message}`);
330
525
  }
331
- count += 1;
332
- } catch (error) {
333
- console.warn(` skip skills/${name}: ${error.message}`);
334
526
  }
335
- }
336
- return count;
337
- }
527
+ };
338
528
 
339
- async function generateSkillsFromInstructions() {
340
- const srcDir = join(ASSETS_DIR, 'instructions');
341
- const destDir = join(CLAUDE_DIR, 'skills');
342
- await ensureDir(destDir);
529
+ // The core plugin.
530
+ await scanAgents(join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.pluginAgents), { pack: 'core', outPrefix: '', whereBase: 'claude/agents' });
531
+ await scanSkills(join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.pluginSkills), { pack: 'core', outPrefix: '', whereBase: 'claude/skills' });
532
+
533
+ // The packs — each a plugin of its own, mirrored under `packs/<pack>/`.
534
+ const packs = await listPackNames(assetsDir);
535
+ const version = await readPackageVersion(assetsDir);
536
+ for (const pack of packs) {
537
+ if (!/^[a-z][a-z0-9-]*$/.test(pack)) { errors.push(`claude/packs/${pack}: pack names are kebab-case`); continue; }
538
+ await checkPackManifest(assetsDir, pack, version, errors);
539
+ const packDir = join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.packs, pack);
540
+ await scanAgents(join(packDir, 'agents'), { pack, outPrefix: `packs/${pack}/`, whereBase: `claude/packs/${pack}/agents` });
541
+ await scanSkills(join(packDir, 'skills'), { pack, outPrefix: `packs/${pack}/`, whereBase: `claude/packs/${pack}/skills` });
542
+ for (const child of await listChildren(packDir, 'dir')) {
543
+ if (!['agents', 'skills'].includes(child)) errors.push(`claude/packs/${pack}/${child}: a pack holds only agents/ and skills/ (plus .claude-plugin/)`);
544
+ }
545
+ counts.packs += 1;
546
+ }
547
+ await checkMarketplace(assetsDir, packs, errors);
548
+
549
+ // Shared skills: every pack copy must be byte-identical to the core (run the generator to sync).
550
+ for (const [rel, content] of await expectedSharedPackSkillFiles({ assetsDir })) {
551
+ let current = null;
552
+ try { current = await readFile(join(assetsDir, 'claude', ...rel.split('/'))); } catch { current = null; }
553
+ if (!current || !current.equals(content)) {
554
+ errors.push(`claude/${rel}: ${current ? 'differs from' : 'missing —'} the core copy in claude/skills/ (run node scripts/generate-claude-assets.js to sync the shared pack skills)`);
555
+ }
556
+ }
557
+ for (const pack of packs) {
558
+ for (const skill of SHARED_PACK_SKILLS) {
559
+ if (!existsSync(join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.packs, pack, 'skills', skill))) {
560
+ errors.push(`claude/packs/${pack}/skills/${skill}: missing — every pack carries a copy of the shared skill (run the generator to sync)`);
561
+ }
562
+ }
563
+ }
343
564
 
344
- const names = await listAssetFolders(srcDir);
345
- let count = 0;
346
- for (const name of names) {
347
- const srcPath = join(srcDir, name, `${name}.instructions.md`);
565
+ // 3. Committed skills → maintenance prompts. Every committed skill MUST be one.
566
+ const committedDir = join(assetsDir, SCAN_ROOT_RELATIVE_PATHS.committedSkills);
567
+ const prompts = [];
568
+ for (const name of await listChildren(committedDir, 'dir')) {
569
+ const where = `claude-committed/skills/${name}`;
348
570
  try {
349
- const content = await readFile(srcPath, 'utf-8');
350
- const converted = convertInstructionToSkill(content, name);
351
- const skillDir = join(destDir, name);
352
- await ensureDir(skillDir);
353
- await writeFile(join(skillDir, 'SKILL.md'), converted, 'utf-8');
354
- count += 1;
571
+ const content = await readFile(join(committedDir, name, 'SKILL.md'), 'utf-8');
572
+ const { frontmatter } = splitFrontmatter(content);
573
+ if (!frontmatter) throw new Error('SKILL.md has no frontmatter');
574
+ if (!isCommittedMaintenanceSkill(`${SCAN_ROOT_RELATIVE_PATHS.committedSkills}/${name}`, frontmatter)) {
575
+ throw new Error('committed skill lacks disable-model-invocation: true — it would be silently dropped from the Copilot catalog');
576
+ }
577
+ checkDescriptionYaml(frontmatter, `${where}/SKILL.md`, errors);
578
+ put(`prompts/${name}.prompt.md`, convertMaintenanceSkillToPrompt(content));
579
+ prompts.push(name);
580
+ counts.prompts += 1;
355
581
  } catch (error) {
356
- console.warn(` skip instructions/${name}: ${error.message}`);
582
+ errors.push(`${where}: ${error.message}`);
357
583
  }
358
584
  }
359
- return count;
360
- }
361
585
 
362
- async function main() {
363
- console.log('Generating Claude Code target assets from Copilot sources...\n');
586
+ // 4. Mapping gaps recorded by the pure converters are errors here.
587
+ errors.push(...getDiagnosticMessages());
364
588
 
365
- const agentCount = await generateAgents();
366
- console.log(`✓ agents: ${agentCount} converted -> assets/claude/agents/`);
589
+ // 5. Residue over the WHOLE generated tree — except upstream's own text (third-party skills).
590
+ for (const [rel, { content }] of files) {
591
+ if (!rel.endsWith('.md') || thirdPartyFiles.has(rel)) continue;
592
+ errors.push(...findCopilotResidue(rel, content.toString('utf-8')));
593
+ }
367
594
 
368
- const promptCount = await generatePrompts();
369
- console.log(`✓ prompts: ${promptCount} converted -> assets/claude/commands/`);
595
+ const agents = Object.keys(assetPacks.agents).sort();
596
+ const skills = Object.keys(assetPacks.skills).sort();
597
+ const sortedRecord = (rec) => Object.fromEntries(Object.keys(rec).sort().map((k) => [k, rec[k]]));
598
+ const manifest = {
599
+ version: '1.0.0',
600
+ description: 'Available Vesper assets. Use with: vespercli add agents|prompts|instructions|skills <name>; packs with: vespercli packs list|enable|disable|sync',
601
+ packs,
602
+ agents,
603
+ prompts: prompts.sort(),
604
+ coreInstructions: coreInstructions.sort(),
605
+ instructions: extendedInstructions.sort(),
606
+ skills,
607
+ assetPacks: { agents: sortedRecord(assetPacks.agents), skills: sortedRecord(assetPacks.skills) },
608
+ };
370
609
 
371
- const skillCount = await generateSkillsFromSkills();
372
- console.log(`✓ skills: ${skillCount} copied -> assets/claude/skills/`);
610
+ return { files, manifest, errors, counts };
611
+ }
373
612
 
374
- const instructionSkillCount = await generateSkillsFromInstructions();
375
- console.log(`✓ instructions: ${instructionSkillCount} converted to skills -> assets/claude/skills/`);
376
613
 
377
- console.log('\nDone. Hand-authored content (assets/claude/agents/vesper-*.md, vesper-orchestrator.md, *.tpl, commands/vesper-*.md) is untouched by this script.');
614
+ /** Serialize the global manifest (no timestamp: parallel worktrees must merge cleanly). */
615
+ export function serializeManifest(manifest) {
616
+ return `${JSON.stringify(manifest, null, 2)}\n`;
378
617
  }
379
618
 
380
- main().catch((error) => {
381
- console.error('Generation failed:', error);
382
- process.exit(1);
383
- });
619
+ /**
620
+ * Write the tree atomically: temp sibling dir → rename swap → drop the old tree.
621
+ * @param {Map<string, {content: Buffer, mode: number}>} files
622
+ * @param {string} [outDir=COPILOT_DIR]
623
+ */
624
+ export async function writeTreeAtomically(files, outDir = COPILOT_DIR) {
625
+ const parent = dirname(outDir);
626
+ const stamp = `${process.pid}-${Date.now()}`;
627
+ const tmp = join(parent, `.copilot.tmp-${stamp}`);
628
+ const old = join(parent, `.copilot.old-${stamp}`);
629
+ try {
630
+ for (const [rel, { content, mode }] of files) {
631
+ const dest = join(tmp, ...rel.split('/'));
632
+ await mkdir(dirname(dest), { recursive: true });
633
+ await writeFile(dest, content);
634
+ await chmod(dest, mode);
635
+ }
636
+ if (existsSync(outDir)) await rename(outDir, old);
637
+ await rename(tmp, outDir);
638
+ } catch (error) {
639
+ await rm(tmp, { recursive: true, force: true });
640
+ if (!existsSync(outDir) && existsSync(old)) await rename(old, outDir); // restore
641
+ throw error;
642
+ }
643
+ await rm(old, { recursive: true, force: true });
644
+ }
645
+
646
+ async function main() {
647
+ console.log('Generating Copilot target assets from the canonical Claude sources...\n');
648
+ // The one canonical-tree write: refresh each pack's copy of the shared skills from the core.
649
+ const synced = await syncSharedPackSkills();
650
+ if (synced.length) console.log(`✓ shared pack skills synced from the core: ${synced.length} file(s)\n`);
651
+ const { files, manifest, errors, counts } = await buildCopilotTree();
652
+ if (errors.length > 0) {
653
+ console.error(`✗ ${errors.length} error(s) — nothing was written:\n`);
654
+ for (const e of errors) console.error(` - ${e}`);
655
+ process.exitCode = 1;
656
+ return;
657
+ }
658
+ await writeTreeAtomically(files);
659
+ await writeFile(join(ASSETS_DIR, 'manifest.json'), serializeManifest(manifest), 'utf-8');
660
+
661
+ console.log(`✓ agents: ${counts.agents} -> assets/copilot/agents/ + packs/<pack>/agents/ (all user-invocable: false)`);
662
+ console.log(`✓ skills: ${counts.skills} -> assets/copilot/skills/ + packs/<pack>/skills/ (every .md rendered; ${counts.thirdParty} third-party copied verbatim)`);
663
+ console.log(`✓ packs: ${counts.packs} (${manifest.packs.join(', ') || 'none'}) -> assets/copilot/packs/<pack>/`);
664
+ console.log(`✓ instructions: ${counts.coreInstructions} core -> assets/copilot/instructions/, ${counts.extendedInstructions} extended -> assets/copilot/instructions-extended/<name>/`);
665
+ console.log(`✓ prompts: ${counts.prompts} -> assets/copilot/prompts/`);
666
+ console.log('✓ manifest: assets/manifest.json');
667
+ console.log('\nDone. Canonical sources (assets/claude/, assets/claude-committed/) are read-only to this script.');
668
+ }
669
+
670
+ // Only generate when executed directly — importing the module must NOT regenerate.
671
+ if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
672
+ main().catch((error) => {
673
+ console.error('Generation failed:', error);
674
+ process.exit(1);
675
+ });
676
+ }