@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,902 +0,0 @@
1
- # Polar Best Practices
2
-
3
- Production-proven patterns from real SaaS implementations covering SDK initialization, checkout flows, webhooks, discounts, fee calculations, and error handling.
4
-
5
- ## Environment Configuration
6
-
7
- ### Required Environment Variables
8
- ```bash
9
- # Core API
10
- POLAR_API_KEY=polar_at_xxx # Access token from Polar Dashboard
11
- POLAR_ORGANIZATION_ID=org_xxx # Your organization ID
12
- POLAR_WEBHOOK_SECRET=whsec_xxx # Webhook signature verification
13
-
14
- # Product IDs (one per product)
15
- POLAR_PRODUCT_ENGINEER_ID=prod_xxx
16
- POLAR_PRODUCT_MARKETING_ID=prod_xxx
17
- POLAR_PRODUCT_COMBO_ID=prod_xxx
18
-
19
- # Environment (optional, defaults to production)
20
- POLAR_ENV=production # 'production' or 'sandbox'
21
- ```
22
-
23
- ### Lazy Initialization Pattern
24
- ```typescript
25
- // lib/polar.ts - Defer validation until first access
26
- import { Polar } from '@polar-sh/sdk';
27
- import { z } from 'zod';
28
-
29
- const polarEnvSchema = z.object({
30
- POLAR_API_KEY: z.string().min(1),
31
- POLAR_ORGANIZATION_ID: z.string().min(1),
32
- POLAR_WEBHOOK_SECRET: z.string().min(1),
33
- });
34
-
35
- let _polar: Polar | null = null;
36
- let _env: z.infer<typeof polarEnvSchema> | null = null;
37
-
38
- export function getPolarEnv() {
39
- if (!_env) {
40
- _env = polarEnvSchema.parse({
41
- POLAR_API_KEY: process.env.POLAR_API_KEY,
42
- POLAR_ORGANIZATION_ID: process.env.POLAR_ORGANIZATION_ID,
43
- POLAR_WEBHOOK_SECRET: process.env.POLAR_WEBHOOK_SECRET,
44
- });
45
- }
46
- return _env;
47
- }
48
-
49
- export function getPolar() {
50
- if (!_polar) {
51
- const env = getPolarEnv();
52
- const polarEnv = process.env.POLAR_ENV || 'production';
53
- _polar = new Polar({
54
- accessToken: env.POLAR_API_KEY,
55
- server: polarEnv as 'production' | 'sandbox',
56
- });
57
- }
58
- return _polar;
59
- }
60
- ```
61
-
62
- **Key Benefit:** Module imports succeed at build time; validation deferred until runtime when env vars are available.
63
-
64
- ## Checkout Flow Implementation
65
-
66
- ### Standard Checkout API
67
- ```typescript
68
- // app/api/checkout/polar/route.ts
69
- import { NextResponse } from 'next/server';
70
- import { z } from 'zod';
71
- import { getPolar, getPolarEnv } from '@/lib/polar';
72
-
73
- const checkoutSchema = z.object({
74
- email: z.string().email(),
75
- name: z.string().optional(),
76
- productType: z.enum(['engineer_kit', 'marketing_kit', 'combo']),
77
- githubUsername: z.string().min(1),
78
- referralCode: z.string().regex(/^[A-Z0-9]{8}$/).optional(),
79
- couponCode: z.string().optional(),
80
- });
81
-
82
- // Pricing in cents
83
- const PRODUCT_PRICES = {
84
- engineer_kit: 9900, // $99
85
- marketing_kit: 9900, // $99
86
- combo: 14900, // $149
87
- } as const;
88
-
89
- export async function POST(request: Request) {
90
- try {
91
- const body = await request.json();
92
- const data = checkoutSchema.parse(body);
93
- const polar = getPolar();
94
- const env = getPolarEnv();
95
-
96
- // 1. Normalize email
97
- const normalizedEmail = data.email.toLowerCase().trim();
98
-
99
- // 2. Validate GitHub username against GitHub API
100
- const githubValid = await validateGitHubUsername(data.githubUsername);
101
- if (!githubValid) {
102
- return NextResponse.json(
103
- { error: 'Invalid GitHub username' },
104
- { status: 400 }
105
- );
106
- }
107
-
108
- // 3. Get product ID and base price
109
- const productId = getProductId(data.productType);
110
- const originalAmount = PRODUCT_PRICES[data.productType];
111
-
112
- // 4. Apply discount hierarchy (order matters!)
113
- let finalAmount = originalAmount;
114
- let polarDiscountId: string | undefined;
115
- let discountMetadata: Record<string, any> = {};
116
-
117
- // Step A: Apply coupon FIRST (if provided)
118
- if (data.couponCode) {
119
- const couponResult = await validateAndApplyCoupon(
120
- data.couponCode,
121
- productId,
122
- originalAmount
123
- );
124
- if (couponResult.valid) {
125
- finalAmount = originalAmount - couponResult.discountAmount;
126
- discountMetadata.couponCode = data.couponCode;
127
- discountMetadata.couponDiscountAmount = couponResult.discountAmount;
128
- }
129
- }
130
-
131
- // Step B: Apply referral discount SECOND (on post-coupon price)
132
- if (data.referralCode) {
133
- const referralResult = await calculateReferralDiscount(
134
- data.referralCode,
135
- finalAmount, // Applied to post-coupon amount
136
- normalizedEmail
137
- );
138
-
139
- if (referralResult.valid && referralResult.discountAmount > 0) {
140
- // Validate discount calculation
141
- if (referralResult.discountAmount <= 0) {
142
- return NextResponse.json(
143
- { error: 'Invalid discount calculation - contact support' },
144
- { status: 400 }
145
- );
146
- }
147
-
148
- finalAmount -= referralResult.discountAmount;
149
- discountMetadata.referralCode = data.referralCode;
150
- discountMetadata.referralDiscountAmount = referralResult.discountAmount;
151
- discountMetadata.referrerId = referralResult.referrerId;
152
- }
153
- }
154
-
155
- // 5. Create order record BEFORE Polar checkout
156
- const order = await db.insert(orders).values({
157
- id: crypto.randomUUID(),
158
- email: normalizedEmail,
159
- productType: data.productType,
160
- amount: finalAmount,
161
- originalAmount,
162
- currency: 'USD',
163
- status: 'pending',
164
- paymentProvider: 'polar',
165
- referredBy: discountMetadata.referrerId,
166
- discountAmount: originalAmount - finalAmount,
167
- metadata: JSON.stringify({
168
- ...discountMetadata,
169
- githubUsername: data.githubUsername,
170
- }),
171
- }).returning();
172
-
173
- // 6. Create dynamic Polar discount (if referral applied)
174
- if (discountMetadata.referrerId && discountMetadata.referralDiscountAmount > 0) {
175
- try {
176
- const discount = await polar.discounts.create({
177
- type: 'fixed',
178
- name: `referral-${order[0].id.slice(0, 8)}`,
179
- amount: discountMetadata.referralDiscountAmount,
180
- currency: 'usd',
181
- duration: 'once',
182
- maxRedemptions: 1,
183
- products: [productId],
184
- metadata: {
185
- orderId: order[0].id,
186
- type: 'referral',
187
- referrerId: discountMetadata.referrerId,
188
- },
189
- });
190
- polarDiscountId = discount.id;
191
- } catch (error) {
192
- // FAIL-OPEN: Proceed with full price, flag for manual refund
193
- console.error('⚠️ Failed to create Polar discount:', error);
194
- }
195
- }
196
-
197
- // 7. Create Polar checkout session
198
- const checkout = await polar.checkouts.create({
199
- productPriceId: productId,
200
- customerEmail: normalizedEmail,
201
- successUrl: `${process.env.NEXT_PUBLIC_URL}/checkout/success?orderId=${order[0].id}`,
202
- discountId: polarDiscountId,
203
- allowDiscountCodes: !polarDiscountId, // Prevent stacking
204
- metadata: {
205
- orderId: order[0].id,
206
- githubUsername: data.githubUsername,
207
- referredBy: discountMetadata.referrerId,
208
- },
209
- });
210
-
211
- return NextResponse.json({
212
- checkoutUrl: checkout.url,
213
- orderId: order[0].id,
214
- });
215
-
216
- } catch (error) {
217
- if (error instanceof z.ZodError) {
218
- return NextResponse.json({ error: error.errors }, { status: 400 });
219
- }
220
- console.error('Checkout error:', error);
221
- return NextResponse.json(
222
- { error: 'Failed to create checkout' },
223
- { status: 500 }
224
- );
225
- }
226
- }
227
- ```
228
-
229
- ### Discount Application Order (Critical)
230
- ```
231
- 1. Original price (e.g., $99)
232
- 2. Apply coupon discount FIRST → post-coupon price (e.g., $79)
233
- 3. Apply referral discount SECOND → final price (e.g., $63.20)
234
-
235
- Never apply referral to original price if coupon was used!
236
- ```
237
-
238
- ## Webhook Handling
239
-
240
- ### Signature Verification
241
- ```typescript
242
- // app/api/webhooks/polar/route.ts
243
- import { validateEvent } from '@polar-sh/sdk/webhooks';
244
- import { NextResponse } from 'next/server';
245
-
246
- export async function POST(request: Request) {
247
- const payload = await request.text();
248
- const headers = Object.fromEntries(request.headers);
249
- const secret = process.env.POLAR_WEBHOOK_SECRET!;
250
-
251
- let webhookEvent;
252
- try {
253
- webhookEvent = validateEvent(payload, headers, secret);
254
- } catch (error) {
255
- console.error('Invalid webhook signature:', error);
256
- return NextResponse.json({ error: 'Invalid signature' }, { status: 400 });
257
- }
258
-
259
- // Extract event ID for idempotency
260
- const parsedPayload = JSON.parse(payload);
261
- const eventId = parsedPayload.id || `${parsedPayload.type}-${Date.now()}`;
262
-
263
- // Check for duplicate processing
264
- const existingEvent = await db.select()
265
- .from(webhookEvents)
266
- .where(eq(webhookEvents.eventId, eventId))
267
- .limit(1);
268
-
269
- if (existingEvent.length > 0) {
270
- console.log(`Duplicate webhook ignored: ${eventId}`);
271
- return NextResponse.json({ received: true });
272
- }
273
-
274
- // Record event BEFORE processing (idempotency)
275
- await db.insert(webhookEvents).values({
276
- id: crypto.randomUUID(),
277
- provider: 'polar',
278
- eventType: webhookEvent.type,
279
- eventId,
280
- payload,
281
- processed: false,
282
- });
283
-
284
- try {
285
- await handleWebhookEvent(webhookEvent);
286
-
287
- // Mark as processed
288
- await db.update(webhookEvents)
289
- .set({ processed: true, processedAt: new Date() })
290
- .where(eq(webhookEvents.eventId, eventId));
291
-
292
- } catch (error) {
293
- // Log error but don't fail the webhook
294
- await db.update(webhookEvents)
295
- .set({
296
- processed: true,
297
- processedAt: new Date(),
298
- error: error instanceof Error ? error.message : 'Unknown error',
299
- })
300
- .where(eq(webhookEvents.eventId, eventId));
301
- }
302
-
303
- return NextResponse.json({ received: true });
304
- }
305
- ```
306
-
307
- ### Event Handlers
308
- ```typescript
309
- async function handleWebhookEvent(event: WebhookEvent) {
310
- switch (event.type) {
311
- case 'checkout.created':
312
- // Order already exists from API - just log
313
- console.log(`Checkout created: ${event.data.id}`);
314
- break;
315
-
316
- case 'checkout.updated':
317
- await handleCheckoutUpdated(event.data);
318
- break;
319
-
320
- case 'order.created':
321
- await handleOrderCreated(event.data);
322
- break;
323
-
324
- case 'order.refunded':
325
- await handleOrderRefunded(event.data);
326
- break;
327
-
328
- default:
329
- console.log(`Unhandled event type: ${event.type}`);
330
- }
331
- }
332
-
333
- async function handleOrderCreated(order: PolarOrder) {
334
- const orderId = order.metadata?.orderId;
335
- if (!orderId) {
336
- console.error('Order missing orderId in metadata');
337
- return;
338
- }
339
-
340
- const dbOrder = await db.select()
341
- .from(orders)
342
- .where(eq(orders.id, orderId))
343
- .limit(1);
344
-
345
- if (!dbOrder[0]) {
346
- console.error(`Order not found: ${orderId}`);
347
- return;
348
- }
349
-
350
- // 1. Update order status
351
- await db.update(orders)
352
- .set({
353
- status: 'completed',
354
- paymentId: order.id,
355
- updatedAt: new Date(),
356
- })
357
- .where(eq(orders.id, orderId));
358
-
359
- // 2. Create license (non-blocking)
360
- try {
361
- await createLicense(dbOrder[0]);
362
- } catch (error) {
363
- console.error('Failed to create license:', error);
364
- }
365
-
366
- // 3. Send confirmation email (non-blocking)
367
- try {
368
- await sendOrderConfirmation(dbOrder[0], order);
369
- } catch (error) {
370
- console.error('Failed to send confirmation:', error);
371
- }
372
-
373
- // 4. Create referral commission (non-blocking)
374
- if (dbOrder[0].referredBy) {
375
- try {
376
- await createCommission(dbOrder[0]);
377
- } catch (error) {
378
- console.error('Failed to create commission:', error);
379
- }
380
- }
381
-
382
- // 5. Grant GitHub access (non-blocking)
383
- try {
384
- const metadata = JSON.parse(dbOrder[0].metadata || '{}');
385
- await inviteToGitHub(metadata.githubUsername, dbOrder[0].productType);
386
- } catch (error) {
387
- console.error('Failed to invite to GitHub:', error);
388
- }
389
-
390
- // 6. Send Discord notification (non-blocking)
391
- try {
392
- await sendSalesNotification(dbOrder[0]);
393
- } catch (error) {
394
- console.error('Failed to send Discord notification:', error);
395
- }
396
- }
397
- ```
398
-
399
- ### Status Mapping
400
- ```typescript
401
- function mapPolarStatusToAppStatus(polarStatus: string): string | null {
402
- switch (polarStatus) {
403
- case 'succeeded':
404
- return 'completed';
405
- case 'failed':
406
- case 'expired':
407
- return 'failed';
408
- case 'open':
409
- case 'confirmed':
410
- return null; // Don't update - still pending
411
- default:
412
- return null;
413
- }
414
- }
415
- ```
416
-
417
- ## Fee Calculation
418
-
419
- ### Platform Fee Structure (Dec 2025)
420
- ```typescript
421
- // lib/polar-fees.ts
422
- interface PolarFeeConfig {
423
- basePercentage: number; // 4%
424
- baseFlatCents: number; // $0.40 per transaction
425
- internationalSurcharge: number; // +1.5% for non-US cards
426
- subscriptionSurcharge: number; // +0.5% (not for one-time)
427
- }
428
-
429
- const POLAR_FEES: PolarFeeConfig = {
430
- basePercentage: 0.04,
431
- baseFlatCents: 40,
432
- internationalSurcharge: 0.015,
433
- subscriptionSurcharge: 0.005,
434
- };
435
-
436
- export function calculatePolarFees(
437
- amountCents: number,
438
- isInternational: boolean = true, // Conservative default
439
- isSubscription: boolean = false
440
- ): {
441
- baseFee: number;
442
- internationalFee: number;
443
- subscriptionFee: number;
444
- totalFee: number;
445
- netRevenue: number;
446
- } {
447
- // Handle zero/negative
448
- if (amountCents <= 0) {
449
- return { baseFee: 0, internationalFee: 0, subscriptionFee: 0, totalFee: 0, netRevenue: 0 };
450
- }
451
-
452
- const baseFee = Math.round(amountCents * POLAR_FEES.basePercentage + POLAR_FEES.baseFlatCents);
453
- const internationalFee = isInternational
454
- ? Math.round(amountCents * POLAR_FEES.internationalSurcharge)
455
- : 0;
456
- const subscriptionFee = isSubscription
457
- ? Math.round(amountCents * POLAR_FEES.subscriptionSurcharge)
458
- : 0;
459
-
460
- const totalFee = baseFee + internationalFee + subscriptionFee;
461
- const netRevenue = amountCents - totalFee;
462
-
463
- return { baseFee, internationalFee, subscriptionFee, totalFee, netRevenue };
464
- }
465
-
466
- // Aggregate fees preserve per-transaction flat fees
467
- export function calculateAggregatePolarFees(transactionAmounts: number[]): {
468
- totalFees: number;
469
- totalNetRevenue: number;
470
- } {
471
- let totalFees = 0;
472
- let totalNetRevenue = 0;
473
-
474
- for (const amount of transactionAmounts) {
475
- const { totalFee, netRevenue } = calculatePolarFees(amount);
476
- totalFees += totalFee;
477
- totalNetRevenue += netRevenue;
478
- }
479
-
480
- return { totalFees, totalNetRevenue };
481
- }
482
- ```
483
-
484
- ## Discount Management
485
-
486
- ### Discount Validation with Timeout
487
- ```typescript
488
- // lib/polar-discounts.ts
489
- const VALIDATION_TIMEOUT_MS = 15000;
490
-
491
- export async function validateDiscount(
492
- code: string,
493
- productId: string
494
- ): Promise<{ valid: boolean; discount?: PolarDiscount; reason?: string }> {
495
- const sanitizedCode = code.trim().toUpperCase();
496
- if (!sanitizedCode) {
497
- return { valid: false, reason: 'Code cannot be empty' };
498
- }
499
-
500
- const polar = getPolar();
501
- const env = getPolarEnv();
502
-
503
- try {
504
- // Race against timeout
505
- const timeoutPromise = new Promise<never>((_, reject) => {
506
- setTimeout(() => reject(new Error('Validation timeout')), VALIDATION_TIMEOUT_MS);
507
- });
508
-
509
- const searchPromise = polar.discounts.list({
510
- organizationId: env.POLAR_ORGANIZATION_ID,
511
- query: sanitizedCode,
512
- limit: 100,
513
- });
514
-
515
- const result = await Promise.race([searchPromise, timeoutPromise]);
516
-
517
- // Find exact match
518
- const discount = result.items.find(d =>
519
- d.code?.toUpperCase() === sanitizedCode
520
- );
521
-
522
- if (!discount) {
523
- return { valid: false, reason: 'Code not found' };
524
- }
525
-
526
- // Check eligibility
527
- const now = new Date();
528
- if (discount.startsAt && now < new Date(discount.startsAt)) {
529
- return { valid: false, reason: `Code starts on ${discount.startsAt}` };
530
- }
531
- if (discount.endsAt && now > new Date(discount.endsAt)) {
532
- return { valid: false, reason: 'Code has expired' };
533
- }
534
- if (discount.maxRedemptions && discount.redemptionsCount >= discount.maxRedemptions) {
535
- return { valid: false, reason: 'Code redemption limit reached' };
536
- }
537
- if (!discount.products?.some(p => p.id === productId)) {
538
- return { valid: false, reason: 'Code not valid for this product' };
539
- }
540
-
541
- return { valid: true, discount };
542
-
543
- } catch (error) {
544
- console.error('Discount validation error:', error);
545
- return { valid: false, reason: 'Validation failed - please try again' };
546
- }
547
- }
548
- ```
549
-
550
- ### VND Conversion for Discounts
551
- ```typescript
552
- const VND_TO_USD_RATE = 25000; // 1 USD = 25,000 VND
553
-
554
- export function convertDiscountToVND(discount: PolarDiscount, amountVND: number): number {
555
- if (discount.type === 'percentage') {
556
- // Basis points: 1000 = 10%, 10000 = 100%
557
- const percentage = discount.basisPoints / 10000;
558
- return Math.round(amountVND * percentage);
559
- } else {
560
- // Fixed amount in USD cents → VND
561
- const amountUSD = discount.amount / 100;
562
- return Math.round(amountUSD * VND_TO_USD_RATE);
563
- }
564
- }
565
- ```
566
-
567
- ### Syncing SePay Redemptions to Polar
568
- ```typescript
569
- // lib/polar-discount-sync.ts
570
- // When SePay payment completes, decrement Polar discount redemptions
571
-
572
- export async function syncPolarDiscountRedemption(
573
- orderId: string,
574
- discountId: string,
575
- discountCode: string
576
- ): Promise<{ success: boolean; action: string }> {
577
- const order = await db.select().from(orders).where(eq(orders.id, orderId)).limit(1);
578
- if (!order[0]) {
579
- return { success: false, action: 'order_not_found' };
580
- }
581
-
582
- // Idempotency check
583
- const metadata = order[0].metadata ? JSON.parse(order[0].metadata) : {};
584
- if (metadata.polarDiscountSynced) {
585
- return { success: true, action: 'already_synced' };
586
- }
587
-
588
- const polar = getPolar();
589
-
590
- try {
591
- const discount = await polar.discounts.get({ id: discountId });
592
-
593
- if (discount.maxRedemptions === null || discount.maxRedemptions === undefined) {
594
- return { success: true, action: 'skipped_unlimited' };
595
- }
596
-
597
- const currentMax = discount.maxRedemptions;
598
-
599
- if (currentMax <= 1) {
600
- await polar.discounts.delete({ id: discountId });
601
- await markOrderSynced(orderId, 'deleted');
602
- } else {
603
- await polar.discounts.update({
604
- id: discountId,
605
- discountUpdate: { maxRedemptions: currentMax - 1 },
606
- });
607
- await markOrderSynced(orderId, 'decremented');
608
- }
609
-
610
- return { success: true, action: currentMax <= 1 ? 'deleted' : 'decremented' };
611
-
612
- } catch (error: any) {
613
- if (error.statusCode === 404) {
614
- // Already deleted - treat as success
615
- await markOrderSynced(orderId, 'already_deleted');
616
- return { success: true, action: 'already_deleted' };
617
- }
618
- throw error;
619
- }
620
- }
621
-
622
- async function markOrderSynced(orderId: string, action: string) {
623
- const order = await db.select().from(orders).where(eq(orders.id, orderId)).limit(1);
624
- const metadata = order[0].metadata ? JSON.parse(order[0].metadata) : {};
625
-
626
- metadata.polarDiscountSynced = true;
627
- metadata.polarDiscountSyncAction = action;
628
- metadata.polarDiscountSyncedAt = new Date().toISOString();
629
-
630
- await db.update(orders)
631
- .set({ metadata: JSON.stringify(metadata) })
632
- .where(eq(orders.id, orderId));
633
- }
634
- ```
635
-
636
- ## Revenue Tracking with Caching
637
-
638
- ```typescript
639
- // lib/polar.ts
640
- const REVENUE_CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
641
-
642
- let revenueCache: {
643
- data: { totalRevenueCents: number; orderCount: number } | null;
644
- timestamp: number;
645
- } = { data: null, timestamp: 0 };
646
-
647
- export async function getPolarApiRevenue(): Promise<{
648
- totalRevenueCents: number;
649
- orderCount: number;
650
- fromCache: boolean;
651
- }> {
652
- const now = Date.now();
653
-
654
- // Return cache if valid
655
- if (revenueCache.data && now - revenueCache.timestamp < REVENUE_CACHE_TTL_MS) {
656
- return { ...revenueCache.data, fromCache: true };
657
- }
658
-
659
- const polar = getPolar();
660
- const env = getPolarEnv();
661
-
662
- try {
663
- let totalRevenueCents = 0;
664
- let orderCount = 0;
665
- let page = 1;
666
- const maxPages = 100; // Safety limit
667
-
668
- while (page <= maxPages) {
669
- const response = await polar.orders.list({
670
- organizationId: env.POLAR_ORGANIZATION_ID,
671
- page,
672
- limit: 100,
673
- });
674
-
675
- for (const order of response.items) {
676
- if (order.status === 'succeeded') {
677
- totalRevenueCents += order.netAmount; // After discounts, before tax
678
- orderCount++;
679
- }
680
- }
681
-
682
- if (!response.pagination.hasMore) break;
683
- page++;
684
- }
685
-
686
- revenueCache = { data: { totalRevenueCents, orderCount }, timestamp: now };
687
- return { totalRevenueCents, orderCount, fromCache: false };
688
-
689
- } catch (error) {
690
- // Return stale cache on error
691
- if (revenueCache.data) {
692
- console.warn('Using stale revenue cache due to API error');
693
- return { ...revenueCache.data, fromCache: true };
694
- }
695
- throw error;
696
- }
697
- }
698
- ```
699
-
700
- ## Error Handling Patterns
701
-
702
- ### Fail-Open for Non-Critical Operations
703
- ```typescript
704
- // Discount creation fails → proceed with full price
705
- try {
706
- const discount = await createReferralDiscount(productId, amount, referralCode);
707
- polarDiscountId = discount.id;
708
- } catch (error) {
709
- console.error('⚠️ Discount creation failed - proceeding with full price:', error);
710
- // Flag for manual refund investigation
711
- await flagOrderForReview(orderId, 'discount_creation_failed');
712
- }
713
- ```
714
-
715
- ### Graceful Degradation in Webhooks
716
- ```typescript
717
- // Non-critical operations don't block order completion
718
- const operations = [
719
- { name: 'GitHub invite', fn: () => inviteToGitHub(username, productType) },
720
- { name: 'Welcome email', fn: () => sendWelcomeEmail(order) },
721
- { name: 'Discord notification', fn: () => sendSalesNotification(order) },
722
- { name: 'Tier update', fn: () => updateReferrerTier(referrerId, revenueUsd) },
723
- ];
724
-
725
- for (const op of operations) {
726
- try {
727
- await op.fn();
728
- } catch (error) {
729
- console.error(`❌ ${op.name} failed:`, error);
730
- // Continue processing - don't block order
731
- }
732
- }
733
- ```
734
-
735
- ### Rate Limit Handling with Exponential Backoff
736
- ```typescript
737
- async function callWithRetry<T>(
738
- fn: () => Promise<T>,
739
- maxRetries: number = 3
740
- ): Promise<T> {
741
- let attempt = 0;
742
-
743
- while (attempt < maxRetries) {
744
- try {
745
- return await fn();
746
- } catch (error: any) {
747
- if (error.statusCode === 429) {
748
- const retryAfter = parseInt(error.headers?.['retry-after'] || '1', 10);
749
- const delay = retryAfter * 1000 * Math.pow(2, attempt);
750
- console.log(`Rate limited, retrying in ${delay}ms...`);
751
- await sleep(delay);
752
- attempt++;
753
- } else {
754
- throw error;
755
- }
756
- }
757
- }
758
-
759
- throw new Error('Max retries exceeded');
760
- }
761
- ```
762
-
763
- ## Database Schema
764
-
765
- ### Orders Table
766
- ```typescript
767
- // db/schema/orders.ts
768
- export const orders = pgTable('orders', {
769
- id: uuid('id').primaryKey().defaultRandom(),
770
- userId: uuid('user_id').references(() => users.id),
771
- email: text('email').notNull(),
772
- productType: text('product_type').notNull(),
773
- amount: integer('amount').notNull(), // Final amount in cents
774
- originalAmount: integer('original_amount'), // Before discounts
775
- currency: text('currency').default('USD'),
776
- status: text('status').default('pending'), // pending, completed, failed, refunded
777
- paymentProvider: text('payment_provider').notNull(), // 'polar' or 'sepay'
778
- paymentId: text('payment_id'), // External payment ID
779
- referredBy: uuid('referred_by').references(() => users.id),
780
- discountAmount: integer('discount_amount').default(0),
781
- discountRate: numeric('discount_rate', { precision: 5, scale: 2 }),
782
- metadata: text('metadata'), // JSON with audit trail
783
- createdAt: timestamp('created_at').defaultNow(),
784
- updatedAt: timestamp('updated_at').defaultNow(),
785
- });
786
- ```
787
-
788
- ### Webhook Events Table (Idempotency)
789
- ```typescript
790
- export const webhookEvents = pgTable('webhook_events', {
791
- id: uuid('id').primaryKey().defaultRandom(),
792
- provider: text('provider').notNull(), // 'polar' or 'sepay'
793
- eventType: text('event_type').notNull(),
794
- eventId: text('event_id').notNull().unique(), // Idempotency key
795
- payload: text('payload').notNull(),
796
- processed: boolean('processed').default(false),
797
- processedAt: timestamp('processed_at'),
798
- error: text('error'),
799
- createdAt: timestamp('created_at').defaultNow(),
800
- });
801
- ```
802
-
803
- ## Metadata Best Practices
804
-
805
- ### Comprehensive Audit Trail
806
- ```typescript
807
- // Store everything needed for debugging and reconciliation
808
- metadata: JSON.stringify({
809
- // Pricing history
810
- originalAmount: 9900,
811
-
812
- // Coupon tracking
813
- couponCode: 'LAUNCH20',
814
- couponDiscountAmount: 1980,
815
-
816
- // Referral tracking
817
- referralCode: 'ABC12345',
818
- referralDiscountAmount: 1584,
819
- referrerId: 'user-uuid',
820
-
821
- // Customer context
822
- githubUsername: 'customer',
823
-
824
- // Polar integration
825
- polarDiscountId: 'disc_xxx',
826
- polarDiscountSynced: true,
827
- polarDiscountSyncAction: 'decremented',
828
- polarDiscountSyncedAt: '2025-01-15T10:30:00Z',
829
-
830
- // Team context (if applicable)
831
- isTeamPurchase: false,
832
- teamId: null,
833
- quantity: 1,
834
- })
835
- ```
836
-
837
- ## Testing
838
-
839
- ### Unit Tests for Fee Calculation
840
- ```typescript
841
- // __tests__/lib/polar-fees.test.ts
842
- describe('calculatePolarFees', () => {
843
- it('handles zero amount', () => {
844
- const result = calculatePolarFees(0);
845
- expect(result.totalFee).toBe(0);
846
- expect(result.netRevenue).toBe(0);
847
- });
848
-
849
- it('calculates international one-time correctly', () => {
850
- // $100 transaction
851
- const result = calculatePolarFees(10000, true, false);
852
- expect(result.baseFee).toBe(440); // 4% + $0.40
853
- expect(result.internationalFee).toBe(150); // 1.5%
854
- expect(result.totalFee).toBe(590);
855
- expect(result.netRevenue).toBe(9410); // $94.10
856
- });
857
-
858
- it('preserves per-transaction flat fees in aggregate', () => {
859
- // Two $100 transactions should each have $0.40 flat fee
860
- const aggregate = calculateAggregatePolarFees([10000, 10000]);
861
- const single = calculatePolarFees(20000);
862
-
863
- expect(aggregate.totalFees).toBeGreaterThan(single.totalFee);
864
- // Difference should be one extra flat fee ($0.40)
865
- expect(aggregate.totalFees - single.totalFee).toBe(40);
866
- });
867
- });
868
- ```
869
-
870
- ## Production Checklist
871
-
872
- - [ ] Environment variables configured in all environments
873
- - [ ] Sandbox testing completed for all checkout flows
874
- - [ ] Production API key obtained and secured
875
- - [ ] Webhook endpoint deployed and reachable
876
- - [ ] Webhook signature verification implemented
877
- - [ ] Idempotency handling tested with duplicate webhooks
878
- - [ ] Fee calculations verified against Polar dashboard
879
- - [ ] Discount validation timeout configured
880
- - [ ] Error monitoring enabled (Sentry, etc.)
881
- - [ ] Structured logging in place
882
- - [ ] Database indexes on orders.status, orders.paymentProvider
883
- - [ ] Revenue caching configured
884
- - [ ] Rate limit handling implemented
885
- - [ ] Fail-open patterns for non-critical operations
886
- - [ ] Customer email notifications working
887
- - [ ] Refund flow tested end-to-end
888
- - [ ] GitHub access grant/revoke tested
889
- - [ ] Discord sales notifications configured
890
-
891
- ## Common Pitfalls
892
-
893
- 1. **Applying discounts in wrong order** - Always coupon first, then referral
894
- 2. **Trusting success redirect without verification** - Always verify via API or webhook
895
- 3. **Not handling duplicate webhooks** - Use eventId for idempotency
896
- 4. **Blocking webhook on non-critical failures** - Wrap in try-catch, log, continue
897
- 5. **Hardcoding Polar customer IDs** - Use external_id (your user ID) for lookups
898
- 6. **Not setting timeout on discount validation** - API can be slow
899
- 7. **Calculating aggregate fees as single transaction** - Each transaction has flat fee
900
- 8. **Exposing API keys client-side** - Always server-side
901
- 9. **Not preserving original amount in metadata** - Need for audit/debugging
902
- 10. **Syncing discount redemptions synchronously** - Can fail; use retry with backoff