@hienlh/ppm 0.9.81 → 0.9.82

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 (1736) hide show
  1. package/CHANGELOG.md +5 -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-bS86TsT5.js +10 -0
  65. package/dist/web/assets/{code-editor-CKhVVTIi.js → code-editor-BaNaQ33b.js} +1 -1
  66. package/dist/web/assets/{database-viewer-VT17cuX4.js → database-viewer-C5MVw8cJ.js} +1 -1
  67. package/dist/web/assets/{diff-viewer-D6gXDpSU.js → diff-viewer-CUbFMWVo.js} +1 -1
  68. package/dist/web/assets/{extension-webview-CAQUbBuw.js → extension-webview-CwGufYEP.js} +1 -1
  69. package/dist/web/assets/{git-graph-CdRJbH07.js → git-graph-BD7A7MLo.js} +1 -1
  70. package/dist/web/assets/index-BYXjCNlK.css +2 -0
  71. package/dist/web/assets/index-CpzkPHOC.js +30 -0
  72. package/dist/web/assets/keybindings-store-DsaANvBz.js +1 -0
  73. package/dist/web/assets/markdown-renderer-C19IsITh.js +326 -0
  74. package/dist/web/assets/{port-forwarding-tab-1vSZG1Ga.js → port-forwarding-tab-BF79F1iL.js} +1 -1
  75. package/dist/web/assets/{postgres-viewer-Bn8hKEnP.js → postgres-viewer-_nYiO_wp.js} +1 -1
  76. package/dist/web/assets/{settings-tab-CpG9UbHr.js → settings-tab-C1SQMbSu.js} +1 -1
  77. package/dist/web/assets/{sql-query-editor-yvUfZVDr.js → sql-query-editor-6OFvxxuN.js} +1 -1
  78. package/dist/web/assets/{sqlite-viewer-BSFIa0hd.js → sqlite-viewer-SNVYFXvB.js} +1 -1
  79. package/dist/web/assets/{terminal-tab-CbIBTfPE.js → terminal-tab-BJEkmrDt.js} +1 -1
  80. package/dist/web/assets/{use-monaco-theme-x9tJcwlL.js → use-monaco-theme-r8FzlCWr.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/init.ts +2 -1
  90. package/src/cli/commands/logs.ts +11 -11
  91. package/src/cli/commands/report.ts +3 -2
  92. package/src/cli/commands/restart.ts +22 -23
  93. package/src/cli/commands/skills-cmd.ts +123 -0
  94. package/src/cli/commands/status.ts +7 -8
  95. package/src/cli/commands/stop.ts +18 -19
  96. package/src/index.ts +3 -0
  97. package/src/lib/account-crypto.ts +12 -7
  98. package/src/providers/claude-agent-sdk.ts +32 -1
  99. package/src/server/index.ts +8 -8
  100. package/src/server/routes/chat.ts +4 -2
  101. package/src/server/routes/upgrade.ts +3 -5
  102. package/src/server/ws/chat.ts +16 -0
  103. package/src/services/cloud-ws.service.ts +2 -2
  104. package/src/services/cloud.service.ts +20 -19
  105. package/src/services/cloudflared.service.ts +13 -13
  106. package/src/services/config.service.ts +5 -7
  107. package/src/services/db.service.ts +5 -6
  108. package/src/services/extension-rpc-handlers.ts +2 -2
  109. package/src/services/extension.service.ts +9 -12
  110. package/src/services/ppm-dir.ts +14 -0
  111. package/src/services/slash-discovery/builtin-commands.ts +53 -0
  112. package/src/services/slash-discovery/builtin-handlers.ts +65 -0
  113. package/src/services/slash-discovery/definition-source.ts +27 -0
  114. package/src/services/slash-discovery/discover-skill-roots.ts +128 -0
  115. package/src/services/slash-discovery/fuzzy-search.ts +76 -0
  116. package/src/services/slash-discovery/index.ts +42 -0
  117. package/src/services/slash-discovery/resolve-overrides.ts +41 -0
  118. package/src/services/slash-discovery/skill-loader.ts +156 -0
  119. package/src/services/slash-discovery/types.ts +51 -0
  120. package/src/services/slash-items.service.ts +4 -182
  121. package/src/services/supervisor-state.ts +14 -15
  122. package/src/services/supervisor-stopped-page.ts +2 -4
  123. package/src/services/supervisor.ts +15 -15
  124. package/src/services/tunnel.service.ts +4 -5
  125. package/src/services/upgrade.service.ts +2 -3
  126. package/src/types/chat.ts +3 -1
  127. package/src/web/components/chat/chat-tab.tsx +4 -1
  128. package/src/web/components/chat/message-input.tsx +48 -6
  129. package/src/web/components/chat/message-list.tsx +2 -2
  130. package/src/web/components/chat/slash-command-picker.tsx +21 -12
  131. package/src/web/components/layout/upgrade-banner.tsx +48 -2
  132. package/src/web/components/shared/markdown-renderer.tsx +2 -0
  133. package/src/web/hooks/use-chat.ts +3 -1
  134. package/src/web/main.tsx +1 -0
  135. package/.opencode/.ckignore +0 -27
  136. package/.opencode/agents/analytics-analyst.md +0 -168
  137. package/.opencode/agents/attraction-specialist.md +0 -152
  138. package/.opencode/agents/brainstormer.md +0 -114
  139. package/.opencode/agents/campaign-debugger.md +0 -149
  140. package/.opencode/agents/campaign-manager.md +0 -185
  141. package/.opencode/agents/code-reviewer.md +0 -163
  142. package/.opencode/agents/code-simplifier.md +0 -59
  143. package/.opencode/agents/community-manager.md +0 -181
  144. package/.opencode/agents/content-creator.md +0 -166
  145. package/.opencode/agents/content-reviewer.md +0 -170
  146. package/.opencode/agents/continuity-specialist.md +0 -149
  147. package/.opencode/agents/copywriter.md +0 -118
  148. package/.opencode/agents/database-admin.md +0 -98
  149. package/.opencode/agents/debugger.md +0 -143
  150. package/.opencode/agents/docs-manager.md +0 -127
  151. package/.opencode/agents/email-wizard.md +0 -166
  152. package/.opencode/agents/fullstack-developer.md +0 -101
  153. package/.opencode/agents/funnel-architect.md +0 -176
  154. package/.opencode/agents/git-manager.md +0 -399
  155. package/.opencode/agents/journal-writer.md +0 -119
  156. package/.opencode/agents/lead-qualifier.md +0 -146
  157. package/.opencode/agents/mcp-manager.md +0 -99
  158. package/.opencode/agents/planner.md +0 -114
  159. package/.opencode/agents/project-manager.md +0 -130
  160. package/.opencode/agents/researcher.md +0 -44
  161. package/.opencode/agents/sale-enabler.md +0 -161
  162. package/.opencode/agents/scout-external.md +0 -146
  163. package/.opencode/agents/scout.md +0 -112
  164. package/.opencode/agents/seo-specialist.md +0 -185
  165. package/.opencode/agents/social-media-manager.md +0 -163
  166. package/.opencode/agents/tester.md +0 -111
  167. package/.opencode/agents/ui-ux-designer.md +0 -241
  168. package/.opencode/agents/upsell-maximizer.md +0 -147
  169. package/.opencode/commands/ckm-analyze-report.md +0 -66
  170. package/.opencode/commands/ckm-analyze.md +0 -63
  171. package/.opencode/commands/ckm-ask.md +0 -55
  172. package/.opencode/commands/ckm-brand-update.md +0 -122
  173. package/.opencode/commands/ckm-campaign-analyze.md +0 -54
  174. package/.opencode/commands/ckm-campaign-create.md +0 -215
  175. package/.opencode/commands/ckm-campaign-email.md +0 -63
  176. package/.opencode/commands/ckm-campaign-status.md +0 -38
  177. package/.opencode/commands/ckm-campaign.md +0 -64
  178. package/.opencode/commands/ckm-competitor.md +0 -69
  179. package/.opencode/commands/ckm-dashboard-check.md +0 -97
  180. package/.opencode/commands/ckm-dashboard.md +0 -90
  181. package/.opencode/commands/ckm-docs-init.md +0 -27
  182. package/.opencode/commands/ckm-docs-llms.md +0 -12
  183. package/.opencode/commands/ckm-docs-summarize.md +0 -22
  184. package/.opencode/commands/ckm-docs-update.md +0 -36
  185. package/.opencode/commands/ckm-email-flow.md +0 -169
  186. package/.opencode/commands/ckm-email-sequence.md +0 -170
  187. package/.opencode/commands/ckm-email.md +0 -64
  188. package/.opencode/commands/ckm-funnel.md +0 -77
  189. package/.opencode/commands/ckm-hub.md +0 -50
  190. package/.opencode/commands/ckm-init.md +0 -214
  191. package/.opencode/commands/ckm-journal.md +0 -18
  192. package/.opencode/commands/ckm-kanban.md +0 -65
  193. package/.opencode/commands/ckm-persona.md +0 -61
  194. package/.opencode/commands/ckm-plan-archive.md +0 -56
  195. package/.opencode/commands/ckm-plan-ci.md +0 -32
  196. package/.opencode/commands/ckm-plan-cro.md +0 -68
  197. package/.opencode/commands/ckm-plan-fast.md +0 -65
  198. package/.opencode/commands/ckm-plan-hard.md +0 -91
  199. package/.opencode/commands/ckm-plan-parallel.md +0 -128
  200. package/.opencode/commands/ckm-plan-two.md +0 -44
  201. package/.opencode/commands/ckm-plan-validate.md +0 -116
  202. package/.opencode/commands/ckm-plan.md +0 -29
  203. package/.opencode/commands/ckm-play-create.md +0 -15
  204. package/.opencode/commands/ckm-play-goals.md +0 -15
  205. package/.opencode/commands/ckm-play-next.md +0 -15
  206. package/.opencode/commands/ckm-play-status.md +0 -15
  207. package/.opencode/commands/ckm-play.md +0 -27
  208. package/.opencode/commands/ckm-preview.md +0 -83
  209. package/.opencode/commands/ckm-seo-audit.md +0 -125
  210. package/.opencode/commands/ckm-seo-keywords.md +0 -135
  211. package/.opencode/commands/ckm-seo-pseo.md +0 -66
  212. package/.opencode/commands/ckm-seo.md +0 -67
  213. package/.opencode/commands/ckm-skill-add.md +0 -41
  214. package/.opencode/commands/ckm-skill-create.md +0 -34
  215. package/.opencode/commands/ckm-skill-fix-logs.md +0 -28
  216. package/.opencode/commands/ckm-skill-optimize-auto.md +0 -30
  217. package/.opencode/commands/ckm-skill-optimize.md +0 -39
  218. package/.opencode/commands/ckm-skill-plan.md +0 -50
  219. package/.opencode/commands/ckm-skill-update.md +0 -35
  220. package/.opencode/commands/ckm-slides-create.md +0 -8
  221. package/.opencode/commands/ckm-social-schedule.md +0 -54
  222. package/.opencode/commands/ckm-social.md +0 -69
  223. package/.opencode/commands/ckm-storage-list.md +0 -90
  224. package/.opencode/commands/ckm-storage-sync.md +0 -92
  225. package/.opencode/commands/ckm-storage-upload.md +0 -80
  226. package/.opencode/commands/ckm-storage-url.md +0 -66
  227. package/.opencode/commands/ckm-test-ui.md +0 -91
  228. package/.opencode/commands/ckm-test-workflow.md +0 -106
  229. package/.opencode/commands/ckm-use-mcp.md +0 -34
  230. package/.opencode/commands/ckm-video-create.md +0 -326
  231. package/.opencode/commands/ckm-video-script-create.md +0 -395
  232. package/.opencode/commands/ckm-video-storyboard-create.md +0 -214
  233. package/.opencode/commands/ckm-watzup.md +0 -9
  234. package/.opencode/commands/ckm-worktree.md +0 -125
  235. package/.opencode/commands/ckm-write-audit.md +0 -97
  236. package/.opencode/commands/ckm-write-blog-youtube.md +0 -158
  237. package/.opencode/commands/ckm-write-blog.md +0 -85
  238. package/.opencode/commands/ckm-write-cro.md +0 -42
  239. package/.opencode/commands/ckm-write-enhance.md +0 -13
  240. package/.opencode/commands/ckm-write-fast.md +0 -12
  241. package/.opencode/commands/ckm-write-formula.md +0 -116
  242. package/.opencode/commands/ckm-write-good.md +0 -16
  243. package/.opencode/commands/ckm-write-publish.md +0 -74
  244. package/.opencode/commands/ckm-youtube-blog.md +0 -136
  245. package/.opencode/commands/ckm-youtube-infographic.md +0 -156
  246. package/.opencode/commands/ckm-youtube-social.md +0 -169
  247. package/.opencode/package.json +0 -8
  248. package/.opencode/plugin/context-injector.ts +0 -84
  249. package/.opencode/plugin/lib/ck-config-utils.cjs +0 -816
  250. package/.opencode/plugin/lib/colors.cjs +0 -95
  251. package/.opencode/plugin/lib/context-builder.cjs +0 -600
  252. package/.opencode/plugin/lib/privacy-checker.cjs +0 -297
  253. package/.opencode/plugin/lib/project-detector.cjs +0 -430
  254. package/.opencode/plugin/lib/scout-checker.cjs +0 -172
  255. package/.opencode/plugin/privacy-block.ts +0 -32
  256. package/.opencode/plugin/scout-block/broad-pattern-detector.cjs +0 -266
  257. package/.opencode/plugin/scout-block/error-formatter.cjs +0 -156
  258. package/.opencode/plugin/scout-block/path-extractor.cjs +0 -238
  259. package/.opencode/plugin/scout-block/pattern-matcher.cjs +0 -184
  260. package/.opencode/plugin/scout-block/vendor/ignore.cjs +0 -627
  261. package/.opencode/plugin/scout-block.ts +0 -40
  262. package/.opencode/scripts/README.md +0 -153
  263. package/.opencode/scripts/ck-help.py +0 -1164
  264. package/.opencode/scripts/commands_data.yaml +0 -363
  265. package/.opencode/scripts/fix-shebang-permissions.sh +0 -50
  266. package/.opencode/scripts/requirements.txt +0 -1
  267. package/.opencode/scripts/resolve_env.py +0 -329
  268. package/.opencode/scripts/scan_commands.py +0 -98
  269. package/.opencode/scripts/scan_skills.py +0 -186
  270. package/.opencode/scripts/set-active-plan.cjs +0 -50
  271. package/.opencode/scripts/skills_data.yaml +0 -370
  272. package/.opencode/scripts/test-ck-help.py +0 -218
  273. package/.opencode/scripts/validate-docs.cjs +0 -342
  274. package/.opencode/scripts/win_compat.py +0 -57
  275. package/.opencode/scripts/worktree.cjs +0 -822
  276. package/.opencode/scripts/worktree.test.cjs +0 -759
  277. package/.opencode/skills/ab-test-setup/SKILL.md +0 -512
  278. package/.opencode/skills/ads-management/SKILL.md +0 -134
  279. package/.opencode/skills/ads-management/references/ad-copy-templates.md +0 -82
  280. package/.opencode/skills/ads-management/references/audience-targeting.md +0 -97
  281. package/.opencode/skills/ads-management/references/campaign-setup-and-bidding.md +0 -88
  282. package/.opencode/skills/ads-management/references/competitor-analysis-and-tools.md +0 -67
  283. package/.opencode/skills/ads-management/references/creative-asset-generation.md +0 -110
  284. package/.opencode/skills/ads-management/references/measurement-and-attribution.md +0 -63
  285. package/.opencode/skills/ads-management/references/optimization-playbook.md +0 -83
  286. package/.opencode/skills/ads-management/references/platform-specs.md +0 -64
  287. package/.opencode/skills/ads-management/scripts/google-ads-manager.py +0 -294
  288. package/.opencode/skills/ads-management/scripts/meta-ads-manager.py +0 -360
  289. package/.opencode/skills/affiliate-marketing/SKILL.md +0 -96
  290. package/.opencode/skills/affiliate-marketing/references/case-studies.md +0 -66
  291. package/.opencode/skills/affiliate-marketing/references/compliance-legal.md +0 -78
  292. package/.opencode/skills/affiliate-marketing/references/fraud-prevention.md +0 -81
  293. package/.opencode/skills/affiliate-marketing/references/kol-koc-partnerships.md +0 -86
  294. package/.opencode/skills/affiliate-marketing/references/outreach-templates.md +0 -72
  295. package/.opencode/skills/affiliate-marketing/references/platform-selection.md +0 -82
  296. package/.opencode/skills/affiliate-marketing/references/program-structure.md +0 -74
  297. package/.opencode/skills/agent-browser/SKILL.md +0 -297
  298. package/.opencode/skills/agent-browser/references/.gitkeep +0 -0
  299. package/.opencode/skills/agent-browser/references/agent-browser-vs-chrome-devtools.md +0 -112
  300. package/.opencode/skills/agent-browser/references/browserbase-cloud-setup.md +0 -161
  301. package/.opencode/skills/ai-artist/SKILL.md +0 -122
  302. package/.opencode/skills/ai-artist/data/awesome-prompts.csv +0 -3592
  303. package/.opencode/skills/ai-artist/data/domains.csv +0 -16
  304. package/.opencode/skills/ai-artist/data/image-styles.csv +0 -21
  305. package/.opencode/skills/ai-artist/data/lighting.csv +0 -19
  306. package/.opencode/skills/ai-artist/data/llm-patterns.csv +0 -17
  307. package/.opencode/skills/ai-artist/data/nano-banana-templates.csv +0 -17
  308. package/.opencode/skills/ai-artist/data/platforms.csv +0 -11
  309. package/.opencode/skills/ai-artist/data/quality-modifiers.csv +0 -26
  310. package/.opencode/skills/ai-artist/data/styles.csv +0 -26
  311. package/.opencode/skills/ai-artist/data/subjects.csv +0 -17
  312. package/.opencode/skills/ai-artist/data/techniques.csv +0 -19
  313. package/.opencode/skills/ai-artist/data/use-cases.csv +0 -16
  314. package/.opencode/skills/ai-artist/references/advanced-techniques.md +0 -184
  315. package/.opencode/skills/ai-artist/references/awesome-nano-banana-pro-prompts.md +0 -8575
  316. package/.opencode/skills/ai-artist/references/character-consistency.md +0 -160
  317. package/.opencode/skills/ai-artist/references/domain-code.md +0 -66
  318. package/.opencode/skills/ai-artist/references/domain-data.md +0 -72
  319. package/.opencode/skills/ai-artist/references/domain-marketing.md +0 -66
  320. package/.opencode/skills/ai-artist/references/domain-patterns.md +0 -33
  321. package/.opencode/skills/ai-artist/references/domain-writing.md +0 -68
  322. package/.opencode/skills/ai-artist/references/image-generation-workflow.md +0 -124
  323. package/.opencode/skills/ai-artist/references/image-prompting.md +0 -141
  324. package/.opencode/skills/ai-artist/references/llm-prompting.md +0 -165
  325. package/.opencode/skills/ai-artist/references/nano-banana-pro-examples.md +0 -132
  326. package/.opencode/skills/ai-artist/references/nano-banana.md +0 -59
  327. package/.opencode/skills/ai-artist/references/reasoning-techniques.md +0 -201
  328. package/.opencode/skills/ai-artist/references/validation-workflow.md +0 -117
  329. package/.opencode/skills/ai-artist/scripts/core.py +0 -201
  330. package/.opencode/skills/ai-artist/scripts/extract_prompts.py +0 -102
  331. package/.opencode/skills/ai-artist/scripts/generate.py +0 -371
  332. package/.opencode/skills/ai-artist/scripts/prompt_builder.py +0 -234
  333. package/.opencode/skills/ai-artist/scripts/search.py +0 -111
  334. package/.opencode/skills/ai-multimodal/SKILL.md +0 -108
  335. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-music-midnight-glow.mp3 +0 -0
  336. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-speech-demo.mp3 +0 -0
  337. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-speech-vietnamese.mp3 +0 -0
  338. package/.opencode/skills/ai-multimodal/assets/demo-minimax/minimax-video-kitsune.mp4 +0 -0
  339. package/.opencode/skills/ai-multimodal/references/audio-processing.md +0 -387
  340. package/.opencode/skills/ai-multimodal/references/image-generation.md +0 -1002
  341. package/.opencode/skills/ai-multimodal/references/minimax-generation.md +0 -141
  342. package/.opencode/skills/ai-multimodal/references/music-generation.md +0 -311
  343. package/.opencode/skills/ai-multimodal/references/video-analysis.md +0 -515
  344. package/.opencode/skills/ai-multimodal/references/video-generation.md +0 -457
  345. package/.opencode/skills/ai-multimodal/references/vision-understanding.md +0 -492
  346. package/.opencode/skills/ai-multimodal/scripts/.coverage +0 -0
  347. package/.opencode/skills/ai-multimodal/scripts/check_setup.py +0 -316
  348. package/.opencode/skills/ai-multimodal/scripts/document_converter.py +0 -395
  349. package/.opencode/skills/ai-multimodal/scripts/gemini_batch_process.py +0 -1187
  350. package/.opencode/skills/ai-multimodal/scripts/media_optimizer.py +0 -506
  351. package/.opencode/skills/ai-multimodal/scripts/minimax_api_client.py +0 -189
  352. package/.opencode/skills/ai-multimodal/scripts/minimax_cli.py +0 -178
  353. package/.opencode/skills/ai-multimodal/scripts/minimax_generate.py +0 -278
  354. package/.opencode/skills/ai-multimodal/scripts/requirements.txt +0 -26
  355. package/.opencode/skills/analytics/SKILL.md +0 -132
  356. package/.opencode/skills/analytics/package.json +0 -19
  357. package/.opencode/skills/analytics/references/analysis-workflows.md +0 -104
  358. package/.opencode/skills/analytics/references/attribution-models.md +0 -75
  359. package/.opencode/skills/analytics/references/ga-admin-api.md +0 -219
  360. package/.opencode/skills/analytics/references/ga-data-api.md +0 -344
  361. package/.opencode/skills/analytics/references/marketing-kpis.md +0 -63
  362. package/.opencode/skills/analytics/references/report-templates.md +0 -411
  363. package/.opencode/skills/analytics/scripts/ga-auth-setup.cjs +0 -283
  364. package/.opencode/skills/analytics/scripts/ga-config-loader.cjs +0 -320
  365. package/.opencode/skills/analytics/scripts/ga-list-accounts.cjs +0 -277
  366. package/.opencode/skills/analytics/scripts/ga-run-report.cjs +0 -334
  367. package/.opencode/skills/analyze/SKILL.md +0 -80
  368. package/.opencode/skills/analyze/references/report.md +0 -62
  369. package/.opencode/skills/ask/SKILL.md +0 -60
  370. package/.opencode/skills/assets-organizing/SKILL.md +0 -164
  371. package/.opencode/skills/assets-organizing/references/asset-types.md +0 -1478
  372. package/.opencode/skills/assets-organizing/references/directory-structure.md +0 -178
  373. package/.opencode/skills/assets-organizing/references/naming-conventions.md +0 -85
  374. package/.opencode/skills/backend-development/SKILL.md +0 -98
  375. package/.opencode/skills/backend-development/references/backend-api-design.md +0 -495
  376. package/.opencode/skills/backend-development/references/backend-architecture.md +0 -454
  377. package/.opencode/skills/backend-development/references/backend-authentication.md +0 -338
  378. package/.opencode/skills/backend-development/references/backend-code-quality.md +0 -659
  379. package/.opencode/skills/backend-development/references/backend-debugging.md +0 -904
  380. package/.opencode/skills/backend-development/references/backend-devops.md +0 -494
  381. package/.opencode/skills/backend-development/references/backend-mindset.md +0 -387
  382. package/.opencode/skills/backend-development/references/backend-performance.md +0 -397
  383. package/.opencode/skills/backend-development/references/backend-security.md +0 -290
  384. package/.opencode/skills/backend-development/references/backend-technologies.md +0 -256
  385. package/.opencode/skills/backend-development/references/backend-testing.md +0 -429
  386. package/.opencode/skills/banner-design/SKILL.md +0 -192
  387. package/.opencode/skills/banner-design/references/banner-sizes-and-styles.md +0 -118
  388. package/.opencode/skills/better-auth/SKILL.md +0 -207
  389. package/.opencode/skills/better-auth/references/advanced-features.md +0 -553
  390. package/.opencode/skills/better-auth/references/database-integration.md +0 -577
  391. package/.opencode/skills/better-auth/references/email-password-auth.md +0 -416
  392. package/.opencode/skills/better-auth/references/oauth-providers.md +0 -430
  393. package/.opencode/skills/better-auth/scripts/.coverage +0 -0
  394. package/.opencode/skills/better-auth/scripts/better_auth_init.py +0 -521
  395. package/.opencode/skills/better-auth/scripts/requirements.txt +0 -15
  396. package/.opencode/skills/bootstrap/SKILL.md +0 -105
  397. package/.opencode/skills/bootstrap/references/shared-phases.md +0 -59
  398. package/.opencode/skills/bootstrap/references/workflow-auto.md +0 -52
  399. package/.opencode/skills/bootstrap/references/workflow-fast.md +0 -50
  400. package/.opencode/skills/bootstrap/references/workflow-full.md +0 -60
  401. package/.opencode/skills/bootstrap/references/workflow-parallel.md +0 -59
  402. package/.opencode/skills/brainstorm/SKILL.md +0 -79
  403. package/.opencode/skills/brand/SKILL.md +0 -97
  404. package/.opencode/skills/brand/references/approval-checklist.md +0 -169
  405. package/.opencode/skills/brand/references/asset-organization.md +0 -157
  406. package/.opencode/skills/brand/references/brand-guideline-template.md +0 -140
  407. package/.opencode/skills/brand/references/color-palette-management.md +0 -186
  408. package/.opencode/skills/brand/references/consistency-checklist.md +0 -94
  409. package/.opencode/skills/brand/references/logo-usage-rules.md +0 -185
  410. package/.opencode/skills/brand/references/messaging-framework.md +0 -85
  411. package/.opencode/skills/brand/references/typography-specifications.md +0 -214
  412. package/.opencode/skills/brand/references/update.md +0 -118
  413. package/.opencode/skills/brand/references/visual-identity.md +0 -96
  414. package/.opencode/skills/brand/references/voice-framework.md +0 -88
  415. package/.opencode/skills/brand/scripts/extract-colors.cjs +0 -341
  416. package/.opencode/skills/brand/scripts/inject-brand-context.cjs +0 -349
  417. package/.opencode/skills/brand/scripts/sync-brand-to-tokens.cjs +0 -266
  418. package/.opencode/skills/brand/scripts/validate-asset.cjs +0 -387
  419. package/.opencode/skills/brand/templates/brand-guidelines-starter.md +0 -275
  420. package/.opencode/skills/campaign/SKILL.md +0 -73
  421. package/.opencode/skills/campaign/references/analyze.md +0 -50
  422. package/.opencode/skills/campaign/references/budget-allocation.md +0 -85
  423. package/.opencode/skills/campaign/references/campaign-brief.md +0 -79
  424. package/.opencode/skills/campaign/references/create.md +0 -211
  425. package/.opencode/skills/campaign/references/email.md +0 -59
  426. package/.opencode/skills/campaign/references/launch-checklist.md +0 -70
  427. package/.opencode/skills/campaign/references/optimization-framework.md +0 -103
  428. package/.opencode/skills/campaign/references/status.md +0 -34
  429. package/.opencode/skills/chrome-devtools/SKILL.md +0 -475
  430. package/.opencode/skills/chrome-devtools/references/cdp-domains.md +0 -694
  431. package/.opencode/skills/chrome-devtools/references/performance-guide.md +0 -940
  432. package/.opencode/skills/chrome-devtools/references/puppeteer-reference.md +0 -953
  433. package/.opencode/skills/chrome-devtools/scripts/README.md +0 -272
  434. package/.opencode/skills/chrome-devtools/scripts/__tests__/error-handling.test.js +0 -102
  435. package/.opencode/skills/chrome-devtools/scripts/__tests__/selector.test.js +0 -210
  436. package/.opencode/skills/chrome-devtools/scripts/aria-snapshot.js +0 -362
  437. package/.opencode/skills/chrome-devtools/scripts/click.js +0 -83
  438. package/.opencode/skills/chrome-devtools/scripts/connect-chrome.js +0 -146
  439. package/.opencode/skills/chrome-devtools/scripts/console.js +0 -79
  440. package/.opencode/skills/chrome-devtools/scripts/evaluate.js +0 -53
  441. package/.opencode/skills/chrome-devtools/scripts/fill.js +0 -76
  442. package/.opencode/skills/chrome-devtools/scripts/import-cookies.js +0 -205
  443. package/.opencode/skills/chrome-devtools/scripts/inject-auth.js +0 -229
  444. package/.opencode/skills/chrome-devtools/scripts/install-deps.sh +0 -181
  445. package/.opencode/skills/chrome-devtools/scripts/install.sh +0 -83
  446. package/.opencode/skills/chrome-devtools/scripts/lib/browser.js +0 -318
  447. package/.opencode/skills/chrome-devtools/scripts/lib/selector.js +0 -178
  448. package/.opencode/skills/chrome-devtools/scripts/navigate.js +0 -54
  449. package/.opencode/skills/chrome-devtools/scripts/network.js +0 -106
  450. package/.opencode/skills/chrome-devtools/scripts/package.json +0 -16
  451. package/.opencode/skills/chrome-devtools/scripts/performance.js +0 -149
  452. package/.opencode/skills/chrome-devtools/scripts/screenshot.js +0 -198
  453. package/.opencode/skills/chrome-devtools/scripts/select-ref.js +0 -131
  454. package/.opencode/skills/chrome-devtools/scripts/snapshot.js +0 -135
  455. package/.opencode/skills/chrome-devtools/scripts/ws-debug.js +0 -44
  456. package/.opencode/skills/chrome-devtools/scripts/ws-full-debug.js +0 -107
  457. package/.opencode/skills/cip-design/SKILL.md +0 -161
  458. package/.opencode/skills/cip-design/data/deliverables.csv +0 -51
  459. package/.opencode/skills/cip-design/data/industries.csv +0 -21
  460. package/.opencode/skills/cip-design/data/mockup-contexts.csv +0 -21
  461. package/.opencode/skills/cip-design/data/styles.csv +0 -21
  462. package/.opencode/skills/cip-design/references/deliverable-guide.md +0 -95
  463. package/.opencode/skills/cip-design/references/prompt-engineering.md +0 -84
  464. package/.opencode/skills/cip-design/references/style-guide.md +0 -68
  465. package/.opencode/skills/cip-design/scripts/core.py +0 -215
  466. package/.opencode/skills/cip-design/scripts/generate.py +0 -488
  467. package/.opencode/skills/cip-design/scripts/render-html.py +0 -424
  468. package/.opencode/skills/cip-design/scripts/search.py +0 -127
  469. package/.opencode/skills/ck-autoresearch/SKILL.md +0 -153
  470. package/.opencode/skills/ck-autoresearch/references/autonomous-loop-protocol.md +0 -193
  471. package/.opencode/skills/ck-autoresearch/references/git-memory-pattern.md +0 -109
  472. package/.opencode/skills/ck-autoresearch/references/guard-and-noise.md +0 -140
  473. package/.opencode/skills/ck-autoresearch/references/metric-library.md +0 -200
  474. package/.opencode/skills/ck-autoresearch/references/results-logging.md +0 -74
  475. package/.opencode/skills/ck-debug/SKILL.md +0 -123
  476. package/.opencode/skills/ck-debug/references/defense-in-depth.md +0 -124
  477. package/.opencode/skills/ck-debug/references/frontend-verification.md +0 -103
  478. package/.opencode/skills/ck-debug/references/investigation-methodology.md +0 -101
  479. package/.opencode/skills/ck-debug/references/log-and-ci-analysis.md +0 -97
  480. package/.opencode/skills/ck-debug/references/performance-diagnostics.md +0 -113
  481. package/.opencode/skills/ck-debug/references/reporting-standards.md +0 -122
  482. package/.opencode/skills/ck-debug/references/root-cause-tracing.md +0 -122
  483. package/.opencode/skills/ck-debug/references/systematic-debugging.md +0 -102
  484. package/.opencode/skills/ck-debug/references/task-management-debugging.md +0 -155
  485. package/.opencode/skills/ck-debug/references/verification.md +0 -123
  486. package/.opencode/skills/ck-debug/scripts/find-polluter.sh +0 -63
  487. package/.opencode/skills/ck-debug/scripts/find-polluter.test.md +0 -102
  488. package/.opencode/skills/ck-loop/SKILL.md +0 -149
  489. package/.opencode/skills/ck-loop/references/autonomous-loop-protocol.md +0 -193
  490. package/.opencode/skills/ck-loop/references/git-memory-pattern.md +0 -109
  491. package/.opencode/skills/ck-loop/references/guard-and-noise.md +0 -140
  492. package/.opencode/skills/ck-loop/references/metric-library.md +0 -200
  493. package/.opencode/skills/ck-loop/references/results-logging.md +0 -74
  494. package/.opencode/skills/ck-plan/SKILL.md +0 -198
  495. package/.opencode/skills/ck-plan/references/archive-workflow.md +0 -53
  496. package/.opencode/skills/ck-plan/references/codebase-understanding.md +0 -62
  497. package/.opencode/skills/ck-plan/references/output-standards.md +0 -145
  498. package/.opencode/skills/ck-plan/references/plan-organization.md +0 -183
  499. package/.opencode/skills/ck-plan/references/red-team-personas.md +0 -69
  500. package/.opencode/skills/ck-plan/references/red-team-workflow.md +0 -77
  501. package/.opencode/skills/ck-plan/references/research-phase.md +0 -49
  502. package/.opencode/skills/ck-plan/references/scope-challenge.md +0 -90
  503. package/.opencode/skills/ck-plan/references/solution-design.md +0 -63
  504. package/.opencode/skills/ck-plan/references/task-management.md +0 -134
  505. package/.opencode/skills/ck-plan/references/validate-question-framework.md +0 -80
  506. package/.opencode/skills/ck-plan/references/validate-workflow.md +0 -65
  507. package/.opencode/skills/ck-plan/references/workflow-modes.md +0 -155
  508. package/.opencode/skills/ck-predict/SKILL.md +0 -119
  509. package/.opencode/skills/ck-scenario/SKILL.md +0 -113
  510. package/.opencode/skills/ck-security/SKILL.md +0 -144
  511. package/.opencode/skills/ck-security/references/stride-owasp-checklist.md +0 -128
  512. package/.opencode/skills/ckm-storage/SKILL.md +0 -23
  513. package/.opencode/skills/ckm-storage/references/list.md +0 -87
  514. package/.opencode/skills/ckm-storage/references/sync.md +0 -89
  515. package/.opencode/skills/ckm-storage/references/upload.md +0 -77
  516. package/.opencode/skills/ckm-storage/references/url.md +0 -63
  517. package/.opencode/skills/claude-code/SKILL.md +0 -64
  518. package/.opencode/skills/claude-code/references/advanced-features.md +0 -399
  519. package/.opencode/skills/claude-code/references/agent-skills.md +0 -399
  520. package/.opencode/skills/claude-code/references/api-reference.md +0 -498
  521. package/.opencode/skills/claude-code/references/best-practices.md +0 -447
  522. package/.opencode/skills/claude-code/references/cicd-integration.md +0 -428
  523. package/.opencode/skills/claude-code/references/common-workflows.md +0 -119
  524. package/.opencode/skills/claude-code/references/configuration.md +0 -480
  525. package/.opencode/skills/claude-code/references/enterprise-features.md +0 -472
  526. package/.opencode/skills/claude-code/references/getting-started.md +0 -252
  527. package/.opencode/skills/claude-code/references/hooks-and-plugins.md +0 -444
  528. package/.opencode/skills/claude-code/references/hooks-comprehensive.md +0 -622
  529. package/.opencode/skills/claude-code/references/ide-integration.md +0 -316
  530. package/.opencode/skills/claude-code/references/mcp-integration.md +0 -386
  531. package/.opencode/skills/claude-code/references/slash-commands.md +0 -489
  532. package/.opencode/skills/claude-code/references/troubleshooting.md +0 -456
  533. package/.opencode/skills/code-review/SKILL.md +0 -147
  534. package/.opencode/skills/code-review/references/adversarial-review.md +0 -223
  535. package/.opencode/skills/code-review/references/checklist-workflow.md +0 -100
  536. package/.opencode/skills/code-review/references/checklists/api.md +0 -52
  537. package/.opencode/skills/code-review/references/checklists/base.md +0 -100
  538. package/.opencode/skills/code-review/references/checklists/web-app.md +0 -54
  539. package/.opencode/skills/code-review/references/code-review-reception.md +0 -209
  540. package/.opencode/skills/code-review/references/codebase-scan-workflow.md +0 -30
  541. package/.opencode/skills/code-review/references/edge-case-scouting.md +0 -119
  542. package/.opencode/skills/code-review/references/input-mode-resolution.md +0 -135
  543. package/.opencode/skills/code-review/references/parallel-review-workflow.md +0 -76
  544. package/.opencode/skills/code-review/references/requesting-code-review.md +0 -105
  545. package/.opencode/skills/code-review/references/spec-compliance-review.md +0 -43
  546. package/.opencode/skills/code-review/references/task-management-reviews.md +0 -155
  547. package/.opencode/skills/code-review/references/verification-before-completion.md +0 -139
  548. package/.opencode/skills/coding-level/SKILL.md +0 -59
  549. package/.opencode/skills/competitor/SKILL.md +0 -95
  550. package/.opencode/skills/competitor/references/alternatives.md +0 -245
  551. package/.opencode/skills/content-hub/SKILL.md +0 -83
  552. package/.opencode/skills/content-hub/assets/hub.css +0 -693
  553. package/.opencode/skills/content-hub/assets/hub.js +0 -514
  554. package/.opencode/skills/content-hub/assets/template.html +0 -185
  555. package/.opencode/skills/content-hub/scripts/lib/ai-bridge.cjs +0 -165
  556. package/.opencode/skills/content-hub/scripts/lib/brand-context.cjs +0 -118
  557. package/.opencode/skills/content-hub/scripts/lib/port-finder.cjs +0 -43
  558. package/.opencode/skills/content-hub/scripts/lib/process-mgr.cjs +0 -102
  559. package/.opencode/skills/content-hub/scripts/lib/router.cjs +0 -276
  560. package/.opencode/skills/content-hub/scripts/lib/scanner.cjs +0 -278
  561. package/.opencode/skills/content-hub/scripts/server.cjs +0 -140
  562. package/.opencode/skills/content-hub/scripts/start-all.sh +0 -58
  563. package/.opencode/skills/content-marketing/SKILL.md +0 -87
  564. package/.opencode/skills/content-marketing/references/blog-post-templates.md +0 -108
  565. package/.opencode/skills/content-marketing/references/content-audit-checklist.md +0 -76
  566. package/.opencode/skills/content-marketing/references/content-strategy-framework.md +0 -72
  567. package/.opencode/skills/content-marketing/references/editorial-calendar-template.md +0 -59
  568. package/.opencode/skills/context-engineering/SKILL.md +0 -110
  569. package/.opencode/skills/context-engineering/references/context-compression.md +0 -84
  570. package/.opencode/skills/context-engineering/references/context-degradation.md +0 -93
  571. package/.opencode/skills/context-engineering/references/context-fundamentals.md +0 -75
  572. package/.opencode/skills/context-engineering/references/context-optimization.md +0 -82
  573. package/.opencode/skills/context-engineering/references/evaluation.md +0 -89
  574. package/.opencode/skills/context-engineering/references/memory-systems.md +0 -88
  575. package/.opencode/skills/context-engineering/references/multi-agent-patterns.md +0 -90
  576. package/.opencode/skills/context-engineering/references/project-development.md +0 -97
  577. package/.opencode/skills/context-engineering/references/runtime-awareness.md +0 -202
  578. package/.opencode/skills/context-engineering/references/tool-design.md +0 -86
  579. package/.opencode/skills/context-engineering/scripts/compression_evaluator.py +0 -349
  580. package/.opencode/skills/context-engineering/scripts/context_analyzer.py +0 -317
  581. package/.opencode/skills/cook/README.md +0 -86
  582. package/.opencode/skills/cook/SKILL.md +0 -115
  583. package/.opencode/skills/cook/references/intent-detection.md +0 -101
  584. package/.opencode/skills/cook/references/review-cycle.md +0 -75
  585. package/.opencode/skills/cook/references/subagent-patterns.md +0 -75
  586. package/.opencode/skills/cook/references/workflow-steps.md +0 -166
  587. package/.opencode/skills/copywriting/SKILL.md +0 -88
  588. package/.opencode/skills/copywriting/references/copy-formulas.md +0 -150
  589. package/.opencode/skills/copywriting/references/cta-patterns.md +0 -168
  590. package/.opencode/skills/copywriting/references/email-copy.md +0 -193
  591. package/.opencode/skills/copywriting/references/headline-templates.md +0 -140
  592. package/.opencode/skills/copywriting/references/landing-page-copy.md +0 -175
  593. package/.opencode/skills/copywriting/references/power-words.md +0 -189
  594. package/.opencode/skills/copywriting/references/social-media-copy.md +0 -222
  595. package/.opencode/skills/copywriting/references/workflow-cro.md +0 -83
  596. package/.opencode/skills/copywriting/references/workflow-enhance.md +0 -32
  597. package/.opencode/skills/copywriting/references/workflow-fast.md +0 -29
  598. package/.opencode/skills/copywriting/references/workflow-good.md +0 -39
  599. package/.opencode/skills/copywriting/references/writing-styles.md +0 -247
  600. package/.opencode/skills/copywriting/scripts/extract-writing-styles.py +0 -308
  601. package/.opencode/skills/copywriting/templates/copy-brief.md +0 -49
  602. package/.opencode/skills/creativity/SKILL.md +0 -189
  603. package/.opencode/skills/creativity/data/creative-reasoning.csv +0 -31
  604. package/.opencode/skills/creativity/data/music.csv +0 -18
  605. package/.opencode/skills/creativity/data/platforms.csv +0 -19
  606. package/.opencode/skills/creativity/data/styles.csv +0 -56
  607. package/.opencode/skills/creativity/data/voiceover.csv +0 -13
  608. package/.opencode/skills/creativity/references/audio-music.md +0 -74
  609. package/.opencode/skills/creativity/references/color-psychology.md +0 -68
  610. package/.opencode/skills/creativity/references/creative-styles-part1.md +0 -31
  611. package/.opencode/skills/creativity/references/creative-styles-part2.md +0 -36
  612. package/.opencode/skills/creativity/references/visual-trends.md +0 -84
  613. package/.opencode/skills/creativity/references/voiceover-styles.md +0 -107
  614. package/.opencode/skills/creativity/scripts/core.py +0 -179
  615. package/.opencode/skills/creativity/scripts/creative_brief.py +0 -470
  616. package/.opencode/skills/creativity/scripts/search.py +0 -62
  617. package/.opencode/skills/dashboard/SKILL.md +0 -108
  618. package/.opencode/skills/dashboard/references/check.md +0 -93
  619. package/.opencode/skills/databases/SKILL.md +0 -236
  620. package/.opencode/skills/databases/analytics.md +0 -198
  621. package/.opencode/skills/databases/db-design.md +0 -188
  622. package/.opencode/skills/databases/incremental-etl.md +0 -213
  623. package/.opencode/skills/databases/references/mongodb-aggregation.md +0 -447
  624. package/.opencode/skills/databases/references/mongodb-atlas.md +0 -465
  625. package/.opencode/skills/databases/references/mongodb-crud.md +0 -408
  626. package/.opencode/skills/databases/references/mongodb-indexing.md +0 -442
  627. package/.opencode/skills/databases/references/postgresql-administration.md +0 -594
  628. package/.opencode/skills/databases/references/postgresql-performance.md +0 -527
  629. package/.opencode/skills/databases/references/postgresql-psql-cli.md +0 -467
  630. package/.opencode/skills/databases/references/postgresql-queries.md +0 -475
  631. package/.opencode/skills/databases/scripts/.coverage +0 -0
  632. package/.opencode/skills/databases/scripts/db_backup.py +0 -502
  633. package/.opencode/skills/databases/scripts/db_migrate.py +0 -425
  634. package/.opencode/skills/databases/scripts/db_performance_check.py +0 -456
  635. package/.opencode/skills/databases/scripts/requirements.txt +0 -20
  636. package/.opencode/skills/databases/stacks/bigquery.md +0 -231
  637. package/.opencode/skills/databases/stacks/d1_cloudflare.md +0 -137
  638. package/.opencode/skills/databases/stacks/mysql.md +0 -216
  639. package/.opencode/skills/databases/stacks/postgres.md +0 -235
  640. package/.opencode/skills/databases/stacks/sqlite.md +0 -244
  641. package/.opencode/skills/databases/transactional.md +0 -176
  642. package/.opencode/skills/debugging/SKILL.md +0 -87
  643. package/.opencode/skills/debugging/references/defense-in-depth.md +0 -124
  644. package/.opencode/skills/debugging/references/root-cause-tracing.md +0 -122
  645. package/.opencode/skills/debugging/references/systematic-debugging.md +0 -102
  646. package/.opencode/skills/debugging/references/verification.md +0 -123
  647. package/.opencode/skills/debugging/scripts/find-polluter.sh +0 -63
  648. package/.opencode/skills/debugging/scripts/find-polluter.test.md +0 -102
  649. package/.opencode/skills/deploy/SKILL.md +0 -157
  650. package/.opencode/skills/deploy/references/platform-config-templates.md +0 -35
  651. package/.opencode/skills/deploy/references/platforms/aws.md +0 -58
  652. package/.opencode/skills/deploy/references/platforms/cloudflare.md +0 -41
  653. package/.opencode/skills/deploy/references/platforms/coolify.md +0 -32
  654. package/.opencode/skills/deploy/references/platforms/digitalocean.md +0 -45
  655. package/.opencode/skills/deploy/references/platforms/dokploy.md +0 -29
  656. package/.opencode/skills/deploy/references/platforms/flyio.md +0 -54
  657. package/.opencode/skills/deploy/references/platforms/gcp.md +0 -45
  658. package/.opencode/skills/deploy/references/platforms/github-pages.md +0 -56
  659. package/.opencode/skills/deploy/references/platforms/heroku.md +0 -31
  660. package/.opencode/skills/deploy/references/platforms/netlify.md +0 -39
  661. package/.opencode/skills/deploy/references/platforms/railway.md +0 -38
  662. package/.opencode/skills/deploy/references/platforms/render.md +0 -39
  663. package/.opencode/skills/deploy/references/platforms/tose.md +0 -35
  664. package/.opencode/skills/deploy/references/platforms/vercel.md +0 -37
  665. package/.opencode/skills/deploy/references/platforms/vultr.md +0 -27
  666. package/.opencode/skills/design/SKILL.md +0 -302
  667. package/.opencode/skills/design/data/cip/deliverables.csv +0 -51
  668. package/.opencode/skills/design/data/cip/industries.csv +0 -21
  669. package/.opencode/skills/design/data/cip/mockup-contexts.csv +0 -21
  670. package/.opencode/skills/design/data/cip/styles.csv +0 -21
  671. package/.opencode/skills/design/data/icon/styles.csv +0 -16
  672. package/.opencode/skills/design/data/logo/colors.csv +0 -56
  673. package/.opencode/skills/design/data/logo/industries.csv +0 -56
  674. package/.opencode/skills/design/data/logo/styles.csv +0 -56
  675. package/.opencode/skills/design/references/banner-sizes-and-styles.md +0 -118
  676. package/.opencode/skills/design/references/cip-deliverable-guide.md +0 -95
  677. package/.opencode/skills/design/references/cip-design.md +0 -121
  678. package/.opencode/skills/design/references/cip-prompt-engineering.md +0 -84
  679. package/.opencode/skills/design/references/cip-style-guide.md +0 -68
  680. package/.opencode/skills/design/references/design-routing.md +0 -207
  681. package/.opencode/skills/design/references/icon-design.md +0 -122
  682. package/.opencode/skills/design/references/logo-color-psychology.md +0 -101
  683. package/.opencode/skills/design/references/logo-design.md +0 -92
  684. package/.opencode/skills/design/references/logo-prompt-engineering.md +0 -158
  685. package/.opencode/skills/design/references/logo-style-guide.md +0 -109
  686. package/.opencode/skills/design/references/slides-copywriting-formulas.md +0 -84
  687. package/.opencode/skills/design/references/slides-create.md +0 -4
  688. package/.opencode/skills/design/references/slides-html-template.md +0 -295
  689. package/.opencode/skills/design/references/slides-layout-patterns.md +0 -137
  690. package/.opencode/skills/design/references/slides-strategies.md +0 -94
  691. package/.opencode/skills/design/references/slides.md +0 -42
  692. package/.opencode/skills/design/references/social-photos-design.md +0 -329
  693. package/.opencode/skills/design/scripts/cip/core.py +0 -215
  694. package/.opencode/skills/design/scripts/cip/generate.py +0 -488
  695. package/.opencode/skills/design/scripts/cip/render-html.py +0 -424
  696. package/.opencode/skills/design/scripts/cip/search.py +0 -127
  697. package/.opencode/skills/design/scripts/icon/generate.py +0 -487
  698. package/.opencode/skills/design/scripts/logo/core.py +0 -175
  699. package/.opencode/skills/design/scripts/logo/generate.py +0 -363
  700. package/.opencode/skills/design/scripts/logo/search.py +0 -114
  701. package/.opencode/skills/design-system/SKILL.md +0 -244
  702. package/.opencode/skills/design-system/data/slide-backgrounds.csv +0 -11
  703. package/.opencode/skills/design-system/data/slide-charts.csv +0 -26
  704. package/.opencode/skills/design-system/data/slide-color-logic.csv +0 -14
  705. package/.opencode/skills/design-system/data/slide-copy.csv +0 -26
  706. package/.opencode/skills/design-system/data/slide-layout-logic.csv +0 -16
  707. package/.opencode/skills/design-system/data/slide-layouts.csv +0 -26
  708. package/.opencode/skills/design-system/data/slide-strategies.csv +0 -16
  709. package/.opencode/skills/design-system/data/slide-typography.csv +0 -15
  710. package/.opencode/skills/design-system/references/component-specs.md +0 -236
  711. package/.opencode/skills/design-system/references/component-tokens.md +0 -214
  712. package/.opencode/skills/design-system/references/primitive-tokens.md +0 -203
  713. package/.opencode/skills/design-system/references/semantic-tokens.md +0 -215
  714. package/.opencode/skills/design-system/references/states-and-variants.md +0 -241
  715. package/.opencode/skills/design-system/references/tailwind-integration.md +0 -251
  716. package/.opencode/skills/design-system/references/token-architecture.md +0 -224
  717. package/.opencode/skills/design-system/scripts/embed-tokens.cjs +0 -99
  718. package/.opencode/skills/design-system/scripts/fetch-background.py +0 -317
  719. package/.opencode/skills/design-system/scripts/generate-slide.py +0 -753
  720. package/.opencode/skills/design-system/scripts/generate-tokens.cjs +0 -205
  721. package/.opencode/skills/design-system/scripts/html-token-validator.py +0 -327
  722. package/.opencode/skills/design-system/scripts/search-slides.py +0 -218
  723. package/.opencode/skills/design-system/scripts/slide-token-validator.py +0 -35
  724. package/.opencode/skills/design-system/scripts/slide_search_core.py +0 -453
  725. package/.opencode/skills/design-system/scripts/validate-tokens.cjs +0 -251
  726. package/.opencode/skills/design-system/templates/design-tokens-starter.json +0 -143
  727. package/.opencode/skills/devops/SKILL.md +0 -288
  728. package/.opencode/skills/devops/references/browser-rendering.md +0 -305
  729. package/.opencode/skills/devops/references/cloudflare-d1-kv.md +0 -123
  730. package/.opencode/skills/devops/references/cloudflare-platform.md +0 -271
  731. package/.opencode/skills/devops/references/cloudflare-r2-storage.md +0 -280
  732. package/.opencode/skills/devops/references/cloudflare-workers-advanced.md +0 -312
  733. package/.opencode/skills/devops/references/cloudflare-workers-apis.md +0 -309
  734. package/.opencode/skills/devops/references/cloudflare-workers-basics.md +0 -418
  735. package/.opencode/skills/devops/references/docker-basics.md +0 -297
  736. package/.opencode/skills/devops/references/docker-compose.md +0 -292
  737. package/.opencode/skills/devops/references/gcloud-platform.md +0 -297
  738. package/.opencode/skills/devops/references/gcloud-services.md +0 -304
  739. package/.opencode/skills/devops/references/kubernetes-basics.md +0 -99
  740. package/.opencode/skills/devops/references/kubernetes-helm-advanced.md +0 -75
  741. package/.opencode/skills/devops/references/kubernetes-helm.md +0 -81
  742. package/.opencode/skills/devops/references/kubernetes-kubectl.md +0 -74
  743. package/.opencode/skills/devops/references/kubernetes-security-advanced.md +0 -98
  744. package/.opencode/skills/devops/references/kubernetes-security.md +0 -95
  745. package/.opencode/skills/devops/references/kubernetes-troubleshooting-advanced.md +0 -74
  746. package/.opencode/skills/devops/references/kubernetes-troubleshooting.md +0 -49
  747. package/.opencode/skills/devops/references/kubernetes-workflows-advanced.md +0 -75
  748. package/.opencode/skills/devops/references/kubernetes-workflows.md +0 -78
  749. package/.opencode/skills/devops/scripts/cloudflare_deploy.py +0 -269
  750. package/.opencode/skills/devops/scripts/docker_optimize.py +0 -331
  751. package/.opencode/skills/devops/scripts/requirements.txt +0 -20
  752. package/.opencode/skills/docs/SKILL.md +0 -23
  753. package/.opencode/skills/docs/references/init-workflow.md +0 -32
  754. package/.opencode/skills/docs/references/init.md +0 -23
  755. package/.opencode/skills/docs/references/llms.md +0 -8
  756. package/.opencode/skills/docs/references/summarize-workflow.md +0 -18
  757. package/.opencode/skills/docs/references/summarize.md +0 -18
  758. package/.opencode/skills/docs/references/update-workflow.md +0 -59
  759. package/.opencode/skills/docs/references/update.md +0 -32
  760. package/.opencode/skills/docs-seeker/SKILL.md +0 -100
  761. package/.opencode/skills/docs-seeker/package.json +0 -25
  762. package/.opencode/skills/docs-seeker/references/advanced.md +0 -79
  763. package/.opencode/skills/docs-seeker/references/context7-patterns.md +0 -68
  764. package/.opencode/skills/docs-seeker/references/errors.md +0 -68
  765. package/.opencode/skills/docs-seeker/scripts/analyze-llms-txt.js +0 -211
  766. package/.opencode/skills/docs-seeker/scripts/detect-topic.js +0 -172
  767. package/.opencode/skills/docs-seeker/scripts/fetch-docs.js +0 -213
  768. package/.opencode/skills/docs-seeker/scripts/utils/env-loader.js +0 -94
  769. package/.opencode/skills/docs-seeker/workflows/library-search.md +0 -87
  770. package/.opencode/skills/docs-seeker/workflows/repo-analysis.md +0 -91
  771. package/.opencode/skills/docs-seeker/workflows/topic-search.md +0 -77
  772. package/.opencode/skills/elevenlabs/README.md +0 -57
  773. package/.opencode/skills/elevenlabs/SKILL.md +0 -97
  774. package/.opencode/skills/elevenlabs/references/available-models.md +0 -720
  775. package/.opencode/skills/elevenlabs/references/conversational-ai-agents-guide.md +0 -168
  776. package/.opencode/skills/elevenlabs/references/sound-effects-and-music-generation-guide.md +0 -131
  777. package/.opencode/skills/elevenlabs/references/text-to-speech-guide.md +0 -132
  778. package/.opencode/skills/elevenlabs/references/voice-cloning-guide.md +0 -94
  779. package/.opencode/skills/elevenlabs/references/voice-design-prompting-guide.md +0 -96
  780. package/.opencode/skills/elevenlabs/requirements.txt +0 -1
  781. package/.opencode/skills/elevenlabs/scripts/elevenlabs-sound-effects-generator.py +0 -108
  782. package/.opencode/skills/elevenlabs/scripts/elevenlabs-text-to-speech-generator.py +0 -184
  783. package/.opencode/skills/elevenlabs/scripts/elevenlabs-voice-cloner.py +0 -127
  784. package/.opencode/skills/elevenlabs/scripts/elevenlabs-voice-manager.py +0 -194
  785. package/.opencode/skills/email/SKILL.md +0 -56
  786. package/.opencode/skills/email/references/automation-flows.md +0 -429
  787. package/.opencode/skills/email/references/deliverability-checklist.md +0 -73
  788. package/.opencode/skills/email/references/email-templates.md +0 -127
  789. package/.opencode/skills/email/references/flow.md +0 -165
  790. package/.opencode/skills/email/references/sequence.md +0 -166
  791. package/.opencode/skills/email/references/subject-line-formulas.md +0 -67
  792. package/.opencode/skills/find-skills/SKILL.md +0 -137
  793. package/.opencode/skills/fix/SKILL.md +0 -75
  794. package/.opencode/skills/fix/references/complexity-assessment.md +0 -61
  795. package/.opencode/skills/fix/references/diagnosis-protocol.md +0 -133
  796. package/.opencode/skills/fix/references/mode-selection.md +0 -46
  797. package/.opencode/skills/fix/references/parallel-exploration.md +0 -77
  798. package/.opencode/skills/fix/references/prevention-gate.md +0 -87
  799. package/.opencode/skills/fix/references/review-cycle.md +0 -77
  800. package/.opencode/skills/fix/references/skill-activation-matrix.md +0 -65
  801. package/.opencode/skills/fix/references/task-orchestration.md +0 -110
  802. package/.opencode/skills/fix/references/workflow-ci.md +0 -28
  803. package/.opencode/skills/fix/references/workflow-deep.md +0 -91
  804. package/.opencode/skills/fix/references/workflow-logs.md +0 -36
  805. package/.opencode/skills/fix/references/workflow-quick.md +0 -59
  806. package/.opencode/skills/fix/references/workflow-standard.md +0 -86
  807. package/.opencode/skills/fix/references/workflow-test.md +0 -36
  808. package/.opencode/skills/fix/references/workflow-types.md +0 -33
  809. package/.opencode/skills/fix/references/workflow-ui.md +0 -37
  810. package/.opencode/skills/form-cro/SKILL.md +0 -429
  811. package/.opencode/skills/free-tool-strategy/SKILL.md +0 -580
  812. package/.opencode/skills/frontend-design/SKILL.md +0 -81
  813. package/.opencode/skills/frontend-design/references/ai-multimodal-overview.md +0 -165
  814. package/.opencode/skills/frontend-design/references/analysis-best-practices.md +0 -80
  815. package/.opencode/skills/frontend-design/references/analysis-prompts.md +0 -141
  816. package/.opencode/skills/frontend-design/references/analysis-techniques.md +0 -118
  817. package/.opencode/skills/frontend-design/references/animejs.md +0 -396
  818. package/.opencode/skills/frontend-design/references/anti-slop-rules.md +0 -103
  819. package/.opencode/skills/frontend-design/references/asset-generation.md +0 -337
  820. package/.opencode/skills/frontend-design/references/bento-motion-engine.md +0 -142
  821. package/.opencode/skills/frontend-design/references/design-extraction-overview.md +0 -71
  822. package/.opencode/skills/frontend-design/references/extraction-best-practices.md +0 -141
  823. package/.opencode/skills/frontend-design/references/extraction-output-templates.md +0 -162
  824. package/.opencode/skills/frontend-design/references/extraction-prompts.md +0 -127
  825. package/.opencode/skills/frontend-design/references/magicui-components.md +0 -129
  826. package/.opencode/skills/frontend-design/references/performance-guardrails.md +0 -169
  827. package/.opencode/skills/frontend-design/references/premium-design-patterns.md +0 -93
  828. package/.opencode/skills/frontend-design/references/redesign-audit-checklist.md +0 -114
  829. package/.opencode/skills/frontend-design/references/technical-accessibility.md +0 -119
  830. package/.opencode/skills/frontend-design/references/technical-best-practices.md +0 -97
  831. package/.opencode/skills/frontend-design/references/technical-optimization.md +0 -44
  832. package/.opencode/skills/frontend-design/references/technical-overview.md +0 -90
  833. package/.opencode/skills/frontend-design/references/technical-workflows.md +0 -150
  834. package/.opencode/skills/frontend-design/references/visual-analysis-overview.md +0 -95
  835. package/.opencode/skills/frontend-design/references/workflow-3d.md +0 -102
  836. package/.opencode/skills/frontend-design/references/workflow-describe.md +0 -87
  837. package/.opencode/skills/frontend-design/references/workflow-immersive.md +0 -87
  838. package/.opencode/skills/frontend-design/references/workflow-quick.md +0 -57
  839. package/.opencode/skills/frontend-design/references/workflow-screenshot.md +0 -63
  840. package/.opencode/skills/frontend-design/references/workflow-video.md +0 -74
  841. package/.opencode/skills/frontend-development/SKILL.md +0 -403
  842. package/.opencode/skills/frontend-development/resources/common-patterns.md +0 -331
  843. package/.opencode/skills/frontend-development/resources/complete-examples.md +0 -872
  844. package/.opencode/skills/frontend-development/resources/component-patterns.md +0 -502
  845. package/.opencode/skills/frontend-development/resources/data-fetching.md +0 -767
  846. package/.opencode/skills/frontend-development/resources/file-organization.md +0 -502
  847. package/.opencode/skills/frontend-development/resources/loading-and-error-states.md +0 -501
  848. package/.opencode/skills/frontend-development/resources/performance.md +0 -406
  849. package/.opencode/skills/frontend-development/resources/routing-guide.md +0 -364
  850. package/.opencode/skills/frontend-development/resources/styling-guide.md +0 -428
  851. package/.opencode/skills/frontend-development/resources/typescript-standards.md +0 -418
  852. package/.opencode/skills/funnel/SKILL.md +0 -82
  853. package/.opencode/skills/gamification-marketing/SKILL.md +0 -95
  854. package/.opencode/skills/gamification-marketing/references/analytics-events.md +0 -84
  855. package/.opencode/skills/gamification-marketing/references/campaign-templates.md +0 -80
  856. package/.opencode/skills/gamification-marketing/references/case-studies.md +0 -60
  857. package/.opencode/skills/gamification-marketing/references/challenge-configs.md +0 -86
  858. package/.opencode/skills/gamification-marketing/references/database-schema.md +0 -98
  859. package/.opencode/skills/gamification-marketing/references/implementation-guide.md +0 -57
  860. package/.opencode/skills/gamification-marketing/references/kpi-tracking.md +0 -53
  861. package/.opencode/skills/gamification-marketing/references/mechanics-selection.md +0 -81
  862. package/.opencode/skills/gamification-marketing/references/psychology-frameworks.md +0 -96
  863. package/.opencode/skills/git/SKILL.md +0 -101
  864. package/.opencode/skills/git/references/branch-management.md +0 -88
  865. package/.opencode/skills/git/references/commit-standards.md +0 -45
  866. package/.opencode/skills/git/references/gh-cli-guide.md +0 -109
  867. package/.opencode/skills/git/references/safety-protocols.md +0 -69
  868. package/.opencode/skills/git/references/workflow-commit.md +0 -56
  869. package/.opencode/skills/git/references/workflow-merge.md +0 -48
  870. package/.opencode/skills/git/references/workflow-pr.md +0 -58
  871. package/.opencode/skills/git/references/workflow-push.md +0 -52
  872. package/.opencode/skills/gkg/SKILL.md +0 -94
  873. package/.opencode/skills/gkg/references/cli-commands.md +0 -106
  874. package/.opencode/skills/gkg/references/http-api.md +0 -102
  875. package/.opencode/skills/gkg/references/language-support.md +0 -57
  876. package/.opencode/skills/gkg/references/mcp-tools.md +0 -99
  877. package/.opencode/skills/google-adk-python/SKILL.md +0 -246
  878. package/.opencode/skills/google-adk-python/references/agent-types-and-architecture.md +0 -128
  879. package/.opencode/skills/google-adk-python/references/callbacks-plugins-observability.md +0 -117
  880. package/.opencode/skills/google-adk-python/references/deployment-cloud-run-vertex-gke.md +0 -138
  881. package/.opencode/skills/google-adk-python/references/evaluation-testing-cli.md +0 -112
  882. package/.opencode/skills/google-adk-python/references/multi-agent-and-a2a-protocol.md +0 -145
  883. package/.opencode/skills/google-adk-python/references/sessions-state-memory-artifacts.md +0 -131
  884. package/.opencode/skills/google-adk-python/references/tools-and-mcp-integration.md +0 -146
  885. package/.opencode/skills/hub/SKILL.md +0 -55
  886. package/.opencode/skills/init/SKILL.md +0 -219
  887. package/.opencode/skills/journal/SKILL.md +0 -22
  888. package/.opencode/skills/kanban/SKILL.md +0 -69
  889. package/.opencode/skills/kit-builder/SKILL.md +0 -85
  890. package/.opencode/skills/kit-builder/references/agent-guide.md +0 -79
  891. package/.opencode/skills/kit-builder/references/best-practices.md +0 -117
  892. package/.opencode/skills/kit-builder/references/command-guide.md +0 -91
  893. package/.opencode/skills/kit-builder/references/marketing-checklist.md +0 -121
  894. package/.opencode/skills/kit-builder/references/skill-guide.md +0 -74
  895. package/.opencode/skills/kit-builder/references/workflow-guide.md +0 -113
  896. package/.opencode/skills/kit-builder/scripts/init_component.py +0 -260
  897. package/.opencode/skills/kit-builder/templates/agent-template.md +0 -48
  898. package/.opencode/skills/kit-builder/templates/command-template.md +0 -37
  899. package/.opencode/skills/kit-builder/templates/skill-template.md +0 -53
  900. package/.opencode/skills/kit-builder/templates/workflow-template.md +0 -80
  901. package/.opencode/skills/launch-strategy/SKILL.md +0 -348
  902. package/.opencode/skills/llms/SKILL.md +0 -120
  903. package/.opencode/skills/llms/references/llms-txt-specification.md +0 -87
  904. package/.opencode/skills/llms/scripts/generate-llms-txt.py +0 -350
  905. package/.opencode/skills/logo-design/SKILL.md +0 -156
  906. package/.opencode/skills/logo-design/data/colors.csv +0 -56
  907. package/.opencode/skills/logo-design/data/industries.csv +0 -56
  908. package/.opencode/skills/logo-design/data/styles.csv +0 -56
  909. package/.opencode/skills/logo-design/references/color-psychology.md +0 -101
  910. package/.opencode/skills/logo-design/references/prompt-engineering.md +0 -158
  911. package/.opencode/skills/logo-design/references/style-guide.md +0 -109
  912. package/.opencode/skills/logo-design/scripts/core.py +0 -175
  913. package/.opencode/skills/logo-design/scripts/generate.py +0 -363
  914. package/.opencode/skills/logo-design/scripts/search.py +0 -114
  915. package/.opencode/skills/markdown-novel-viewer/SKILL.md +0 -285
  916. package/.opencode/skills/markdown-novel-viewer/assets/directory-browser.css +0 -215
  917. package/.opencode/skills/markdown-novel-viewer/assets/novel-theme.css +0 -872
  918. package/.opencode/skills/markdown-novel-viewer/assets/reader.js +0 -357
  919. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-base.css +0 -54
  920. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-components.css +0 -188
  921. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-content.css +0 -178
  922. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-header.css +0 -217
  923. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-mermaid.css +0 -153
  924. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-overlays.css +0 -202
  925. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-responsive.css +0 -285
  926. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-sidebar.css +0 -358
  927. package/.opencode/skills/markdown-novel-viewer/assets/styles/novel-theme-variables.css +0 -56
  928. package/.opencode/skills/markdown-novel-viewer/assets/template.html +0 -85
  929. package/.opencode/skills/markdown-novel-viewer/bun.lock +0 -38
  930. package/.opencode/skills/markdown-novel-viewer/package.json +0 -15
  931. package/.opencode/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +0 -434
  932. package/.opencode/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +0 -335
  933. package/.opencode/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +0 -509
  934. package/.opencode/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +0 -48
  935. package/.opencode/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +0 -150
  936. package/.opencode/skills/markdown-novel-viewer/scripts/server.cjs +0 -411
  937. package/.opencode/skills/marketing-dashboard/README.md +0 -363
  938. package/.opencode/skills/marketing-dashboard/SKILL.md +0 -84
  939. package/.opencode/skills/marketing-dashboard/app/README.md +0 -5
  940. package/.opencode/skills/marketing-dashboard/app/index.html +0 -13
  941. package/.opencode/skills/marketing-dashboard/app/package.json +0 -31
  942. package/.opencode/skills/marketing-dashboard/app/postcss.config.js +0 -5
  943. package/.opencode/skills/marketing-dashboard/app/public/vite.svg +0 -1
  944. package/.opencode/skills/marketing-dashboard/app/src/App.vue +0 -9
  945. package/.opencode/skills/marketing-dashboard/app/src/assets/vue.svg +0 -1
  946. package/.opencode/skills/marketing-dashboard/app/src/components/assets/AssetCard.vue +0 -338
  947. package/.opencode/skills/marketing-dashboard/app/src/components/assets/AssetGrid.vue +0 -673
  948. package/.opencode/skills/marketing-dashboard/app/src/components/assets/AssetPreview.vue +0 -530
  949. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/CodePreview.vue +0 -402
  950. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/ImagePreview.vue +0 -282
  951. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/InfographicPreview.vue +0 -167
  952. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/JsonVisualizer.vue +0 -548
  953. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/MarkdownPreview.vue +0 -774
  954. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/SlidePreview.vue +0 -341
  955. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/SocialPostPreview.vue +0 -505
  956. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/StoryboardPreview.vue +0 -311
  957. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/TranscriptPreview.vue +0 -350
  958. package/.opencode/skills/marketing-dashboard/app/src/components/assets/previews/VideoPreview.vue +0 -351
  959. package/.opencode/skills/marketing-dashboard/app/src/components/brand/ColorPalette.vue +0 -131
  960. package/.opencode/skills/marketing-dashboard/app/src/components/brand/ComponentShowcase.vue +0 -188
  961. package/.opencode/skills/marketing-dashboard/app/src/components/brand/LogoGallery.vue +0 -167
  962. package/.opencode/skills/marketing-dashboard/app/src/components/brand/SpacingScale.vue +0 -33
  963. package/.opencode/skills/marketing-dashboard/app/src/components/brand/TypographyPreview.vue +0 -97
  964. package/.opencode/skills/marketing-dashboard/app/src/components/brand/VoiceSummary.vue +0 -92
  965. package/.opencode/skills/marketing-dashboard/app/src/components/common/LoadingSpinner.vue +0 -75
  966. package/.opencode/skills/marketing-dashboard/app/src/components/common/Modal.vue +0 -60
  967. package/.opencode/skills/marketing-dashboard/app/src/components/common/Toast.vue +0 -119
  968. package/.opencode/skills/marketing-dashboard/app/src/components/layout/AppHeader.vue +0 -17
  969. package/.opencode/skills/marketing-dashboard/app/src/components/layout/AppLayout.vue +0 -16
  970. package/.opencode/skills/marketing-dashboard/app/src/components/layout/AppSidebar.vue +0 -103
  971. package/.opencode/skills/marketing-dashboard/app/src/config.js +0 -1
  972. package/.opencode/skills/marketing-dashboard/app/src/main.js +0 -12
  973. package/.opencode/skills/marketing-dashboard/app/src/router/index.js +0 -33
  974. package/.opencode/skills/marketing-dashboard/app/src/stores/assets.js +0 -108
  975. package/.opencode/skills/marketing-dashboard/app/src/stores/brand.js +0 -94
  976. package/.opencode/skills/marketing-dashboard/app/src/style.css +0 -72
  977. package/.opencode/skills/marketing-dashboard/app/src/views/AssetsView.vue +0 -109
  978. package/.opencode/skills/marketing-dashboard/app/src/views/BrandView.vue +0 -82
  979. package/.opencode/skills/marketing-dashboard/app/src/views/SettingsView.vue +0 -108
  980. package/.opencode/skills/marketing-dashboard/app/tailwind.config.js +0 -34
  981. package/.opencode/skills/marketing-dashboard/app/vite.config.js +0 -19
  982. package/.opencode/skills/marketing-dashboard/build.sh +0 -43
  983. package/.opencode/skills/marketing-dashboard/server/__tests__/ai.test.js +0 -456
  984. package/.opencode/skills/marketing-dashboard/server/__tests__/assets.test.js +0 -286
  985. package/.opencode/skills/marketing-dashboard/server/__tests__/brand-security.test.js +0 -183
  986. package/.opencode/skills/marketing-dashboard/server/__tests__/security-file-serving.test.js +0 -159
  987. package/.opencode/skills/marketing-dashboard/server/__tests__/test-db.js +0 -31
  988. package/.opencode/skills/marketing-dashboard/server/coverage_output.txt +0 -7
  989. package/.opencode/skills/marketing-dashboard/server/db/database.js +0 -61
  990. package/.opencode/skills/marketing-dashboard/server/db/schema.sql +0 -26
  991. package/.opencode/skills/marketing-dashboard/server/index.js +0 -105
  992. package/.opencode/skills/marketing-dashboard/server/lib/ai-bridge.cjs +0 -201
  993. package/.opencode/skills/marketing-dashboard/server/lib/brand-context.cjs +0 -118
  994. package/.opencode/skills/marketing-dashboard/server/lib/scanner.cjs +0 -440
  995. package/.opencode/skills/marketing-dashboard/server/middleware/auth.js +0 -48
  996. package/.opencode/skills/marketing-dashboard/server/package.json +0 -31
  997. package/.opencode/skills/marketing-dashboard/server/routes/assets.js +0 -269
  998. package/.opencode/skills/marketing-dashboard/server/routes/brand.js +0 -143
  999. package/.opencode/skills/marketing-dashboard/server/vitest.config.js +0 -23
  1000. package/.opencode/skills/marketing-dashboard/start-production.sh +0 -55
  1001. package/.opencode/skills/marketing-dashboard/start.sh +0 -63
  1002. package/.opencode/skills/marketing-dashboard/stop.sh +0 -54
  1003. package/.opencode/skills/marketing-dashboard/temp/enhance/enhance-1766508537903.md +0 -7
  1004. package/.opencode/skills/marketing-ideas/SKILL.md +0 -569
  1005. package/.opencode/skills/marketing-planning/SKILL.md +0 -122
  1006. package/.opencode/skills/marketing-planning/references/brand-context.md +0 -54
  1007. package/.opencode/skills/marketing-planning/references/output-standards.md +0 -117
  1008. package/.opencode/skills/marketing-planning/references/plan-organization.md +0 -109
  1009. package/.opencode/skills/marketing-planning/references/research-phase.md +0 -39
  1010. package/.opencode/skills/marketing-planning/references/strategy-design.md +0 -61
  1011. package/.opencode/skills/marketing-psychology/SKILL.md +0 -455
  1012. package/.opencode/skills/marketing-research/SKILL.md +0 -172
  1013. package/.opencode/skills/mcp-builder/LICENSE.txt +0 -202
  1014. package/.opencode/skills/mcp-builder/SKILL.md +0 -332
  1015. package/.opencode/skills/mcp-builder/reference/evaluation.md +0 -602
  1016. package/.opencode/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
  1017. package/.opencode/skills/mcp-builder/reference/node_mcp_server.md +0 -916
  1018. package/.opencode/skills/mcp-builder/reference/python_mcp_server.md +0 -752
  1019. package/.opencode/skills/mcp-builder/scripts/connections.py +0 -151
  1020. package/.opencode/skills/mcp-builder/scripts/evaluation.py +0 -373
  1021. package/.opencode/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
  1022. package/.opencode/skills/mcp-builder/scripts/requirements.txt +0 -2
  1023. package/.opencode/skills/mcp-management/README.md +0 -219
  1024. package/.opencode/skills/mcp-management/SKILL.md +0 -213
  1025. package/.opencode/skills/mcp-management/assets/tools.json +0 -3146
  1026. package/.opencode/skills/mcp-management/references/configuration.md +0 -114
  1027. package/.opencode/skills/mcp-management/references/gemini-cli-integration.md +0 -215
  1028. package/.opencode/skills/mcp-management/references/mcp-protocol.md +0 -116
  1029. package/.opencode/skills/mcp-management/scripts/.env.example +0 -10
  1030. package/.opencode/skills/mcp-management/scripts/cli.ts +0 -195
  1031. package/.opencode/skills/mcp-management/scripts/mcp-client.ts +0 -230
  1032. package/.opencode/skills/mcp-management/scripts/package.json +0 -20
  1033. package/.opencode/skills/mcp-management/scripts/tsconfig.json +0 -15
  1034. package/.opencode/skills/media-processing/SKILL.md +0 -95
  1035. package/.opencode/skills/media-processing/references/common-workflows.md +0 -132
  1036. package/.opencode/skills/media-processing/references/ffmpeg-encoding.md +0 -358
  1037. package/.opencode/skills/media-processing/references/ffmpeg-filters.md +0 -503
  1038. package/.opencode/skills/media-processing/references/ffmpeg-streaming.md +0 -403
  1039. package/.opencode/skills/media-processing/references/format-compatibility.md +0 -375
  1040. package/.opencode/skills/media-processing/references/imagemagick-batch.md +0 -612
  1041. package/.opencode/skills/media-processing/references/imagemagick-editing.md +0 -623
  1042. package/.opencode/skills/media-processing/references/rmbg-background-removal.md +0 -66
  1043. package/.opencode/skills/media-processing/references/troubleshooting.md +0 -109
  1044. package/.opencode/skills/media-processing/scripts/README.md +0 -111
  1045. package/.opencode/skills/media-processing/scripts/batch-remove-background.sh +0 -124
  1046. package/.opencode/skills/media-processing/scripts/batch_resize.py +0 -342
  1047. package/.opencode/skills/media-processing/scripts/media_convert.py +0 -311
  1048. package/.opencode/skills/media-processing/scripts/remove-background.sh +0 -96
  1049. package/.opencode/skills/media-processing/scripts/remove-bg-node.js +0 -158
  1050. package/.opencode/skills/media-processing/scripts/requirements.txt +0 -24
  1051. package/.opencode/skills/media-processing/scripts/video_optimize.py +0 -414
  1052. package/.opencode/skills/mermaidjs-v11/SKILL.md +0 -119
  1053. package/.opencode/skills/mermaidjs-v11/references/cli-usage.md +0 -228
  1054. package/.opencode/skills/mermaidjs-v11/references/configuration.md +0 -232
  1055. package/.opencode/skills/mermaidjs-v11/references/diagram-types.md +0 -315
  1056. package/.opencode/skills/mermaidjs-v11/references/examples.md +0 -344
  1057. package/.opencode/skills/mermaidjs-v11/references/integration.md +0 -310
  1058. package/.opencode/skills/mintlify/SKILL.md +0 -123
  1059. package/.opencode/skills/mintlify/references/ai-features-and-integrations-reference.md +0 -756
  1060. package/.opencode/skills/mintlify/references/api-documentation-components-reference.md +0 -873
  1061. package/.opencode/skills/mintlify/references/deployment-and-continuous-integration-reference.md +0 -674
  1062. package/.opencode/skills/mintlify/references/docs-json-configuration-reference.md +0 -724
  1063. package/.opencode/skills/mintlify/references/mdx-components-reference.md +0 -551
  1064. package/.opencode/skills/mintlify/references/navigation-structure-and-organization-reference.md +0 -775
  1065. package/.opencode/skills/mobile-development/SKILL.md +0 -215
  1066. package/.opencode/skills/mobile-development/references/mobile-android.md +0 -604
  1067. package/.opencode/skills/mobile-development/references/mobile-best-practices.md +0 -545
  1068. package/.opencode/skills/mobile-development/references/mobile-debugging.md +0 -1089
  1069. package/.opencode/skills/mobile-development/references/mobile-frameworks.md +0 -465
  1070. package/.opencode/skills/mobile-development/references/mobile-ios.md +0 -496
  1071. package/.opencode/skills/mobile-development/references/mobile-mindset.md +0 -544
  1072. package/.opencode/skills/onboarding-cro/SKILL.md +0 -437
  1073. package/.opencode/skills/paid-ads/SKILL.md +0 -555
  1074. package/.opencode/skills/payment-integration/README.md +0 -217
  1075. package/.opencode/skills/payment-integration/SKILL.md +0 -156
  1076. package/.opencode/skills/payment-integration/references/creem/api.md +0 -139
  1077. package/.opencode/skills/payment-integration/references/creem/checkouts.md +0 -99
  1078. package/.opencode/skills/payment-integration/references/creem/licensing.md +0 -136
  1079. package/.opencode/skills/payment-integration/references/creem/overview.md +0 -65
  1080. package/.opencode/skills/payment-integration/references/creem/sdk.md +0 -161
  1081. package/.opencode/skills/payment-integration/references/creem/subscriptions.md +0 -129
  1082. package/.opencode/skills/payment-integration/references/creem/webhooks.md +0 -120
  1083. package/.opencode/skills/payment-integration/references/implementation-workflows.md +0 -43
  1084. package/.opencode/skills/payment-integration/references/multi-provider-order-management-patterns.md +0 -821
  1085. package/.opencode/skills/payment-integration/references/paddle/api.md +0 -116
  1086. package/.opencode/skills/payment-integration/references/paddle/best-practices.md +0 -130
  1087. package/.opencode/skills/payment-integration/references/paddle/overview.md +0 -57
  1088. package/.opencode/skills/payment-integration/references/paddle/paddle-js.md +0 -106
  1089. package/.opencode/skills/payment-integration/references/paddle/sdk.md +0 -131
  1090. package/.opencode/skills/payment-integration/references/paddle/subscriptions.md +0 -118
  1091. package/.opencode/skills/payment-integration/references/paddle/webhooks.md +0 -112
  1092. package/.opencode/skills/payment-integration/references/polar/benefits.md +0 -396
  1093. package/.opencode/skills/payment-integration/references/polar/best-practices.md +0 -902
  1094. package/.opencode/skills/payment-integration/references/polar/checkouts.md +0 -266
  1095. package/.opencode/skills/payment-integration/references/polar/overview.md +0 -184
  1096. package/.opencode/skills/payment-integration/references/polar/products.md +0 -244
  1097. package/.opencode/skills/payment-integration/references/polar/sdk.md +0 -436
  1098. package/.opencode/skills/payment-integration/references/polar/subscriptions.md +0 -340
  1099. package/.opencode/skills/payment-integration/references/polar/webhooks.md +0 -405
  1100. package/.opencode/skills/payment-integration/references/sepay/api.md +0 -140
  1101. package/.opencode/skills/payment-integration/references/sepay/best-practices.md +0 -939
  1102. package/.opencode/skills/payment-integration/references/sepay/overview.md +0 -138
  1103. package/.opencode/skills/payment-integration/references/sepay/qr-codes.md +0 -228
  1104. package/.opencode/skills/payment-integration/references/sepay/sdk.md +0 -213
  1105. package/.opencode/skills/payment-integration/references/sepay/webhooks.md +0 -208
  1106. package/.opencode/skills/payment-integration/references/stripe/stripe-best-practices.md +0 -32
  1107. package/.opencode/skills/payment-integration/references/stripe/stripe-cli.md +0 -148
  1108. package/.opencode/skills/payment-integration/references/stripe/stripe-js.md +0 -116
  1109. package/.opencode/skills/payment-integration/references/stripe/stripe-sdks.md +0 -84
  1110. package/.opencode/skills/payment-integration/references/stripe/stripe-upgrade.md +0 -175
  1111. package/.opencode/skills/payment-integration/scripts/checkout-helper.js +0 -244
  1112. package/.opencode/skills/payment-integration/scripts/package.json +0 -17
  1113. package/.opencode/skills/payment-integration/scripts/polar-webhook-verify.js +0 -202
  1114. package/.opencode/skills/payment-integration/scripts/sepay-webhook-verify.js +0 -193
  1115. package/.opencode/skills/payment-integration/scripts/test-scripts.js +0 -237
  1116. package/.opencode/skills/persona/SKILL.md +0 -66
  1117. package/.opencode/skills/plan/SKILL.md +0 -53
  1118. package/.opencode/skills/plan/references/archive.md +0 -52
  1119. package/.opencode/skills/plan/references/ci.md +0 -28
  1120. package/.opencode/skills/plan/references/cro.md +0 -64
  1121. package/.opencode/skills/plan/references/fast.md +0 -61
  1122. package/.opencode/skills/plan/references/hard.md +0 -87
  1123. package/.opencode/skills/plan/references/parallel.md +0 -124
  1124. package/.opencode/skills/plan/references/two.md +0 -40
  1125. package/.opencode/skills/plan/references/validate.md +0 -112
  1126. package/.opencode/skills/plans-kanban/SKILL.md +0 -170
  1127. package/.opencode/skills/plans-kanban/assets/dashboard-template.html +0 -119
  1128. package/.opencode/skills/plans-kanban/assets/dashboard.css +0 -1594
  1129. package/.opencode/skills/plans-kanban/assets/dashboard.js +0 -596
  1130. package/.opencode/skills/plans-kanban/package.json +0 -13
  1131. package/.opencode/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +0 -884
  1132. package/.opencode/skills/plans-kanban/scripts/lib/http-server.cjs +0 -310
  1133. package/.opencode/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +0 -489
  1134. package/.opencode/skills/plans-kanban/scripts/lib/plan-parser.cjs +0 -175
  1135. package/.opencode/skills/plans-kanban/scripts/lib/plan-scanner.cjs +0 -272
  1136. package/.opencode/skills/plans-kanban/scripts/lib/port-finder.cjs +0 -48
  1137. package/.opencode/skills/plans-kanban/scripts/lib/process-mgr.cjs +0 -126
  1138. package/.opencode/skills/plans-kanban/scripts/server.cjs +0 -253
  1139. package/.opencode/skills/play/SKILL.md +0 -111
  1140. package/.opencode/skills/play/references/blocked.md +0 -55
  1141. package/.opencode/skills/play/references/create.md +0 -48
  1142. package/.opencode/skills/play/references/gate.md +0 -38
  1143. package/.opencode/skills/play/references/goals.md +0 -53
  1144. package/.opencode/skills/play/references/learn.md +0 -48
  1145. package/.opencode/skills/play/references/list.md +0 -34
  1146. package/.opencode/skills/play/references/next.md +0 -51
  1147. package/.opencode/skills/play/references/reset.md +0 -34
  1148. package/.opencode/skills/play/references/status.md +0 -56
  1149. package/.opencode/skills/play/references/templates.md +0 -38
  1150. package/.opencode/skills/play/scripts/goals.cjs +0 -229
  1151. package/.opencode/skills/play/scripts/graph.cjs +0 -331
  1152. package/.opencode/skills/play/scripts/manifest.cjs +0 -474
  1153. package/.opencode/skills/play/scripts/metrics-bridge.cjs +0 -355
  1154. package/.opencode/skills/play/scripts/metrics-email.cjs +0 -182
  1155. package/.opencode/skills/play/scripts/metrics-social.cjs +0 -151
  1156. package/.opencode/skills/play/scripts/smart-suggest.cjs +0 -292
  1157. package/.opencode/skills/play/scripts/template-loader.cjs +0 -359
  1158. package/.opencode/skills/play/templates/_schema.json +0 -150
  1159. package/.opencode/skills/play/templates/campaign-sprint.json +0 -195
  1160. package/.opencode/skills/play/templates/content-engine.json +0 -348
  1161. package/.opencode/skills/play/templates/product-hunt-launch.json +0 -210
  1162. package/.opencode/skills/play/templates/saas-launch.json +0 -224
  1163. package/.opencode/skills/preview/SKILL.md +0 -87
  1164. package/.opencode/skills/preview/references/generation-modes.md +0 -192
  1165. package/.opencode/skills/preview/references/html-css-patterns.md +0 -1717
  1166. package/.opencode/skills/preview/references/html-design-guidelines.md +0 -393
  1167. package/.opencode/skills/preview/references/html-libraries.md +0 -592
  1168. package/.opencode/skills/preview/references/html-responsive-nav.md +0 -212
  1169. package/.opencode/skills/preview/references/html-slide-patterns.md +0 -1401
  1170. package/.opencode/skills/preview/references/view-mode.md +0 -42
  1171. package/.opencode/skills/preview/templates/architecture.html +0 -650
  1172. package/.opencode/skills/preview/templates/data-table.html +0 -590
  1173. package/.opencode/skills/preview/templates/mermaid-flowchart.html +0 -768
  1174. package/.opencode/skills/preview/templates/slide-deck.html +0 -968
  1175. package/.opencode/skills/pricing-strategy/SKILL.md +0 -714
  1176. package/.opencode/skills/problem-solving/SKILL.md +0 -99
  1177. package/.opencode/skills/problem-solving/references/attribution.md +0 -69
  1178. package/.opencode/skills/problem-solving/references/collision-zone-thinking.md +0 -79
  1179. package/.opencode/skills/problem-solving/references/inversion-exercise.md +0 -91
  1180. package/.opencode/skills/problem-solving/references/meta-pattern-recognition.md +0 -87
  1181. package/.opencode/skills/problem-solving/references/scale-game.md +0 -95
  1182. package/.opencode/skills/problem-solving/references/simplification-cascades.md +0 -80
  1183. package/.opencode/skills/problem-solving/references/when-stuck.md +0 -72
  1184. package/.opencode/skills/project-management/SKILL.md +0 -136
  1185. package/.opencode/skills/project-management/references/documentation-triggers.md +0 -60
  1186. package/.opencode/skills/project-management/references/hydration-workflow.md +0 -89
  1187. package/.opencode/skills/project-management/references/progress-tracking.md +0 -120
  1188. package/.opencode/skills/project-management/references/reporting-patterns.md +0 -94
  1189. package/.opencode/skills/project-management/references/task-operations.md +0 -87
  1190. package/.opencode/skills/project-organization/SKILL.md +0 -228
  1191. package/.opencode/skills/project-organization/references/directory-patterns.md +0 -176
  1192. package/.opencode/skills/project-organization/references/markdown-body-templates.md +0 -311
  1193. package/.opencode/skills/project-organization/references/naming-conventions.md +0 -140
  1194. package/.opencode/skills/react-best-practices/AGENTS.md +0 -2249
  1195. package/.opencode/skills/react-best-practices/README.md +0 -123
  1196. package/.opencode/skills/react-best-practices/SKILL.md +0 -125
  1197. package/.opencode/skills/react-best-practices/metadata.json +0 -15
  1198. package/.opencode/skills/react-best-practices/rules/_sections.md +0 -46
  1199. package/.opencode/skills/react-best-practices/rules/_template.md +0 -28
  1200. package/.opencode/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  1201. package/.opencode/skills/react-best-practices/rules/advanced-use-latest.md +0 -49
  1202. package/.opencode/skills/react-best-practices/rules/async-api-routes.md +0 -38
  1203. package/.opencode/skills/react-best-practices/rules/async-defer-await.md +0 -80
  1204. package/.opencode/skills/react-best-practices/rules/async-dependencies.md +0 -36
  1205. package/.opencode/skills/react-best-practices/rules/async-parallel.md +0 -28
  1206. package/.opencode/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
  1207. package/.opencode/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
  1208. package/.opencode/skills/react-best-practices/rules/bundle-conditional.md +0 -31
  1209. package/.opencode/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
  1210. package/.opencode/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  1211. package/.opencode/skills/react-best-practices/rules/bundle-preload.md +0 -50
  1212. package/.opencode/skills/react-best-practices/rules/client-event-listeners.md +0 -74
  1213. package/.opencode/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
  1214. package/.opencode/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
  1215. package/.opencode/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
  1216. package/.opencode/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
  1217. package/.opencode/skills/react-best-practices/rules/js-cache-storage.md +0 -70
  1218. package/.opencode/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
  1219. package/.opencode/skills/react-best-practices/rules/js-early-exit.md +0 -50
  1220. package/.opencode/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
  1221. package/.opencode/skills/react-best-practices/rules/js-index-maps.md +0 -37
  1222. package/.opencode/skills/react-best-practices/rules/js-length-check-first.md +0 -49
  1223. package/.opencode/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
  1224. package/.opencode/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
  1225. package/.opencode/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
  1226. package/.opencode/skills/react-best-practices/rules/rendering-activity.md +0 -26
  1227. package/.opencode/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  1228. package/.opencode/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
  1229. package/.opencode/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
  1230. package/.opencode/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  1231. package/.opencode/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  1232. package/.opencode/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
  1233. package/.opencode/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
  1234. package/.opencode/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
  1235. package/.opencode/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
  1236. package/.opencode/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
  1237. package/.opencode/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  1238. package/.opencode/skills/react-best-practices/rules/rerender-memo.md +0 -44
  1239. package/.opencode/skills/react-best-practices/rules/rerender-transitions.md +0 -40
  1240. package/.opencode/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
  1241. package/.opencode/skills/react-best-practices/rules/server-cache-lru.md +0 -41
  1242. package/.opencode/skills/react-best-practices/rules/server-cache-react.md +0 -26
  1243. package/.opencode/skills/react-best-practices/rules/server-parallel-fetching.md +0 -79
  1244. package/.opencode/skills/react-best-practices/rules/server-serialization.md +0 -38
  1245. package/.opencode/skills/referral-program-building/SKILL.md +0 -81
  1246. package/.opencode/skills/referral-program-building/references/email-templates.md +0 -75
  1247. package/.opencode/skills/referral-program-building/references/fraud-prevention.md +0 -95
  1248. package/.opencode/skills/referral-program-building/references/metrics-tracking.md +0 -64
  1249. package/.opencode/skills/referral-program-building/references/platform-selection.md +0 -80
  1250. package/.opencode/skills/referral-program-building/references/reward-structures.md +0 -82
  1251. package/.opencode/skills/referral-program-building/references/technical-implementation.md +0 -98
  1252. package/.opencode/skills/remotion/SKILL.md +0 -45
  1253. package/.opencode/skills/remotion/rules/3d.md +0 -86
  1254. package/.opencode/skills/remotion/rules/animations.md +0 -29
  1255. package/.opencode/skills/remotion/rules/assets/charts-bar-chart.tsx +0 -173
  1256. package/.opencode/skills/remotion/rules/assets/text-animations-typewriter.tsx +0 -100
  1257. package/.opencode/skills/remotion/rules/assets/text-animations-word-highlight.tsx +0 -108
  1258. package/.opencode/skills/remotion/rules/assets.md +0 -78
  1259. package/.opencode/skills/remotion/rules/audio.md +0 -172
  1260. package/.opencode/skills/remotion/rules/calculate-metadata.md +0 -104
  1261. package/.opencode/skills/remotion/rules/can-decode.md +0 -75
  1262. package/.opencode/skills/remotion/rules/charts.md +0 -58
  1263. package/.opencode/skills/remotion/rules/compositions.md +0 -146
  1264. package/.opencode/skills/remotion/rules/display-captions.md +0 -126
  1265. package/.opencode/skills/remotion/rules/extract-frames.md +0 -229
  1266. package/.opencode/skills/remotion/rules/fonts.md +0 -152
  1267. package/.opencode/skills/remotion/rules/get-audio-duration.md +0 -58
  1268. package/.opencode/skills/remotion/rules/get-video-dimensions.md +0 -68
  1269. package/.opencode/skills/remotion/rules/get-video-duration.md +0 -58
  1270. package/.opencode/skills/remotion/rules/gifs.md +0 -138
  1271. package/.opencode/skills/remotion/rules/images.md +0 -130
  1272. package/.opencode/skills/remotion/rules/import-srt-captions.md +0 -67
  1273. package/.opencode/skills/remotion/rules/lottie.md +0 -68
  1274. package/.opencode/skills/remotion/rules/measuring-dom-nodes.md +0 -35
  1275. package/.opencode/skills/remotion/rules/measuring-text.md +0 -143
  1276. package/.opencode/skills/remotion/rules/sequencing.md +0 -106
  1277. package/.opencode/skills/remotion/rules/tailwind.md +0 -11
  1278. package/.opencode/skills/remotion/rules/text-animations.md +0 -20
  1279. package/.opencode/skills/remotion/rules/timing.md +0 -179
  1280. package/.opencode/skills/remotion/rules/transcribe-captions.md +0 -19
  1281. package/.opencode/skills/remotion/rules/transitions.md +0 -122
  1282. package/.opencode/skills/remotion/rules/trimming.md +0 -53
  1283. package/.opencode/skills/remotion/rules/videos.md +0 -171
  1284. package/.opencode/skills/repomix/SKILL.md +0 -251
  1285. package/.opencode/skills/repomix/references/configuration.md +0 -211
  1286. package/.opencode/skills/repomix/references/usage-patterns.md +0 -232
  1287. package/.opencode/skills/repomix/scripts/.coverage +0 -0
  1288. package/.opencode/skills/repomix/scripts/README.md +0 -179
  1289. package/.opencode/skills/repomix/scripts/repomix_batch.py +0 -455
  1290. package/.opencode/skills/repomix/scripts/repos.example.json +0 -15
  1291. package/.opencode/skills/repomix/scripts/requirements.txt +0 -15
  1292. package/.opencode/skills/research/SKILL.md +0 -176
  1293. package/.opencode/skills/retro/SKILL.md +0 -138
  1294. package/.opencode/skills/retro/references/metrics-guide.md +0 -133
  1295. package/.opencode/skills/retro/references/report-template.md +0 -110
  1296. package/.opencode/skills/scout/SKILL.md +0 -82
  1297. package/.opencode/skills/scout/references/external-scouting.md +0 -140
  1298. package/.opencode/skills/scout/references/internal-scouting.md +0 -119
  1299. package/.opencode/skills/scout/references/task-management-scouting.md +0 -125
  1300. package/.opencode/skills/security-scan/SKILL.md +0 -141
  1301. package/.opencode/skills/security-scan/references/secret-patterns.md +0 -77
  1302. package/.opencode/skills/security-scan/references/vulnerability-patterns.md +0 -105
  1303. package/.opencode/skills/seo/SKILL.md +0 -95
  1304. package/.opencode/skills/seo/references/audit.md +0 -121
  1305. package/.opencode/skills/seo/references/backlink-analysis-framework.md +0 -192
  1306. package/.opencode/skills/seo/references/browser-seo-audit-workflow.md +0 -180
  1307. package/.opencode/skills/seo/references/canonical-url-strategy.md +0 -286
  1308. package/.opencode/skills/seo/references/content-gap-analysis-framework.md +0 -255
  1309. package/.opencode/skills/seo/references/core-web-vitals-remediation.md +0 -279
  1310. package/.opencode/skills/seo/references/directory-submission-list.md +0 -280
  1311. package/.opencode/skills/seo/references/google-search-console-api-guide.md +0 -745
  1312. package/.opencode/skills/seo/references/internal-linking-automation.md +0 -685
  1313. package/.opencode/skills/seo/references/keyword-clustering-methodology.md +0 -175
  1314. package/.opencode/skills/seo/references/keyword-research-workflow.md +0 -63
  1315. package/.opencode/skills/seo/references/keywords.md +0 -131
  1316. package/.opencode/skills/seo/references/link-building-campaign-framework.md +0 -246
  1317. package/.opencode/skills/seo/references/meta-tag-templates.md +0 -229
  1318. package/.opencode/skills/seo/references/mobile-seo-checklist.md +0 -557
  1319. package/.opencode/skills/seo/references/on-page-seo-checklist-2025.md +0 -328
  1320. package/.opencode/skills/seo/references/outreach-email-templates.md +0 -335
  1321. package/.opencode/skills/seo/references/pseo-best-practices.md +0 -366
  1322. package/.opencode/skills/seo/references/pseo-scale-architecture.md +0 -801
  1323. package/.opencode/skills/seo/references/pseo-template-syntax.md +0 -329
  1324. package/.opencode/skills/seo/references/pseo-templates.md +0 -85
  1325. package/.opencode/skills/seo/references/pseo-url-structure-guide.md +0 -562
  1326. package/.opencode/skills/seo/references/pseo.md +0 -62
  1327. package/.opencode/skills/seo/references/readability-scoring-guide.md +0 -304
  1328. package/.opencode/skills/seo/references/reviewweb-api.md +0 -69
  1329. package/.opencode/skills/seo/references/reviewweb-content-api.md +0 -89
  1330. package/.opencode/skills/seo/references/robots-txt-best-practices-2025.md +0 -479
  1331. package/.opencode/skills/seo/references/schema-generation.md +0 -102
  1332. package/.opencode/skills/seo/references/schema-templates/article-schema.json +0 -25
  1333. package/.opencode/skills/seo/references/schema-templates/faq-schema.json +0 -47
  1334. package/.opencode/skills/seo/references/schema-templates/howto-schema.json +0 -66
  1335. package/.opencode/skills/seo/references/schema-templates/localbusiness-schema.json +0 -64
  1336. package/.opencode/skills/seo/references/schema-templates/organization-schema.json +0 -49
  1337. package/.opencode/skills/seo/references/schema-templates/product-schema.json +0 -49
  1338. package/.opencode/skills/seo/references/search-console-query-patterns.md +0 -606
  1339. package/.opencode/skills/seo/references/semantic-seo-framework.md +0 -480
  1340. package/.opencode/skills/seo/references/seo-audit-workflow.md +0 -90
  1341. package/.opencode/skills/seo/references/sitemap-best-practices.md +0 -391
  1342. package/.opencode/skills/seo/references/technical-seo-checklist.md +0 -74
  1343. package/.opencode/skills/seo/scripts/analyze-keywords.cjs +0 -575
  1344. package/.opencode/skills/seo/scripts/audit-core-web-vitals.cjs +0 -496
  1345. package/.opencode/skills/seo/scripts/env-loader.cjs +0 -213
  1346. package/.opencode/skills/seo/scripts/env-loader.test.cjs +0 -231
  1347. package/.opencode/skills/seo/scripts/generate-schema.cjs +0 -119
  1348. package/.opencode/skills/seo/scripts/generate-sitemap.cjs +0 -66
  1349. package/.opencode/skills/seo/scripts/gsc-auth.cjs +0 -352
  1350. package/.opencode/skills/seo/scripts/gsc-config-loader.cjs +0 -238
  1351. package/.opencode/skills/seo/scripts/gsc-query.cjs +0 -499
  1352. package/.opencode/skills/seo/scripts/pseo-generator.cjs +0 -464
  1353. package/.opencode/skills/seo/scripts/validate-schema.cjs +0 -421
  1354. package/.opencode/skills/sequential-thinking/README.md +0 -183
  1355. package/.opencode/skills/sequential-thinking/SKILL.md +0 -97
  1356. package/.opencode/skills/sequential-thinking/package.json +0 -31
  1357. package/.opencode/skills/sequential-thinking/references/advanced-strategies.md +0 -79
  1358. package/.opencode/skills/sequential-thinking/references/advanced-techniques.md +0 -76
  1359. package/.opencode/skills/sequential-thinking/references/core-patterns.md +0 -95
  1360. package/.opencode/skills/sequential-thinking/references/examples-api.md +0 -88
  1361. package/.opencode/skills/sequential-thinking/references/examples-architecture.md +0 -94
  1362. package/.opencode/skills/sequential-thinking/references/examples-debug.md +0 -90
  1363. package/.opencode/skills/sequential-thinking/scripts/format-thought.js +0 -159
  1364. package/.opencode/skills/sequential-thinking/scripts/process-thought.js +0 -236
  1365. package/.opencode/skills/shader/SKILL.md +0 -115
  1366. package/.opencode/skills/shader/references/glsl-cellular-voronoi-worley-noise-patterns.md +0 -142
  1367. package/.opencode/skills/shader/references/glsl-colors-rgb-hsb-gradients-mixing-color-spaces.md +0 -143
  1368. package/.opencode/skills/shader/references/glsl-fbm-fractional-brownian-motion-turbulence-octaves.md +0 -146
  1369. package/.opencode/skills/shader/references/glsl-fundamentals-data-types-vectors-precision-coordinates.md +0 -104
  1370. package/.opencode/skills/shader/references/glsl-noise-random-perlin-simplex-cellular-voronoi.md +0 -115
  1371. package/.opencode/skills/shader/references/glsl-pattern-symmetry-truchet-domain-warping.md +0 -134
  1372. package/.opencode/skills/shader/references/glsl-patterns-tiling-fract-matrices-transformations.md +0 -133
  1373. package/.opencode/skills/shader/references/glsl-procedural-textures-clouds-marble-wood-terrain.md +0 -144
  1374. package/.opencode/skills/shader/references/glsl-shader-builtin-functions-complete-api-reference.md +0 -112
  1375. package/.opencode/skills/shader/references/glsl-shapes-polygon-star-polar-sdf-combinations.md +0 -124
  1376. package/.opencode/skills/shader/references/glsl-shapes-sdf-circles-rectangles-polar-distance-fields.md +0 -106
  1377. package/.opencode/skills/shader/references/glsl-shaping-functions-step-smoothstep-curves-interpolation.md +0 -141
  1378. package/.opencode/skills/ship/SKILL.md +0 -119
  1379. package/.opencode/skills/ship/references/auto-detect.md +0 -103
  1380. package/.opencode/skills/ship/references/pr-template.md +0 -90
  1381. package/.opencode/skills/ship/references/ship-workflow.md +0 -241
  1382. package/.opencode/skills/shopify/README.md +0 -66
  1383. package/.opencode/skills/shopify/SKILL.md +0 -323
  1384. package/.opencode/skills/shopify/references/app-development.md +0 -470
  1385. package/.opencode/skills/shopify/references/extensions.md +0 -493
  1386. package/.opencode/skills/shopify/references/themes.md +0 -498
  1387. package/.opencode/skills/shopify/scripts/.coverage +0 -0
  1388. package/.opencode/skills/shopify/scripts/requirements.txt +0 -19
  1389. package/.opencode/skills/shopify/scripts/shopify_init.py +0 -423
  1390. package/.opencode/skills/skill-creator/LICENSE.txt +0 -202
  1391. package/.opencode/skills/skill-creator/SKILL.md +0 -121
  1392. package/.opencode/skills/skill-creator/agents/analyzer.md +0 -274
  1393. package/.opencode/skills/skill-creator/agents/comparator.md +0 -202
  1394. package/.opencode/skills/skill-creator/agents/grader.md +0 -223
  1395. package/.opencode/skills/skill-creator/assets/eval_review.html +0 -146
  1396. package/.opencode/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  1397. package/.opencode/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  1398. package/.opencode/skills/skill-creator/references/benchmark-optimization-guide.md +0 -86
  1399. package/.opencode/skills/skill-creator/references/distribution-guide.md +0 -79
  1400. package/.opencode/skills/skill-creator/references/eval-infrastructure-guide.md +0 -129
  1401. package/.opencode/skills/skill-creator/references/eval-schemas.md +0 -121
  1402. package/.opencode/skills/skill-creator/references/mcp-skills-integration.md +0 -71
  1403. package/.opencode/skills/skill-creator/references/metadata-quality-criteria.md +0 -76
  1404. package/.opencode/skills/skill-creator/references/plugin-marketplace-hosting.md +0 -104
  1405. package/.opencode/skills/skill-creator/references/plugin-marketplace-overview.md +0 -89
  1406. package/.opencode/skills/skill-creator/references/plugin-marketplace-schema.md +0 -93
  1407. package/.opencode/skills/skill-creator/references/plugin-marketplace-sources.md +0 -103
  1408. package/.opencode/skills/skill-creator/references/plugin-marketplace-troubleshooting.md +0 -76
  1409. package/.opencode/skills/skill-creator/references/script-quality-criteria.md +0 -106
  1410. package/.opencode/skills/skill-creator/references/skill-anatomy-and-requirements.md +0 -76
  1411. package/.opencode/skills/skill-creator/references/skill-creation-workflow.md +0 -95
  1412. package/.opencode/skills/skill-creator/references/skill-design-patterns.md +0 -75
  1413. package/.opencode/skills/skill-creator/references/skillmark-benchmark-criteria.md +0 -102
  1414. package/.opencode/skills/skill-creator/references/structure-organization-criteria.md +0 -114
  1415. package/.opencode/skills/skill-creator/references/testing-and-iteration.md +0 -78
  1416. package/.opencode/skills/skill-creator/references/token-efficiency-criteria.md +0 -74
  1417. package/.opencode/skills/skill-creator/references/troubleshooting-guide.md +0 -80
  1418. package/.opencode/skills/skill-creator/references/validation-checklist.md +0 -83
  1419. package/.opencode/skills/skill-creator/references/writing-effective-instructions.md +0 -88
  1420. package/.opencode/skills/skill-creator/references/yaml-frontmatter-reference.md +0 -91
  1421. package/.opencode/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  1422. package/.opencode/skills/skill-creator/scripts/debug.zip +0 -0
  1423. package/.opencode/skills/skill-creator/scripts/encoding_utils.py +0 -36
  1424. package/.opencode/skills/skill-creator/scripts/generate_report.py +0 -326
  1425. package/.opencode/skills/skill-creator/scripts/improve_description.py +0 -248
  1426. package/.opencode/skills/skill-creator/scripts/init_skill.py +0 -308
  1427. package/.opencode/skills/skill-creator/scripts/package_skill.py +0 -115
  1428. package/.opencode/skills/skill-creator/scripts/quick_validate.py +0 -69
  1429. package/.opencode/skills/skill-creator/scripts/run_eval.py +0 -310
  1430. package/.opencode/skills/skill-creator/scripts/run_loop.py +0 -332
  1431. package/.opencode/skills/skill-creator/scripts/utils.py +0 -47
  1432. package/.opencode/skills/slides/SKILL.md +0 -42
  1433. package/.opencode/skills/slides/references/copywriting-formulas.md +0 -84
  1434. package/.opencode/skills/slides/references/create.md +0 -4
  1435. package/.opencode/skills/slides/references/html-template.md +0 -295
  1436. package/.opencode/skills/slides/references/layout-patterns.md +0 -137
  1437. package/.opencode/skills/slides/references/slide-strategies.md +0 -94
  1438. package/.opencode/skills/social/SKILL.md +0 -75
  1439. package/.opencode/skills/social/references/engagement-templates.md +0 -58
  1440. package/.opencode/skills/social/references/facebook-workflow.md +0 -175
  1441. package/.opencode/skills/social/references/hook-writing.md +0 -190
  1442. package/.opencode/skills/social/references/linkedin-workflow.md +0 -162
  1443. package/.opencode/skills/social/references/platform-specs.md +0 -58
  1444. package/.opencode/skills/social/references/posting-best-practices.md +0 -61
  1445. package/.opencode/skills/social/references/rate-limits-errors.md +0 -191
  1446. package/.opencode/skills/social/references/schedule.md +0 -50
  1447. package/.opencode/skills/social/references/thread-templates.md +0 -72
  1448. package/.opencode/skills/social/references/threads-workflow.md +0 -198
  1449. package/.opencode/skills/social/references/tiktok-workflow.md +0 -194
  1450. package/.opencode/skills/social/references/unified-api-services.md +0 -153
  1451. package/.opencode/skills/social/references/x-twitter-workflow.md +0 -111
  1452. package/.opencode/skills/social/references/youtube-workflow.md +0 -179
  1453. package/.opencode/skills/social/scripts/schedule-post.js +0 -222
  1454. package/.opencode/skills/social/scripts/validate-post-content.js +0 -195
  1455. package/.opencode/skills/stitch/SKILL.md +0 -171
  1456. package/.opencode/skills/stitch/data/mcp-config-snippet.json +0 -11
  1457. package/.opencode/skills/stitch/references/design-to-code-pipeline.md +0 -128
  1458. package/.opencode/skills/stitch/references/quota-management.md +0 -64
  1459. package/.opencode/skills/stitch/references/stitch-mcp-setup.md +0 -95
  1460. package/.opencode/skills/stitch/references/stitch-sdk-api.md +0 -136
  1461. package/.opencode/skills/stitch/scripts/package.json +0 -17
  1462. package/.opencode/skills/stitch/scripts/stitch-export.ts +0 -173
  1463. package/.opencode/skills/stitch/scripts/stitch-generate.ts +0 -182
  1464. package/.opencode/skills/stitch/scripts/stitch-quota.ts +0 -123
  1465. package/.opencode/skills/storage/SKILL.md +0 -93
  1466. package/.opencode/skills/storage/scripts/s3-client.cjs +0 -357
  1467. package/.opencode/skills/tanstack/SKILL.md +0 -144
  1468. package/.opencode/skills/tanstack/references/tanstack-ai.md +0 -97
  1469. package/.opencode/skills/tanstack/references/tanstack-form.md +0 -125
  1470. package/.opencode/skills/tanstack/references/tanstack-start.md +0 -100
  1471. package/.opencode/skills/team/SKILL.md +0 -361
  1472. package/.opencode/skills/team/references/agent-teams-controls-and-modes.md +0 -129
  1473. package/.opencode/skills/team/references/agent-teams-examples-and-best-practices.md +0 -220
  1474. package/.opencode/skills/team/references/agent-teams-official-docs.md +0 -221
  1475. package/.opencode/skills/template-skill/SKILL.md +0 -9
  1476. package/.opencode/skills/test/SKILL.md +0 -40
  1477. package/.opencode/skills/test/references/report-format.md +0 -58
  1478. package/.opencode/skills/test/references/test-execution-workflow.md +0 -103
  1479. package/.opencode/skills/test/references/ui-testing-workflow.md +0 -65
  1480. package/.opencode/skills/test/references/ui.md +0 -87
  1481. package/.opencode/skills/test/references/workflow.md +0 -102
  1482. package/.opencode/skills/test/scripts/scan-components.py +0 -281
  1483. package/.opencode/skills/threejs/SKILL.md +0 -144
  1484. package/.opencode/skills/threejs/data/api-reference.csv +0 -61
  1485. package/.opencode/skills/threejs/data/categories.csv +0 -14
  1486. package/.opencode/skills/threejs/data/examples-all.csv +0 -557
  1487. package/.opencode/skills/threejs/data/use-cases.csv +0 -21
  1488. package/.opencode/skills/threejs/references/00-fundamentals.md +0 -487
  1489. package/.opencode/skills/threejs/references/01-getting-started.md +0 -177
  1490. package/.opencode/skills/threejs/references/02-loaders.md +0 -169
  1491. package/.opencode/skills/threejs/references/03-textures.md +0 -170
  1492. package/.opencode/skills/threejs/references/04-cameras.md +0 -195
  1493. package/.opencode/skills/threejs/references/05-lights.md +0 -183
  1494. package/.opencode/skills/threejs/references/06-animations.md +0 -214
  1495. package/.opencode/skills/threejs/references/07-math.md +0 -260
  1496. package/.opencode/skills/threejs/references/08-interaction.md +0 -267
  1497. package/.opencode/skills/threejs/references/09-postprocessing.md +0 -240
  1498. package/.opencode/skills/threejs/references/10-controls.md +0 -259
  1499. package/.opencode/skills/threejs/references/11-materials-advanced.md +0 -270
  1500. package/.opencode/skills/threejs/references/11-materials.md +0 -519
  1501. package/.opencode/skills/threejs/references/12-performance.md +0 -269
  1502. package/.opencode/skills/threejs/references/13-node-materials.md +0 -298
  1503. package/.opencode/skills/threejs/references/14-physics-vr.md +0 -304
  1504. package/.opencode/skills/threejs/references/15-specialized-loaders.md +0 -333
  1505. package/.opencode/skills/threejs/references/16-webgpu.md +0 -302
  1506. package/.opencode/skills/threejs/references/17-shader.md +0 -641
  1507. package/.opencode/skills/threejs/references/18-geometry.md +0 -547
  1508. package/.opencode/skills/threejs/scripts/core.py +0 -236
  1509. package/.opencode/skills/threejs/scripts/extract_examples.py +0 -688
  1510. package/.opencode/skills/threejs/scripts/generate_csv_from_json.py +0 -135
  1511. package/.opencode/skills/threejs/scripts/search.py +0 -77
  1512. package/.opencode/skills/ui-styling/LICENSE.txt +0 -202
  1513. package/.opencode/skills/ui-styling/SKILL.md +0 -324
  1514. package/.opencode/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +0 -93
  1515. package/.opencode/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1516. package/.opencode/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1517. package/.opencode/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +0 -93
  1518. package/.opencode/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1519. package/.opencode/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +0 -93
  1520. package/.opencode/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1521. package/.opencode/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1522. package/.opencode/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +0 -93
  1523. package/.opencode/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1524. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1525. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1526. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +0 -93
  1527. package/.opencode/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1528. package/.opencode/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +0 -93
  1529. package/.opencode/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  1530. package/.opencode/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +0 -94
  1531. package/.opencode/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1532. package/.opencode/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1533. package/.opencode/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +0 -93
  1534. package/.opencode/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1535. package/.opencode/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +0 -93
  1536. package/.opencode/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  1537. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1538. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +0 -93
  1539. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1540. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1541. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1542. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1543. package/.opencode/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1544. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1545. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1546. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1547. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +0 -93
  1548. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1549. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1550. package/.opencode/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1551. package/.opencode/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +0 -93
  1552. package/.opencode/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  1553. package/.opencode/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1554. package/.opencode/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +0 -93
  1555. package/.opencode/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1556. package/.opencode/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  1557. package/.opencode/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  1558. package/.opencode/skills/ui-styling/canvas-fonts/Jura-OFL.txt +0 -93
  1559. package/.opencode/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +0 -93
  1560. package/.opencode/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1561. package/.opencode/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  1562. package/.opencode/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1563. package/.opencode/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  1564. package/.opencode/skills/ui-styling/canvas-fonts/Lora-OFL.txt +0 -93
  1565. package/.opencode/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  1566. package/.opencode/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1567. package/.opencode/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +0 -93
  1568. package/.opencode/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1569. package/.opencode/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +0 -93
  1570. package/.opencode/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1571. package/.opencode/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  1572. package/.opencode/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +0 -93
  1573. package/.opencode/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  1574. package/.opencode/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1575. package/.opencode/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +0 -93
  1576. package/.opencode/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +0 -93
  1577. package/.opencode/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1578. package/.opencode/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1579. package/.opencode/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +0 -93
  1580. package/.opencode/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1581. package/.opencode/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +0 -93
  1582. package/.opencode/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1583. package/.opencode/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1584. package/.opencode/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +0 -93
  1585. package/.opencode/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  1586. package/.opencode/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +0 -93
  1587. package/.opencode/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  1588. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1589. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1590. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1591. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +0 -93
  1592. package/.opencode/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1593. package/.opencode/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +0 -93
  1594. package/.opencode/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1595. package/.opencode/skills/ui-styling/references/canvas-design-system.md +0 -320
  1596. package/.opencode/skills/ui-styling/references/shadcn-accessibility.md +0 -471
  1597. package/.opencode/skills/ui-styling/references/shadcn-components.md +0 -424
  1598. package/.opencode/skills/ui-styling/references/shadcn-theming.md +0 -373
  1599. package/.opencode/skills/ui-styling/references/tailwind-customization.md +0 -483
  1600. package/.opencode/skills/ui-styling/references/tailwind-responsive.md +0 -382
  1601. package/.opencode/skills/ui-styling/references/tailwind-utilities.md +0 -455
  1602. package/.opencode/skills/ui-styling/scripts/.coverage +0 -0
  1603. package/.opencode/skills/ui-styling/scripts/requirements.txt +0 -17
  1604. package/.opencode/skills/ui-styling/scripts/shadcn_add.py +0 -292
  1605. package/.opencode/skills/ui-styling/scripts/tailwind_config_gen.py +0 -456
  1606. package/.opencode/skills/ui-ux-pro-max/SKILL.md +0 -662
  1607. package/.opencode/skills/ui-ux-pro-max/data/_sync_all.py +0 -414
  1608. package/.opencode/skills/ui-ux-pro-max/data/app-interface.csv +0 -31
  1609. package/.opencode/skills/ui-ux-pro-max/data/charts.csv +0 -26
  1610. package/.opencode/skills/ui-ux-pro-max/data/colors.csv +0 -162
  1611. package/.opencode/skills/ui-ux-pro-max/data/design.csv +0 -1776
  1612. package/.opencode/skills/ui-ux-pro-max/data/draft.csv +0 -1779
  1613. package/.opencode/skills/ui-ux-pro-max/data/google-fonts.csv +0 -1924
  1614. package/.opencode/skills/ui-ux-pro-max/data/icons.csv +0 -106
  1615. package/.opencode/skills/ui-ux-pro-max/data/landing.csv +0 -35
  1616. package/.opencode/skills/ui-ux-pro-max/data/products.csv +0 -162
  1617. package/.opencode/skills/ui-ux-pro-max/data/react-performance.csv +0 -45
  1618. package/.opencode/skills/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  1619. package/.opencode/skills/ui-ux-pro-max/data/styles.csv +0 -85
  1620. package/.opencode/skills/ui-ux-pro-max/data/typography.csv +0 -74
  1621. package/.opencode/skills/ui-ux-pro-max/data/ui-reasoning.csv +0 -162
  1622. package/.opencode/skills/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  1623. package/.opencode/skills/ui-ux-pro-max/scripts/core.py +0 -247
  1624. package/.opencode/skills/ui-ux-pro-max/scripts/design_system.py +0 -1067
  1625. package/.opencode/skills/ui-ux-pro-max/scripts/search.py +0 -114
  1626. package/.opencode/skills/use-mcp/SKILL.md +0 -39
  1627. package/.opencode/skills/video/SKILL.md +0 -72
  1628. package/.opencode/skills/video/references/audio-directive-guide.md +0 -274
  1629. package/.opencode/skills/video/references/create.md +0 -322
  1630. package/.opencode/skills/video/references/production-workflow.md +0 -135
  1631. package/.opencode/skills/video/references/quality-review-workflow.md +0 -566
  1632. package/.opencode/skills/video/references/script-create.md +0 -391
  1633. package/.opencode/skills/video/references/script-templates.md +0 -107
  1634. package/.opencode/skills/video/references/storyboard-create.md +0 -210
  1635. package/.opencode/skills/video/references/storyboard-format.md +0 -255
  1636. package/.opencode/skills/video/references/thumbnail-design-guide.md +0 -367
  1637. package/.opencode/skills/video/references/veo-prompt-guide.md +0 -360
  1638. package/.opencode/skills/video/references/video-art-directions.md +0 -64
  1639. package/.opencode/skills/video/references/video-optimization.md +0 -95
  1640. package/.opencode/skills/video/references/video-seo-optimization.md +0 -399
  1641. package/.opencode/skills/video/references/video-types-specs.md +0 -66
  1642. package/.opencode/skills/video/scripts/analyze-video.cjs +0 -321
  1643. package/.opencode/skills/video/scripts/create-storyboard.cjs +0 -476
  1644. package/.opencode/skills/video/scripts/extract-captions.cjs +0 -355
  1645. package/.opencode/skills/video/scripts/generate-video.cjs +0 -331
  1646. package/.opencode/skills/video/scripts/optimize-for-platform.cjs +0 -428
  1647. package/.opencode/skills/video/templates/explainer.json +0 -73
  1648. package/.opencode/skills/video/templates/product-demo.json +0 -69
  1649. package/.opencode/skills/video/templates/short-form.json +0 -111
  1650. package/.opencode/skills/video/templates/testimonial.json +0 -73
  1651. package/.opencode/skills/watzup/SKILL.md +0 -13
  1652. package/.opencode/skills/web-design-guidelines/SKILL.md +0 -39
  1653. package/.opencode/skills/web-frameworks/SKILL.md +0 -327
  1654. package/.opencode/skills/web-frameworks/references/nextjs-app-router.md +0 -465
  1655. package/.opencode/skills/web-frameworks/references/nextjs-data-fetching.md +0 -459
  1656. package/.opencode/skills/web-frameworks/references/nextjs-optimization.md +0 -511
  1657. package/.opencode/skills/web-frameworks/references/nextjs-server-components.md +0 -495
  1658. package/.opencode/skills/web-frameworks/references/remix-icon-integration.md +0 -603
  1659. package/.opencode/skills/web-frameworks/references/turborepo-caching.md +0 -551
  1660. package/.opencode/skills/web-frameworks/references/turborepo-pipelines.md +0 -517
  1661. package/.opencode/skills/web-frameworks/references/turborepo-setup.md +0 -542
  1662. package/.opencode/skills/web-frameworks/scripts/.coverage +0 -0
  1663. package/.opencode/skills/web-frameworks/scripts/__init__.py +0 -0
  1664. package/.opencode/skills/web-frameworks/scripts/nextjs_init.py +0 -547
  1665. package/.opencode/skills/web-frameworks/scripts/requirements.txt +0 -16
  1666. package/.opencode/skills/web-frameworks/scripts/turborepo_migrate.py +0 -394
  1667. package/.opencode/skills/web-testing/SKILL.md +0 -99
  1668. package/.opencode/skills/web-testing/references/accessibility-testing.md +0 -84
  1669. package/.opencode/skills/web-testing/references/api-testing.md +0 -78
  1670. package/.opencode/skills/web-testing/references/ci-cd-testing-workflows.md +0 -121
  1671. package/.opencode/skills/web-testing/references/component-testing.md +0 -94
  1672. package/.opencode/skills/web-testing/references/contract-testing.md +0 -146
  1673. package/.opencode/skills/web-testing/references/cross-browser-checklist.md +0 -72
  1674. package/.opencode/skills/web-testing/references/database-testing.md +0 -139
  1675. package/.opencode/skills/web-testing/references/e2e-testing-playwright.md +0 -119
  1676. package/.opencode/skills/web-testing/references/functional-testing-checklist.md +0 -88
  1677. package/.opencode/skills/web-testing/references/interactive-testing-patterns.md +0 -89
  1678. package/.opencode/skills/web-testing/references/load-testing-k6.md +0 -93
  1679. package/.opencode/skills/web-testing/references/mobile-gesture-testing.md +0 -85
  1680. package/.opencode/skills/web-testing/references/performance-core-web-vitals.md +0 -124
  1681. package/.opencode/skills/web-testing/references/playwright-component-testing.md +0 -115
  1682. package/.opencode/skills/web-testing/references/pre-release-checklist.md +0 -75
  1683. package/.opencode/skills/web-testing/references/security-checklists.md +0 -81
  1684. package/.opencode/skills/web-testing/references/security-testing-overview.md +0 -92
  1685. package/.opencode/skills/web-testing/references/shadow-dom-testing.md +0 -70
  1686. package/.opencode/skills/web-testing/references/test-data-management.md +0 -131
  1687. package/.opencode/skills/web-testing/references/test-flakiness-mitigation.md +0 -86
  1688. package/.opencode/skills/web-testing/references/testing-pyramid-strategy.md +0 -76
  1689. package/.opencode/skills/web-testing/references/unit-integration-testing.md +0 -138
  1690. package/.opencode/skills/web-testing/references/visual-regression.md +0 -92
  1691. package/.opencode/skills/web-testing/references/vulnerability-payloads.md +0 -93
  1692. package/.opencode/skills/web-testing/scripts/analyze-test-results.js +0 -280
  1693. package/.opencode/skills/web-testing/scripts/init-playwright.js +0 -233
  1694. package/.opencode/skills/worktree/SKILL.md +0 -130
  1695. package/.opencode/skills/worktree/scripts/worktree.cjs +0 -979
  1696. package/.opencode/skills/worktree/scripts/worktree.test.cjs +0 -857
  1697. package/.opencode/skills/write/SKILL.md +0 -28
  1698. package/.opencode/skills/write/references/audit.md +0 -93
  1699. package/.opencode/skills/write/references/blog-youtube.md +0 -164
  1700. package/.opencode/skills/write/references/blog.md +0 -95
  1701. package/.opencode/skills/write/references/cro.md +0 -38
  1702. package/.opencode/skills/write/references/enhance.md +0 -9
  1703. package/.opencode/skills/write/references/fast.md +0 -8
  1704. package/.opencode/skills/write/references/formula.md +0 -112
  1705. package/.opencode/skills/write/references/good.md +0 -29
  1706. package/.opencode/skills/write/references/publish.md +0 -70
  1707. package/.opencode/skills/youtube/SKILL.md +0 -50
  1708. package/.opencode/skills/youtube/references/api-content.md +0 -96
  1709. package/.opencode/skills/youtube/references/api-media.md +0 -66
  1710. package/.opencode/skills/youtube/references/blog.md +0 -132
  1711. package/.opencode/skills/youtube/references/infographic.md +0 -152
  1712. package/.opencode/skills/youtube/references/social.md +0 -165
  1713. package/.opencode/skills/youtube/scripts/test_vidcap.py +0 -172
  1714. package/.opencode/skills/youtube/scripts/vidcap.py +0 -302
  1715. package/.opencode/skills/youtube-thumbnail-design/SKILL.md +0 -186
  1716. package/.opencode/skills/youtube-thumbnail-design/data/niches.csv +0 -13
  1717. package/.opencode/skills/youtube-thumbnail-design/data/styles.csv +0 -18
  1718. package/.opencode/skills/youtube-thumbnail-design/references/thumbnail-styles.md +0 -170
  1719. package/.opencode/skills/youtube-thumbnail-design/scripts/core.py +0 -150
  1720. package/.opencode/skills/youtube-thumbnail-design/scripts/generate.py +0 -441
  1721. package/.opencode/skills/youtube-thumbnail-design/scripts/search.py +0 -115
  1722. package/.opencode/workflows/analytics-workflow.md +0 -264
  1723. package/.opencode/workflows/campaign-workflow.md +0 -228
  1724. package/.opencode/workflows/content-workflow.md +0 -275
  1725. package/.opencode/workflows/development-rules.md +0 -42
  1726. package/.opencode/workflows/documentation-management.md +0 -121
  1727. package/.opencode/workflows/marketing-workflow.md +0 -198
  1728. package/.opencode/workflows/orchestration-protocol.md +0 -16
  1729. package/.opencode/workflows/primary-workflow.md +0 -45
  1730. package/.opencode/workflows/sales-workflow.md +0 -193
  1731. package/.opencode/workflows/seo-workflow.md +0 -248
  1732. package/dist/web/assets/chat-tab-B3ut-s33.js +0 -10
  1733. package/dist/web/assets/index-BFXOaZuI.js +0 -30
  1734. package/dist/web/assets/index-Dxq-L2b4.css +0 -2
  1735. package/dist/web/assets/keybindings-store-A-4OusX7.js +0 -1
  1736. 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