@hienlh/ppm 0.9.81 → 0.9.83

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 (1754) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/CLAUDE.md +12 -0
  3. package/assets/skills/ppm-guide/SKILL.md +61 -0
  4. package/bun.lock +9 -1
  5. package/dist/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  6. package/dist/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  7. package/dist/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  8. package/dist/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  9. package/dist/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  10. package/dist/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  11. package/dist/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  12. package/dist/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  13. package/dist/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  14. package/dist/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  15. package/dist/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  16. package/dist/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  17. package/dist/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  18. package/dist/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  19. package/dist/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  20. package/dist/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  21. package/dist/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  22. package/dist/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  23. package/dist/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  24. package/dist/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  25. package/dist/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  26. package/dist/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  27. package/dist/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  28. package/dist/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  29. package/dist/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  30. package/dist/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  31. package/dist/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  32. package/dist/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  33. package/dist/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  34. package/dist/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  35. package/dist/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  36. package/dist/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  37. package/dist/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  38. package/dist/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  39. package/dist/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  40. package/dist/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  41. package/dist/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  42. package/dist/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  43. package/dist/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  44. package/dist/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  45. package/dist/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  46. package/dist/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  47. package/dist/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  48. package/dist/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  49. package/dist/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  50. package/dist/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  51. package/dist/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  52. package/dist/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  53. package/dist/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  54. package/dist/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  55. package/dist/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  56. package/dist/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  57. package/dist/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  58. package/dist/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  59. package/dist/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  60. package/dist/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  61. package/dist/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  62. package/dist/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  63. package/dist/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  64. package/dist/web/assets/chat-tab-DBJJz0Dm.js +10 -0
  65. package/dist/web/assets/{code-editor-CKhVVTIi.js → code-editor-BvSFsrGo.js} +1 -1
  66. package/dist/web/assets/{database-viewer-VT17cuX4.js → database-viewer-0P_zRC9w.js} +1 -1
  67. package/dist/web/assets/{diff-viewer-D6gXDpSU.js → diff-viewer-BmBJq4gO.js} +1 -1
  68. package/dist/web/assets/{extension-webview-CAQUbBuw.js → extension-webview-Cx0GpRyC.js} +1 -1
  69. package/dist/web/assets/{git-graph-CdRJbH07.js → git-graph-BAlhf058.js} +1 -1
  70. package/dist/web/assets/index-BDAqXmpQ.js +30 -0
  71. package/dist/web/assets/index-BYXjCNlK.css +2 -0
  72. package/dist/web/assets/keybindings-store-L7UlPjK0.js +1 -0
  73. package/dist/web/assets/markdown-renderer-CYs_lrjt.js +326 -0
  74. package/dist/web/assets/{port-forwarding-tab-1vSZG1Ga.js → port-forwarding-tab-CSHJ7gxM.js} +1 -1
  75. package/dist/web/assets/{postgres-viewer-Bn8hKEnP.js → postgres-viewer-DlCLiEGU.js} +1 -1
  76. package/dist/web/assets/{settings-tab-CpG9UbHr.js → settings-tab-Dcr7lDcJ.js} +1 -1
  77. package/dist/web/assets/{sql-query-editor-yvUfZVDr.js → sql-query-editor-Dxx-QZaI.js} +1 -1
  78. package/dist/web/assets/{sqlite-viewer-BSFIa0hd.js → sqlite-viewer-B0052fC-.js} +1 -1
  79. package/dist/web/assets/{terminal-tab-CbIBTfPE.js → terminal-tab-yfmxGQ5e.js} +1 -1
  80. package/dist/web/assets/{use-monaco-theme-x9tJcwlL.js → use-monaco-theme-7qyyJae5.js} +1 -1
  81. package/dist/web/index.html +2 -2
  82. package/dist/web/sw.js +1 -1
  83. package/docs/codebase-summary.md +78 -0
  84. package/docs/project-changelog.md +29 -0
  85. package/docs/system-architecture.md +2 -0
  86. package/package.json +5 -2
  87. package/scripts/check-ppm-dir-usage.sh +21 -0
  88. package/scripts/generate-ppm-guide.ts +92 -0
  89. package/src/cli/commands/cloud.ts +1 -0
  90. package/src/cli/commands/init.ts +2 -1
  91. package/src/cli/commands/logs.ts +11 -11
  92. package/src/cli/commands/report.ts +3 -2
  93. package/src/cli/commands/restart.ts +22 -23
  94. package/src/cli/commands/skills-cmd.ts +123 -0
  95. package/src/cli/commands/status.ts +7 -8
  96. package/src/cli/commands/stop.ts +18 -19
  97. package/src/index.ts +3 -0
  98. package/src/lib/account-crypto.ts +12 -7
  99. package/src/providers/claude-agent-sdk.ts +148 -12
  100. package/src/server/index.ts +8 -8
  101. package/src/server/routes/chat.ts +4 -2
  102. package/src/server/routes/port-forwarding.ts +118 -67
  103. package/src/server/routes/upgrade.ts +3 -5
  104. package/src/server/ws/chat.ts +16 -0
  105. package/src/services/cloud-ws.service.ts +2 -2
  106. package/src/services/cloud.service.ts +20 -19
  107. package/src/services/cloudflared.service.ts +13 -13
  108. package/src/services/config.service.ts +5 -7
  109. package/src/services/db.service.ts +5 -6
  110. package/src/services/extension-rpc-handlers.ts +2 -2
  111. package/src/services/extension.service.ts +9 -12
  112. package/src/services/ppm-dir.ts +14 -0
  113. package/src/services/slash-discovery/builtin-commands.ts +53 -0
  114. package/src/services/slash-discovery/builtin-handlers.ts +65 -0
  115. package/src/services/slash-discovery/definition-source.ts +27 -0
  116. package/src/services/slash-discovery/discover-skill-roots.ts +128 -0
  117. package/src/services/slash-discovery/fuzzy-search.ts +76 -0
  118. package/src/services/slash-discovery/index.ts +42 -0
  119. package/src/services/slash-discovery/resolve-overrides.ts +41 -0
  120. package/src/services/slash-discovery/skill-loader.ts +156 -0
  121. package/src/services/slash-discovery/types.ts +51 -0
  122. package/src/services/slash-items.service.ts +4 -182
  123. package/src/services/supervisor-state.ts +14 -15
  124. package/src/services/supervisor-stopped-page.ts +2 -4
  125. package/src/services/supervisor.ts +23 -16
  126. package/src/services/tunnel.service.ts +4 -5
  127. package/src/services/upgrade.service.ts +2 -3
  128. package/src/types/chat.ts +3 -1
  129. package/src/web/components/chat/chat-tab.tsx +4 -1
  130. package/src/web/components/chat/message-input.tsx +48 -6
  131. package/src/web/components/chat/message-list.tsx +2 -2
  132. package/src/web/components/chat/slash-command-picker.tsx +21 -12
  133. package/src/web/components/layout/upgrade-banner.tsx +48 -2
  134. package/src/web/components/shared/markdown-renderer.tsx +2 -0
  135. package/src/web/hooks/use-chat.ts +3 -1
  136. package/src/web/hooks/use-url-sync.ts +6 -4
  137. package/src/web/main.tsx +1 -0
  138. package/.opencode/.ckignore +0 -27
  139. package/.opencode/.env.example +0 -98
  140. package/.opencode/agents/analytics-analyst.md +0 -168
  141. package/.opencode/agents/attraction-specialist.md +0 -152
  142. package/.opencode/agents/brainstormer.md +0 -114
  143. package/.opencode/agents/campaign-debugger.md +0 -149
  144. package/.opencode/agents/campaign-manager.md +0 -185
  145. package/.opencode/agents/code-reviewer.md +0 -163
  146. package/.opencode/agents/code-simplifier.md +0 -59
  147. package/.opencode/agents/community-manager.md +0 -181
  148. package/.opencode/agents/content-creator.md +0 -166
  149. package/.opencode/agents/content-reviewer.md +0 -170
  150. package/.opencode/agents/continuity-specialist.md +0 -149
  151. package/.opencode/agents/copywriter.md +0 -118
  152. package/.opencode/agents/database-admin.md +0 -98
  153. package/.opencode/agents/debugger.md +0 -143
  154. package/.opencode/agents/docs-manager.md +0 -127
  155. package/.opencode/agents/email-wizard.md +0 -166
  156. package/.opencode/agents/fullstack-developer.md +0 -101
  157. package/.opencode/agents/funnel-architect.md +0 -176
  158. package/.opencode/agents/git-manager.md +0 -399
  159. package/.opencode/agents/journal-writer.md +0 -119
  160. package/.opencode/agents/lead-qualifier.md +0 -146
  161. package/.opencode/agents/mcp-manager.md +0 -99
  162. package/.opencode/agents/planner.md +0 -114
  163. package/.opencode/agents/project-manager.md +0 -130
  164. package/.opencode/agents/researcher.md +0 -44
  165. package/.opencode/agents/sale-enabler.md +0 -161
  166. package/.opencode/agents/scout-external.md +0 -146
  167. package/.opencode/agents/scout.md +0 -112
  168. package/.opencode/agents/seo-specialist.md +0 -185
  169. package/.opencode/agents/social-media-manager.md +0 -163
  170. package/.opencode/agents/tester.md +0 -111
  171. package/.opencode/agents/ui-ux-designer.md +0 -241
  172. package/.opencode/agents/upsell-maximizer.md +0 -147
  173. package/.opencode/commands/ckm-analyze-report.md +0 -66
  174. package/.opencode/commands/ckm-analyze.md +0 -63
  175. package/.opencode/commands/ckm-ask.md +0 -55
  176. package/.opencode/commands/ckm-brand-update.md +0 -122
  177. package/.opencode/commands/ckm-campaign-analyze.md +0 -54
  178. package/.opencode/commands/ckm-campaign-create.md +0 -215
  179. package/.opencode/commands/ckm-campaign-email.md +0 -63
  180. package/.opencode/commands/ckm-campaign-status.md +0 -38
  181. package/.opencode/commands/ckm-campaign.md +0 -64
  182. package/.opencode/commands/ckm-competitor.md +0 -69
  183. package/.opencode/commands/ckm-dashboard-check.md +0 -97
  184. package/.opencode/commands/ckm-dashboard.md +0 -90
  185. package/.opencode/commands/ckm-docs-init.md +0 -27
  186. package/.opencode/commands/ckm-docs-llms.md +0 -12
  187. package/.opencode/commands/ckm-docs-summarize.md +0 -22
  188. package/.opencode/commands/ckm-docs-update.md +0 -36
  189. package/.opencode/commands/ckm-email-flow.md +0 -169
  190. package/.opencode/commands/ckm-email-sequence.md +0 -170
  191. package/.opencode/commands/ckm-email.md +0 -64
  192. package/.opencode/commands/ckm-funnel.md +0 -77
  193. package/.opencode/commands/ckm-hub.md +0 -50
  194. package/.opencode/commands/ckm-init.md +0 -214
  195. package/.opencode/commands/ckm-journal.md +0 -18
  196. package/.opencode/commands/ckm-kanban.md +0 -65
  197. package/.opencode/commands/ckm-persona.md +0 -61
  198. package/.opencode/commands/ckm-plan-archive.md +0 -56
  199. package/.opencode/commands/ckm-plan-ci.md +0 -32
  200. package/.opencode/commands/ckm-plan-cro.md +0 -68
  201. package/.opencode/commands/ckm-plan-fast.md +0 -65
  202. package/.opencode/commands/ckm-plan-hard.md +0 -91
  203. package/.opencode/commands/ckm-plan-parallel.md +0 -128
  204. package/.opencode/commands/ckm-plan-two.md +0 -44
  205. package/.opencode/commands/ckm-plan-validate.md +0 -116
  206. package/.opencode/commands/ckm-plan.md +0 -29
  207. package/.opencode/commands/ckm-play-create.md +0 -15
  208. package/.opencode/commands/ckm-play-goals.md +0 -15
  209. package/.opencode/commands/ckm-play-next.md +0 -15
  210. package/.opencode/commands/ckm-play-status.md +0 -15
  211. package/.opencode/commands/ckm-play.md +0 -27
  212. package/.opencode/commands/ckm-preview.md +0 -83
  213. package/.opencode/commands/ckm-seo-audit.md +0 -125
  214. package/.opencode/commands/ckm-seo-keywords.md +0 -135
  215. package/.opencode/commands/ckm-seo-pseo.md +0 -66
  216. package/.opencode/commands/ckm-seo.md +0 -67
  217. package/.opencode/commands/ckm-skill-add.md +0 -41
  218. package/.opencode/commands/ckm-skill-create.md +0 -34
  219. package/.opencode/commands/ckm-skill-fix-logs.md +0 -28
  220. package/.opencode/commands/ckm-skill-optimize-auto.md +0 -30
  221. package/.opencode/commands/ckm-skill-optimize.md +0 -39
  222. package/.opencode/commands/ckm-skill-plan.md +0 -50
  223. package/.opencode/commands/ckm-skill-update.md +0 -35
  224. package/.opencode/commands/ckm-slides-create.md +0 -8
  225. package/.opencode/commands/ckm-social-schedule.md +0 -54
  226. package/.opencode/commands/ckm-social.md +0 -69
  227. package/.opencode/commands/ckm-storage-list.md +0 -90
  228. package/.opencode/commands/ckm-storage-sync.md +0 -92
  229. package/.opencode/commands/ckm-storage-upload.md +0 -80
  230. package/.opencode/commands/ckm-storage-url.md +0 -66
  231. package/.opencode/commands/ckm-test-ui.md +0 -91
  232. package/.opencode/commands/ckm-test-workflow.md +0 -106
  233. package/.opencode/commands/ckm-use-mcp.md +0 -34
  234. package/.opencode/commands/ckm-video-create.md +0 -326
  235. package/.opencode/commands/ckm-video-script-create.md +0 -395
  236. package/.opencode/commands/ckm-video-storyboard-create.md +0 -214
  237. package/.opencode/commands/ckm-watzup.md +0 -9
  238. package/.opencode/commands/ckm-worktree.md +0 -125
  239. package/.opencode/commands/ckm-write-audit.md +0 -97
  240. package/.opencode/commands/ckm-write-blog-youtube.md +0 -158
  241. package/.opencode/commands/ckm-write-blog.md +0 -85
  242. package/.opencode/commands/ckm-write-cro.md +0 -42
  243. package/.opencode/commands/ckm-write-enhance.md +0 -13
  244. package/.opencode/commands/ckm-write-fast.md +0 -12
  245. package/.opencode/commands/ckm-write-formula.md +0 -116
  246. package/.opencode/commands/ckm-write-good.md +0 -16
  247. package/.opencode/commands/ckm-write-publish.md +0 -74
  248. package/.opencode/commands/ckm-youtube-blog.md +0 -136
  249. package/.opencode/commands/ckm-youtube-infographic.md +0 -156
  250. package/.opencode/commands/ckm-youtube-social.md +0 -169
  251. package/.opencode/package.json +0 -8
  252. package/.opencode/plugin/context-injector.ts +0 -84
  253. package/.opencode/plugin/lib/ck-config-utils.cjs +0 -816
  254. package/.opencode/plugin/lib/colors.cjs +0 -95
  255. package/.opencode/plugin/lib/context-builder.cjs +0 -600
  256. package/.opencode/plugin/lib/privacy-checker.cjs +0 -297
  257. package/.opencode/plugin/lib/project-detector.cjs +0 -430
  258. package/.opencode/plugin/lib/scout-checker.cjs +0 -172
  259. package/.opencode/plugin/privacy-block.ts +0 -32
  260. package/.opencode/plugin/scout-block/broad-pattern-detector.cjs +0 -266
  261. package/.opencode/plugin/scout-block/error-formatter.cjs +0 -156
  262. package/.opencode/plugin/scout-block/path-extractor.cjs +0 -238
  263. package/.opencode/plugin/scout-block/pattern-matcher.cjs +0 -184
  264. package/.opencode/plugin/scout-block/vendor/ignore.cjs +0 -627
  265. package/.opencode/plugin/scout-block.ts +0 -40
  266. package/.opencode/scripts/README.md +0 -153
  267. package/.opencode/scripts/ck-help.py +0 -1164
  268. package/.opencode/scripts/commands_data.yaml +0 -363
  269. package/.opencode/scripts/fix-shebang-permissions.sh +0 -50
  270. package/.opencode/scripts/requirements.txt +0 -1
  271. package/.opencode/scripts/resolve_env.py +0 -329
  272. package/.opencode/scripts/scan_commands.py +0 -98
  273. package/.opencode/scripts/scan_skills.py +0 -186
  274. package/.opencode/scripts/set-active-plan.cjs +0 -50
  275. package/.opencode/scripts/skills_data.yaml +0 -370
  276. package/.opencode/scripts/test-ck-help.py +0 -218
  277. package/.opencode/scripts/validate-docs.cjs +0 -342
  278. package/.opencode/scripts/win_compat.py +0 -57
  279. package/.opencode/scripts/worktree.cjs +0 -822
  280. package/.opencode/scripts/worktree.test.cjs +0 -759
  281. package/.opencode/skills/ab-test-setup/SKILL.md +0 -512
  282. package/.opencode/skills/ads-management/SKILL.md +0 -134
  283. package/.opencode/skills/ads-management/references/ad-copy-templates.md +0 -82
  284. package/.opencode/skills/ads-management/references/audience-targeting.md +0 -97
  285. package/.opencode/skills/ads-management/references/campaign-setup-and-bidding.md +0 -88
  286. package/.opencode/skills/ads-management/references/competitor-analysis-and-tools.md +0 -67
  287. package/.opencode/skills/ads-management/references/creative-asset-generation.md +0 -110
  288. package/.opencode/skills/ads-management/references/measurement-and-attribution.md +0 -63
  289. package/.opencode/skills/ads-management/references/optimization-playbook.md +0 -83
  290. package/.opencode/skills/ads-management/references/platform-specs.md +0 -64
  291. package/.opencode/skills/ads-management/scripts/.env.example +0 -13
  292. package/.opencode/skills/ads-management/scripts/google-ads-manager.py +0 -294
  293. package/.opencode/skills/ads-management/scripts/meta-ads-manager.py +0 -360
  294. package/.opencode/skills/affiliate-marketing/SKILL.md +0 -96
  295. package/.opencode/skills/affiliate-marketing/references/case-studies.md +0 -66
  296. package/.opencode/skills/affiliate-marketing/references/compliance-legal.md +0 -78
  297. package/.opencode/skills/affiliate-marketing/references/fraud-prevention.md +0 -81
  298. package/.opencode/skills/affiliate-marketing/references/kol-koc-partnerships.md +0 -86
  299. package/.opencode/skills/affiliate-marketing/references/outreach-templates.md +0 -72
  300. package/.opencode/skills/affiliate-marketing/references/platform-selection.md +0 -82
  301. package/.opencode/skills/affiliate-marketing/references/program-structure.md +0 -74
  302. package/.opencode/skills/agent-browser/SKILL.md +0 -297
  303. package/.opencode/skills/agent-browser/references/.gitkeep +0 -0
  304. package/.opencode/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +0 -112
  305. package/.opencode/skills/agent-browser/references/browserbase-cloud-setup.md +0 -161
  306. package/.opencode/skills/ai-artist/SKILL.md +0 -122
  307. package/.opencode/skills/ai-artist/data/awesome-prompts.csv +0 -3592
  308. package/.opencode/skills/ai-artist/data/domains.csv +0 -16
  309. package/.opencode/skills/ai-artist/data/image-styles.csv +0 -21
  310. package/.opencode/skills/ai-artist/data/lighting.csv +0 -19
  311. package/.opencode/skills/ai-artist/data/llm-patterns.csv +0 -17
  312. package/.opencode/skills/ai-artist/data/nano-banana-templates.csv +0 -17
  313. package/.opencode/skills/ai-artist/data/platforms.csv +0 -11
  314. package/.opencode/skills/ai-artist/data/quality-modifiers.csv +0 -26
  315. package/.opencode/skills/ai-artist/data/styles.csv +0 -26
  316. package/.opencode/skills/ai-artist/data/subjects.csv +0 -17
  317. package/.opencode/skills/ai-artist/data/techniques.csv +0 -19
  318. package/.opencode/skills/ai-artist/data/use-cases.csv +0 -16
  319. package/.opencode/skills/ai-artist/references/advanced-techniques.md +0 -184
  320. package/.opencode/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +0 -8575
  321. package/.opencode/skills/ai-artist/references/character-consistency.md +0 -160
  322. package/.opencode/skills/ai-artist/references/domain-code.md +0 -66
  323. package/.opencode/skills/ai-artist/references/domain-data.md +0 -72
  324. package/.opencode/skills/ai-artist/references/domain-marketing.md +0 -66
  325. package/.opencode/skills/ai-artist/references/domain-patterns.md +0 -33
  326. package/.opencode/skills/ai-artist/references/domain-writing.md +0 -68
  327. package/.opencode/skills/ai-artist/references/image-generation-workflow.md +0 -124
  328. package/.opencode/skills/ai-artist/references/image-prompting.md +0 -141
  329. package/.opencode/skills/ai-artist/references/llm-prompting.md +0 -165
  330. package/.opencode/skills/ai-artist/references/nano-banana-pro-examples.md +0 -132
  331. package/.opencode/skills/ai-artist/references/nano-banana.md +0 -59
  332. package/.opencode/skills/ai-artist/references/reasoning-techniques.md +0 -201
  333. package/.opencode/skills/ai-artist/references/validation-workflow.md +0 -117
  334. package/.opencode/skills/ai-artist/scripts/core.py +0 -201
  335. package/.opencode/skills/ai-artist/scripts/extract_prompts.py +0 -102
  336. package/.opencode/skills/ai-artist/scripts/generate.py +0 -371
  337. package/.opencode/skills/ai-artist/scripts/prompt_builder.py +0 -234
  338. package/.opencode/skills/ai-artist/scripts/search.py +0 -111
  339. package/.opencode/skills/ai-multimodal/.env.example +0 -230
  340. package/.opencode/skills/ai-multimodal/SKILL.md +0 -108
  341. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-music-midnight-glow.mp3 +0 -0
  342. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-speech-demo.mp3 +0 -0
  343. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-speech-vietnamese.mp3 +0 -0
  344. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-video-kitsune.mp4 +0 -0
  345. package/.opencode/skills/ai-multimodal/references/audio-processing.md +0 -387
  346. package/.opencode/skills/ai-multimodal/references/image-generation.md +0 -1002
  347. package/.opencode/skills/ai-multimodal/references/minimax-generation.md +0 -141
  348. package/.opencode/skills/ai-multimodal/references/music-generation.md +0 -311
  349. package/.opencode/skills/ai-multimodal/references/video-analysis.md +0 -515
  350. package/.opencode/skills/ai-multimodal/references/video-generation.md +0 -457
  351. package/.opencode/skills/ai-multimodal/references/vision-understanding.md +0 -492
  352. package/.opencode/skills/ai-multimodal/scripts/.coverage +0 -0
  353. package/.opencode/skills/ai-multimodal/scripts/check_setup.py +0 -316
  354. package/.opencode/skills/ai-multimodal/scripts/document_converter.py +0 -395
  355. package/.opencode/skills/ai-multimodal/scripts/gemini_batch_process.py +0 -1187
  356. package/.opencode/skills/ai-multimodal/scripts/media_optimizer.py +0 -506
  357. package/.opencode/skills/ai-multimodal/scripts/minimax_api_client.py +0 -189
  358. package/.opencode/skills/ai-multimodal/scripts/minimax_cli.py +0 -178
  359. package/.opencode/skills/ai-multimodal/scripts/minimax_generate.py +0 -278
  360. package/.opencode/skills/ai-multimodal/scripts/requirements.txt +0 -26
  361. package/.opencode/skills/analytics/SKILL.md +0 -132
  362. package/.opencode/skills/analytics/package.json +0 -19
  363. package/.opencode/skills/analytics/references/analysis-workflows.md +0 -104
  364. package/.opencode/skills/analytics/references/attribution-models.md +0 -75
  365. package/.opencode/skills/analytics/references/ga-admin-api.md +0 -219
  366. package/.opencode/skills/analytics/references/ga-data-api.md +0 -344
  367. package/.opencode/skills/analytics/references/marketing-kpis.md +0 -63
  368. package/.opencode/skills/analytics/references/report-templates.md +0 -411
  369. package/.opencode/skills/analytics/scripts/ga-auth-setup.cjs +0 -283
  370. package/.opencode/skills/analytics/scripts/ga-config-loader.cjs +0 -320
  371. package/.opencode/skills/analytics/scripts/ga-list-accounts.cjs +0 -277
  372. package/.opencode/skills/analytics/scripts/ga-run-report.cjs +0 -334
  373. package/.opencode/skills/analyze/SKILL.md +0 -80
  374. package/.opencode/skills/analyze/references/report.md +0 -62
  375. package/.opencode/skills/ask/SKILL.md +0 -60
  376. package/.opencode/skills/assets-organizing/SKILL.md +0 -164
  377. package/.opencode/skills/assets-organizing/references/asset-types.md +0 -1478
  378. package/.opencode/skills/assets-organizing/references/directory-structure.md +0 -178
  379. package/.opencode/skills/assets-organizing/references/naming-conventions.md +0 -85
  380. package/.opencode/skills/backend-development/SKILL.md +0 -98
  381. package/.opencode/skills/backend-development/references/backend-api-design.md +0 -495
  382. package/.opencode/skills/backend-development/references/backend-architecture.md +0 -454
  383. package/.opencode/skills/backend-development/references/backend-authentication.md +0 -338
  384. package/.opencode/skills/backend-development/references/backend-code-quality.md +0 -659
  385. package/.opencode/skills/backend-development/references/backend-debugging.md +0 -904
  386. package/.opencode/skills/backend-development/references/backend-devops.md +0 -494
  387. package/.opencode/skills/backend-development/references/backend-mindset.md +0 -387
  388. package/.opencode/skills/backend-development/references/backend-performance.md +0 -397
  389. package/.opencode/skills/backend-development/references/backend-security.md +0 -290
  390. package/.opencode/skills/backend-development/references/backend-technologies.md +0 -256
  391. package/.opencode/skills/backend-development/references/backend-testing.md +0 -429
  392. package/.opencode/skills/banner-design/SKILL.md +0 -192
  393. package/.opencode/skills/banner-design/references/banner-sizes-and-styles.md +0 -118
  394. package/.opencode/skills/better-auth/SKILL.md +0 -207
  395. package/.opencode/skills/better-auth/references/advanced-features.md +0 -553
  396. package/.opencode/skills/better-auth/references/database-integration.md +0 -577
  397. package/.opencode/skills/better-auth/references/email-password-auth.md +0 -416
  398. package/.opencode/skills/better-auth/references/oauth-providers.md +0 -430
  399. package/.opencode/skills/better-auth/scripts/.coverage +0 -0
  400. package/.opencode/skills/better-auth/scripts/better_auth_init.py +0 -521
  401. package/.opencode/skills/better-auth/scripts/requirements.txt +0 -15
  402. package/.opencode/skills/bootstrap/SKILL.md +0 -105
  403. package/.opencode/skills/bootstrap/references/shared-phases.md +0 -59
  404. package/.opencode/skills/bootstrap/references/workflow-auto.md +0 -52
  405. package/.opencode/skills/bootstrap/references/workflow-fast.md +0 -50
  406. package/.opencode/skills/bootstrap/references/workflow-full.md +0 -60
  407. package/.opencode/skills/bootstrap/references/workflow-parallel.md +0 -59
  408. package/.opencode/skills/brainstorm/SKILL.md +0 -79
  409. package/.opencode/skills/brand/SKILL.md +0 -97
  410. package/.opencode/skills/brand/references/approval-checklist.md +0 -169
  411. package/.opencode/skills/brand/references/asset-organization.md +0 -157
  412. package/.opencode/skills/brand/references/brand-guideline-template.md +0 -140
  413. package/.opencode/skills/brand/references/color-palette-management.md +0 -186
  414. package/.opencode/skills/brand/references/consistency-checklist.md +0 -94
  415. package/.opencode/skills/brand/references/logo-usage-rules.md +0 -185
  416. package/.opencode/skills/brand/references/messaging-framework.md +0 -85
  417. package/.opencode/skills/brand/references/typography-specifications.md +0 -214
  418. package/.opencode/skills/brand/references/update.md +0 -118
  419. package/.opencode/skills/brand/references/visual-identity.md +0 -96
  420. package/.opencode/skills/brand/references/voice-framework.md +0 -88
  421. package/.opencode/skills/brand/scripts/extract-colors.cjs +0 -341
  422. package/.opencode/skills/brand/scripts/inject-brand-context.cjs +0 -349
  423. package/.opencode/skills/brand/scripts/sync-brand-to-tokens.cjs +0 -266
  424. package/.opencode/skills/brand/scripts/validate-asset.cjs +0 -387
  425. package/.opencode/skills/brand/templates/brand-guidelines-starter.md +0 -275
  426. package/.opencode/skills/campaign/SKILL.md +0 -73
  427. package/.opencode/skills/campaign/references/analyze.md +0 -50
  428. package/.opencode/skills/campaign/references/budget-allocation.md +0 -85
  429. package/.opencode/skills/campaign/references/campaign-brief.md +0 -79
  430. package/.opencode/skills/campaign/references/create.md +0 -211
  431. package/.opencode/skills/campaign/references/email.md +0 -59
  432. package/.opencode/skills/campaign/references/launch-checklist.md +0 -70
  433. package/.opencode/skills/campaign/references/optimization-framework.md +0 -103
  434. package/.opencode/skills/campaign/references/status.md +0 -34
  435. package/.opencode/skills/chrome-devtools/SKILL.md +0 -475
  436. package/.opencode/skills/chrome-devtools/references/cdp-domains.md +0 -694
  437. package/.opencode/skills/chrome-devtools/references/performance-guide.md +0 -940
  438. package/.opencode/skills/chrome-devtools/references/puppeteer-reference.md +0 -953
  439. package/.opencode/skills/chrome-devtools/scripts/README.md +0 -272
  440. package/.opencode/skills/chrome-devtools/scripts/__tests__/error-handling.test.js +0 -102
  441. package/.opencode/skills/chrome-devtools/scripts/__tests__/selector.test.js +0 -210
  442. package/.opencode/skills/chrome-devtools/scripts/aria-snapshot.js +0 -362
  443. package/.opencode/skills/chrome-devtools/scripts/click.js +0 -83
  444. package/.opencode/skills/chrome-devtools/scripts/connect-chrome.js +0 -146
  445. package/.opencode/skills/chrome-devtools/scripts/console.js +0 -79
  446. package/.opencode/skills/chrome-devtools/scripts/evaluate.js +0 -53
  447. package/.opencode/skills/chrome-devtools/scripts/fill.js +0 -76
  448. package/.opencode/skills/chrome-devtools/scripts/import-cookies.js +0 -205
  449. package/.opencode/skills/chrome-devtools/scripts/inject-auth.js +0 -229
  450. package/.opencode/skills/chrome-devtools/scripts/install-deps.sh +0 -181
  451. package/.opencode/skills/chrome-devtools/scripts/install.sh +0 -83
  452. package/.opencode/skills/chrome-devtools/scripts/lib/browser.js +0 -318
  453. package/.opencode/skills/chrome-devtools/scripts/lib/selector.js +0 -178
  454. package/.opencode/skills/chrome-devtools/scripts/navigate.js +0 -54
  455. package/.opencode/skills/chrome-devtools/scripts/network.js +0 -106
  456. package/.opencode/skills/chrome-devtools/scripts/package.json +0 -16
  457. package/.opencode/skills/chrome-devtools/scripts/performance.js +0 -149
  458. package/.opencode/skills/chrome-devtools/scripts/screenshot.js +0 -198
  459. package/.opencode/skills/chrome-devtools/scripts/select-ref.js +0 -131
  460. package/.opencode/skills/chrome-devtools/scripts/snapshot.js +0 -135
  461. package/.opencode/skills/chrome-devtools/scripts/ws-debug.js +0 -44
  462. package/.opencode/skills/chrome-devtools/scripts/ws-full-debug.js +0 -107
  463. package/.opencode/skills/cip-design/.env.example +0 -6
  464. package/.opencode/skills/cip-design/SKILL.md +0 -161
  465. package/.opencode/skills/cip-design/data/deliverables.csv +0 -51
  466. package/.opencode/skills/cip-design/data/industries.csv +0 -21
  467. package/.opencode/skills/cip-design/data/mockup-contexts.csv +0 -21
  468. package/.opencode/skills/cip-design/data/styles.csv +0 -21
  469. package/.opencode/skills/cip-design/references/deliverable-guide.md +0 -95
  470. package/.opencode/skills/cip-design/references/prompt-engineering.md +0 -84
  471. package/.opencode/skills/cip-design/references/style-guide.md +0 -68
  472. package/.opencode/skills/cip-design/scripts/core.py +0 -215
  473. package/.opencode/skills/cip-design/scripts/generate.py +0 -488
  474. package/.opencode/skills/cip-design/scripts/render-html.py +0 -424
  475. package/.opencode/skills/cip-design/scripts/search.py +0 -127
  476. package/.opencode/skills/ck-autoresearch/SKILL.md +0 -153
  477. package/.opencode/skills/ck-autoresearch/references/autonomous-loop-protocol.md +0 -193
  478. package/.opencode/skills/ck-autoresearch/references/git-memory-pattern.md +0 -109
  479. package/.opencode/skills/ck-autoresearch/references/guard-and-noise.md +0 -140
  480. package/.opencode/skills/ck-autoresearch/references/metric-library.md +0 -200
  481. package/.opencode/skills/ck-autoresearch/references/results-logging.md +0 -74
  482. package/.opencode/skills/ck-debug/SKILL.md +0 -123
  483. package/.opencode/skills/ck-debug/references/defense-in-depth.md +0 -124
  484. package/.opencode/skills/ck-debug/references/frontend-verification.md +0 -103
  485. package/.opencode/skills/ck-debug/references/investigation-methodology.md +0 -101
  486. package/.opencode/skills/ck-debug/references/log-and-ci-analysis.md +0 -97
  487. package/.opencode/skills/ck-debug/references/performance-diagnostics.md +0 -113
  488. package/.opencode/skills/ck-debug/references/reporting-standards.md +0 -122
  489. package/.opencode/skills/ck-debug/references/root-cause-tracing.md +0 -122
  490. package/.opencode/skills/ck-debug/references/systematic-debugging.md +0 -102
  491. package/.opencode/skills/ck-debug/references/task-management-debugging.md +0 -155
  492. package/.opencode/skills/ck-debug/references/verification.md +0 -123
  493. package/.opencode/skills/ck-debug/scripts/find-polluter.sh +0 -63
  494. package/.opencode/skills/ck-debug/scripts/find-polluter.test.md +0 -102
  495. package/.opencode/skills/ck-loop/SKILL.md +0 -149
  496. package/.opencode/skills/ck-loop/references/autonomous-loop-protocol.md +0 -193
  497. package/.opencode/skills/ck-loop/references/git-memory-pattern.md +0 -109
  498. package/.opencode/skills/ck-loop/references/guard-and-noise.md +0 -140
  499. package/.opencode/skills/ck-loop/references/metric-library.md +0 -200
  500. package/.opencode/skills/ck-loop/references/results-logging.md +0 -74
  501. package/.opencode/skills/ck-plan/SKILL.md +0 -198
  502. package/.opencode/skills/ck-plan/references/archive-workflow.md +0 -53
  503. package/.opencode/skills/ck-plan/references/codebase-understanding.md +0 -62
  504. package/.opencode/skills/ck-plan/references/output-standards.md +0 -145
  505. package/.opencode/skills/ck-plan/references/plan-organization.md +0 -183
  506. package/.opencode/skills/ck-plan/references/red-team-personas.md +0 -69
  507. package/.opencode/skills/ck-plan/references/red-team-workflow.md +0 -77
  508. package/.opencode/skills/ck-plan/references/research-phase.md +0 -49
  509. package/.opencode/skills/ck-plan/references/scope-challenge.md +0 -90
  510. package/.opencode/skills/ck-plan/references/solution-design.md +0 -63
  511. package/.opencode/skills/ck-plan/references/task-management.md +0 -134
  512. package/.opencode/skills/ck-plan/references/validate-question-framework.md +0 -80
  513. package/.opencode/skills/ck-plan/references/validate-workflow.md +0 -65
  514. package/.opencode/skills/ck-plan/references/workflow-modes.md +0 -155
  515. package/.opencode/skills/ck-predict/SKILL.md +0 -119
  516. package/.opencode/skills/ck-scenario/SKILL.md +0 -113
  517. package/.opencode/skills/ck-security/SKILL.md +0 -144
  518. package/.opencode/skills/ck-security/references/stride-owasp-checklist.md +0 -128
  519. package/.opencode/skills/ckm-storage/SKILL.md +0 -23
  520. package/.opencode/skills/ckm-storage/references/list.md +0 -87
  521. package/.opencode/skills/ckm-storage/references/sync.md +0 -89
  522. package/.opencode/skills/ckm-storage/references/upload.md +0 -77
  523. package/.opencode/skills/ckm-storage/references/url.md +0 -63
  524. package/.opencode/skills/claude-code/SKILL.md +0 -64
  525. package/.opencode/skills/claude-code/references/advanced-features.md +0 -399
  526. package/.opencode/skills/claude-code/references/agent-skills.md +0 -399
  527. package/.opencode/skills/claude-code/references/api-reference.md +0 -498
  528. package/.opencode/skills/claude-code/references/best-practices.md +0 -447
  529. package/.opencode/skills/claude-code/references/cicd-integration.md +0 -428
  530. package/.opencode/skills/claude-code/references/common-workflows.md +0 -119
  531. package/.opencode/skills/claude-code/references/configuration.md +0 -480
  532. package/.opencode/skills/claude-code/references/enterprise-features.md +0 -472
  533. package/.opencode/skills/claude-code/references/getting-started.md +0 -252
  534. package/.opencode/skills/claude-code/references/hooks-and-plugins.md +0 -444
  535. package/.opencode/skills/claude-code/references/hooks-comprehensive.md +0 -622
  536. package/.opencode/skills/claude-code/references/ide-integration.md +0 -316
  537. package/.opencode/skills/claude-code/references/mcp-integration.md +0 -386
  538. package/.opencode/skills/claude-code/references/slash-commands.md +0 -489
  539. package/.opencode/skills/claude-code/references/troubleshooting.md +0 -456
  540. package/.opencode/skills/code-review/SKILL.md +0 -147
  541. package/.opencode/skills/code-review/references/adversarial-review.md +0 -223
  542. package/.opencode/skills/code-review/references/checklist-workflow.md +0 -100
  543. package/.opencode/skills/code-review/references/checklists/api.md +0 -52
  544. package/.opencode/skills/code-review/references/checklists/base.md +0 -100
  545. package/.opencode/skills/code-review/references/checklists/web-app.md +0 -54
  546. package/.opencode/skills/code-review/references/code-review-reception.md +0 -209
  547. package/.opencode/skills/code-review/references/codebase-scan-workflow.md +0 -30
  548. package/.opencode/skills/code-review/references/edge-case-scouting.md +0 -119
  549. package/.opencode/skills/code-review/references/input-mode-resolution.md +0 -135
  550. package/.opencode/skills/code-review/references/parallel-review-workflow.md +0 -76
  551. package/.opencode/skills/code-review/references/requesting-code-review.md +0 -105
  552. package/.opencode/skills/code-review/references/spec-compliance-review.md +0 -43
  553. package/.opencode/skills/code-review/references/task-management-reviews.md +0 -155
  554. package/.opencode/skills/code-review/references/verification-before-completion.md +0 -139
  555. package/.opencode/skills/coding-level/SKILL.md +0 -59
  556. package/.opencode/skills/competitor/SKILL.md +0 -95
  557. package/.opencode/skills/competitor/references/alternatives.md +0 -245
  558. package/.opencode/skills/content-hub/SKILL.md +0 -83
  559. package/.opencode/skills/content-hub/assets/hub.css +0 -693
  560. package/.opencode/skills/content-hub/assets/hub.js +0 -514
  561. package/.opencode/skills/content-hub/assets/template.html +0 -185
  562. package/.opencode/skills/content-hub/scripts/lib/ai-bridge.cjs +0 -165
  563. package/.opencode/skills/content-hub/scripts/lib/brand-context.cjs +0 -118
  564. package/.opencode/skills/content-hub/scripts/lib/port-finder.cjs +0 -43
  565. package/.opencode/skills/content-hub/scripts/lib/process-mgr.cjs +0 -102
  566. package/.opencode/skills/content-hub/scripts/lib/router.cjs +0 -276
  567. package/.opencode/skills/content-hub/scripts/lib/scanner.cjs +0 -278
  568. package/.opencode/skills/content-hub/scripts/server.cjs +0 -140
  569. package/.opencode/skills/content-hub/scripts/start-all.sh +0 -58
  570. package/.opencode/skills/content-marketing/SKILL.md +0 -87
  571. package/.opencode/skills/content-marketing/references/blog-post-templates.md +0 -108
  572. package/.opencode/skills/content-marketing/references/content-audit-checklist.md +0 -76
  573. package/.opencode/skills/content-marketing/references/content-strategy-framework.md +0 -72
  574. package/.opencode/skills/content-marketing/references/editorial-calendar-template.md +0 -59
  575. package/.opencode/skills/context-engineering/SKILL.md +0 -110
  576. package/.opencode/skills/context-engineering/references/context-compression.md +0 -84
  577. package/.opencode/skills/context-engineering/references/context-degradation.md +0 -93
  578. package/.opencode/skills/context-engineering/references/context-fundamentals.md +0 -75
  579. package/.opencode/skills/context-engineering/references/context-optimization.md +0 -82
  580. package/.opencode/skills/context-engineering/references/evaluation.md +0 -89
  581. package/.opencode/skills/context-engineering/references/memory-systems.md +0 -88
  582. package/.opencode/skills/context-engineering/references/multi-agent-patterns.md +0 -90
  583. package/.opencode/skills/context-engineering/references/project-development.md +0 -97
  584. package/.opencode/skills/context-engineering/references/runtime-awareness.md +0 -202
  585. package/.opencode/skills/context-engineering/references/tool-design.md +0 -86
  586. package/.opencode/skills/context-engineering/scripts/compression_evaluator.py +0 -349
  587. package/.opencode/skills/context-engineering/scripts/context_analyzer.py +0 -317
  588. package/.opencode/skills/cook/README.md +0 -86
  589. package/.opencode/skills/cook/SKILL.md +0 -115
  590. package/.opencode/skills/cook/references/intent-detection.md +0 -101
  591. package/.opencode/skills/cook/references/review-cycle.md +0 -75
  592. package/.opencode/skills/cook/references/subagent-patterns.md +0 -75
  593. package/.opencode/skills/cook/references/workflow-steps.md +0 -166
  594. package/.opencode/skills/copywriting/SKILL.md +0 -88
  595. package/.opencode/skills/copywriting/references/copy-formulas.md +0 -150
  596. package/.opencode/skills/copywriting/references/cta-patterns.md +0 -168
  597. package/.opencode/skills/copywriting/references/email-copy.md +0 -193
  598. package/.opencode/skills/copywriting/references/headline-templates.md +0 -140
  599. package/.opencode/skills/copywriting/references/landing-page-copy.md +0 -175
  600. package/.opencode/skills/copywriting/references/power-words.md +0 -189
  601. package/.opencode/skills/copywriting/references/social-media-copy.md +0 -222
  602. package/.opencode/skills/copywriting/references/workflow-cro.md +0 -83
  603. package/.opencode/skills/copywriting/references/workflow-enhance.md +0 -32
  604. package/.opencode/skills/copywriting/references/workflow-fast.md +0 -29
  605. package/.opencode/skills/copywriting/references/workflow-good.md +0 -39
  606. package/.opencode/skills/copywriting/references/writing-styles.md +0 -247
  607. package/.opencode/skills/copywriting/scripts/extract-writing-styles.py +0 -308
  608. package/.opencode/skills/copywriting/templates/copy-brief.md +0 -49
  609. package/.opencode/skills/creativity/SKILL.md +0 -189
  610. package/.opencode/skills/creativity/data/creative-reasoning.csv +0 -31
  611. package/.opencode/skills/creativity/data/music.csv +0 -18
  612. package/.opencode/skills/creativity/data/platforms.csv +0 -19
  613. package/.opencode/skills/creativity/data/styles.csv +0 -56
  614. package/.opencode/skills/creativity/data/voiceover.csv +0 -13
  615. package/.opencode/skills/creativity/references/audio-music.md +0 -74
  616. package/.opencode/skills/creativity/references/color-psychology.md +0 -68
  617. package/.opencode/skills/creativity/references/creative-styles-part1.md +0 -31
  618. package/.opencode/skills/creativity/references/creative-styles-part2.md +0 -36
  619. package/.opencode/skills/creativity/references/visual-trends.md +0 -84
  620. package/.opencode/skills/creativity/references/voiceover-styles.md +0 -107
  621. package/.opencode/skills/creativity/scripts/core.py +0 -179
  622. package/.opencode/skills/creativity/scripts/creative_brief.py +0 -470
  623. package/.opencode/skills/creativity/scripts/search.py +0 -62
  624. package/.opencode/skills/dashboard/SKILL.md +0 -108
  625. package/.opencode/skills/dashboard/references/check.md +0 -93
  626. package/.opencode/skills/databases/SKILL.md +0 -236
  627. package/.opencode/skills/databases/analytics.md +0 -198
  628. package/.opencode/skills/databases/db-design.md +0 -188
  629. package/.opencode/skills/databases/incremental-etl.md +0 -213
  630. package/.opencode/skills/databases/references/mongodb-aggregation.md +0 -447
  631. package/.opencode/skills/databases/references/mongodb-atlas.md +0 -465
  632. package/.opencode/skills/databases/references/mongodb-crud.md +0 -408
  633. package/.opencode/skills/databases/references/mongodb-indexing.md +0 -442
  634. package/.opencode/skills/databases/references/postgresql-administration.md +0 -594
  635. package/.opencode/skills/databases/references/postgresql-performance.md +0 -527
  636. package/.opencode/skills/databases/references/postgresql-psql-cli.md +0 -467
  637. package/.opencode/skills/databases/references/postgresql-queries.md +0 -475
  638. package/.opencode/skills/databases/scripts/.coverage +0 -0
  639. package/.opencode/skills/databases/scripts/db_backup.py +0 -502
  640. package/.opencode/skills/databases/scripts/db_migrate.py +0 -425
  641. package/.opencode/skills/databases/scripts/db_performance_check.py +0 -456
  642. package/.opencode/skills/databases/scripts/requirements.txt +0 -20
  643. package/.opencode/skills/databases/stacks/bigquery.md +0 -231
  644. package/.opencode/skills/databases/stacks/d1_cloudflare.md +0 -137
  645. package/.opencode/skills/databases/stacks/mysql.md +0 -216
  646. package/.opencode/skills/databases/stacks/postgres.md +0 -235
  647. package/.opencode/skills/databases/stacks/sqlite.md +0 -244
  648. package/.opencode/skills/databases/transactional.md +0 -176
  649. package/.opencode/skills/debugging/SKILL.md +0 -87
  650. package/.opencode/skills/debugging/references/defense-in-depth.md +0 -124
  651. package/.opencode/skills/debugging/references/root-cause-tracing.md +0 -122
  652. package/.opencode/skills/debugging/references/systematic-debugging.md +0 -102
  653. package/.opencode/skills/debugging/references/verification.md +0 -123
  654. package/.opencode/skills/debugging/scripts/find-polluter.sh +0 -63
  655. package/.opencode/skills/debugging/scripts/find-polluter.test.md +0 -102
  656. package/.opencode/skills/deploy/SKILL.md +0 -157
  657. package/.opencode/skills/deploy/references/platform-config-templates.md +0 -35
  658. package/.opencode/skills/deploy/references/platforms/aws.md +0 -58
  659. package/.opencode/skills/deploy/references/platforms/cloudflare.md +0 -41
  660. package/.opencode/skills/deploy/references/platforms/coolify.md +0 -32
  661. package/.opencode/skills/deploy/references/platforms/digitalocean.md +0 -45
  662. package/.opencode/skills/deploy/references/platforms/dokploy.md +0 -29
  663. package/.opencode/skills/deploy/references/platforms/flyio.md +0 -54
  664. package/.opencode/skills/deploy/references/platforms/gcp.md +0 -45
  665. package/.opencode/skills/deploy/references/platforms/github-pages.md +0 -56
  666. package/.opencode/skills/deploy/references/platforms/heroku.md +0 -31
  667. package/.opencode/skills/deploy/references/platforms/netlify.md +0 -39
  668. package/.opencode/skills/deploy/references/platforms/railway.md +0 -38
  669. package/.opencode/skills/deploy/references/platforms/render.md +0 -39
  670. package/.opencode/skills/deploy/references/platforms/tose.md +0 -35
  671. package/.opencode/skills/deploy/references/platforms/vercel.md +0 -37
  672. package/.opencode/skills/deploy/references/platforms/vultr.md +0 -27
  673. package/.opencode/skills/design/SKILL.md +0 -302
  674. package/.opencode/skills/design/data/cip/deliverables.csv +0 -51
  675. package/.opencode/skills/design/data/cip/industries.csv +0 -21
  676. package/.opencode/skills/design/data/cip/mockup-contexts.csv +0 -21
  677. package/.opencode/skills/design/data/cip/styles.csv +0 -21
  678. package/.opencode/skills/design/data/icon/styles.csv +0 -16
  679. package/.opencode/skills/design/data/logo/colors.csv +0 -56
  680. package/.opencode/skills/design/data/logo/industries.csv +0 -56
  681. package/.opencode/skills/design/data/logo/styles.csv +0 -56
  682. package/.opencode/skills/design/references/banner-sizes-and-styles.md +0 -118
  683. package/.opencode/skills/design/references/cip-deliverable-guide.md +0 -95
  684. package/.opencode/skills/design/references/cip-design.md +0 -121
  685. package/.opencode/skills/design/references/cip-prompt-engineering.md +0 -84
  686. package/.opencode/skills/design/references/cip-style-guide.md +0 -68
  687. package/.opencode/skills/design/references/design-routing.md +0 -207
  688. package/.opencode/skills/design/references/icon-design.md +0 -122
  689. package/.opencode/skills/design/references/logo-color-psychology.md +0 -101
  690. package/.opencode/skills/design/references/logo-design.md +0 -92
  691. package/.opencode/skills/design/references/logo-prompt-engineering.md +0 -158
  692. package/.opencode/skills/design/references/logo-style-guide.md +0 -109
  693. package/.opencode/skills/design/references/slides-copywriting-formulas.md +0 -84
  694. package/.opencode/skills/design/references/slides-create.md +0 -4
  695. package/.opencode/skills/design/references/slides-html-template.md +0 -295
  696. package/.opencode/skills/design/references/slides-layout-patterns.md +0 -137
  697. package/.opencode/skills/design/references/slides-strategies.md +0 -94
  698. package/.opencode/skills/design/references/slides.md +0 -42
  699. package/.opencode/skills/design/references/social-photos-design.md +0 -329
  700. package/.opencode/skills/design/scripts/cip/core.py +0 -215
  701. package/.opencode/skills/design/scripts/cip/generate.py +0 -488
  702. package/.opencode/skills/design/scripts/cip/render-html.py +0 -424
  703. package/.opencode/skills/design/scripts/cip/search.py +0 -127
  704. package/.opencode/skills/design/scripts/icon/generate.py +0 -487
  705. package/.opencode/skills/design/scripts/logo/core.py +0 -175
  706. package/.opencode/skills/design/scripts/logo/generate.py +0 -363
  707. package/.opencode/skills/design/scripts/logo/search.py +0 -114
  708. package/.opencode/skills/design-system/SKILL.md +0 -244
  709. package/.opencode/skills/design-system/data/slide-backgrounds.csv +0 -11
  710. package/.opencode/skills/design-system/data/slide-charts.csv +0 -26
  711. package/.opencode/skills/design-system/data/slide-color-logic.csv +0 -14
  712. package/.opencode/skills/design-system/data/slide-copy.csv +0 -26
  713. package/.opencode/skills/design-system/data/slide-layout-logic.csv +0 -16
  714. package/.opencode/skills/design-system/data/slide-layouts.csv +0 -26
  715. package/.opencode/skills/design-system/data/slide-strategies.csv +0 -16
  716. package/.opencode/skills/design-system/data/slide-typography.csv +0 -15
  717. package/.opencode/skills/design-system/references/component-specs.md +0 -236
  718. package/.opencode/skills/design-system/references/component-tokens.md +0 -214
  719. package/.opencode/skills/design-system/references/primitive-tokens.md +0 -203
  720. package/.opencode/skills/design-system/references/semantic-tokens.md +0 -215
  721. package/.opencode/skills/design-system/references/states-and-variants.md +0 -241
  722. package/.opencode/skills/design-system/references/tailwind-integration.md +0 -251
  723. package/.opencode/skills/design-system/references/token-architecture.md +0 -224
  724. package/.opencode/skills/design-system/scripts/embed-tokens.cjs +0 -99
  725. package/.opencode/skills/design-system/scripts/fetch-background.py +0 -317
  726. package/.opencode/skills/design-system/scripts/generate-slide.py +0 -753
  727. package/.opencode/skills/design-system/scripts/generate-tokens.cjs +0 -205
  728. package/.opencode/skills/design-system/scripts/html-token-validator.py +0 -327
  729. package/.opencode/skills/design-system/scripts/search-slides.py +0 -218
  730. package/.opencode/skills/design-system/scripts/slide-token-validator.py +0 -35
  731. package/.opencode/skills/design-system/scripts/slide_search_core.py +0 -453
  732. package/.opencode/skills/design-system/scripts/validate-tokens.cjs +0 -251
  733. package/.opencode/skills/design-system/templates/design-tokens-starter.json +0 -143
  734. package/.opencode/skills/devops/.env.example +0 -76
  735. package/.opencode/skills/devops/SKILL.md +0 -288
  736. package/.opencode/skills/devops/references/browser-rendering.md +0 -305
  737. package/.opencode/skills/devops/references/cloudflare-d1-kv.md +0 -123
  738. package/.opencode/skills/devops/references/cloudflare-platform.md +0 -271
  739. package/.opencode/skills/devops/references/cloudflare-r2-storage.md +0 -280
  740. package/.opencode/skills/devops/references/cloudflare-workers-advanced.md +0 -312
  741. package/.opencode/skills/devops/references/cloudflare-workers-apis.md +0 -309
  742. package/.opencode/skills/devops/references/cloudflare-workers-basics.md +0 -418
  743. package/.opencode/skills/devops/references/docker-basics.md +0 -297
  744. package/.opencode/skills/devops/references/docker-compose.md +0 -292
  745. package/.opencode/skills/devops/references/gcloud-platform.md +0 -297
  746. package/.opencode/skills/devops/references/gcloud-services.md +0 -304
  747. package/.opencode/skills/devops/references/kubernetes-basics.md +0 -99
  748. package/.opencode/skills/devops/references/kubernetes-helm-advanced.md +0 -75
  749. package/.opencode/skills/devops/references/kubernetes-helm.md +0 -81
  750. package/.opencode/skills/devops/references/kubernetes-kubectl.md +0 -74
  751. package/.opencode/skills/devops/references/kubernetes-security-advanced.md +0 -98
  752. package/.opencode/skills/devops/references/kubernetes-security.md +0 -95
  753. package/.opencode/skills/devops/references/kubernetes-troubleshooting-advanced.md +0 -74
  754. package/.opencode/skills/devops/references/kubernetes-troubleshooting.md +0 -49
  755. package/.opencode/skills/devops/references/kubernetes-workflows-advanced.md +0 -75
  756. package/.opencode/skills/devops/references/kubernetes-workflows.md +0 -78
  757. package/.opencode/skills/devops/scripts/cloudflare_deploy.py +0 -269
  758. package/.opencode/skills/devops/scripts/docker_optimize.py +0 -331
  759. package/.opencode/skills/devops/scripts/requirements.txt +0 -20
  760. package/.opencode/skills/docs/SKILL.md +0 -23
  761. package/.opencode/skills/docs/references/init-workflow.md +0 -32
  762. package/.opencode/skills/docs/references/init.md +0 -23
  763. package/.opencode/skills/docs/references/llms.md +0 -8
  764. package/.opencode/skills/docs/references/summarize-workflow.md +0 -18
  765. package/.opencode/skills/docs/references/summarize.md +0 -18
  766. package/.opencode/skills/docs/references/update-workflow.md +0 -59
  767. package/.opencode/skills/docs/references/update.md +0 -32
  768. package/.opencode/skills/docs-seeker/.env.example +0 -15
  769. package/.opencode/skills/docs-seeker/SKILL.md +0 -100
  770. package/.opencode/skills/docs-seeker/package.json +0 -25
  771. package/.opencode/skills/docs-seeker/references/advanced.md +0 -79
  772. package/.opencode/skills/docs-seeker/references/context7-patterns.md +0 -68
  773. package/.opencode/skills/docs-seeker/references/errors.md +0 -68
  774. package/.opencode/skills/docs-seeker/scripts/analyze-llms-txt.js +0 -211
  775. package/.opencode/skills/docs-seeker/scripts/detect-topic.js +0 -172
  776. package/.opencode/skills/docs-seeker/scripts/fetch-docs.js +0 -213
  777. package/.opencode/skills/docs-seeker/scripts/utils/env-loader.js +0 -94
  778. package/.opencode/skills/docs-seeker/workflows/library-search.md +0 -87
  779. package/.opencode/skills/docs-seeker/workflows/repo-analysis.md +0 -91
  780. package/.opencode/skills/docs-seeker/workflows/topic-search.md +0 -77
  781. package/.opencode/skills/elevenlabs/.env.example +0 -3
  782. package/.opencode/skills/elevenlabs/README.md +0 -57
  783. package/.opencode/skills/elevenlabs/SKILL.md +0 -97
  784. package/.opencode/skills/elevenlabs/references/available-models.md +0 -720
  785. package/.opencode/skills/elevenlabs/references/conversational-ai-agents-guide.md +0 -168
  786. package/.opencode/skills/elevenlabs/references/sound-effects-and-music-generation-guide.md +0 -131
  787. package/.opencode/skills/elevenlabs/references/text-to-speech-guide.md +0 -132
  788. package/.opencode/skills/elevenlabs/references/voice-cloning-guide.md +0 -94
  789. package/.opencode/skills/elevenlabs/references/voice-design-prompting-guide.md +0 -96
  790. package/.opencode/skills/elevenlabs/requirements.txt +0 -1
  791. package/.opencode/skills/elevenlabs/scripts/elevenlabs-sound-effects-generator.py +0 -108
  792. package/.opencode/skills/elevenlabs/scripts/elevenlabs-text-to-speech-generator.py +0 -184
  793. package/.opencode/skills/elevenlabs/scripts/elevenlabs-voice-cloner.py +0 -127
  794. package/.opencode/skills/elevenlabs/scripts/elevenlabs-voice-manager.py +0 -194
  795. package/.opencode/skills/email/SKILL.md +0 -56
  796. package/.opencode/skills/email/references/automation-flows.md +0 -429
  797. package/.opencode/skills/email/references/deliverability-checklist.md +0 -73
  798. package/.opencode/skills/email/references/email-templates.md +0 -127
  799. package/.opencode/skills/email/references/flow.md +0 -165
  800. package/.opencode/skills/email/references/sequence.md +0 -166
  801. package/.opencode/skills/email/references/subject-line-formulas.md +0 -67
  802. package/.opencode/skills/find-skills/SKILL.md +0 -137
  803. package/.opencode/skills/fix/SKILL.md +0 -75
  804. package/.opencode/skills/fix/references/complexity-assessment.md +0 -61
  805. package/.opencode/skills/fix/references/diagnosis-protocol.md +0 -133
  806. package/.opencode/skills/fix/references/mode-selection.md +0 -46
  807. package/.opencode/skills/fix/references/parallel-exploration.md +0 -77
  808. package/.opencode/skills/fix/references/prevention-gate.md +0 -87
  809. package/.opencode/skills/fix/references/review-cycle.md +0 -77
  810. package/.opencode/skills/fix/references/skill-activation-matrix.md +0 -65
  811. package/.opencode/skills/fix/references/task-orchestration.md +0 -110
  812. package/.opencode/skills/fix/references/workflow-ci.md +0 -28
  813. package/.opencode/skills/fix/references/workflow-deep.md +0 -91
  814. package/.opencode/skills/fix/references/workflow-logs.md +0 -36
  815. package/.opencode/skills/fix/references/workflow-quick.md +0 -59
  816. package/.opencode/skills/fix/references/workflow-standard.md +0 -86
  817. package/.opencode/skills/fix/references/workflow-test.md +0 -36
  818. package/.opencode/skills/fix/references/workflow-types.md +0 -33
  819. package/.opencode/skills/fix/references/workflow-ui.md +0 -37
  820. package/.opencode/skills/form-cro/SKILL.md +0 -429
  821. package/.opencode/skills/free-tool-strategy/SKILL.md +0 -580
  822. package/.opencode/skills/frontend-design/SKILL.md +0 -81
  823. package/.opencode/skills/frontend-design/references/ai-multimodal-overview.md +0 -165
  824. package/.opencode/skills/frontend-design/references/analysis-best-practices.md +0 -80
  825. package/.opencode/skills/frontend-design/references/analysis-prompts.md +0 -141
  826. package/.opencode/skills/frontend-design/references/analysis-techniques.md +0 -118
  827. package/.opencode/skills/frontend-design/references/animejs.md +0 -396
  828. package/.opencode/skills/frontend-design/references/anti-slop-rules.md +0 -103
  829. package/.opencode/skills/frontend-design/references/asset-generation.md +0 -337
  830. package/.opencode/skills/frontend-design/references/bento-motion-engine.md +0 -142
  831. package/.opencode/skills/frontend-design/references/design-extraction-overview.md +0 -71
  832. package/.opencode/skills/frontend-design/references/extraction-best-practices.md +0 -141
  833. package/.opencode/skills/frontend-design/references/extraction-output-templates.md +0 -162
  834. package/.opencode/skills/frontend-design/references/extraction-prompts.md +0 -127
  835. package/.opencode/skills/frontend-design/references/magicui-components.md +0 -129
  836. package/.opencode/skills/frontend-design/references/performance-guardrails.md +0 -169
  837. package/.opencode/skills/frontend-design/references/premium-design-patterns.md +0 -93
  838. package/.opencode/skills/frontend-design/references/redesign-audit-checklist.md +0 -114
  839. package/.opencode/skills/frontend-design/references/technical-accessibility.md +0 -119
  840. package/.opencode/skills/frontend-design/references/technical-best-practices.md +0 -97
  841. package/.opencode/skills/frontend-design/references/technical-optimization.md +0 -44
  842. package/.opencode/skills/frontend-design/references/technical-overview.md +0 -90
  843. package/.opencode/skills/frontend-design/references/technical-workflows.md +0 -150
  844. package/.opencode/skills/frontend-design/references/visual-analysis-overview.md +0 -95
  845. package/.opencode/skills/frontend-design/references/workflow-3d.md +0 -102
  846. package/.opencode/skills/frontend-design/references/workflow-describe.md +0 -87
  847. package/.opencode/skills/frontend-design/references/workflow-immersive.md +0 -87
  848. package/.opencode/skills/frontend-design/references/workflow-quick.md +0 -57
  849. package/.opencode/skills/frontend-design/references/workflow-screenshot.md +0 -63
  850. package/.opencode/skills/frontend-design/references/workflow-video.md +0 -74
  851. package/.opencode/skills/frontend-development/SKILL.md +0 -403
  852. package/.opencode/skills/frontend-development/resources/common-patterns.md +0 -331
  853. package/.opencode/skills/frontend-development/resources/complete-examples.md +0 -872
  854. package/.opencode/skills/frontend-development/resources/component-patterns.md +0 -502
  855. package/.opencode/skills/frontend-development/resources/data-fetching.md +0 -767
  856. package/.opencode/skills/frontend-development/resources/file-organization.md +0 -502
  857. package/.opencode/skills/frontend-development/resources/loading-and-error-states.md +0 -501
  858. package/.opencode/skills/frontend-development/resources/performance.md +0 -406
  859. package/.opencode/skills/frontend-development/resources/routing-guide.md +0 -364
  860. package/.opencode/skills/frontend-development/resources/styling-guide.md +0 -428
  861. package/.opencode/skills/frontend-development/resources/typescript-standards.md +0 -418
  862. package/.opencode/skills/funnel/SKILL.md +0 -82
  863. package/.opencode/skills/gamification-marketing/SKILL.md +0 -95
  864. package/.opencode/skills/gamification-marketing/references/analytics-events.md +0 -84
  865. package/.opencode/skills/gamification-marketing/references/campaign-templates.md +0 -80
  866. package/.opencode/skills/gamification-marketing/references/case-studies.md +0 -60
  867. package/.opencode/skills/gamification-marketing/references/challenge-configs.md +0 -86
  868. package/.opencode/skills/gamification-marketing/references/database-schema.md +0 -98
  869. package/.opencode/skills/gamification-marketing/references/implementation-guide.md +0 -57
  870. package/.opencode/skills/gamification-marketing/references/kpi-tracking.md +0 -53
  871. package/.opencode/skills/gamification-marketing/references/mechanics-selection.md +0 -81
  872. package/.opencode/skills/gamification-marketing/references/psychology-frameworks.md +0 -96
  873. package/.opencode/skills/git/SKILL.md +0 -101
  874. package/.opencode/skills/git/references/branch-management.md +0 -88
  875. package/.opencode/skills/git/references/commit-standards.md +0 -45
  876. package/.opencode/skills/git/references/gh-cli-guide.md +0 -109
  877. package/.opencode/skills/git/references/safety-protocols.md +0 -69
  878. package/.opencode/skills/git/references/workflow-commit.md +0 -56
  879. package/.opencode/skills/git/references/workflow-merge.md +0 -48
  880. package/.opencode/skills/git/references/workflow-pr.md +0 -58
  881. package/.opencode/skills/git/references/workflow-push.md +0 -52
  882. package/.opencode/skills/gkg/SKILL.md +0 -94
  883. package/.opencode/skills/gkg/references/cli-commands.md +0 -106
  884. package/.opencode/skills/gkg/references/http-api.md +0 -102
  885. package/.opencode/skills/gkg/references/language-support.md +0 -57
  886. package/.opencode/skills/gkg/references/mcp-tools.md +0 -99
  887. package/.opencode/skills/google-adk-python/SKILL.md +0 -246
  888. package/.opencode/skills/google-adk-python/references/agent-types-and-architecture.md +0 -128
  889. package/.opencode/skills/google-adk-python/references/callbacks-plugins-observability.md +0 -117
  890. package/.opencode/skills/google-adk-python/references/deployment-cloud-run-vertex-gke.md +0 -138
  891. package/.opencode/skills/google-adk-python/references/evaluation-testing-cli.md +0 -112
  892. package/.opencode/skills/google-adk-python/references/multi-agent-and-a2a-protocol.md +0 -145
  893. package/.opencode/skills/google-adk-python/references/sessions-state-memory-artifacts.md +0 -131
  894. package/.opencode/skills/google-adk-python/references/tools-and-mcp-integration.md +0 -146
  895. package/.opencode/skills/hub/SKILL.md +0 -55
  896. package/.opencode/skills/init/SKILL.md +0 -219
  897. package/.opencode/skills/journal/SKILL.md +0 -22
  898. package/.opencode/skills/kanban/SKILL.md +0 -69
  899. package/.opencode/skills/kit-builder/SKILL.md +0 -85
  900. package/.opencode/skills/kit-builder/references/agent-guide.md +0 -79
  901. package/.opencode/skills/kit-builder/references/best-practices.md +0 -117
  902. package/.opencode/skills/kit-builder/references/command-guide.md +0 -91
  903. package/.opencode/skills/kit-builder/references/marketing-checklist.md +0 -121
  904. package/.opencode/skills/kit-builder/references/skill-guide.md +0 -74
  905. package/.opencode/skills/kit-builder/references/workflow-guide.md +0 -113
  906. package/.opencode/skills/kit-builder/scripts/init_component.py +0 -260
  907. package/.opencode/skills/kit-builder/templates/agent-template.md +0 -48
  908. package/.opencode/skills/kit-builder/templates/command-template.md +0 -37
  909. package/.opencode/skills/kit-builder/templates/skill-template.md +0 -53
  910. package/.opencode/skills/kit-builder/templates/workflow-template.md +0 -80
  911. package/.opencode/skills/launch-strategy/SKILL.md +0 -348
  912. package/.opencode/skills/llms/SKILL.md +0 -120
  913. package/.opencode/skills/llms/references/llms-txt-specification.md +0 -87
  914. package/.opencode/skills/llms/scripts/generate-llms-txt.py +0 -350
  915. package/.opencode/skills/logo-design/SKILL.md +0 -156
  916. package/.opencode/skills/logo-design/data/colors.csv +0 -56
  917. package/.opencode/skills/logo-design/data/industries.csv +0 -56
  918. package/.opencode/skills/logo-design/data/styles.csv +0 -56
  919. package/.opencode/skills/logo-design/references/color-psychology.md +0 -101
  920. package/.opencode/skills/logo-design/references/prompt-engineering.md +0 -158
  921. package/.opencode/skills/logo-design/references/style-guide.md +0 -109
  922. package/.opencode/skills/logo-design/scripts/core.py +0 -175
  923. package/.opencode/skills/logo-design/scripts/generate.py +0 -363
  924. package/.opencode/skills/logo-design/scripts/search.py +0 -114
  925. package/.opencode/skills/markdown-novel-viewer/SKILL.md +0 -285
  926. package/.opencode/skills/markdown-novel-viewer/assets/directory-browser.css +0 -215
  927. package/.opencode/skills/markdown-novel-viewer/assets/novel-theme.css +0 -872
  928. package/.opencode/skills/markdown-novel-viewer/assets/reader.js +0 -357
  929. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-base.css +0 -54
  930. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-components.css +0 -188
  931. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-content.css +0 -178
  932. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-header.css +0 -217
  933. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-mermaid.css +0 -153
  934. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-overlays.css +0 -202
  935. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-responsive.css +0 -285
  936. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-sidebar.css +0 -358
  937. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-variables.css +0 -56
  938. package/.opencode/skills/markdown-novel-viewer/assets/template.html +0 -85
  939. package/.opencode/skills/markdown-novel-viewer/bun.lock +0 -38
  940. package/.opencode/skills/markdown-novel-viewer/package.json +0 -15
  941. package/.opencode/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +0 -434
  942. package/.opencode/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +0 -335
  943. package/.opencode/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +0 -509
  944. package/.opencode/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +0 -48
  945. package/.opencode/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +0 -150
  946. package/.opencode/skills/markdown-novel-viewer/scripts/server.cjs +0 -411
  947. package/.opencode/skills/marketing-dashboard/.env.example +0 -15
  948. package/.opencode/skills/marketing-dashboard/README.md +0 -363
  949. package/.opencode/skills/marketing-dashboard/SKILL.md +0 -84
  950. package/.opencode/skills/marketing-dashboard/app/.env.example +0 -2
  951. package/.opencode/skills/marketing-dashboard/app/README.md +0 -5
  952. package/.opencode/skills/marketing-dashboard/app/index.html +0 -13
  953. package/.opencode/skills/marketing-dashboard/app/package.json +0 -31
  954. package/.opencode/skills/marketing-dashboard/app/postcss.config.js +0 -5
  955. package/.opencode/skills/marketing-dashboard/app/public/vite.svg +0 -1
  956. package/.opencode/skills/marketing-dashboard/app/src/App.vue +0 -9
  957. package/.opencode/skills/marketing-dashboard/app/src/assets/vue.svg +0 -1
  958. package/.opencode/skills/marketing-dashboard/app/src/components/assets/AssetCard.vue +0 -338
  959. package/.opencode/skills/marketing-dashboard/app/src/components/assets/AssetGrid.vue +0 -673
  960. package/.opencode/skills/marketing-dashboard/app/src/components/assets/AssetPreview.vue +0 -530
  961. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/CodePreview.vue +0 -402
  962. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/ImagePreview.vue +0 -282
  963. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/InfographicPreview.vue +0 -167
  964. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/JsonVisualizer.vue +0 -548
  965. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/MarkdownPreview.vue +0 -774
  966. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/SlidePreview.vue +0 -341
  967. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/SocialPostPreview.vue +0 -505
  968. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/StoryboardPreview.vue +0 -311
  969. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/TranscriptPreview.vue +0 -350
  970. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/VideoPreview.vue +0 -351
  971. package/.opencode/skills/marketing-dashboard/app/src/components/brand/ColorPalette.vue +0 -131
  972. package/.opencode/skills/marketing-dashboard/app/src/components/brand/ComponentShowcase.vue +0 -188
  973. package/.opencode/skills/marketing-dashboard/app/src/components/brand/LogoGallery.vue +0 -167
  974. package/.opencode/skills/marketing-dashboard/app/src/components/brand/SpacingScale.vue +0 -33
  975. package/.opencode/skills/marketing-dashboard/app/src/components/brand/TypographyPreview.vue +0 -97
  976. package/.opencode/skills/marketing-dashboard/app/src/components/brand/VoiceSummary.vue +0 -92
  977. package/.opencode/skills/marketing-dashboard/app/src/components/common/LoadingSpinner.vue +0 -75
  978. package/.opencode/skills/marketing-dashboard/app/src/components/common/Modal.vue +0 -60
  979. package/.opencode/skills/marketing-dashboard/app/src/components/common/Toast.vue +0 -119
  980. package/.opencode/skills/marketing-dashboard/app/src/components/layout/AppHeader.vue +0 -17
  981. package/.opencode/skills/marketing-dashboard/app/src/components/layout/AppLayout.vue +0 -16
  982. package/.opencode/skills/marketing-dashboard/app/src/components/layout/AppSidebar.vue +0 -103
  983. package/.opencode/skills/marketing-dashboard/app/src/config.js +0 -1
  984. package/.opencode/skills/marketing-dashboard/app/src/main.js +0 -12
  985. package/.opencode/skills/marketing-dashboard/app/src/router/index.js +0 -33
  986. package/.opencode/skills/marketing-dashboard/app/src/stores/assets.js +0 -108
  987. package/.opencode/skills/marketing-dashboard/app/src/stores/brand.js +0 -94
  988. package/.opencode/skills/marketing-dashboard/app/src/style.css +0 -72
  989. package/.opencode/skills/marketing-dashboard/app/src/views/AssetsView.vue +0 -109
  990. package/.opencode/skills/marketing-dashboard/app/src/views/BrandView.vue +0 -82
  991. package/.opencode/skills/marketing-dashboard/app/src/views/SettingsView.vue +0 -108
  992. package/.opencode/skills/marketing-dashboard/app/tailwind.config.js +0 -34
  993. package/.opencode/skills/marketing-dashboard/app/vite.config.js +0 -19
  994. package/.opencode/skills/marketing-dashboard/build.sh +0 -43
  995. package/.opencode/skills/marketing-dashboard/server/.env.example +0 -2
  996. package/.opencode/skills/marketing-dashboard/server/__tests__/ai.test.js +0 -456
  997. package/.opencode/skills/marketing-dashboard/server/__tests__/assets.test.js +0 -286
  998. package/.opencode/skills/marketing-dashboard/server/__tests__/brand-security.test.js +0 -183
  999. package/.opencode/skills/marketing-dashboard/server/__tests__/security-file-serving.test.js +0 -159
  1000. package/.opencode/skills/marketing-dashboard/server/__tests__/test-db.js +0 -31
  1001. package/.opencode/skills/marketing-dashboard/server/coverage_output.txt +0 -7
  1002. package/.opencode/skills/marketing-dashboard/server/db/database.js +0 -61
  1003. package/.opencode/skills/marketing-dashboard/server/db/schema.sql +0 -26
  1004. package/.opencode/skills/marketing-dashboard/server/index.js +0 -105
  1005. package/.opencode/skills/marketing-dashboard/server/lib/ai-bridge.cjs +0 -201
  1006. package/.opencode/skills/marketing-dashboard/server/lib/brand-context.cjs +0 -118
  1007. package/.opencode/skills/marketing-dashboard/server/lib/scanner.cjs +0 -440
  1008. package/.opencode/skills/marketing-dashboard/server/middleware/auth.js +0 -48
  1009. package/.opencode/skills/marketing-dashboard/server/package.json +0 -31
  1010. package/.opencode/skills/marketing-dashboard/server/routes/assets.js +0 -269
  1011. package/.opencode/skills/marketing-dashboard/server/routes/brand.js +0 -143
  1012. package/.opencode/skills/marketing-dashboard/server/vitest.config.js +0 -23
  1013. package/.opencode/skills/marketing-dashboard/start-production.sh +0 -55
  1014. package/.opencode/skills/marketing-dashboard/start.sh +0 -63
  1015. package/.opencode/skills/marketing-dashboard/stop.sh +0 -54
  1016. package/.opencode/skills/marketing-dashboard/temp/enhance/enhance-1766508537903.md +0 -7
  1017. package/.opencode/skills/marketing-ideas/SKILL.md +0 -569
  1018. package/.opencode/skills/marketing-planning/SKILL.md +0 -122
  1019. package/.opencode/skills/marketing-planning/references/brand-context.md +0 -54
  1020. package/.opencode/skills/marketing-planning/references/output-standards.md +0 -117
  1021. package/.opencode/skills/marketing-planning/references/plan-organization.md +0 -109
  1022. package/.opencode/skills/marketing-planning/references/research-phase.md +0 -39
  1023. package/.opencode/skills/marketing-planning/references/strategy-design.md +0 -61
  1024. package/.opencode/skills/marketing-psychology/SKILL.md +0 -455
  1025. package/.opencode/skills/marketing-research/SKILL.md +0 -172
  1026. package/.opencode/skills/mcp-builder/LICENSE.txt +0 -202
  1027. package/.opencode/skills/mcp-builder/SKILL.md +0 -332
  1028. package/.opencode/skills/mcp-builder/reference/evaluation.md +0 -602
  1029. package/.opencode/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  1030. package/.opencode/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  1031. package/.opencode/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  1032. package/.opencode/skills/mcp-builder/scripts/connections.py +0 -151
  1033. package/.opencode/skills/mcp-builder/scripts/evaluation.py +0 -373
  1034. package/.opencode/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  1035. package/.opencode/skills/mcp-builder/scripts/requirements.txt +0 -2
  1036. package/.opencode/skills/mcp-management/README.md +0 -219
  1037. package/.opencode/skills/mcp-management/SKILL.md +0 -213
  1038. package/.opencode/skills/mcp-management/assets/tools.json +0 -3146
  1039. package/.opencode/skills/mcp-management/references/configuration.md +0 -114
  1040. package/.opencode/skills/mcp-management/references/gemini-cli-integration.md +0 -215
  1041. package/.opencode/skills/mcp-management/references/mcp-protocol.md +0 -116
  1042. package/.opencode/skills/mcp-management/scripts/.env.example +0 -10
  1043. package/.opencode/skills/mcp-management/scripts/cli.ts +0 -195
  1044. package/.opencode/skills/mcp-management/scripts/dist/analyze-tools.js +0 -70
  1045. package/.opencode/skills/mcp-management/scripts/dist/cli.js +0 -160
  1046. package/.opencode/skills/mcp-management/scripts/dist/mcp-client.js +0 -183
  1047. package/.opencode/skills/mcp-management/scripts/mcp-client.ts +0 -230
  1048. package/.opencode/skills/mcp-management/scripts/package.json +0 -20
  1049. package/.opencode/skills/mcp-management/scripts/tsconfig.json +0 -15
  1050. package/.opencode/skills/media-processing/SKILL.md +0 -95
  1051. package/.opencode/skills/media-processing/references/common-workflows.md +0 -132
  1052. package/.opencode/skills/media-processing/references/ffmpeg-encoding.md +0 -358
  1053. package/.opencode/skills/media-processing/references/ffmpeg-filters.md +0 -503
  1054. package/.opencode/skills/media-processing/references/ffmpeg-streaming.md +0 -403
  1055. package/.opencode/skills/media-processing/references/format-compatibility.md +0 -375
  1056. package/.opencode/skills/media-processing/references/imagemagick-batch.md +0 -612
  1057. package/.opencode/skills/media-processing/references/imagemagick-editing.md +0 -623
  1058. package/.opencode/skills/media-processing/references/rmbg-background-removal.md +0 -66
  1059. package/.opencode/skills/media-processing/references/troubleshooting.md +0 -109
  1060. package/.opencode/skills/media-processing/scripts/README.md +0 -111
  1061. package/.opencode/skills/media-processing/scripts/batch-remove-background.sh +0 -124
  1062. package/.opencode/skills/media-processing/scripts/batch_resize.py +0 -342
  1063. package/.opencode/skills/media-processing/scripts/media_convert.py +0 -311
  1064. package/.opencode/skills/media-processing/scripts/remove-background.sh +0 -96
  1065. package/.opencode/skills/media-processing/scripts/remove-bg-node.js +0 -158
  1066. package/.opencode/skills/media-processing/scripts/requirements.txt +0 -24
  1067. package/.opencode/skills/media-processing/scripts/video_optimize.py +0 -414
  1068. package/.opencode/skills/mermaidjs-v11/SKILL.md +0 -119
  1069. package/.opencode/skills/mermaidjs-v11/references/cli-usage.md +0 -228
  1070. package/.opencode/skills/mermaidjs-v11/references/configuration.md +0 -232
  1071. package/.opencode/skills/mermaidjs-v11/references/diagram-types.md +0 -315
  1072. package/.opencode/skills/mermaidjs-v11/references/examples.md +0 -344
  1073. package/.opencode/skills/mermaidjs-v11/references/integration.md +0 -310
  1074. package/.opencode/skills/mintlify/SKILL.md +0 -123
  1075. package/.opencode/skills/mintlify/references/ai-features-and-integrations-reference.md +0 -756
  1076. package/.opencode/skills/mintlify/references/api-documentation-components-reference.md +0 -873
  1077. package/.opencode/skills/mintlify/references/deployment-and-continuous-integration-reference.md +0 -674
  1078. package/.opencode/skills/mintlify/references/docs-json-configuration-reference.md +0 -724
  1079. package/.opencode/skills/mintlify/references/mdx-components-reference.md +0 -551
  1080. package/.opencode/skills/mintlify/references/navigation-structure-and-organization-reference.md +0 -775
  1081. package/.opencode/skills/mobile-development/SKILL.md +0 -215
  1082. package/.opencode/skills/mobile-development/references/mobile-android.md +0 -604
  1083. package/.opencode/skills/mobile-development/references/mobile-best-practices.md +0 -545
  1084. package/.opencode/skills/mobile-development/references/mobile-debugging.md +0 -1089
  1085. package/.opencode/skills/mobile-development/references/mobile-frameworks.md +0 -465
  1086. package/.opencode/skills/mobile-development/references/mobile-ios.md +0 -496
  1087. package/.opencode/skills/mobile-development/references/mobile-mindset.md +0 -544
  1088. package/.opencode/skills/onboarding-cro/SKILL.md +0 -437
  1089. package/.opencode/skills/paid-ads/SKILL.md +0 -555
  1090. package/.opencode/skills/payment-integration/README.md +0 -217
  1091. package/.opencode/skills/payment-integration/SKILL.md +0 -156
  1092. package/.opencode/skills/payment-integration/references/creem/api.md +0 -139
  1093. package/.opencode/skills/payment-integration/references/creem/checkouts.md +0 -99
  1094. package/.opencode/skills/payment-integration/references/creem/licensing.md +0 -136
  1095. package/.opencode/skills/payment-integration/references/creem/overview.md +0 -65
  1096. package/.opencode/skills/payment-integration/references/creem/sdk.md +0 -161
  1097. package/.opencode/skills/payment-integration/references/creem/subscriptions.md +0 -129
  1098. package/.opencode/skills/payment-integration/references/creem/webhooks.md +0 -120
  1099. package/.opencode/skills/payment-integration/references/implementation-workflows.md +0 -43
  1100. package/.opencode/skills/payment-integration/references/multi-provider-order-management-patterns.md +0 -821
  1101. package/.opencode/skills/payment-integration/references/paddle/api.md +0 -116
  1102. package/.opencode/skills/payment-integration/references/paddle/best-practices.md +0 -130
  1103. package/.opencode/skills/payment-integration/references/paddle/overview.md +0 -57
  1104. package/.opencode/skills/payment-integration/references/paddle/paddle-js.md +0 -106
  1105. package/.opencode/skills/payment-integration/references/paddle/sdk.md +0 -131
  1106. package/.opencode/skills/payment-integration/references/paddle/subscriptions.md +0 -118
  1107. package/.opencode/skills/payment-integration/references/paddle/webhooks.md +0 -112
  1108. package/.opencode/skills/payment-integration/references/polar/benefits.md +0 -396
  1109. package/.opencode/skills/payment-integration/references/polar/best-practices.md +0 -902
  1110. package/.opencode/skills/payment-integration/references/polar/checkouts.md +0 -266
  1111. package/.opencode/skills/payment-integration/references/polar/overview.md +0 -184
  1112. package/.opencode/skills/payment-integration/references/polar/products.md +0 -244
  1113. package/.opencode/skills/payment-integration/references/polar/sdk.md +0 -436
  1114. package/.opencode/skills/payment-integration/references/polar/subscriptions.md +0 -340
  1115. package/.opencode/skills/payment-integration/references/polar/webhooks.md +0 -405
  1116. package/.opencode/skills/payment-integration/references/sepay/api.md +0 -140
  1117. package/.opencode/skills/payment-integration/references/sepay/best-practices.md +0 -939
  1118. package/.opencode/skills/payment-integration/references/sepay/overview.md +0 -138
  1119. package/.opencode/skills/payment-integration/references/sepay/qr-codes.md +0 -228
  1120. package/.opencode/skills/payment-integration/references/sepay/sdk.md +0 -213
  1121. package/.opencode/skills/payment-integration/references/sepay/webhooks.md +0 -208
  1122. package/.opencode/skills/payment-integration/references/stripe/stripe-best-practices.md +0 -32
  1123. package/.opencode/skills/payment-integration/references/stripe/stripe-cli.md +0 -148
  1124. package/.opencode/skills/payment-integration/references/stripe/stripe-js.md +0 -116
  1125. package/.opencode/skills/payment-integration/references/stripe/stripe-sdks.md +0 -84
  1126. package/.opencode/skills/payment-integration/references/stripe/stripe-upgrade.md +0 -175
  1127. package/.opencode/skills/payment-integration/scripts/.env.example +0 -20
  1128. package/.opencode/skills/payment-integration/scripts/checkout-helper.js +0 -244
  1129. package/.opencode/skills/payment-integration/scripts/package.json +0 -17
  1130. package/.opencode/skills/payment-integration/scripts/polar-webhook-verify.js +0 -202
  1131. package/.opencode/skills/payment-integration/scripts/sepay-webhook-verify.js +0 -193
  1132. package/.opencode/skills/payment-integration/scripts/test-scripts.js +0 -237
  1133. package/.opencode/skills/persona/SKILL.md +0 -66
  1134. package/.opencode/skills/plan/SKILL.md +0 -53
  1135. package/.opencode/skills/plan/references/archive.md +0 -52
  1136. package/.opencode/skills/plan/references/ci.md +0 -28
  1137. package/.opencode/skills/plan/references/cro.md +0 -64
  1138. package/.opencode/skills/plan/references/fast.md +0 -61
  1139. package/.opencode/skills/plan/references/hard.md +0 -87
  1140. package/.opencode/skills/plan/references/parallel.md +0 -124
  1141. package/.opencode/skills/plan/references/two.md +0 -40
  1142. package/.opencode/skills/plan/references/validate.md +0 -112
  1143. package/.opencode/skills/plans-kanban/SKILL.md +0 -170
  1144. package/.opencode/skills/plans-kanban/assets/dashboard-template.html +0 -119
  1145. package/.opencode/skills/plans-kanban/assets/dashboard.css +0 -1594
  1146. package/.opencode/skills/plans-kanban/assets/dashboard.js +0 -596
  1147. package/.opencode/skills/plans-kanban/package.json +0 -13
  1148. package/.opencode/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +0 -884
  1149. package/.opencode/skills/plans-kanban/scripts/lib/http-server.cjs +0 -310
  1150. package/.opencode/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +0 -489
  1151. package/.opencode/skills/plans-kanban/scripts/lib/plan-parser.cjs +0 -175
  1152. package/.opencode/skills/plans-kanban/scripts/lib/plan-scanner.cjs +0 -272
  1153. package/.opencode/skills/plans-kanban/scripts/lib/port-finder.cjs +0 -48
  1154. package/.opencode/skills/plans-kanban/scripts/lib/process-mgr.cjs +0 -126
  1155. package/.opencode/skills/plans-kanban/scripts/server.cjs +0 -253
  1156. package/.opencode/skills/play/SKILL.md +0 -111
  1157. package/.opencode/skills/play/references/blocked.md +0 -55
  1158. package/.opencode/skills/play/references/create.md +0 -48
  1159. package/.opencode/skills/play/references/gate.md +0 -38
  1160. package/.opencode/skills/play/references/goals.md +0 -53
  1161. package/.opencode/skills/play/references/learn.md +0 -48
  1162. package/.opencode/skills/play/references/list.md +0 -34
  1163. package/.opencode/skills/play/references/next.md +0 -51
  1164. package/.opencode/skills/play/references/reset.md +0 -34
  1165. package/.opencode/skills/play/references/status.md +0 -56
  1166. package/.opencode/skills/play/references/templates.md +0 -38
  1167. package/.opencode/skills/play/scripts/goals.cjs +0 -229
  1168. package/.opencode/skills/play/scripts/graph.cjs +0 -331
  1169. package/.opencode/skills/play/scripts/manifest.cjs +0 -474
  1170. package/.opencode/skills/play/scripts/metrics-bridge.cjs +0 -355
  1171. package/.opencode/skills/play/scripts/metrics-email.cjs +0 -182
  1172. package/.opencode/skills/play/scripts/metrics-social.cjs +0 -151
  1173. package/.opencode/skills/play/scripts/smart-suggest.cjs +0 -292
  1174. package/.opencode/skills/play/scripts/template-loader.cjs +0 -359
  1175. package/.opencode/skills/play/templates/_schema.json +0 -150
  1176. package/.opencode/skills/play/templates/campaign-sprint.json +0 -195
  1177. package/.opencode/skills/play/templates/content-engine.json +0 -348
  1178. package/.opencode/skills/play/templates/product-hunt-launch.json +0 -210
  1179. package/.opencode/skills/play/templates/saas-launch.json +0 -224
  1180. package/.opencode/skills/preview/SKILL.md +0 -87
  1181. package/.opencode/skills/preview/references/generation-modes.md +0 -192
  1182. package/.opencode/skills/preview/references/html-css-patterns.md +0 -1717
  1183. package/.opencode/skills/preview/references/html-design-guidelines.md +0 -393
  1184. package/.opencode/skills/preview/references/html-libraries.md +0 -592
  1185. package/.opencode/skills/preview/references/html-responsive-nav.md +0 -212
  1186. package/.opencode/skills/preview/references/html-slide-patterns.md +0 -1401
  1187. package/.opencode/skills/preview/references/view-mode.md +0 -42
  1188. package/.opencode/skills/preview/templates/architecture.html +0 -650
  1189. package/.opencode/skills/preview/templates/data-table.html +0 -590
  1190. package/.opencode/skills/preview/templates/mermaid-flowchart.html +0 -768
  1191. package/.opencode/skills/preview/templates/slide-deck.html +0 -968
  1192. package/.opencode/skills/pricing-strategy/SKILL.md +0 -714
  1193. package/.opencode/skills/problem-solving/SKILL.md +0 -99
  1194. package/.opencode/skills/problem-solving/references/attribution.md +0 -69
  1195. package/.opencode/skills/problem-solving/references/collision-zone-thinking.md +0 -79
  1196. package/.opencode/skills/problem-solving/references/inversion-exercise.md +0 -91
  1197. package/.opencode/skills/problem-solving/references/meta-pattern-recognition.md +0 -87
  1198. package/.opencode/skills/problem-solving/references/scale-game.md +0 -95
  1199. package/.opencode/skills/problem-solving/references/simplification-cascades.md +0 -80
  1200. package/.opencode/skills/problem-solving/references/when-stuck.md +0 -72
  1201. package/.opencode/skills/project-management/SKILL.md +0 -136
  1202. package/.opencode/skills/project-management/references/documentation-triggers.md +0 -60
  1203. package/.opencode/skills/project-management/references/hydration-workflow.md +0 -89
  1204. package/.opencode/skills/project-management/references/progress-tracking.md +0 -120
  1205. package/.opencode/skills/project-management/references/reporting-patterns.md +0 -94
  1206. package/.opencode/skills/project-management/references/task-operations.md +0 -87
  1207. package/.opencode/skills/project-organization/SKILL.md +0 -228
  1208. package/.opencode/skills/project-organization/references/directory-patterns.md +0 -176
  1209. package/.opencode/skills/project-organization/references/markdown-body-templates.md +0 -311
  1210. package/.opencode/skills/project-organization/references/naming-conventions.md +0 -140
  1211. package/.opencode/skills/react-best-practices/AGENTS.md +0 -2249
  1212. package/.opencode/skills/react-best-practices/README.md +0 -123
  1213. package/.opencode/skills/react-best-practices/SKILL.md +0 -125
  1214. package/.opencode/skills/react-best-practices/metadata.json +0 -15
  1215. package/.opencode/skills/react-best-practices/rules/_sections.md +0 -46
  1216. package/.opencode/skills/react-best-practices/rules/_template.md +0 -28
  1217. package/.opencode/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  1218. package/.opencode/skills/react-best-practices/rules/advanced-use-latest.md +0 -49
  1219. package/.opencode/skills/react-best-practices/rules/async-api-routes.md +0 -38
  1220. package/.opencode/skills/react-best-practices/rules/async-defer-await.md +0 -80
  1221. package/.opencode/skills/react-best-practices/rules/async-dependencies.md +0 -36
  1222. package/.opencode/skills/react-best-practices/rules/async-parallel.md +0 -28
  1223. package/.opencode/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  1224. package/.opencode/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  1225. package/.opencode/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  1226. package/.opencode/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  1227. package/.opencode/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  1228. package/.opencode/skills/react-best-practices/rules/bundle-preload.md +0 -50
  1229. package/.opencode/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  1230. package/.opencode/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  1231. package/.opencode/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
  1232. package/.opencode/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  1233. package/.opencode/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  1234. package/.opencode/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  1235. package/.opencode/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  1236. package/.opencode/skills/react-best-practices/rules/js-early-exit.md +0 -50
  1237. package/.opencode/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  1238. package/.opencode/skills/react-best-practices/rules/js-index-maps.md +0 -37
  1239. package/.opencode/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  1240. package/.opencode/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  1241. package/.opencode/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  1242. package/.opencode/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  1243. package/.opencode/skills/react-best-practices/rules/rendering-activity.md +0 -26
  1244. package/.opencode/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  1245. package/.opencode/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  1246. package/.opencode/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  1247. package/.opencode/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  1248. package/.opencode/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  1249. package/.opencode/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  1250. package/.opencode/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  1251. package/.opencode/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  1252. package/.opencode/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  1253. package/.opencode/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  1254. package/.opencode/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  1255. package/.opencode/skills/react-best-practices/rules/rerender-memo.md +0 -44
  1256. package/.opencode/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  1257. package/.opencode/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  1258. package/.opencode/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  1259. package/.opencode/skills/react-best-practices/rules/server-cache-react.md +0 -26
  1260. package/.opencode/skills/react-best-practices/rules/server-parallel-fetching.md +0 -79
  1261. package/.opencode/skills/react-best-practices/rules/server-serialization.md +0 -38
  1262. package/.opencode/skills/referral-program-building/SKILL.md +0 -81
  1263. package/.opencode/skills/referral-program-building/references/email-templates.md +0 -75
  1264. package/.opencode/skills/referral-program-building/references/fraud-prevention.md +0 -95
  1265. package/.opencode/skills/referral-program-building/references/metrics-tracking.md +0 -64
  1266. package/.opencode/skills/referral-program-building/references/platform-selection.md +0 -80
  1267. package/.opencode/skills/referral-program-building/references/reward-structures.md +0 -82
  1268. package/.opencode/skills/referral-program-building/references/technical-implementation.md +0 -98
  1269. package/.opencode/skills/remotion/SKILL.md +0 -45
  1270. package/.opencode/skills/remotion/rules/3d.md +0 -86
  1271. package/.opencode/skills/remotion/rules/animations.md +0 -29
  1272. package/.opencode/skills/remotion/rules/assets/charts-bar-chart.tsx +0 -173
  1273. package/.opencode/skills/remotion/rules/assets/text-animations-typewriter.tsx +0 -100
  1274. package/.opencode/skills/remotion/rules/assets/text-animations-word-highlight.tsx +0 -108
  1275. package/.opencode/skills/remotion/rules/assets.md +0 -78
  1276. package/.opencode/skills/remotion/rules/audio.md +0 -172
  1277. package/.opencode/skills/remotion/rules/calculate-metadata.md +0 -104
  1278. package/.opencode/skills/remotion/rules/can-decode.md +0 -75
  1279. package/.opencode/skills/remotion/rules/charts.md +0 -58
  1280. package/.opencode/skills/remotion/rules/compositions.md +0 -146
  1281. package/.opencode/skills/remotion/rules/display-captions.md +0 -126
  1282. package/.opencode/skills/remotion/rules/extract-frames.md +0 -229
  1283. package/.opencode/skills/remotion/rules/fonts.md +0 -152
  1284. package/.opencode/skills/remotion/rules/get-audio-duration.md +0 -58
  1285. package/.opencode/skills/remotion/rules/get-video-dimensions.md +0 -68
  1286. package/.opencode/skills/remotion/rules/get-video-duration.md +0 -58
  1287. package/.opencode/skills/remotion/rules/gifs.md +0 -138
  1288. package/.opencode/skills/remotion/rules/images.md +0 -130
  1289. package/.opencode/skills/remotion/rules/import-srt-captions.md +0 -67
  1290. package/.opencode/skills/remotion/rules/lottie.md +0 -68
  1291. package/.opencode/skills/remotion/rules/measuring-dom-nodes.md +0 -35
  1292. package/.opencode/skills/remotion/rules/measuring-text.md +0 -143
  1293. package/.opencode/skills/remotion/rules/sequencing.md +0 -106
  1294. package/.opencode/skills/remotion/rules/tailwind.md +0 -11
  1295. package/.opencode/skills/remotion/rules/text-animations.md +0 -20
  1296. package/.opencode/skills/remotion/rules/timing.md +0 -179
  1297. package/.opencode/skills/remotion/rules/transcribe-captions.md +0 -19
  1298. package/.opencode/skills/remotion/rules/transitions.md +0 -122
  1299. package/.opencode/skills/remotion/rules/trimming.md +0 -53
  1300. package/.opencode/skills/remotion/rules/videos.md +0 -171
  1301. package/.opencode/skills/repomix/SKILL.md +0 -251
  1302. package/.opencode/skills/repomix/references/configuration.md +0 -211
  1303. package/.opencode/skills/repomix/references/usage-patterns.md +0 -232
  1304. package/.opencode/skills/repomix/scripts/.coverage +0 -0
  1305. package/.opencode/skills/repomix/scripts/README.md +0 -179
  1306. package/.opencode/skills/repomix/scripts/repomix_batch.py +0 -455
  1307. package/.opencode/skills/repomix/scripts/repos.example.json +0 -15
  1308. package/.opencode/skills/repomix/scripts/requirements.txt +0 -15
  1309. package/.opencode/skills/research/SKILL.md +0 -176
  1310. package/.opencode/skills/retro/SKILL.md +0 -138
  1311. package/.opencode/skills/retro/references/metrics-guide.md +0 -133
  1312. package/.opencode/skills/retro/references/report-template.md +0 -110
  1313. package/.opencode/skills/scout/SKILL.md +0 -82
  1314. package/.opencode/skills/scout/references/external-scouting.md +0 -140
  1315. package/.opencode/skills/scout/references/internal-scouting.md +0 -119
  1316. package/.opencode/skills/scout/references/task-management-scouting.md +0 -125
  1317. package/.opencode/skills/security-scan/SKILL.md +0 -141
  1318. package/.opencode/skills/security-scan/references/secret-patterns.md +0 -77
  1319. package/.opencode/skills/security-scan/references/vulnerability-patterns.md +0 -105
  1320. package/.opencode/skills/seo/SKILL.md +0 -95
  1321. package/.opencode/skills/seo/references/audit.md +0 -121
  1322. package/.opencode/skills/seo/references/backlink-analysis-framework.md +0 -192
  1323. package/.opencode/skills/seo/references/browser-seo-audit-workflow.md +0 -180
  1324. package/.opencode/skills/seo/references/canonical-url-strategy.md +0 -286
  1325. package/.opencode/skills/seo/references/content-gap-analysis-framework.md +0 -255
  1326. package/.opencode/skills/seo/references/core-web-vitals-remediation.md +0 -279
  1327. package/.opencode/skills/seo/references/directory-submission-list.md +0 -280
  1328. package/.opencode/skills/seo/references/google-search-console-api-guide.md +0 -745
  1329. package/.opencode/skills/seo/references/internal-linking-automation.md +0 -685
  1330. package/.opencode/skills/seo/references/keyword-clustering-methodology.md +0 -175
  1331. package/.opencode/skills/seo/references/keyword-research-workflow.md +0 -63
  1332. package/.opencode/skills/seo/references/keywords.md +0 -131
  1333. package/.opencode/skills/seo/references/link-building-campaign-framework.md +0 -246
  1334. package/.opencode/skills/seo/references/meta-tag-templates.md +0 -229
  1335. package/.opencode/skills/seo/references/mobile-seo-checklist.md +0 -557
  1336. package/.opencode/skills/seo/references/on-page-seo-checklist-2025.md +0 -328
  1337. package/.opencode/skills/seo/references/outreach-email-templates.md +0 -335
  1338. package/.opencode/skills/seo/references/pseo-best-practices.md +0 -366
  1339. package/.opencode/skills/seo/references/pseo-scale-architecture.md +0 -801
  1340. package/.opencode/skills/seo/references/pseo-template-syntax.md +0 -329
  1341. package/.opencode/skills/seo/references/pseo-templates.md +0 -85
  1342. package/.opencode/skills/seo/references/pseo-url-structure-guide.md +0 -562
  1343. package/.opencode/skills/seo/references/pseo.md +0 -62
  1344. package/.opencode/skills/seo/references/readability-scoring-guide.md +0 -304
  1345. package/.opencode/skills/seo/references/reviewweb-api.md +0 -69
  1346. package/.opencode/skills/seo/references/reviewweb-content-api.md +0 -89
  1347. package/.opencode/skills/seo/references/robots-txt-best-practices-2025.md +0 -479
  1348. package/.opencode/skills/seo/references/schema-generation.md +0 -102
  1349. package/.opencode/skills/seo/references/schema-templates/article-schema.json +0 -25
  1350. package/.opencode/skills/seo/references/schema-templates/faq-schema.json +0 -47
  1351. package/.opencode/skills/seo/references/schema-templates/howto-schema.json +0 -66
  1352. package/.opencode/skills/seo/references/schema-templates/localbusiness-schema.json +0 -64
  1353. package/.opencode/skills/seo/references/schema-templates/organization-schema.json +0 -49
  1354. package/.opencode/skills/seo/references/schema-templates/product-schema.json +0 -49
  1355. package/.opencode/skills/seo/references/search-console-query-patterns.md +0 -606
  1356. package/.opencode/skills/seo/references/semantic-seo-framework.md +0 -480
  1357. package/.opencode/skills/seo/references/seo-audit-workflow.md +0 -90
  1358. package/.opencode/skills/seo/references/sitemap-best-practices.md +0 -391
  1359. package/.opencode/skills/seo/references/technical-seo-checklist.md +0 -74
  1360. package/.opencode/skills/seo/scripts/analyze-keywords.cjs +0 -575
  1361. package/.opencode/skills/seo/scripts/audit-core-web-vitals.cjs +0 -496
  1362. package/.opencode/skills/seo/scripts/env-loader.cjs +0 -213
  1363. package/.opencode/skills/seo/scripts/env-loader.test.cjs +0 -231
  1364. package/.opencode/skills/seo/scripts/generate-schema.cjs +0 -119
  1365. package/.opencode/skills/seo/scripts/generate-sitemap.cjs +0 -66
  1366. package/.opencode/skills/seo/scripts/gsc-auth.cjs +0 -352
  1367. package/.opencode/skills/seo/scripts/gsc-config-loader.cjs +0 -238
  1368. package/.opencode/skills/seo/scripts/gsc-query.cjs +0 -499
  1369. package/.opencode/skills/seo/scripts/pseo-generator.cjs +0 -464
  1370. package/.opencode/skills/seo/scripts/validate-schema.cjs +0 -421
  1371. package/.opencode/skills/sequential-thinking/.env.example +0 -8
  1372. package/.opencode/skills/sequential-thinking/README.md +0 -183
  1373. package/.opencode/skills/sequential-thinking/SKILL.md +0 -97
  1374. package/.opencode/skills/sequential-thinking/package.json +0 -31
  1375. package/.opencode/skills/sequential-thinking/references/advanced-strategies.md +0 -79
  1376. package/.opencode/skills/sequential-thinking/references/advanced-techniques.md +0 -76
  1377. package/.opencode/skills/sequential-thinking/references/core-patterns.md +0 -95
  1378. package/.opencode/skills/sequential-thinking/references/examples-api.md +0 -88
  1379. package/.opencode/skills/sequential-thinking/references/examples-architecture.md +0 -94
  1380. package/.opencode/skills/sequential-thinking/references/examples-debug.md +0 -90
  1381. package/.opencode/skills/sequential-thinking/scripts/format-thought.js +0 -159
  1382. package/.opencode/skills/sequential-thinking/scripts/process-thought.js +0 -236
  1383. package/.opencode/skills/shader/SKILL.md +0 -115
  1384. package/.opencode/skills/shader/references/glsl-cellular-voronoi-worley-noise-patterns.md +0 -142
  1385. package/.opencode/skills/shader/references/glsl-colors-rgb-hsb-gradients-mixing-color-spaces.md +0 -143
  1386. package/.opencode/skills/shader/references/glsl-fbm-fractional-brownian-motion-turbulence-octaves.md +0 -146
  1387. package/.opencode/skills/shader/references/glsl-fundamentals-data-types-vectors-precision-coordinates.md +0 -104
  1388. package/.opencode/skills/shader/references/glsl-noise-random-perlin-simplex-cellular-voronoi.md +0 -115
  1389. package/.opencode/skills/shader/references/glsl-pattern-symmetry-truchet-domain-warping.md +0 -134
  1390. package/.opencode/skills/shader/references/glsl-patterns-tiling-fract-matrices-transformations.md +0 -133
  1391. package/.opencode/skills/shader/references/glsl-procedural-textures-clouds-marble-wood-terrain.md +0 -144
  1392. package/.opencode/skills/shader/references/glsl-shader-builtin-functions-complete-api-reference.md +0 -112
  1393. package/.opencode/skills/shader/references/glsl-shapes-polygon-star-polar-sdf-combinations.md +0 -124
  1394. package/.opencode/skills/shader/references/glsl-shapes-sdf-circles-rectangles-polar-distance-fields.md +0 -106
  1395. package/.opencode/skills/shader/references/glsl-shaping-functions-step-smoothstep-curves-interpolation.md +0 -141
  1396. package/.opencode/skills/ship/SKILL.md +0 -119
  1397. package/.opencode/skills/ship/references/auto-detect.md +0 -103
  1398. package/.opencode/skills/ship/references/pr-template.md +0 -90
  1399. package/.opencode/skills/ship/references/ship-workflow.md +0 -241
  1400. package/.opencode/skills/shopify/README.md +0 -66
  1401. package/.opencode/skills/shopify/SKILL.md +0 -323
  1402. package/.opencode/skills/shopify/references/app-development.md +0 -470
  1403. package/.opencode/skills/shopify/references/extensions.md +0 -493
  1404. package/.opencode/skills/shopify/references/themes.md +0 -498
  1405. package/.opencode/skills/shopify/scripts/.coverage +0 -0
  1406. package/.opencode/skills/shopify/scripts/requirements.txt +0 -19
  1407. package/.opencode/skills/shopify/scripts/shopify_init.py +0 -423
  1408. package/.opencode/skills/skill-creator/LICENSE.txt +0 -202
  1409. package/.opencode/skills/skill-creator/SKILL.md +0 -121
  1410. package/.opencode/skills/skill-creator/agents/analyzer.md +0 -274
  1411. package/.opencode/skills/skill-creator/agents/comparator.md +0 -202
  1412. package/.opencode/skills/skill-creator/agents/grader.md +0 -223
  1413. package/.opencode/skills/skill-creator/assets/eval_review.html +0 -146
  1414. package/.opencode/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  1415. package/.opencode/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  1416. package/.opencode/skills/skill-creator/references/benchmark-optimization-guide.md +0 -86
  1417. package/.opencode/skills/skill-creator/references/distribution-guide.md +0 -79
  1418. package/.opencode/skills/skill-creator/references/eval-infrastructure-guide.md +0 -129
  1419. package/.opencode/skills/skill-creator/references/eval-schemas.md +0 -121
  1420. package/.opencode/skills/skill-creator/references/mcp-skills-integration.md +0 -71
  1421. package/.opencode/skills/skill-creator/references/metadata-quality-criteria.md +0 -76
  1422. package/.opencode/skills/skill-creator/references/plugin-marketplace-hosting.md +0 -104
  1423. package/.opencode/skills/skill-creator/references/plugin-marketplace-overview.md +0 -89
  1424. package/.opencode/skills/skill-creator/references/plugin-marketplace-schema.md +0 -93
  1425. package/.opencode/skills/skill-creator/references/plugin-marketplace-sources.md +0 -103
  1426. package/.opencode/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +0 -76
  1427. package/.opencode/skills/skill-creator/references/script-quality-criteria.md +0 -106
  1428. package/.opencode/skills/skill-creator/references/skill-anatomy-and-requirements.md +0 -76
  1429. package/.opencode/skills/skill-creator/references/skill-creation-workflow.md +0 -95
  1430. package/.opencode/skills/skill-creator/references/skill-design-patterns.md +0 -75
  1431. package/.opencode/skills/skill-creator/references/skillmark-benchmark-criteria.md +0 -102
  1432. package/.opencode/skills/skill-creator/references/structure-organization-criteria.md +0 -114
  1433. package/.opencode/skills/skill-creator/references/testing-and-iteration.md +0 -78
  1434. package/.opencode/skills/skill-creator/references/token-efficiency-criteria.md +0 -74
  1435. package/.opencode/skills/skill-creator/references/troubleshooting-guide.md +0 -80
  1436. package/.opencode/skills/skill-creator/references/validation-checklist.md +0 -83
  1437. package/.opencode/skills/skill-creator/references/writing-effective-instructions.md +0 -88
  1438. package/.opencode/skills/skill-creator/references/yaml-frontmatter-reference.md +0 -91
  1439. package/.opencode/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  1440. package/.opencode/skills/skill-creator/scripts/debug.zip +0 -0
  1441. package/.opencode/skills/skill-creator/scripts/encoding_utils.py +0 -36
  1442. package/.opencode/skills/skill-creator/scripts/generate_report.py +0 -326
  1443. package/.opencode/skills/skill-creator/scripts/improve_description.py +0 -248
  1444. package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -308
  1445. package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -115
  1446. package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -69
  1447. package/.opencode/skills/skill-creator/scripts/run_eval.py +0 -310
  1448. package/.opencode/skills/skill-creator/scripts/run_loop.py +0 -332
  1449. package/.opencode/skills/skill-creator/scripts/utils.py +0 -47
  1450. package/.opencode/skills/slides/SKILL.md +0 -42
  1451. package/.opencode/skills/slides/references/copywriting-formulas.md +0 -84
  1452. package/.opencode/skills/slides/references/create.md +0 -4
  1453. package/.opencode/skills/slides/references/html-template.md +0 -295
  1454. package/.opencode/skills/slides/references/layout-patterns.md +0 -137
  1455. package/.opencode/skills/slides/references/slide-strategies.md +0 -94
  1456. package/.opencode/skills/social/SKILL.md +0 -75
  1457. package/.opencode/skills/social/references/engagement-templates.md +0 -58
  1458. package/.opencode/skills/social/references/facebook-workflow.md +0 -175
  1459. package/.opencode/skills/social/references/hook-writing.md +0 -190
  1460. package/.opencode/skills/social/references/linkedin-workflow.md +0 -162
  1461. package/.opencode/skills/social/references/platform-specs.md +0 -58
  1462. package/.opencode/skills/social/references/posting-best-practices.md +0 -61
  1463. package/.opencode/skills/social/references/rate-limits-errors.md +0 -191
  1464. package/.opencode/skills/social/references/schedule.md +0 -50
  1465. package/.opencode/skills/social/references/thread-templates.md +0 -72
  1466. package/.opencode/skills/social/references/threads-workflow.md +0 -198
  1467. package/.opencode/skills/social/references/tiktok-workflow.md +0 -194
  1468. package/.opencode/skills/social/references/unified-api-services.md +0 -153
  1469. package/.opencode/skills/social/references/x-twitter-workflow.md +0 -111
  1470. package/.opencode/skills/social/references/youtube-workflow.md +0 -179
  1471. package/.opencode/skills/social/scripts/schedule-post.js +0 -222
  1472. package/.opencode/skills/social/scripts/validate-post-content.js +0 -195
  1473. package/.opencode/skills/stitch/SKILL.md +0 -171
  1474. package/.opencode/skills/stitch/data/mcp-config-snippet.json +0 -11
  1475. package/.opencode/skills/stitch/references/design-to-code-pipeline.md +0 -128
  1476. package/.opencode/skills/stitch/references/quota-management.md +0 -64
  1477. package/.opencode/skills/stitch/references/stitch-mcp-setup.md +0 -95
  1478. package/.opencode/skills/stitch/references/stitch-sdk-api.md +0 -136
  1479. package/.opencode/skills/stitch/scripts/package.json +0 -17
  1480. package/.opencode/skills/stitch/scripts/stitch-export.ts +0 -173
  1481. package/.opencode/skills/stitch/scripts/stitch-generate.ts +0 -182
  1482. package/.opencode/skills/stitch/scripts/stitch-quota.ts +0 -123
  1483. package/.opencode/skills/storage/SKILL.md +0 -93
  1484. package/.opencode/skills/storage/scripts/s3-client.cjs +0 -357
  1485. package/.opencode/skills/tanstack/SKILL.md +0 -144
  1486. package/.opencode/skills/tanstack/references/tanstack-ai.md +0 -97
  1487. package/.opencode/skills/tanstack/references/tanstack-form.md +0 -125
  1488. package/.opencode/skills/tanstack/references/tanstack-start.md +0 -100
  1489. package/.opencode/skills/team/SKILL.md +0 -361
  1490. package/.opencode/skills/team/references/agent-teams-controls-and-modes.md +0 -129
  1491. package/.opencode/skills/team/references/agent-teams-examples-and-best-practices.md +0 -220
  1492. package/.opencode/skills/team/references/agent-teams-official-docs.md +0 -221
  1493. package/.opencode/skills/template-skill/SKILL.md +0 -9
  1494. package/.opencode/skills/test/SKILL.md +0 -40
  1495. package/.opencode/skills/test/references/report-format.md +0 -58
  1496. package/.opencode/skills/test/references/test-execution-workflow.md +0 -103
  1497. package/.opencode/skills/test/references/ui-testing-workflow.md +0 -65
  1498. package/.opencode/skills/test/references/ui.md +0 -87
  1499. package/.opencode/skills/test/references/workflow.md +0 -102
  1500. package/.opencode/skills/test/scripts/scan-components.py +0 -281
  1501. package/.opencode/skills/threejs/SKILL.md +0 -144
  1502. package/.opencode/skills/threejs/data/api-reference.csv +0 -61
  1503. package/.opencode/skills/threejs/data/categories.csv +0 -14
  1504. package/.opencode/skills/threejs/data/examples-all.csv +0 -557
  1505. package/.opencode/skills/threejs/data/use-cases.csv +0 -21
  1506. package/.opencode/skills/threejs/references/00-fundamentals.md +0 -487
  1507. package/.opencode/skills/threejs/references/01-getting-started.md +0 -177
  1508. package/.opencode/skills/threejs/references/02-loaders.md +0 -169
  1509. package/.opencode/skills/threejs/references/03-textures.md +0 -170
  1510. package/.opencode/skills/threejs/references/04-cameras.md +0 -195
  1511. package/.opencode/skills/threejs/references/05-lights.md +0 -183
  1512. package/.opencode/skills/threejs/references/06-animations.md +0 -214
  1513. package/.opencode/skills/threejs/references/07-math.md +0 -260
  1514. package/.opencode/skills/threejs/references/08-interaction.md +0 -267
  1515. package/.opencode/skills/threejs/references/09-postprocessing.md +0 -240
  1516. package/.opencode/skills/threejs/references/10-controls.md +0 -259
  1517. package/.opencode/skills/threejs/references/11-materials-advanced.md +0 -270
  1518. package/.opencode/skills/threejs/references/11-materials.md +0 -519
  1519. package/.opencode/skills/threejs/references/12-performance.md +0 -269
  1520. package/.opencode/skills/threejs/references/13-node-materials.md +0 -298
  1521. package/.opencode/skills/threejs/references/14-physics-vr.md +0 -304
  1522. package/.opencode/skills/threejs/references/15-specialized-loaders.md +0 -333
  1523. package/.opencode/skills/threejs/references/16-webgpu.md +0 -302
  1524. package/.opencode/skills/threejs/references/17-shader.md +0 -641
  1525. package/.opencode/skills/threejs/references/18-geometry.md +0 -547
  1526. package/.opencode/skills/threejs/scripts/core.py +0 -236
  1527. package/.opencode/skills/threejs/scripts/extract_examples.py +0 -688
  1528. package/.opencode/skills/threejs/scripts/generate_csv_from_json.py +0 -135
  1529. package/.opencode/skills/threejs/scripts/search.py +0 -77
  1530. package/.opencode/skills/ui-styling/LICENSE.txt +0 -202
  1531. package/.opencode/skills/ui-styling/SKILL.md +0 -324
  1532. package/.opencode/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  1533. package/.opencode/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1534. package/.opencode/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1535. package/.opencode/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +0 -93
  1536. package/.opencode/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1537. package/.opencode/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +0 -93
  1538. package/.opencode/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1539. package/.opencode/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1540. package/.opencode/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  1541. package/.opencode/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1542. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1543. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1544. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  1545. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1546. package/.opencode/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +0 -93
  1547. package/.opencode/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  1548. package/.opencode/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +0 -94
  1549. package/.opencode/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1550. package/.opencode/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1551. package/.opencode/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +0 -93
  1552. package/.opencode/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1553. package/.opencode/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +0 -93
  1554. package/.opencode/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  1555. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1556. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  1557. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1558. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1559. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1560. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1561. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1562. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1563. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1564. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1565. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  1566. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1567. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1568. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1569. package/.opencode/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +0 -93
  1570. package/.opencode/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  1571. package/.opencode/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1572. package/.opencode/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  1573. package/.opencode/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1574. package/.opencode/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  1575. package/.opencode/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  1576. package/.opencode/skills/ui-styling/canvas-fonts/Jura-OFL.txt +0 -93
  1577. package/.opencode/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  1578. package/.opencode/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1579. package/.opencode/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  1580. package/.opencode/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1581. package/.opencode/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  1582. package/.opencode/skills/ui-styling/canvas-fonts/Lora-OFL.txt +0 -93
  1583. package/.opencode/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  1584. package/.opencode/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1585. package/.opencode/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +0 -93
  1586. package/.opencode/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1587. package/.opencode/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  1588. package/.opencode/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1589. package/.opencode/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  1590. package/.opencode/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +0 -93
  1591. package/.opencode/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  1592. package/.opencode/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1593. package/.opencode/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +0 -93
  1594. package/.opencode/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +0 -93
  1595. package/.opencode/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1596. package/.opencode/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1597. package/.opencode/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +0 -93
  1598. package/.opencode/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1599. package/.opencode/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +0 -93
  1600. package/.opencode/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1601. package/.opencode/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1602. package/.opencode/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +0 -93
  1603. package/.opencode/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  1604. package/.opencode/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +0 -93
  1605. package/.opencode/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  1606. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1607. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1608. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1609. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +0 -93
  1610. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1611. package/.opencode/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +0 -93
  1612. package/.opencode/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1613. package/.opencode/skills/ui-styling/references/canvas-design-system.md +0 -320
  1614. package/.opencode/skills/ui-styling/references/shadcn-accessibility.md +0 -471
  1615. package/.opencode/skills/ui-styling/references/shadcn-components.md +0 -424
  1616. package/.opencode/skills/ui-styling/references/shadcn-theming.md +0 -373
  1617. package/.opencode/skills/ui-styling/references/tailwind-customization.md +0 -483
  1618. package/.opencode/skills/ui-styling/references/tailwind-responsive.md +0 -382
  1619. package/.opencode/skills/ui-styling/references/tailwind-utilities.md +0 -455
  1620. package/.opencode/skills/ui-styling/scripts/.coverage +0 -0
  1621. package/.opencode/skills/ui-styling/scripts/requirements.txt +0 -17
  1622. package/.opencode/skills/ui-styling/scripts/shadcn_add.py +0 -292
  1623. package/.opencode/skills/ui-styling/scripts/tailwind_config_gen.py +0 -456
  1624. package/.opencode/skills/ui-ux-pro-max/SKILL.md +0 -662
  1625. package/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +0 -414
  1626. package/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +0 -31
  1627. package/.opencode/skills/ui-ux-pro-max/data/charts.csv +0 -26
  1628. package/.opencode/skills/ui-ux-pro-max/data/colors.csv +0 -162
  1629. package/.opencode/skills/ui-ux-pro-max/data/design.csv +0 -1776
  1630. package/.opencode/skills/ui-ux-pro-max/data/draft.csv +0 -1779
  1631. package/.opencode/skills/ui-ux-pro-max/data/google-fonts.csv +0 -1924
  1632. package/.opencode/skills/ui-ux-pro-max/data/icons.csv +0 -106
  1633. package/.opencode/skills/ui-ux-pro-max/data/landing.csv +0 -35
  1634. package/.opencode/skills/ui-ux-pro-max/data/products.csv +0 -162
  1635. package/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +0 -45
  1636. package/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  1637. package/.opencode/skills/ui-ux-pro-max/data/styles.csv +0 -85
  1638. package/.opencode/skills/ui-ux-pro-max/data/typography.csv +0 -74
  1639. package/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +0 -162
  1640. package/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  1641. package/.opencode/skills/ui-ux-pro-max/scripts/core.py +0 -247
  1642. package/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +0 -1067
  1643. package/.opencode/skills/ui-ux-pro-max/scripts/search.py +0 -114
  1644. package/.opencode/skills/use-mcp/SKILL.md +0 -39
  1645. package/.opencode/skills/video/SKILL.md +0 -72
  1646. package/.opencode/skills/video/references/audio-directive-guide.md +0 -274
  1647. package/.opencode/skills/video/references/create.md +0 -322
  1648. package/.opencode/skills/video/references/production-workflow.md +0 -135
  1649. package/.opencode/skills/video/references/quality-review-workflow.md +0 -566
  1650. package/.opencode/skills/video/references/script-create.md +0 -391
  1651. package/.opencode/skills/video/references/script-templates.md +0 -107
  1652. package/.opencode/skills/video/references/storyboard-create.md +0 -210
  1653. package/.opencode/skills/video/references/storyboard-format.md +0 -255
  1654. package/.opencode/skills/video/references/thumbnail-design-guide.md +0 -367
  1655. package/.opencode/skills/video/references/veo-prompt-guide.md +0 -360
  1656. package/.opencode/skills/video/references/video-art-directions.md +0 -64
  1657. package/.opencode/skills/video/references/video-optimization.md +0 -95
  1658. package/.opencode/skills/video/references/video-seo-optimization.md +0 -399
  1659. package/.opencode/skills/video/references/video-types-specs.md +0 -66
  1660. package/.opencode/skills/video/scripts/analyze-video.cjs +0 -321
  1661. package/.opencode/skills/video/scripts/create-storyboard.cjs +0 -476
  1662. package/.opencode/skills/video/scripts/extract-captions.cjs +0 -355
  1663. package/.opencode/skills/video/scripts/generate-video.cjs +0 -331
  1664. package/.opencode/skills/video/scripts/optimize-for-platform.cjs +0 -428
  1665. package/.opencode/skills/video/templates/explainer.json +0 -73
  1666. package/.opencode/skills/video/templates/product-demo.json +0 -69
  1667. package/.opencode/skills/video/templates/short-form.json +0 -111
  1668. package/.opencode/skills/video/templates/testimonial.json +0 -73
  1669. package/.opencode/skills/watzup/SKILL.md +0 -13
  1670. package/.opencode/skills/web-design-guidelines/SKILL.md +0 -39
  1671. package/.opencode/skills/web-frameworks/SKILL.md +0 -327
  1672. package/.opencode/skills/web-frameworks/references/nextjs-app-router.md +0 -465
  1673. package/.opencode/skills/web-frameworks/references/nextjs-data-fetching.md +0 -459
  1674. package/.opencode/skills/web-frameworks/references/nextjs-optimization.md +0 -511
  1675. package/.opencode/skills/web-frameworks/references/nextjs-server-components.md +0 -495
  1676. package/.opencode/skills/web-frameworks/references/remix-icon-integration.md +0 -603
  1677. package/.opencode/skills/web-frameworks/references/turborepo-caching.md +0 -551
  1678. package/.opencode/skills/web-frameworks/references/turborepo-pipelines.md +0 -517
  1679. package/.opencode/skills/web-frameworks/references/turborepo-setup.md +0 -542
  1680. package/.opencode/skills/web-frameworks/scripts/.coverage +0 -0
  1681. package/.opencode/skills/web-frameworks/scripts/__init__.py +0 -0
  1682. package/.opencode/skills/web-frameworks/scripts/nextjs_init.py +0 -547
  1683. package/.opencode/skills/web-frameworks/scripts/requirements.txt +0 -16
  1684. package/.opencode/skills/web-frameworks/scripts/turborepo_migrate.py +0 -394
  1685. package/.opencode/skills/web-testing/SKILL.md +0 -99
  1686. package/.opencode/skills/web-testing/references/accessibility-testing.md +0 -84
  1687. package/.opencode/skills/web-testing/references/api-testing.md +0 -78
  1688. package/.opencode/skills/web-testing/references/ci-cd-testing-workflows.md +0 -121
  1689. package/.opencode/skills/web-testing/references/component-testing.md +0 -94
  1690. package/.opencode/skills/web-testing/references/contract-testing.md +0 -146
  1691. package/.opencode/skills/web-testing/references/cross-browser-checklist.md +0 -72
  1692. package/.opencode/skills/web-testing/references/database-testing.md +0 -139
  1693. package/.opencode/skills/web-testing/references/e2e-testing-playwright.md +0 -119
  1694. package/.opencode/skills/web-testing/references/functional-testing-checklist.md +0 -88
  1695. package/.opencode/skills/web-testing/references/interactive-testing-patterns.md +0 -89
  1696. package/.opencode/skills/web-testing/references/load-testing-k6.md +0 -93
  1697. package/.opencode/skills/web-testing/references/mobile-gesture-testing.md +0 -85
  1698. package/.opencode/skills/web-testing/references/performance-core-web-vitals.md +0 -124
  1699. package/.opencode/skills/web-testing/references/playwright-component-testing.md +0 -115
  1700. package/.opencode/skills/web-testing/references/pre-release-checklist.md +0 -75
  1701. package/.opencode/skills/web-testing/references/security-checklists.md +0 -81
  1702. package/.opencode/skills/web-testing/references/security-testing-overview.md +0 -92
  1703. package/.opencode/skills/web-testing/references/shadow-dom-testing.md +0 -70
  1704. package/.opencode/skills/web-testing/references/test-data-management.md +0 -131
  1705. package/.opencode/skills/web-testing/references/test-flakiness-mitigation.md +0 -86
  1706. package/.opencode/skills/web-testing/references/testing-pyramid-strategy.md +0 -76
  1707. package/.opencode/skills/web-testing/references/unit-integration-testing.md +0 -138
  1708. package/.opencode/skills/web-testing/references/visual-regression.md +0 -92
  1709. package/.opencode/skills/web-testing/references/vulnerability-payloads.md +0 -93
  1710. package/.opencode/skills/web-testing/scripts/analyze-test-results.js +0 -280
  1711. package/.opencode/skills/web-testing/scripts/init-playwright.js +0 -233
  1712. package/.opencode/skills/worktree/SKILL.md +0 -130
  1713. package/.opencode/skills/worktree/scripts/worktree.cjs +0 -979
  1714. package/.opencode/skills/worktree/scripts/worktree.test.cjs +0 -857
  1715. package/.opencode/skills/write/SKILL.md +0 -28
  1716. package/.opencode/skills/write/references/audit.md +0 -93
  1717. package/.opencode/skills/write/references/blog-youtube.md +0 -164
  1718. package/.opencode/skills/write/references/blog.md +0 -95
  1719. package/.opencode/skills/write/references/cro.md +0 -38
  1720. package/.opencode/skills/write/references/enhance.md +0 -9
  1721. package/.opencode/skills/write/references/fast.md +0 -8
  1722. package/.opencode/skills/write/references/formula.md +0 -112
  1723. package/.opencode/skills/write/references/good.md +0 -29
  1724. package/.opencode/skills/write/references/publish.md +0 -70
  1725. package/.opencode/skills/youtube/SKILL.md +0 -50
  1726. package/.opencode/skills/youtube/references/api-content.md +0 -96
  1727. package/.opencode/skills/youtube/references/api-media.md +0 -66
  1728. package/.opencode/skills/youtube/references/blog.md +0 -132
  1729. package/.opencode/skills/youtube/references/infographic.md +0 -152
  1730. package/.opencode/skills/youtube/references/social.md +0 -165
  1731. package/.opencode/skills/youtube/scripts/test_vidcap.py +0 -172
  1732. package/.opencode/skills/youtube/scripts/vidcap.py +0 -302
  1733. package/.opencode/skills/youtube-thumbnail-design/SKILL.md +0 -186
  1734. package/.opencode/skills/youtube-thumbnail-design/data/niches.csv +0 -13
  1735. package/.opencode/skills/youtube-thumbnail-design/data/styles.csv +0 -18
  1736. package/.opencode/skills/youtube-thumbnail-design/references/thumbnail-styles.md +0 -170
  1737. package/.opencode/skills/youtube-thumbnail-design/scripts/core.py +0 -150
  1738. package/.opencode/skills/youtube-thumbnail-design/scripts/generate.py +0 -441
  1739. package/.opencode/skills/youtube-thumbnail-design/scripts/search.py +0 -115
  1740. package/.opencode/workflows/analytics-workflow.md +0 -264
  1741. package/.opencode/workflows/campaign-workflow.md +0 -228
  1742. package/.opencode/workflows/content-workflow.md +0 -275
  1743. package/.opencode/workflows/development-rules.md +0 -42
  1744. package/.opencode/workflows/documentation-management.md +0 -121
  1745. package/.opencode/workflows/marketing-workflow.md +0 -198
  1746. package/.opencode/workflows/orchestration-protocol.md +0 -16
  1747. package/.opencode/workflows/primary-workflow.md +0 -45
  1748. package/.opencode/workflows/sales-workflow.md +0 -193
  1749. package/.opencode/workflows/seo-workflow.md +0 -248
  1750. package/dist/web/assets/chat-tab-B3ut-s33.js +0 -10
  1751. package/dist/web/assets/index-BFXOaZuI.js +0 -30
  1752. package/dist/web/assets/index-Dxq-L2b4.css +0 -2
  1753. package/dist/web/assets/keybindings-store-A-4OusX7.js +0 -1
  1754. package/dist/web/assets/markdown-renderer-Br_NykOI.js +0 -69
@@ -1,939 +0,0 @@
1
- # SePay Best Practices
2
-
3
- Production-proven patterns for Vietnamese bank transfer payments via SePay/VietQR, covering transaction parsing, webhook handling, order matching, currency conversion, and error handling.
4
-
5
- ## Environment Configuration
6
-
7
- ### Required Environment Variables
8
- ```bash
9
- # Core API
10
- SEPAY_API_TOKEN=xxx # Bearer token for SePay API
11
- SEPAY_WEBHOOK_API_KEY=xxx # API key for webhook authentication
12
- SEPAY_API_URL=https://my.sepay.vn/userapi # Base URL (optional)
13
-
14
- # Bank Account Details
15
- SEPAY_ACCOUNT_NUMBER=0123456789 # Bank account for transfers
16
- SEPAY_ACCOUNT_NAME=COMPANY_NAME # Account holder name
17
- SEPAY_BANK_NAME=Vietcombank # Bank name (VietQR recognized)
18
- ```
19
-
20
- ### Product Pricing in VND
21
- ```typescript
22
- // lib/sepay.ts
23
- const VND_PRICES = {
24
- engineer_kit: 2450000, // ~$100 USD
25
- marketing_kit: 2450000, // ~$100 USD
26
- combo: 3650000, // ~$149 USD
27
- } as const;
28
-
29
- const USD_TO_VND_RATE = 24500; // 1 USD ≈ 24,500 VND
30
- ```
31
-
32
- ## Transaction Content Format
33
-
34
- ### Standard Format
35
- ```
36
- CLAUDEKIT {order-uuid}
37
- ```
38
- Example: `CLAUDEKIT 4e4635f4-0478-4080-a5c5-48da91f97f1e`
39
-
40
- ### Team Checkout Format
41
- ```
42
- TEAM{8-hex-chars}
43
- ```
44
- Example: `TEAM4E4635F4`
45
-
46
- ### Why These Formats
47
- - UUID ensures global uniqueness
48
- - `CLAUDEKIT` prefix for easy visual identification
49
- - Short team prefix fits bank memo limits
50
- - Case-insensitive matching handles bank transformations
51
-
52
- ## QR Code Generation
53
-
54
- ### VietQR URL Pattern
55
- ```typescript
56
- // lib/sepay.ts
57
- export function generateVietQRUrl(
58
- accountNumber: string,
59
- bankName: string,
60
- amount: number,
61
- content: string
62
- ): string {
63
- const params = new URLSearchParams({
64
- acc: accountNumber,
65
- bank: bankName,
66
- amount: String(Math.floor(amount)), // Integer only
67
- des: content,
68
- });
69
-
70
- return `https://qr.sepay.vn/img?${params.toString()}`;
71
- }
72
- ```
73
-
74
- ### Usage Example
75
- ```typescript
76
- const qrUrl = generateVietQRUrl(
77
- process.env.SEPAY_ACCOUNT_NUMBER!,
78
- process.env.SEPAY_BANK_NAME!,
79
- 2450000,
80
- `CLAUDEKIT ${orderId}`
81
- );
82
- // Returns: https://qr.sepay.vn/img?acc=0123456789&bank=Vietcombank&amount=2450000&des=CLAUDEKIT+uuid
83
- ```
84
-
85
- ## Checkout API Implementation
86
-
87
- ### Standard SePay Checkout
88
- ```typescript
89
- // app/api/checkout/sepay/route.ts
90
- import { NextResponse } from 'next/server';
91
- import { z } from 'zod';
92
-
93
- const checkoutSchema = z.object({
94
- email: z.string().email(),
95
- name: z.string().optional(),
96
- productType: z.enum(['engineer_kit', 'marketing_kit', 'combo']),
97
- githubUsername: z.string().min(1),
98
- couponCode: z.string().optional(),
99
- vatInvoiceRequested: z.boolean().optional(),
100
- taxId: z.string().regex(/^\d{10}$|^\d{13}$/).optional(), // 10 or 13 digits
101
- });
102
-
103
- export async function POST(request: Request) {
104
- try {
105
- const body = await request.json();
106
- const data = checkoutSchema.parse(body);
107
-
108
- // 1. Normalize email
109
- const normalizedEmail = data.email.toLowerCase().trim();
110
-
111
- // 2. Get base price
112
- const originalAmount = VND_PRICES[data.productType];
113
- let finalAmount = originalAmount;
114
- let discountMetadata: Record<string, any> = { originalAmount };
115
-
116
- // 3. CRITICAL: Apply discounts in correct order
117
- // Step A: Apply coupon FIRST
118
- if (data.couponCode) {
119
- const couponResult = await validateCouponForVND(data.couponCode, originalAmount);
120
- if (couponResult.valid) {
121
- finalAmount = originalAmount - couponResult.discountAmountVND;
122
- discountMetadata.couponCode = data.couponCode;
123
- discountMetadata.couponDiscountAmount = couponResult.discountAmountVND;
124
- discountMetadata.couponId = couponResult.couponId;
125
- }
126
- }
127
-
128
- // Step B: Apply referral SECOND (on post-coupon amount)
129
- const referralCode = getReferralCodeFromCookie(request);
130
- if (referralCode) {
131
- const referralResult = await calculateReferralDiscountVND(
132
- referralCode,
133
- finalAmount, // Post-coupon amount
134
- normalizedEmail
135
- );
136
- if (referralResult.valid && referralResult.discountAmount > 0) {
137
- // Validate calculation
138
- if (referralResult.discountAmount <= 0) {
139
- return NextResponse.json(
140
- { error: 'Invalid discount calculation' },
141
- { status: 400 }
142
- );
143
- }
144
- finalAmount -= referralResult.discountAmount;
145
- discountMetadata.referralCode = referralCode;
146
- discountMetadata.referralDiscountAmount = referralResult.discountAmount;
147
- discountMetadata.referrerId = referralResult.referrerId;
148
- }
149
- }
150
-
151
- // 4. Validate final amount
152
- if (finalAmount <= 0) {
153
- return NextResponse.json(
154
- { error: 'Invalid final amount' },
155
- { status: 400 }
156
- );
157
- }
158
-
159
- // 5. Encrypt sensitive data if VAT invoice requested
160
- let encryptedTaxId: string | null = null;
161
- if (data.vatInvoiceRequested && data.taxId) {
162
- encryptedTaxId = await encrypt(data.taxId);
163
- }
164
-
165
- // 6. Create order record
166
- const orderId = crypto.randomUUID();
167
- const transactionContent = `CLAUDEKIT ${orderId}`;
168
-
169
- const order = await db.insert(orders).values({
170
- id: orderId,
171
- email: normalizedEmail,
172
- productType: data.productType,
173
- amount: finalAmount,
174
- currency: 'VND',
175
- status: 'pending',
176
- paymentProvider: 'sepay',
177
- paymentId: transactionContent, // Used for matching
178
- referredBy: discountMetadata.referrerId,
179
- discountAmount: originalAmount - finalAmount,
180
- metadata: JSON.stringify({
181
- ...discountMetadata,
182
- githubUsername: data.githubUsername,
183
- vatInvoiceRequested: data.vatInvoiceRequested,
184
- encryptedTaxId,
185
- }),
186
- }).returning();
187
-
188
- // 7. Generate payment instructions
189
- const qrCode = generateVietQRUrl(
190
- process.env.SEPAY_ACCOUNT_NUMBER!,
191
- process.env.SEPAY_BANK_NAME!,
192
- finalAmount,
193
- transactionContent
194
- );
195
-
196
- return NextResponse.json({
197
- orderId: order[0].id,
198
- paymentMethod: 'bank_transfer',
199
- payment: {
200
- bankName: process.env.SEPAY_BANK_NAME,
201
- accountNumber: process.env.SEPAY_ACCOUNT_NUMBER,
202
- accountName: process.env.SEPAY_ACCOUNT_NAME,
203
- amount: finalAmount,
204
- currency: 'VND',
205
- content: transactionContent,
206
- qrCode,
207
- instructions: [
208
- 'Open your banking app',
209
- 'Scan the QR code or transfer manually',
210
- 'Use the exact transfer content shown',
211
- 'Payment will be confirmed automatically',
212
- ],
213
- },
214
- statusCheckUrl: `/api/orders/${order[0].id}/status`,
215
- });
216
-
217
- } catch (error) {
218
- if (error instanceof z.ZodError) {
219
- return NextResponse.json({ error: error.errors }, { status: 400 });
220
- }
221
- console.error('SePay checkout error:', error);
222
- return NextResponse.json(
223
- { error: 'Failed to create checkout' },
224
- { status: 500 }
225
- );
226
- }
227
- }
228
- ```
229
-
230
- ## Webhook Handling
231
-
232
- ### Webhook Authentication (Timing-Safe)
233
- ```typescript
234
- // app/api/webhooks/sepay/route.ts
235
- import { timingSafeEqual } from 'crypto';
236
- import { NextResponse } from 'next/server';
237
-
238
- function verifyWebhookAuth(request: Request): boolean {
239
- const authHeader = request.headers.get('Authorization');
240
- if (!authHeader) return false;
241
-
242
- const expectedKey = process.env.SEPAY_WEBHOOK_API_KEY!;
243
-
244
- // Support both "Bearer" and "Apikey" formats
245
- let providedKey: string;
246
- if (authHeader.startsWith('Bearer ')) {
247
- providedKey = authHeader.slice(7);
248
- } else if (authHeader.startsWith('Apikey ')) {
249
- providedKey = authHeader.slice(7);
250
- } else {
251
- return false;
252
- }
253
-
254
- // Timing-safe comparison to prevent timing attacks
255
- try {
256
- const expected = Buffer.from(expectedKey);
257
- const provided = Buffer.from(providedKey);
258
- if (expected.length !== provided.length) return false;
259
- return timingSafeEqual(expected, provided);
260
- } catch {
261
- return false;
262
- }
263
- }
264
-
265
- export async function POST(request: Request) {
266
- // 1. Verify authentication
267
- if (!verifyWebhookAuth(request)) {
268
- return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
269
- }
270
-
271
- const payload = await request.json();
272
-
273
- // 2. Extract event ID for idempotency
274
- const eventId = String(payload.id || payload.transaction_id || Date.now());
275
-
276
- // 3. Check for duplicate
277
- const existingEvent = await db.select()
278
- .from(webhookEvents)
279
- .where(eq(webhookEvents.eventId, eventId))
280
- .limit(1);
281
-
282
- if (existingEvent.length > 0) {
283
- console.log(`Duplicate SePay webhook ignored: ${eventId}`);
284
- return NextResponse.json({ success: true });
285
- }
286
-
287
- // 4. Record event BEFORE processing (idempotency)
288
- await db.insert(webhookEvents).values({
289
- id: crypto.randomUUID(),
290
- provider: 'sepay',
291
- eventType: 'transaction',
292
- eventId,
293
- payload: JSON.stringify(payload),
294
- processed: false,
295
- });
296
-
297
- try {
298
- await processTransaction(payload);
299
-
300
- await db.update(webhookEvents)
301
- .set({ processed: true, processedAt: new Date() })
302
- .where(eq(webhookEvents.eventId, eventId));
303
-
304
- } catch (error) {
305
- // Log error but return 200 to prevent retry loop
306
- await db.update(webhookEvents)
307
- .set({
308
- processed: true,
309
- processedAt: new Date(),
310
- error: error instanceof Error ? error.message : 'Unknown error',
311
- })
312
- .where(eq(webhookEvents.eventId, eventId));
313
- }
314
-
315
- // Always return 200 to prevent SePay retries
316
- return NextResponse.json({ success: true });
317
- }
318
- ```
319
-
320
- ### Webhook Payload Structure
321
- ```typescript
322
- interface SepayWebhookPayload {
323
- id: number; // Transaction ID (unique key)
324
- gateway: string; // Bank name (e.g., "Vietcombank")
325
- transactionDate: string; // "2025-01-07 10:30:00"
326
- accountNumber: string; // Account number
327
- code?: string; // Optional payment code
328
- content: string; // Transaction memo - CRITICAL for matching
329
- transferType: 'in' | 'out'; // Only process 'in'
330
- transferAmount: number; // Amount in VND
331
- accumulated: number; // Balance after transaction
332
- subAccount?: string;
333
- referenceCode?: string;
334
- description?: string;
335
- }
336
- ```
337
-
338
- ## Order Matching Strategy
339
-
340
- ### Multi-Strategy Fallback Chain
341
- ```typescript
342
- // lib/sepay.ts
343
- export async function findOrderByTransaction(
344
- payload: SepayWebhookPayload
345
- ): Promise<{ order: Order | null; matchMethod: string }> {
346
- const { content, transferAmount, transactionDate } = payload;
347
-
348
- // Strategy 1: Parse Order ID from content (preferred)
349
- const parsedOrderId = parseOrderIdFromContent(content);
350
- if (parsedOrderId) {
351
- const order = await db.select()
352
- .from(orders)
353
- .where(eq(orders.id, parsedOrderId))
354
- .limit(1);
355
-
356
- if (order[0]) {
357
- return { order: order[0], matchMethod: 'content-parse' };
358
- }
359
- }
360
-
361
- // Strategy 2: Team payment ID match
362
- const teamMatch = content.match(/TEAM([A-F0-9]{8})/i);
363
- if (teamMatch) {
364
- const teamPaymentId = `TEAM${teamMatch[1].toUpperCase()}`;
365
- const order = await db.select()
366
- .from(orders)
367
- .where(eq(orders.paymentId, teamPaymentId))
368
- .limit(1);
369
-
370
- if (order[0]) {
371
- return { order: order[0], matchMethod: 'team-payment-id' };
372
- }
373
- }
374
-
375
- // Strategy 3: Amount + timestamp window (±30 minutes)
376
- const transactionTime = new Date(transactionDate);
377
- const windowStart = new Date(transactionTime.getTime() - 30 * 60 * 1000);
378
- const windowEnd = new Date(transactionTime.getTime() + 30 * 60 * 1000);
379
-
380
- const windowMatches = await db.select()
381
- .from(orders)
382
- .where(and(
383
- eq(orders.status, 'pending'),
384
- eq(orders.paymentProvider, 'sepay'),
385
- eq(orders.amount, transferAmount),
386
- gte(orders.createdAt, windowStart),
387
- lte(orders.createdAt, windowEnd)
388
- ))
389
- .limit(10);
390
-
391
- if (windowMatches.length === 1) {
392
- return { order: windowMatches[0], matchMethod: 'timestamp-window' };
393
- }
394
-
395
- if (windowMatches.length > 1) {
396
- // Multiple matches - select closest by creation time
397
- const closest = windowMatches.reduce((prev, curr) => {
398
- const prevDiff = Math.abs(prev.createdAt.getTime() - transactionTime.getTime());
399
- const currDiff = Math.abs(curr.createdAt.getTime() - transactionTime.getTime());
400
- return currDiff < prevDiff ? curr : prev;
401
- });
402
- return { order: closest, matchMethod: 'timestamp-window-closest' };
403
- }
404
-
405
- // Strategy 4: Amount only (last resort - single match only)
406
- const amountMatches = await db.select()
407
- .from(orders)
408
- .where(and(
409
- eq(orders.status, 'pending'),
410
- eq(orders.paymentProvider, 'sepay'),
411
- eq(orders.amount, transferAmount)
412
- ))
413
- .limit(2);
414
-
415
- if (amountMatches.length === 1) {
416
- console.warn(`⚠️ Amount-only match for ${transferAmount} VND - verify manually`);
417
- return { order: amountMatches[0], matchMethod: 'amount-only' };
418
- }
419
-
420
- // No match found
421
- console.error(`❌ Could not match order:
422
- Content: "${content}"
423
- Amount: ${transferAmount} VND
424
- Transaction Date: ${transactionDate}`);
425
-
426
- return { order: null, matchMethod: 'none' };
427
- }
428
- ```
429
-
430
- ### UUID Parsing with Bank Transformations
431
- ```typescript
432
- // lib/sepay.ts
433
- export function parseOrderIdFromContent(content: string): string | null {
434
- if (!content) return null;
435
-
436
- // Pattern 1: Standard "CLAUDEKIT {uuid}"
437
- const claudekitMatch = content.match(/CLAUDEKIT\s+([\w-]+)/i);
438
- if (claudekitMatch) {
439
- return normalizeUUID(claudekitMatch[1]);
440
- }
441
-
442
- // Pattern 2: UUID anywhere in content (banks may strip/transform content)
443
- // Match 8-4-4-4-12 hex with optional dashes
444
- const uuidMatch = content.match(
445
- /([0-9A-F]{8}-?[0-9A-F]{4}-?[0-9A-F]{4}-?[0-9A-F]{4}-?[0-9A-F]{12})/i
446
- );
447
- if (uuidMatch) {
448
- return normalizeUUID(uuidMatch[1]);
449
- }
450
-
451
- return null;
452
- }
453
-
454
- function normalizeUUID(input: string): string | null {
455
- // Remove dashes and validate
456
- const cleaned = input.replace(/-/g, '');
457
-
458
- if (cleaned.length !== 32) return null;
459
- if (!/^[0-9a-f]+$/i.test(cleaned)) return null;
460
-
461
- // Re-format to standard UUID format
462
- return [
463
- cleaned.slice(0, 8),
464
- cleaned.slice(8, 12),
465
- cleaned.slice(12, 16),
466
- cleaned.slice(16, 20),
467
- cleaned.slice(20),
468
- ].join('-').toLowerCase();
469
- }
470
- ```
471
-
472
- ### Handled Content Formats
473
- ```
474
- CLAUDEKIT 4e4635f4-0478-4080-a5c5-48da91f97f1e ✅ Standard
475
- CLAUDEKIT 4e4635f404784080a5c548da91f97f1e ✅ Bank stripped dashes
476
- CLAUDEKIT4e4635f404784080a5c548da91f97f1e ✅ No space
477
- 4e4635f404784080a5c548da91f97f1e-CLAUDEKIT ✅ Reversed
478
- claudekit 4e4635f4-0478-4080-a5c5-48da91f97f1e ✅ Lowercase
479
- BankAPINotify 4e4635f404784080a5c548da91f97f1e... ✅ Extra prefix
480
- 4e4635f404784080a5c548da91f97f1e ✅ UUID only
481
- ```
482
-
483
- ## Transaction Processing
484
-
485
- ### Complete Processing Flow
486
- ```typescript
487
- async function processTransaction(payload: SepayWebhookPayload) {
488
- // 1. Only process incoming transfers
489
- if (payload.transferType !== 'in') {
490
- console.log('Skipping outbound transfer');
491
- return;
492
- }
493
-
494
- // 2. Find matching order
495
- const { order, matchMethod } = await findOrderByTransaction(payload);
496
- if (!order) {
497
- console.error('No matching order found');
498
- return;
499
- }
500
-
501
- // 3. Verify amount (allow overpayment)
502
- if (payload.transferAmount < order.amount) {
503
- console.error(`Underpayment: expected ${order.amount}, got ${payload.transferAmount}`);
504
- return;
505
- }
506
- if (payload.transferAmount > order.amount) {
507
- console.log(`Overpayment accepted: expected ${order.amount}, got ${payload.transferAmount}`);
508
- }
509
-
510
- // 4. Update order with transaction details
511
- const existingMetadata = order.metadata ? JSON.parse(order.metadata) : {};
512
- await db.update(orders)
513
- .set({
514
- status: 'completed',
515
- paymentId: String(payload.id),
516
- metadata: JSON.stringify({
517
- ...existingMetadata, // Preserve discount info
518
- gateway: payload.gateway,
519
- transactionDate: payload.transactionDate,
520
- accountNumber: payload.accountNumber,
521
- transferAmount: payload.transferAmount,
522
- content: payload.content,
523
- matchMethod,
524
- transactionId: payload.id,
525
- }),
526
- updatedAt: new Date(),
527
- })
528
- .where(eq(orders.id, order.id));
529
-
530
- // 5. Create license (non-blocking)
531
- try {
532
- await createLicense(order);
533
- } catch (error) {
534
- console.error('Failed to create license:', error);
535
- }
536
-
537
- // 6. Send confirmation email (non-blocking)
538
- try {
539
- await sendOrderConfirmation(order, payload);
540
- } catch (error) {
541
- console.error('Failed to send confirmation:', error);
542
- }
543
-
544
- // 7. Create referral commission (non-blocking)
545
- if (order.referredBy) {
546
- try {
547
- // Commission based on actual paid amount
548
- await createCommission({
549
- orderId: order.id,
550
- referrerId: order.referredBy,
551
- baseAmount: payload.transferAmount, // Actual paid amount
552
- currency: 'VND',
553
- });
554
- } catch (error) {
555
- console.error('Failed to create commission:', error);
556
- }
557
- }
558
-
559
- // 8. Update referrer tier (non-blocking)
560
- if (order.referredBy) {
561
- try {
562
- const usdConversion = await convertVndToUsd(payload.transferAmount);
563
- await updateReferrerTier(order.referredBy, usdConversion.usdCents, order.id);
564
- } catch (error) {
565
- console.error('Failed to update tier:', error);
566
- }
567
- }
568
-
569
- // 9. Grant GitHub access (non-blocking)
570
- try {
571
- const metadata = JSON.parse(order.metadata || '{}');
572
- await inviteToGitHub(metadata.githubUsername, order.productType);
573
- } catch (error) {
574
- console.error('Failed to invite to GitHub:', error);
575
- }
576
-
577
- // 10. Sync Polar discount redemption (non-blocking)
578
- const metadata = JSON.parse(order.metadata || '{}');
579
- if (metadata.couponId && metadata.couponCode) {
580
- try {
581
- await syncPolarDiscountWithRetry(order.id, metadata.couponId, metadata.couponCode);
582
- } catch (error) {
583
- console.error('Failed to sync Polar discount:', error);
584
- await sendDiscordAlert('Polar discount sync failed', { orderId: order.id });
585
- }
586
- }
587
-
588
- // 11. Send sales notification (non-blocking)
589
- try {
590
- await sendSalesNotification({
591
- ...order,
592
- gateway: payload.gateway,
593
- transactionId: payload.id,
594
- });
595
- } catch (error) {
596
- console.error('Failed to send Discord notification:', error);
597
- }
598
- }
599
- ```
600
-
601
- ## Currency Conversion
602
-
603
- ### VND to USD with Multi-Layer Fallback
604
- ```typescript
605
- // lib/currency.ts
606
- const EXCHANGE_RATE_CACHE_TTL = 60 * 60 * 1000; // 1 hour
607
- const FALLBACK_VND_TO_USD = 24500; // Conservative fallback
608
-
609
- let exchangeRateCache: {
610
- rate: number;
611
- timestamp: number;
612
- source: 'api' | 'cached' | 'expired' | 'fallback';
613
- } | null = null;
614
-
615
- export async function convertVndToUsd(vndAmount: number): Promise<{
616
- usdCents: number;
617
- rate: number;
618
- source: string;
619
- }> {
620
- const now = Date.now();
621
-
622
- // Layer 1: Fresh cache
623
- if (exchangeRateCache && now - exchangeRateCache.timestamp < EXCHANGE_RATE_CACHE_TTL) {
624
- const usdCents = Math.round((vndAmount / exchangeRateCache.rate) * 100);
625
- return { usdCents, rate: exchangeRateCache.rate, source: 'cached' };
626
- }
627
-
628
- // Layer 2: Try live API
629
- try {
630
- const response = await fetch(
631
- 'https://api.exchangerate-api.com/v4/latest/USD',
632
- { signal: AbortSignal.timeout(5000) }
633
- );
634
- const data = await response.json();
635
- const rate = data.rates.VND;
636
-
637
- exchangeRateCache = { rate, timestamp: now, source: 'api' };
638
- const usdCents = Math.round((vndAmount / rate) * 100);
639
- return { usdCents, rate, source: 'api' };
640
-
641
- } catch (error) {
642
- console.warn('Exchange rate API failed:', error);
643
-
644
- // Layer 3: Expired cache (better than nothing)
645
- if (exchangeRateCache) {
646
- const usdCents = Math.round((vndAmount / exchangeRateCache.rate) * 100);
647
- return { usdCents, rate: exchangeRateCache.rate, source: 'expired_cache' };
648
- }
649
-
650
- // Layer 4: Hardcoded fallback
651
- const usdCents = Math.round((vndAmount / FALLBACK_VND_TO_USD) * 100);
652
- return { usdCents, rate: FALLBACK_VND_TO_USD, source: 'fallback' };
653
- }
654
- }
655
- ```
656
-
657
- ### USD Discount to VND
658
- ```typescript
659
- // When Polar discount is in USD, convert to VND for SePay checkout
660
- export function convertUsdDiscountToVnd(
661
- discount: { type: 'fixed' | 'percentage'; amount?: number; basisPoints?: number },
662
- amountVND: number
663
- ): number {
664
- if (discount.type === 'percentage') {
665
- // Basis points: 1000 = 10%, 10000 = 100%
666
- const percentage = (discount.basisPoints || 0) / 10000;
667
- return Math.round(amountVND * percentage);
668
- } else {
669
- // Fixed amount in USD cents → VND
670
- const usdDollars = (discount.amount || 0) / 100;
671
- return Math.round(usdDollars * 24500); // Use conservative rate
672
- }
673
- }
674
- ```
675
-
676
- ## Invoice Email Template
677
-
678
- ### HTML Invoice Generation
679
- ```typescript
680
- // lib/emails/sepay-invoice.ts
681
- export function generateSepayInvoice(order: Order, transaction: TransactionInfo): string {
682
- const metadata = JSON.parse(order.metadata || '{}');
683
- const invoiceNumber = `INV-${format(new Date(), 'yyyyMMdd')}-${order.id.slice(-8).toUpperCase()}`;
684
-
685
- // Format VND with Vietnamese locale
686
- const formatVND = (amount: number) =>
687
- new Intl.NumberFormat('vi-VN', { style: 'currency', currency: 'VND' }).format(amount);
688
-
689
- // Escape HTML to prevent XSS
690
- const escapeHtml = (text: string) =>
691
- text.replace(/[&<>"']/g, char => ({
692
- '&': '&amp;',
693
- '<': '&lt;',
694
- '>': '&gt;',
695
- '"': '&quot;',
696
- "'": '&#39;',
697
- })[char] || char);
698
-
699
- return `
700
- <!DOCTYPE html>
701
- <html>
702
- <head>
703
- <style>
704
- .invoice { font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; }
705
- .header { background: linear-gradient(135deg, #ff6b6b, #feca57); padding: 20px; }
706
- .status { background: #10b981; color: white; padding: 4px 12px; border-radius: 4px; }
707
- .amount { font-size: 24px; font-weight: bold; }
708
- .savings { color: #10b981; }
709
- </style>
710
- </head>
711
- <body>
712
- <div class="invoice">
713
- <div class="header">
714
- <h1>Invoice</h1>
715
- <span class="status">PAID</span>
716
- </div>
717
-
718
- <table>
719
- <tr><td>Invoice #:</td><td>${invoiceNumber}</td></tr>
720
- <tr><td>Customer:</td><td>${escapeHtml(metadata.name || order.email)}</td></tr>
721
- <tr><td>Email:</td><td>${escapeHtml(order.email)}</td></tr>
722
- <tr><td>Payment Date:</td><td>${format(new Date(transaction.transactionDate), 'dd/MM/yyyy HH:mm')}</td></tr>
723
- <tr><td>Transaction Ref:</td><td>${transaction.transactionId || 'N/A'}</td></tr>
724
- </table>
725
-
726
- <h3>Order Details</h3>
727
- <table>
728
- <tr><td>Product:</td><td>${getProductName(order.productType)}</td></tr>
729
- <tr><td>Original Price:</td><td>${formatVND(metadata.originalAmount || order.amount)}</td></tr>
730
- ${metadata.couponDiscountAmount ? `
731
- <tr><td>Coupon (${metadata.couponCode}):</td><td>-${formatVND(metadata.couponDiscountAmount)}</td></tr>
732
- ` : ''}
733
- ${metadata.referralDiscountAmount ? `
734
- <tr><td>Referral Discount (20%):</td><td>-${formatVND(metadata.referralDiscountAmount)}</td></tr>
735
- ` : ''}
736
- ${order.discountAmount > 0 ? `
737
- <tr class="savings"><td>Total Savings:</td><td>-${formatVND(order.discountAmount)}</td></tr>
738
- ` : ''}
739
- <tr class="amount"><td>Total Paid:</td><td>${formatVND(order.amount)}</td></tr>
740
- </table>
741
-
742
- <p>Thank you for your purchase!</p>
743
- <p>Support: support@claudekit.com</p>
744
- </div>
745
- </body>
746
- </html>
747
- `;
748
- }
749
- ```
750
-
751
- ## Error Handling Patterns
752
-
753
- ### Always Return 200 to SePay
754
- ```typescript
755
- // Webhook must always return 200 to prevent retry loop
756
- export async function POST(request: Request) {
757
- try {
758
- // ... processing
759
- } catch (error) {
760
- // Log error but don't fail
761
- console.error('Webhook processing error:', error);
762
- await logWebhookError(error);
763
- }
764
-
765
- // ALWAYS return 200
766
- return NextResponse.json({ success: true });
767
- }
768
- ```
769
-
770
- ### Non-Blocking Post-Payment Operations
771
- ```typescript
772
- // Wrap each operation in try-catch
773
- const operations = [
774
- { name: 'License', fn: () => createLicense(order) },
775
- { name: 'Email', fn: () => sendOrderConfirmation(order) },
776
- { name: 'Commission', fn: () => createCommission(order) },
777
- { name: 'GitHub', fn: () => inviteToGitHub(username, productType) },
778
- { name: 'Discord', fn: () => sendSalesNotification(order) },
779
- ];
780
-
781
- for (const op of operations) {
782
- try {
783
- await op.fn();
784
- console.log(`✅ ${op.name} completed`);
785
- } catch (error) {
786
- console.error(`❌ ${op.name} failed:`, error);
787
- // Continue - don't block other operations
788
- }
789
- }
790
- ```
791
-
792
- ### Amount Validation
793
- ```typescript
794
- // Reject underpayment, accept overpayment
795
- if (transferAmount < order.amount) {
796
- console.error(`Underpayment: expected ${order.amount}, received ${transferAmount}`);
797
- await flagOrderForReview(order.id, 'underpayment');
798
- return; // Don't process
799
- }
800
-
801
- if (transferAmount > order.amount) {
802
- console.log(`Overpayment: expected ${order.amount}, received ${transferAmount}`);
803
- // Continue processing - customer paid more than required
804
- }
805
- ```
806
-
807
- ## Testing Patterns
808
-
809
- ### Unit Tests for UUID Parsing
810
- ```typescript
811
- // __tests__/lib/sepay.test.ts
812
- describe('parseOrderIdFromContent', () => {
813
- it('parses standard format', () => {
814
- expect(parseOrderIdFromContent('CLAUDEKIT 4e4635f4-0478-4080-a5c5-48da91f97f1e'))
815
- .toBe('4e4635f4-0478-4080-a5c5-48da91f97f1e');
816
- });
817
-
818
- it('handles bank dash-stripping', () => {
819
- expect(parseOrderIdFromContent('CLAUDEKIT 4e4635f404784080a5c548da91f97f1e'))
820
- .toBe('4e4635f4-0478-4080-a5c5-48da91f97f1e');
821
- });
822
-
823
- it('handles real-world Vietnamese bank memo', () => {
824
- expect(parseOrderIdFromContent('BankAPINotify 4e4635f404784080a5c548da91f97f1e-CHUYEN TIEN'))
825
- .toBe('4e4635f4-0478-4080-a5c5-48da91f97f1e');
826
- });
827
-
828
- it('returns null for invalid content', () => {
829
- expect(parseOrderIdFromContent('CLAUDEKIT')).toBeNull();
830
- expect(parseOrderIdFromContent('4e4635f4-0478')).toBeNull();
831
- expect(parseOrderIdFromContent('104588021672-CLAUDEKIT')).toBeNull();
832
- });
833
- });
834
- ```
835
-
836
- ### Webhook Integration Test Script
837
- ```bash
838
- #!/bin/bash
839
- # scripts/test-sepay-webhook.sh
840
-
841
- BASE_URL="http://localhost:3000/api/webhooks/sepay"
842
- API_KEY="your-test-key"
843
-
844
- # Test 1: Valid Bearer token
845
- echo "Test 1: Bearer token auth"
846
- curl -X POST "$BASE_URL" \
847
- -H "Authorization: Bearer $API_KEY" \
848
- -H "Content-Type: application/json" \
849
- -d '{"id":12345,"content":"CLAUDEKIT test-uuid","transferAmount":2450000,"transferType":"in"}'
850
-
851
- # Test 2: Valid Apikey format
852
- echo "Test 2: Apikey auth"
853
- curl -X POST "$BASE_URL" \
854
- -H "Authorization: Apikey $API_KEY" \
855
- -d '{"id":12346,"content":"CLAUDEKIT test-uuid","transferAmount":2450000,"transferType":"in"}'
856
-
857
- # Test 3: Missing auth (should return 401)
858
- echo "Test 3: No auth (expect 401)"
859
- curl -X POST "$BASE_URL" \
860
- -d '{"id":12347,"content":"test","transferAmount":100000,"transferType":"in"}'
861
-
862
- # Test 4: Invalid key (should return 401)
863
- echo "Test 4: Invalid key (expect 401)"
864
- curl -X POST "$BASE_URL" \
865
- -H "Authorization: Bearer wrong-key" \
866
- -d '{"id":12348,"content":"test","transferAmount":100000,"transferType":"in"}'
867
- ```
868
-
869
- ## Database Schema
870
-
871
- ### Orders Table Extensions for SePay
872
- ```typescript
873
- // Fields used specifically for SePay
874
- {
875
- paymentId: text('payment_id'), // Transaction content or TEAM{8} code
876
- paymentProvider: literal('sepay'), // Distinguishes from Polar
877
- currency: literal('VND'), // Always VND for SePay
878
- amount: integer('amount'), // In VND (no decimals)
879
- }
880
-
881
- // Metadata JSON includes:
882
- {
883
- gateway: string, // Bank name from webhook
884
- transactionDate: string, // Webhook timestamp
885
- transactionId: number, // SePay transaction ID
886
- transferAmount: number, // Actual received amount
887
- matchMethod: string, // How order was matched
888
- content: string, // Original transaction memo
889
- encryptedTaxId?: string, // For VAT invoices
890
- }
891
- ```
892
-
893
- ### Recommended Indexes
894
- ```sql
895
- CREATE INDEX idx_orders_sepay_pending ON orders (status, payment_provider, amount)
896
- WHERE status = 'pending' AND payment_provider = 'sepay';
897
-
898
- CREATE INDEX idx_orders_sepay_timestamp ON orders (created_at)
899
- WHERE payment_provider = 'sepay';
900
-
901
- CREATE INDEX idx_orders_payment_id ON orders (payment_id)
902
- WHERE payment_provider = 'sepay';
903
- ```
904
-
905
- ## Production Checklist
906
-
907
- - [ ] Environment variables configured
908
- - [ ] Bank account verified and active
909
- - [ ] Webhook endpoint publicly accessible (HTTPS)
910
- - [ ] Webhook API key set and verified
911
- - [ ] Timing-safe auth comparison implemented
912
- - [ ] Idempotency handling tested with duplicate webhooks
913
- - [ ] UUID parsing tested with real Vietnamese bank memos
914
- - [ ] Amount validation (underpayment rejection) tested
915
- - [ ] Overpayment handling verified
916
- - [ ] Currency conversion fallback chain tested
917
- - [ ] Invoice email template tested
918
- - [ ] Error monitoring enabled
919
- - [ ] Structured logging in place
920
- - [ ] Database indexes created
921
- - [ ] Polar discount sync tested (for shared coupons)
922
- - [ ] Team payment ID format tested
923
- - [ ] Non-blocking operations wrapped in try-catch
924
- - [ ] Always-200 webhook response verified
925
-
926
- ## Common Pitfalls
927
-
928
- 1. **Not handling bank dash-stripping** - Banks may remove dashes from UUIDs
929
- 2. **Rejecting overpayments** - Should accept; customer paid more
930
- 3. **Blocking webhook on non-critical failures** - Wrap in try-catch, continue
931
- 4. **Not using timing-safe comparison** - Vulnerable to timing attacks
932
- 5. **Returning non-200 on error** - Causes SePay retry loops
933
- 6. **Using raw exchange rates without fallback** - API can fail
934
- 7. **Applying discounts in wrong order** - Always coupon first, then referral
935
- 8. **Not logging matchMethod** - Hard to debug failed matches
936
- 9. **Not preserving checkout metadata** - Lose discount audit trail
937
- 10. **Synchronous Polar discount sync** - Can fail; use retry with backoff
938
- 11. **Case-sensitive content matching** - Banks may uppercase/lowercase
939
- 12. **Missing amount-only match safety** - Reject ambiguous matches