luckiest-co 1.0.0 → 1.0.3

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 (618) hide show
  1. package/.claude-plugin/marketplace.json +16 -0
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/LICENSE +24 -0
  4. package/bin/install.js +7 -5
  5. package/commands/{luckiest/finish.md → finish.md} +2 -0
  6. package/commands/go.md +53 -0
  7. package/commands/plan.md +66 -0
  8. package/package.json +16 -5
  9. package/skills/brainstorm/ATTRIBUTION.md +27 -0
  10. package/skills/brainstorm/SKILL.md +139 -0
  11. package/skills/luckiest-ab-testing/ATTRIBUTION.md +35 -0
  12. package/skills/luckiest-ab-testing/CHANGELOG.md +27 -0
  13. package/skills/luckiest-ab-testing/SKILL.md +379 -0
  14. package/skills/luckiest-ab-testing/evals/evals.json +118 -0
  15. package/skills/luckiest-ab-testing/references/sample-size-guide.md +290 -0
  16. package/skills/luckiest-ab-testing/references/test-templates.md +284 -0
  17. package/skills/luckiest-ad-creative/ATTRIBUTION.md +35 -0
  18. package/skills/luckiest-ad-creative/CHANGELOG.md +23 -0
  19. package/skills/luckiest-ad-creative/SKILL.md +393 -0
  20. package/skills/luckiest-ad-creative/evals/evals.json +90 -0
  21. package/skills/luckiest-ad-creative/references/generative-tools.md +637 -0
  22. package/skills/luckiest-ad-creative/references/platform-specs.md +213 -0
  23. package/skills/luckiest-ads/ATTRIBUTION.md +36 -0
  24. package/skills/luckiest-ads/CHANGELOG.md +24 -0
  25. package/skills/luckiest-ads/LICENSE +21 -0
  26. package/skills/luckiest-ads/SKILL.md +434 -0
  27. package/skills/luckiest-ads/evals/evals.json +90 -0
  28. package/skills/luckiest-ads/references/ad-copy-templates.md +207 -0
  29. package/skills/luckiest-ads/references/audience-targeting.md +243 -0
  30. package/skills/luckiest-ads/references/conversion-tracking.md +361 -0
  31. package/skills/luckiest-ads/references/platform-setup-checklists.md +277 -0
  32. package/skills/luckiest-advisors/ATTRIBUTION.md +16 -0
  33. package/skills/luckiest-advisors/CHANGELOG.md +99 -0
  34. package/skills/luckiest-advisors/SKILL.md +151 -0
  35. package/skills/luckiest-aeo-grader/ATTRIBUTION.md +19 -0
  36. package/skills/luckiest-aeo-grader/CHANGELOG.md +52 -0
  37. package/skills/luckiest-aeo-grader/SKILL.md +200 -0
  38. package/skills/luckiest-aeo-grader/evals/evals.json +19 -0
  39. package/skills/luckiest-aeo-grader/references/rubric.md +72 -0
  40. package/skills/luckiest-aeo-grader/scripts/scan.py +265 -0
  41. package/skills/luckiest-ai-seo/ATTRIBUTION.md +38 -0
  42. package/skills/luckiest-ai-seo/CHANGELOG.md +23 -0
  43. package/skills/luckiest-ai-seo/SKILL.md +510 -0
  44. package/skills/luckiest-ai-seo/evals/evals.json +90 -0
  45. package/skills/luckiest-ai-seo/references/content-patterns.md +285 -0
  46. package/skills/luckiest-ai-seo/references/content-types.md +71 -0
  47. package/skills/luckiest-ai-seo/references/okf.md +104 -0
  48. package/skills/luckiest-ai-seo/references/platform-ranking-factors.md +154 -0
  49. package/skills/luckiest-analytics/ATTRIBUTION.md +42 -0
  50. package/skills/luckiest-analytics/CHANGELOG.md +36 -0
  51. package/skills/luckiest-analytics/SKILL.md +380 -0
  52. package/skills/luckiest-analytics/evals/evals.json +90 -0
  53. package/skills/luckiest-analytics/references/event-library.md +260 -0
  54. package/skills/luckiest-analytics/references/ga4-implementation.md +300 -0
  55. package/skills/luckiest-analytics/references/gtm-implementation.md +390 -0
  56. package/skills/luckiest-aso/ATTRIBUTION.md +40 -0
  57. package/skills/luckiest-aso/CHANGELOG.md +33 -0
  58. package/skills/luckiest-aso/SKILL.md +327 -0
  59. package/skills/luckiest-aso/evals/evals.json +91 -0
  60. package/skills/luckiest-aso/references/apple-specs.md +107 -0
  61. package/skills/luckiest-aso/references/benchmarks.md +129 -0
  62. package/skills/luckiest-aso/references/google-play-specs.md +131 -0
  63. package/skills/luckiest-aso/references/report-template.md +213 -0
  64. package/skills/luckiest-aso/references/scoring-criteria.md +213 -0
  65. package/skills/luckiest-churn-prevention/ATTRIBUTION.md +41 -0
  66. package/skills/luckiest-churn-prevention/CHANGELOG.md +24 -0
  67. package/skills/luckiest-churn-prevention/SKILL.md +445 -0
  68. package/skills/luckiest-churn-prevention/evals/evals.json +93 -0
  69. package/skills/luckiest-churn-prevention/references/cancel-flow-patterns.md +316 -0
  70. package/skills/luckiest-churn-prevention/references/dunning-playbook.md +408 -0
  71. package/skills/luckiest-co-marketing/ATTRIBUTION.md +38 -0
  72. package/skills/luckiest-co-marketing/CHANGELOG.md +25 -0
  73. package/skills/luckiest-co-marketing/SKILL.md +331 -0
  74. package/skills/luckiest-co-marketing/evals/evals.json +84 -0
  75. package/skills/luckiest-coder/ATTRIBUTION.md +26 -0
  76. package/skills/luckiest-coder/CHANGELOG.md +30 -0
  77. package/skills/luckiest-coder/SKILL.md +77 -0
  78. package/skills/luckiest-coder/references/antigravity-tools.md +23 -0
  79. package/skills/luckiest-coder/references/codex-tools.md +39 -0
  80. package/skills/luckiest-coder/references/pi-tools.md +16 -0
  81. package/skills/luckiest-coder-brainstorming/ATTRIBUTION.md +26 -0
  82. package/skills/luckiest-coder-brainstorming/CHANGELOG.md +31 -0
  83. package/skills/luckiest-coder-brainstorming/SKILL.md +173 -0
  84. package/skills/luckiest-coder-brainstorming/scripts/frame-template.html +213 -0
  85. package/skills/luckiest-coder-brainstorming/scripts/helper.js +168 -0
  86. package/skills/luckiest-coder-brainstorming/scripts/server.cjs +721 -0
  87. package/skills/luckiest-coder-brainstorming/scripts/start-server.sh +209 -0
  88. package/skills/luckiest-coder-brainstorming/scripts/stop-server.sh +120 -0
  89. package/skills/luckiest-coder-brainstorming/spec-document-reviewer-prompt.md +49 -0
  90. package/skills/luckiest-coder-brainstorming/visual-companion.md +291 -0
  91. package/skills/luckiest-coder-consistency/ATTRIBUTION.md +30 -0
  92. package/skills/luckiest-coder-consistency/CHANGELOG.md +26 -0
  93. package/skills/luckiest-coder-consistency/SKILL.md +98 -0
  94. package/skills/luckiest-coder-constitution/ATTRIBUTION.md +28 -0
  95. package/skills/luckiest-coder-constitution/CHANGELOG.md +25 -0
  96. package/skills/luckiest-coder-constitution/SKILL.md +115 -0
  97. package/skills/luckiest-coder-debugging/ATTRIBUTION.md +26 -0
  98. package/skills/luckiest-coder-debugging/CHANGELOG.md +22 -0
  99. package/skills/luckiest-coder-debugging/CREATION-LOG.md +119 -0
  100. package/skills/luckiest-coder-debugging/SKILL.md +309 -0
  101. package/skills/luckiest-coder-debugging/condition-based-waiting-example.ts +158 -0
  102. package/skills/luckiest-coder-debugging/condition-based-waiting.md +115 -0
  103. package/skills/luckiest-coder-debugging/defense-in-depth.md +122 -0
  104. package/skills/luckiest-coder-debugging/find-polluter.sh +63 -0
  105. package/skills/luckiest-coder-debugging/root-cause-tracing.md +169 -0
  106. package/skills/luckiest-coder-debugging/test-academic.md +14 -0
  107. package/skills/luckiest-coder-debugging/test-pressure-1.md +58 -0
  108. package/skills/luckiest-coder-debugging/test-pressure-2.md +68 -0
  109. package/skills/luckiest-coder-debugging/test-pressure-3.md +69 -0
  110. package/skills/luckiest-coder-dispatching-parallel-agents/ATTRIBUTION.md +26 -0
  111. package/skills/luckiest-coder-dispatching-parallel-agents/CHANGELOG.md +23 -0
  112. package/skills/luckiest-coder-dispatching-parallel-agents/SKILL.md +198 -0
  113. package/skills/luckiest-coder-executing-plans/ATTRIBUTION.md +26 -0
  114. package/skills/luckiest-coder-executing-plans/CHANGELOG.md +22 -0
  115. package/skills/luckiest-coder-executing-plans/SKILL.md +83 -0
  116. package/skills/luckiest-coder-finishing-a-branch/ATTRIBUTION.md +26 -0
  117. package/skills/luckiest-coder-finishing-a-branch/CHANGELOG.md +22 -0
  118. package/skills/luckiest-coder-finishing-a-branch/SKILL.md +258 -0
  119. package/skills/luckiest-coder-git-worktrees/ATTRIBUTION.md +26 -0
  120. package/skills/luckiest-coder-git-worktrees/CHANGELOG.md +22 -0
  121. package/skills/luckiest-coder-git-worktrees/SKILL.md +215 -0
  122. package/skills/luckiest-coder-guard/ATTRIBUTION.md +29 -0
  123. package/skills/luckiest-coder-guard/CHANGELOG.md +48 -0
  124. package/skills/luckiest-coder-guard/LICENSE +21 -0
  125. package/skills/luckiest-coder-guard/SKILL.md +126 -0
  126. package/skills/luckiest-coder-guard/bin/check-careful.sh +65 -0
  127. package/skills/luckiest-coder-guard/bin/check-freeze.sh +48 -0
  128. package/skills/luckiest-coder-qa/ATTRIBUTION.md +28 -0
  129. package/skills/luckiest-coder-qa/CHANGELOG.md +49 -0
  130. package/skills/luckiest-coder-qa/LICENSE +21 -0
  131. package/skills/luckiest-coder-qa/SKILL.md +160 -0
  132. package/skills/luckiest-coder-qa/references/issue-taxonomy.md +85 -0
  133. package/skills/luckiest-coder-qa/references/qa-report-template.md +126 -0
  134. package/skills/luckiest-coder-receiving-code-review/ATTRIBUTION.md +26 -0
  135. package/skills/luckiest-coder-receiving-code-review/CHANGELOG.md +28 -0
  136. package/skills/luckiest-coder-receiving-code-review/SKILL.md +226 -0
  137. package/skills/luckiest-coder-requesting-code-review/ATTRIBUTION.md +26 -0
  138. package/skills/luckiest-coder-requesting-code-review/CHANGELOG.md +31 -0
  139. package/skills/luckiest-coder-requesting-code-review/SKILL.md +118 -0
  140. package/skills/luckiest-coder-requesting-code-review/code-reviewer.md +172 -0
  141. package/skills/luckiest-coder-shipping/ATTRIBUTION.md +26 -0
  142. package/skills/luckiest-coder-shipping/CHANGELOG.md +48 -0
  143. package/skills/luckiest-coder-shipping/LICENSE +21 -0
  144. package/skills/luckiest-coder-shipping/SKILL.md +148 -0
  145. package/skills/luckiest-coder-shipping/references/canary.md +44 -0
  146. package/skills/luckiest-coder-shipping/references/test-and-coverage.md +91 -0
  147. package/skills/luckiest-coder-subagent-driven-development/ATTRIBUTION.md +26 -0
  148. package/skills/luckiest-coder-subagent-driven-development/CHANGELOG.md +28 -0
  149. package/skills/luckiest-coder-subagent-driven-development/SKILL.md +439 -0
  150. package/skills/luckiest-coder-subagent-driven-development/implementer-prompt.md +139 -0
  151. package/skills/luckiest-coder-subagent-driven-development/scripts/review-package +44 -0
  152. package/skills/luckiest-coder-subagent-driven-development/scripts/sdd-workspace +22 -0
  153. package/skills/luckiest-coder-subagent-driven-development/scripts/task-brief +40 -0
  154. package/skills/luckiest-coder-subagent-driven-development/task-reviewer-prompt.md +188 -0
  155. package/skills/luckiest-coder-tdd/ATTRIBUTION.md +26 -0
  156. package/skills/luckiest-coder-tdd/CHANGELOG.md +26 -0
  157. package/skills/luckiest-coder-tdd/SKILL.md +384 -0
  158. package/skills/luckiest-coder-tdd/testing-anti-patterns.md +299 -0
  159. package/skills/luckiest-coder-verification/ATTRIBUTION.md +26 -0
  160. package/skills/luckiest-coder-verification/CHANGELOG.md +22 -0
  161. package/skills/luckiest-coder-verification/SKILL.md +152 -0
  162. package/skills/luckiest-coder-writing-plans/ATTRIBUTION.md +26 -0
  163. package/skills/luckiest-coder-writing-plans/CHANGELOG.md +22 -0
  164. package/skills/luckiest-coder-writing-plans/SKILL.md +191 -0
  165. package/skills/luckiest-coder-writing-plans/plan-document-reviewer-prompt.md +49 -0
  166. package/skills/luckiest-coder-writing-skills/ATTRIBUTION.md +26 -0
  167. package/skills/luckiest-coder-writing-skills/CHANGELOG.md +31 -0
  168. package/skills/luckiest-coder-writing-skills/SKILL.md +702 -0
  169. package/skills/luckiest-coder-writing-skills/anthropic-best-practices.md +1150 -0
  170. package/skills/luckiest-coder-writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  171. package/skills/luckiest-coder-writing-skills/graphviz-conventions.dot +172 -0
  172. package/skills/luckiest-coder-writing-skills/persuasion-principles.md +187 -0
  173. package/skills/luckiest-coder-writing-skills/render-graphs.js +168 -0
  174. package/skills/luckiest-coder-writing-skills/testing-skills-with-subagents.md +384 -0
  175. package/skills/luckiest-cold-email/ATTRIBUTION.md +36 -0
  176. package/skills/luckiest-cold-email/CHANGELOG.md +24 -0
  177. package/skills/luckiest-cold-email/SKILL.md +213 -0
  178. package/skills/luckiest-cold-email/evals/evals.json +94 -0
  179. package/skills/luckiest-cold-email/references/benchmarks.md +83 -0
  180. package/skills/luckiest-cold-email/references/follow-up-sequences.md +81 -0
  181. package/skills/luckiest-cold-email/references/frameworks.md +90 -0
  182. package/skills/luckiest-cold-email/references/personalization.md +79 -0
  183. package/skills/luckiest-cold-email/references/subject-lines.md +53 -0
  184. package/skills/luckiest-community-marketing/ATTRIBUTION.md +41 -0
  185. package/skills/luckiest-community-marketing/CHANGELOG.md +35 -0
  186. package/skills/luckiest-community-marketing/SKILL.md +200 -0
  187. package/skills/luckiest-community-marketing/evals/evals.json +89 -0
  188. package/skills/luckiest-competitor-profiling/ATTRIBUTION.md +36 -0
  189. package/skills/luckiest-competitor-profiling/CHANGELOG.md +24 -0
  190. package/skills/luckiest-competitor-profiling/SKILL.md +443 -0
  191. package/skills/luckiest-competitor-profiling/evals/evals.json +85 -0
  192. package/skills/luckiest-competitor-profiling/references/templates.md +167 -0
  193. package/skills/luckiest-competitor-profiling/references/tool-reference.md +179 -0
  194. package/skills/luckiest-competitors/ATTRIBUTION.md +36 -0
  195. package/skills/luckiest-competitors/CHANGELOG.md +25 -0
  196. package/skills/luckiest-competitors/SKILL.md +171 -0
  197. package/skills/luckiest-competitors/evals/evals.json +93 -0
  198. package/skills/luckiest-competitors/references/content-architecture.md +271 -0
  199. package/skills/luckiest-competitors/references/templates.md +223 -0
  200. package/skills/luckiest-content-strategy/ATTRIBUTION.md +39 -0
  201. package/skills/luckiest-content-strategy/CHANGELOG.md +23 -0
  202. package/skills/luckiest-content-strategy/SKILL.md +395 -0
  203. package/skills/luckiest-content-strategy/evals/evals.json +90 -0
  204. package/skills/luckiest-content-strategy/references/headless-cms.md +194 -0
  205. package/skills/luckiest-copy-editing/ATTRIBUTION.md +41 -0
  206. package/skills/luckiest-copy-editing/CHANGELOG.md +31 -0
  207. package/skills/luckiest-copy-editing/SKILL.md +491 -0
  208. package/skills/luckiest-copy-editing/evals/evals.json +89 -0
  209. package/skills/luckiest-copy-editing/references/checklist.md +66 -0
  210. package/skills/luckiest-copy-editing/references/content-refresh.md +38 -0
  211. package/skills/luckiest-copy-editing/references/plain-english-alternatives.md +394 -0
  212. package/skills/luckiest-copywriting/ATTRIBUTION.md +35 -0
  213. package/skills/luckiest-copywriting/CHANGELOG.md +23 -0
  214. package/skills/luckiest-copywriting/SKILL.md +296 -0
  215. package/skills/luckiest-copywriting/evals/evals.json +111 -0
  216. package/skills/luckiest-copywriting/references/copy-frameworks.md +344 -0
  217. package/skills/luckiest-copywriting/references/natural-transitions.md +272 -0
  218. package/skills/luckiest-cro/ATTRIBUTION.md +34 -0
  219. package/skills/luckiest-cro/CHANGELOG.md +23 -0
  220. package/skills/luckiest-cro/SKILL.md +215 -0
  221. package/skills/luckiest-cro/evals/evals.json +111 -0
  222. package/skills/luckiest-cro/references/experiments.md +248 -0
  223. package/skills/luckiest-cro/references/form.md +422 -0
  224. package/skills/luckiest-customer-research/ATTRIBUTION.md +40 -0
  225. package/skills/luckiest-customer-research/CHANGELOG.md +26 -0
  226. package/skills/luckiest-customer-research/SKILL.md +293 -0
  227. package/skills/luckiest-customer-research/evals/evals.json +162 -0
  228. package/skills/luckiest-customer-research/references/source-guides.md +401 -0
  229. package/skills/luckiest-directory-submissions/ATTRIBUTION.md +40 -0
  230. package/skills/luckiest-directory-submissions/CHANGELOG.md +33 -0
  231. package/skills/luckiest-directory-submissions/SKILL.md +419 -0
  232. package/skills/luckiest-directory-submissions/evals/evals.json +94 -0
  233. package/skills/luckiest-directory-submissions/references/directory-list.md +477 -0
  234. package/skills/luckiest-directory-submissions/references/positioning-variations.md +232 -0
  235. package/skills/luckiest-directory-submissions/references/submission-tracker-template.csv +266 -0
  236. package/skills/luckiest-emails/ATTRIBUTION.md +42 -0
  237. package/skills/luckiest-emails/CHANGELOG.md +33 -0
  238. package/skills/luckiest-emails/SKILL.md +220 -0
  239. package/skills/luckiest-emails/evals/evals.json +93 -0
  240. package/skills/luckiest-emails/references/copy-guidelines.md +120 -0
  241. package/skills/luckiest-emails/references/email-types.md +515 -0
  242. package/skills/luckiest-emails/references/sequence-templates.md +168 -0
  243. package/skills/luckiest-extract-design-system/ATTRIBUTION.md +8 -0
  244. package/skills/luckiest-extract-design-system/CHANGELOG.md +37 -0
  245. package/skills/luckiest-extract-design-system/SKILL.md +83 -0
  246. package/skills/luckiest-free-tools/ATTRIBUTION.md +43 -0
  247. package/skills/luckiest-free-tools/CHANGELOG.md +25 -0
  248. package/skills/luckiest-free-tools/SKILL.md +220 -0
  249. package/skills/luckiest-free-tools/evals/evals.json +90 -0
  250. package/skills/luckiest-free-tools/references/tool-types.md +217 -0
  251. package/skills/luckiest-image/ATTRIBUTION.md +43 -0
  252. package/skills/luckiest-image/CHANGELOG.md +23 -0
  253. package/skills/luckiest-image/SKILL.md +376 -0
  254. package/skills/luckiest-image/evals/evals.json +89 -0
  255. package/skills/luckiest-image/references/ai-image-prompting.md +229 -0
  256. package/skills/luckiest-launch/ATTRIBUTION.md +40 -0
  257. package/skills/luckiest-launch/CHANGELOG.md +43 -0
  258. package/skills/luckiest-launch/SKILL.md +385 -0
  259. package/skills/luckiest-launch/evals/evals.json +91 -0
  260. package/skills/luckiest-lead-magnets/ATTRIBUTION.md +35 -0
  261. package/skills/luckiest-lead-magnets/CHANGELOG.md +23 -0
  262. package/skills/luckiest-lead-magnets/SKILL.md +331 -0
  263. package/skills/luckiest-lead-magnets/evals/evals.json +87 -0
  264. package/skills/luckiest-lead-magnets/references/benchmarks.md +129 -0
  265. package/skills/luckiest-lead-magnets/references/format-guide.md +196 -0
  266. package/skills/luckiest-marketing-ideas/ATTRIBUTION.md +39 -0
  267. package/skills/luckiest-marketing-ideas/CHANGELOG.md +33 -0
  268. package/skills/luckiest-marketing-ideas/SKILL.md +191 -0
  269. package/skills/luckiest-marketing-ideas/evals/evals.json +90 -0
  270. package/skills/luckiest-marketing-ideas/references/ideas-by-category.md +366 -0
  271. package/skills/luckiest-marketing-plan/ATTRIBUTION.md +40 -0
  272. package/skills/luckiest-marketing-plan/CHANGELOG.md +23 -0
  273. package/skills/luckiest-marketing-plan/SKILL.md +285 -0
  274. package/skills/luckiest-marketing-plan/evals/evals.json +96 -0
  275. package/skills/luckiest-marketing-plan/references/aarrr-framework.md +180 -0
  276. package/skills/luckiest-marketing-plan/references/budget-planning.md +168 -0
  277. package/skills/luckiest-marketing-plan/references/client-types.md +373 -0
  278. package/skills/luckiest-marketing-plan/references/current-state-rubric.md +255 -0
  279. package/skills/luckiest-marketing-plan/references/example-quietude.md +972 -0
  280. package/skills/luckiest-marketing-plan/references/funding-stage-unlocks.md +230 -0
  281. package/skills/luckiest-marketing-plan/references/growth-patterns.md +148 -0
  282. package/skills/luckiest-marketing-plan/references/idea-cross-reference.md +265 -0
  283. package/skills/luckiest-marketing-plan/references/measurement-framework.md +213 -0
  284. package/skills/luckiest-marketing-plan/references/methodology.md +363 -0
  285. package/skills/luckiest-marketing-plan/references/ops-stack-mapping.md +197 -0
  286. package/skills/luckiest-marketing-plan/references/plan-template.md +494 -0
  287. package/skills/luckiest-marketing-plan/references/team-and-agency-model.md +278 -0
  288. package/skills/luckiest-marketing-psychology/ATTRIBUTION.md +31 -0
  289. package/skills/luckiest-marketing-psychology/CHANGELOG.md +32 -0
  290. package/skills/luckiest-marketing-psychology/SKILL.md +202 -0
  291. package/skills/luckiest-marketing-psychology/evals.json +88 -0
  292. package/skills/luckiest-model-router/ATTRIBUTION.md +11 -0
  293. package/skills/luckiest-model-router/CHANGELOG.md +45 -0
  294. package/skills/luckiest-model-router/SKILL.md +74 -0
  295. package/skills/luckiest-model-router/scripts/route.py +145 -0
  296. package/skills/luckiest-offers/ATTRIBUTION.md +39 -0
  297. package/skills/luckiest-offers/CHANGELOG.md +23 -0
  298. package/skills/luckiest-offers/SKILL.md +167 -0
  299. package/skills/luckiest-offers/references/bonus-stacking.md +150 -0
  300. package/skills/luckiest-offers/references/examples.md +215 -0
  301. package/skills/luckiest-offers/references/guarantee-design.md +172 -0
  302. package/skills/luckiest-offers/references/offer-anatomy.md +203 -0
  303. package/skills/luckiest-offers/references/offer-formats.md +240 -0
  304. package/skills/luckiest-offers/references/scarcity-urgency.md +175 -0
  305. package/skills/luckiest-offers/references/value-equation.md +134 -0
  306. package/skills/luckiest-onboarding/ATTRIBUTION.md +43 -0
  307. package/skills/luckiest-onboarding/CHANGELOG.md +31 -0
  308. package/skills/luckiest-onboarding/SKILL.md +243 -0
  309. package/skills/luckiest-onboarding/references/experiments.md +258 -0
  310. package/skills/luckiest-paywalls/ATTRIBUTION.md +39 -0
  311. package/skills/luckiest-paywalls/CHANGELOG.md +25 -0
  312. package/skills/luckiest-paywalls/SKILL.md +256 -0
  313. package/skills/luckiest-paywalls/evals/evals.json +93 -0
  314. package/skills/luckiest-paywalls/references/experiments.md +164 -0
  315. package/skills/luckiest-popups/ATTRIBUTION.md +35 -0
  316. package/skills/luckiest-popups/CHANGELOG.md +27 -0
  317. package/skills/luckiest-popups/SKILL.md +477 -0
  318. package/skills/luckiest-popups/evals/evals.json +107 -0
  319. package/skills/luckiest-pricing/ATTRIBUTION.md +35 -0
  320. package/skills/luckiest-pricing/CHANGELOG.md +31 -0
  321. package/skills/luckiest-pricing/SKILL.md +283 -0
  322. package/skills/luckiest-pricing/evals/evals.json +90 -0
  323. package/skills/luckiest-pricing/references/research-methods.md +152 -0
  324. package/skills/luckiest-pricing/references/tier-structure.md +232 -0
  325. package/skills/luckiest-product-marketing/ATTRIBUTION.md +38 -0
  326. package/skills/luckiest-product-marketing/CHANGELOG.md +23 -0
  327. package/skills/luckiest-product-marketing/SKILL.md +256 -0
  328. package/skills/luckiest-product-marketing/evals/evals.json +85 -0
  329. package/skills/luckiest-programmatic-seo/ATTRIBUTION.md +35 -0
  330. package/skills/luckiest-programmatic-seo/CHANGELOG.md +24 -0
  331. package/skills/luckiest-programmatic-seo/SKILL.md +286 -0
  332. package/skills/luckiest-programmatic-seo/evals/evals.json +95 -0
  333. package/skills/luckiest-programmatic-seo/references/playbooks.md +308 -0
  334. package/skills/luckiest-prompt-rewrite/ATTRIBUTION.md +39 -0
  335. package/skills/luckiest-prompt-rewrite/CHANGELOG.md +70 -0
  336. package/skills/luckiest-prompt-rewrite/LICENSE +21 -0
  337. package/skills/luckiest-prompt-rewrite/SKILL.md +494 -0
  338. package/skills/luckiest-prompt-rewrite/references/patterns.md +82 -0
  339. package/skills/luckiest-prompt-rewrite/references/templates.md +454 -0
  340. package/skills/luckiest-prospecting/ATTRIBUTION.md +29 -0
  341. package/skills/luckiest-prospecting/CHANGELOG.md +24 -0
  342. package/skills/luckiest-prospecting/SKILL.md +275 -0
  343. package/skills/luckiest-prospecting/evals/evals.json +107 -0
  344. package/skills/luckiest-prospecting/references/b2b-prospecting.md +106 -0
  345. package/skills/luckiest-prospecting/references/compliance.md +123 -0
  346. package/skills/luckiest-prospecting/references/data-sources.md +287 -0
  347. package/skills/luckiest-prospecting/references/local-prospecting.md +165 -0
  348. package/skills/luckiest-prospecting/references/saas-prospecting.md +123 -0
  349. package/skills/luckiest-public-relations/ATTRIBUTION.md +34 -0
  350. package/skills/luckiest-public-relations/CHANGELOG.md +23 -0
  351. package/skills/luckiest-public-relations/SKILL.md +154 -0
  352. package/skills/luckiest-public-relations/references/journalist-pitching.md +368 -0
  353. package/skills/luckiest-public-relations/references/media-outlets.md +207 -0
  354. package/skills/luckiest-public-relations/references/newsjacking.md +218 -0
  355. package/skills/luckiest-public-relations/references/press-platforms.md +188 -0
  356. package/skills/luckiest-referrals/ATTRIBUTION.md +41 -0
  357. package/skills/luckiest-referrals/CHANGELOG.md +23 -0
  358. package/skills/luckiest-referrals/SKILL.md +292 -0
  359. package/skills/luckiest-referrals/evals/evals.json +90 -0
  360. package/skills/luckiest-referrals/references/affiliate-programs.md +167 -0
  361. package/skills/luckiest-referrals/references/program-examples.md +143 -0
  362. package/skills/luckiest-revops/ATTRIBUTION.md +40 -0
  363. package/skills/luckiest-revops/CHANGELOG.md +24 -0
  364. package/skills/luckiest-revops/SKILL.md +362 -0
  365. package/skills/luckiest-revops/evals/evals.json +91 -0
  366. package/skills/luckiest-revops/references/automation-playbooks.md +290 -0
  367. package/skills/luckiest-revops/references/lifecycle-definitions.md +278 -0
  368. package/skills/luckiest-revops/references/routing-rules.md +203 -0
  369. package/skills/luckiest-revops/references/scoring-models.md +247 -0
  370. package/skills/luckiest-sales-enablement/ATTRIBUTION.md +39 -0
  371. package/skills/luckiest-sales-enablement/CHANGELOG.md +23 -0
  372. package/skills/luckiest-sales-enablement/SKILL.md +379 -0
  373. package/skills/luckiest-sales-enablement/evals/evals.json +91 -0
  374. package/skills/luckiest-sales-enablement/references/deck-frameworks.md +263 -0
  375. package/skills/luckiest-sales-enablement/references/demo-scripts.md +355 -0
  376. package/skills/luckiest-sales-enablement/references/objection-library.md +270 -0
  377. package/skills/luckiest-sales-enablement/references/one-pager-templates.md +208 -0
  378. package/skills/luckiest-schema/ATTRIBUTION.md +39 -0
  379. package/skills/luckiest-schema/CHANGELOG.md +25 -0
  380. package/skills/luckiest-schema/SKILL.md +209 -0
  381. package/skills/luckiest-schema/evals/evals.json +88 -0
  382. package/skills/luckiest-schema/references/schema-examples.md +398 -0
  383. package/skills/luckiest-seo-audit/ATTRIBUTION.md +39 -0
  384. package/skills/luckiest-seo-audit/CHANGELOG.md +23 -0
  385. package/skills/luckiest-seo-audit/SKILL.md +529 -0
  386. package/skills/luckiest-seo-audit/evals/evals.json +136 -0
  387. package/skills/luckiest-seo-audit/references/ai-writing-detection.md +200 -0
  388. package/skills/luckiest-seo-audit/references/international-seo.md +230 -0
  389. package/skills/luckiest-session-handoff/ATTRIBUTION.md +14 -0
  390. package/skills/luckiest-session-handoff/CHANGELOG.md +30 -0
  391. package/skills/luckiest-session-handoff/SKILL.md +96 -0
  392. package/skills/luckiest-signup/ATTRIBUTION.md +48 -0
  393. package/skills/luckiest-signup/CHANGELOG.md +24 -0
  394. package/skills/luckiest-signup/SKILL.md +382 -0
  395. package/skills/luckiest-signup/evals/evals.json +88 -0
  396. package/skills/luckiest-site-architecture/ATTRIBUTION.md +38 -0
  397. package/skills/luckiest-site-architecture/CHANGELOG.md +23 -0
  398. package/skills/luckiest-site-architecture/SKILL.md +383 -0
  399. package/skills/luckiest-site-architecture/evals/evals.json +88 -0
  400. package/skills/luckiest-site-architecture/references/mermaid-templates.md +216 -0
  401. package/skills/luckiest-site-architecture/references/navigation-patterns.md +305 -0
  402. package/skills/luckiest-site-architecture/references/site-type-templates.md +293 -0
  403. package/skills/luckiest-sms/ATTRIBUTION.md +27 -0
  404. package/skills/luckiest-sms/CHANGELOG.md +24 -0
  405. package/skills/luckiest-sms/SKILL.md +400 -0
  406. package/skills/luckiest-sms/evals/evals.json +100 -0
  407. package/skills/luckiest-sms/references/compliance.md +202 -0
  408. package/skills/luckiest-sms/references/platforms.md +318 -0
  409. package/skills/luckiest-sms/references/sequence-templates.md +282 -0
  410. package/skills/luckiest-social/ATTRIBUTION.md +27 -0
  411. package/skills/luckiest-social/CHANGELOG.md +24 -0
  412. package/skills/luckiest-social/SKILL.md +430 -0
  413. package/skills/luckiest-social/evals/evals.json +92 -0
  414. package/skills/luckiest-social/references/listening-sources-template.md +123 -0
  415. package/skills/luckiest-social/references/listening.md +283 -0
  416. package/skills/luckiest-social/references/platform-limits.md +110 -0
  417. package/skills/luckiest-social/references/platforms.md +170 -0
  418. package/skills/luckiest-social/references/post-templates.md +177 -0
  419. package/skills/luckiest-social/references/reverse-engineering.md +195 -0
  420. package/skills/luckiest-social/references/short-form-video.md +237 -0
  421. package/skills/luckiest-thinker/ATTRIBUTION.md +16 -0
  422. package/skills/luckiest-thinker/CHANGELOG.md +20 -0
  423. package/skills/luckiest-thinker/LICENSE +21 -0
  424. package/skills/luckiest-thinker/SKILL.md +92 -0
  425. package/skills/luckiest-thinker/references/distribution-calibration.md +106 -0
  426. package/skills/luckiest-thinker/references/research-foundations.md +214 -0
  427. package/skills/luckiest-thinker/references/thinking-patterns.md +138 -0
  428. package/skills/luckiest-trends/.skillignore +10 -0
  429. package/skills/luckiest-trends/ATTRIBUTION.md +43 -0
  430. package/skills/luckiest-trends/CHANGELOG.md +86 -0
  431. package/skills/luckiest-trends/LICENSE +21 -0
  432. package/skills/luckiest-trends/SKILL.md +194 -0
  433. package/skills/luckiest-trends/agents/openai.yaml +8 -0
  434. package/skills/luckiest-trends/references/engine-contract.md +2041 -0
  435. package/skills/luckiest-trends/references/save-html-brief.md +206 -0
  436. package/skills/luckiest-trends/scripts/briefing.py +272 -0
  437. package/skills/luckiest-trends/scripts/build-skill.sh +39 -0
  438. package/skills/luckiest-trends/scripts/compare.sh +61 -0
  439. package/skills/luckiest-trends/scripts/evaluate_search_quality.py +573 -0
  440. package/skills/luckiest-trends/scripts/last30days.py +1467 -0
  441. package/skills/luckiest-trends/scripts/lib/__init__.py +1 -0
  442. package/skills/luckiest-trends/scripts/lib/__pycache__/__init__.cpython-313.pyc +0 -0
  443. package/skills/luckiest-trends/scripts/lib/__pycache__/arxiv.cpython-313.pyc +0 -0
  444. package/skills/luckiest-trends/scripts/lib/__pycache__/bird_x.cpython-313.pyc +0 -0
  445. package/skills/luckiest-trends/scripts/lib/__pycache__/bluesky.cpython-313.pyc +0 -0
  446. package/skills/luckiest-trends/scripts/lib/__pycache__/categories.cpython-313.pyc +0 -0
  447. package/skills/luckiest-trends/scripts/lib/__pycache__/cjk.cpython-313.pyc +0 -0
  448. package/skills/luckiest-trends/scripts/lib/__pycache__/cluster.cpython-313.pyc +0 -0
  449. package/skills/luckiest-trends/scripts/lib/__pycache__/dates.cpython-313.pyc +0 -0
  450. package/skills/luckiest-trends/scripts/lib/__pycache__/dedupe.cpython-313.pyc +0 -0
  451. package/skills/luckiest-trends/scripts/lib/__pycache__/digg.cpython-313.pyc +0 -0
  452. package/skills/luckiest-trends/scripts/lib/__pycache__/entity_extract.cpython-313.pyc +0 -0
  453. package/skills/luckiest-trends/scripts/lib/__pycache__/env.cpython-313.pyc +0 -0
  454. package/skills/luckiest-trends/scripts/lib/__pycache__/fusion.cpython-313.pyc +0 -0
  455. package/skills/luckiest-trends/scripts/lib/__pycache__/github.cpython-313.pyc +0 -0
  456. package/skills/luckiest-trends/scripts/lib/__pycache__/grounding.cpython-313.pyc +0 -0
  457. package/skills/luckiest-trends/scripts/lib/__pycache__/hackernews.cpython-313.pyc +0 -0
  458. package/skills/luckiest-trends/scripts/lib/__pycache__/hiring_signals.cpython-313.pyc +0 -0
  459. package/skills/luckiest-trends/scripts/lib/__pycache__/html_render.cpython-313.pyc +0 -0
  460. package/skills/luckiest-trends/scripts/lib/__pycache__/http.cpython-313.pyc +0 -0
  461. package/skills/luckiest-trends/scripts/lib/__pycache__/instagram.cpython-313.pyc +0 -0
  462. package/skills/luckiest-trends/scripts/lib/__pycache__/jobs.cpython-313.pyc +0 -0
  463. package/skills/luckiest-trends/scripts/lib/__pycache__/linkedin.cpython-313.pyc +0 -0
  464. package/skills/luckiest-trends/scripts/lib/__pycache__/log.cpython-313.pyc +0 -0
  465. package/skills/luckiest-trends/scripts/lib/__pycache__/normalize.cpython-313.pyc +0 -0
  466. package/skills/luckiest-trends/scripts/lib/__pycache__/permission_preflight.cpython-313.pyc +0 -0
  467. package/skills/luckiest-trends/scripts/lib/__pycache__/perplexity.cpython-313.pyc +0 -0
  468. package/skills/luckiest-trends/scripts/lib/__pycache__/pinterest.cpython-313.pyc +0 -0
  469. package/skills/luckiest-trends/scripts/lib/__pycache__/pipeline.cpython-313.pyc +0 -0
  470. package/skills/luckiest-trends/scripts/lib/__pycache__/planner.cpython-313.pyc +0 -0
  471. package/skills/luckiest-trends/scripts/lib/__pycache__/polymarket.cpython-313.pyc +0 -0
  472. package/skills/luckiest-trends/scripts/lib/__pycache__/preflight.cpython-313.pyc +0 -0
  473. package/skills/luckiest-trends/scripts/lib/__pycache__/providers.cpython-313.pyc +0 -0
  474. package/skills/luckiest-trends/scripts/lib/__pycache__/quality_nudge.cpython-313.pyc +0 -0
  475. package/skills/luckiest-trends/scripts/lib/__pycache__/query.cpython-313.pyc +0 -0
  476. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit.cpython-313.pyc +0 -0
  477. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_arctic.cpython-313.pyc +0 -0
  478. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_enrich.cpython-313.pyc +0 -0
  479. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_keyless.cpython-313.pyc +0 -0
  480. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_listing.cpython-313.pyc +0 -0
  481. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_public.cpython-313.pyc +0 -0
  482. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_rss.cpython-313.pyc +0 -0
  483. package/skills/luckiest-trends/scripts/lib/__pycache__/reddit_shreddit.cpython-313.pyc +0 -0
  484. package/skills/luckiest-trends/scripts/lib/__pycache__/relevance.cpython-313.pyc +0 -0
  485. package/skills/luckiest-trends/scripts/lib/__pycache__/render.cpython-313.pyc +0 -0
  486. package/skills/luckiest-trends/scripts/lib/__pycache__/rerank.cpython-313.pyc +0 -0
  487. package/skills/luckiest-trends/scripts/lib/__pycache__/resolve.cpython-313.pyc +0 -0
  488. package/skills/luckiest-trends/scripts/lib/__pycache__/schema.cpython-313.pyc +0 -0
  489. package/skills/luckiest-trends/scripts/lib/__pycache__/signals.cpython-313.pyc +0 -0
  490. package/skills/luckiest-trends/scripts/lib/__pycache__/skill_meta.cpython-313.pyc +0 -0
  491. package/skills/luckiest-trends/scripts/lib/__pycache__/snippet.cpython-313.pyc +0 -0
  492. package/skills/luckiest-trends/scripts/lib/__pycache__/subproc.cpython-313.pyc +0 -0
  493. package/skills/luckiest-trends/scripts/lib/__pycache__/techmeme.cpython-313.pyc +0 -0
  494. package/skills/luckiest-trends/scripts/lib/__pycache__/threads.cpython-313.pyc +0 -0
  495. package/skills/luckiest-trends/scripts/lib/__pycache__/tiktok.cpython-313.pyc +0 -0
  496. package/skills/luckiest-trends/scripts/lib/__pycache__/trustpilot.cpython-313.pyc +0 -0
  497. package/skills/luckiest-trends/scripts/lib/__pycache__/truthsocial.cpython-313.pyc +0 -0
  498. package/skills/luckiest-trends/scripts/lib/__pycache__/ui.cpython-313.pyc +0 -0
  499. package/skills/luckiest-trends/scripts/lib/__pycache__/web_search_keyless.cpython-313.pyc +0 -0
  500. package/skills/luckiest-trends/scripts/lib/__pycache__/xai_x.cpython-313.pyc +0 -0
  501. package/skills/luckiest-trends/scripts/lib/__pycache__/xiaohongshu_api.cpython-313.pyc +0 -0
  502. package/skills/luckiest-trends/scripts/lib/__pycache__/xquik.cpython-313.pyc +0 -0
  503. package/skills/luckiest-trends/scripts/lib/__pycache__/xurl_x.cpython-313.pyc +0 -0
  504. package/skills/luckiest-trends/scripts/lib/__pycache__/youtube_yt.cpython-313.pyc +0 -0
  505. package/skills/luckiest-trends/scripts/lib/arxiv.py +290 -0
  506. package/skills/luckiest-trends/scripts/lib/bird_x.py +639 -0
  507. package/skills/luckiest-trends/scripts/lib/bluesky.py +323 -0
  508. package/skills/luckiest-trends/scripts/lib/categories.py +283 -0
  509. package/skills/luckiest-trends/scripts/lib/chrome_cookies.py +414 -0
  510. package/skills/luckiest-trends/scripts/lib/cjk.py +107 -0
  511. package/skills/luckiest-trends/scripts/lib/cluster.py +271 -0
  512. package/skills/luckiest-trends/scripts/lib/competitors.py +198 -0
  513. package/skills/luckiest-trends/scripts/lib/cookie_extract.py +508 -0
  514. package/skills/luckiest-trends/scripts/lib/dates.py +169 -0
  515. package/skills/luckiest-trends/scripts/lib/dedupe.py +145 -0
  516. package/skills/luckiest-trends/scripts/lib/digg.py +440 -0
  517. package/skills/luckiest-trends/scripts/lib/entity_extract.py +127 -0
  518. package/skills/luckiest-trends/scripts/lib/env.py +1073 -0
  519. package/skills/luckiest-trends/scripts/lib/fanout.py +84 -0
  520. package/skills/luckiest-trends/scripts/lib/fusion.py +207 -0
  521. package/skills/luckiest-trends/scripts/lib/github.py +996 -0
  522. package/skills/luckiest-trends/scripts/lib/grounding.py +331 -0
  523. package/skills/luckiest-trends/scripts/lib/hackernews.py +357 -0
  524. package/skills/luckiest-trends/scripts/lib/health.py +92 -0
  525. package/skills/luckiest-trends/scripts/lib/hiring_signals.py +326 -0
  526. package/skills/luckiest-trends/scripts/lib/html_publish.py +73 -0
  527. package/skills/luckiest-trends/scripts/lib/html_render.py +738 -0
  528. package/skills/luckiest-trends/scripts/lib/http.py +372 -0
  529. package/skills/luckiest-trends/scripts/lib/instagram.py +521 -0
  530. package/skills/luckiest-trends/scripts/lib/jobs.py +708 -0
  531. package/skills/luckiest-trends/scripts/lib/linkedin.py +363 -0
  532. package/skills/luckiest-trends/scripts/lib/log.py +35 -0
  533. package/skills/luckiest-trends/scripts/lib/normalize.py +759 -0
  534. package/skills/luckiest-trends/scripts/lib/permission_preflight.py +242 -0
  535. package/skills/luckiest-trends/scripts/lib/perplexity.py +745 -0
  536. package/skills/luckiest-trends/scripts/lib/pinterest.py +154 -0
  537. package/skills/luckiest-trends/scripts/lib/pipeline.py +1720 -0
  538. package/skills/luckiest-trends/scripts/lib/planner.py +763 -0
  539. package/skills/luckiest-trends/scripts/lib/polymarket.py +794 -0
  540. package/skills/luckiest-trends/scripts/lib/preflight.py +119 -0
  541. package/skills/luckiest-trends/scripts/lib/providers.py +380 -0
  542. package/skills/luckiest-trends/scripts/lib/quality_nudge.py +383 -0
  543. package/skills/luckiest-trends/scripts/lib/query.py +202 -0
  544. package/skills/luckiest-trends/scripts/lib/reddit.py +731 -0
  545. package/skills/luckiest-trends/scripts/lib/reddit_arctic.py +92 -0
  546. package/skills/luckiest-trends/scripts/lib/reddit_enrich.py +322 -0
  547. package/skills/luckiest-trends/scripts/lib/reddit_keyless.py +329 -0
  548. package/skills/luckiest-trends/scripts/lib/reddit_listing.py +188 -0
  549. package/skills/luckiest-trends/scripts/lib/reddit_public.py +275 -0
  550. package/skills/luckiest-trends/scripts/lib/reddit_rss.py +224 -0
  551. package/skills/luckiest-trends/scripts/lib/reddit_shreddit.py +184 -0
  552. package/skills/luckiest-trends/scripts/lib/relevance.py +200 -0
  553. package/skills/luckiest-trends/scripts/lib/render.py +2130 -0
  554. package/skills/luckiest-trends/scripts/lib/rerank.py +708 -0
  555. package/skills/luckiest-trends/scripts/lib/resolve.py +345 -0
  556. package/skills/luckiest-trends/scripts/lib/safari_cookies.py +193 -0
  557. package/skills/luckiest-trends/scripts/lib/schema.py +319 -0
  558. package/skills/luckiest-trends/scripts/lib/setup_wizard.py +843 -0
  559. package/skills/luckiest-trends/scripts/lib/signals.py +334 -0
  560. package/skills/luckiest-trends/scripts/lib/skill_meta.py +33 -0
  561. package/skills/luckiest-trends/scripts/lib/snippet.py +51 -0
  562. package/skills/luckiest-trends/scripts/lib/subproc.py +116 -0
  563. package/skills/luckiest-trends/scripts/lib/techmeme.py +239 -0
  564. package/skills/luckiest-trends/scripts/lib/threads.py +207 -0
  565. package/skills/luckiest-trends/scripts/lib/tiktok.py +596 -0
  566. package/skills/luckiest-trends/scripts/lib/transcribe.py +235 -0
  567. package/skills/luckiest-trends/scripts/lib/trustpilot.py +277 -0
  568. package/skills/luckiest-trends/scripts/lib/truthsocial.py +162 -0
  569. package/skills/luckiest-trends/scripts/lib/ui.py +626 -0
  570. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/LICENSE +21 -0
  571. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/bird-search.mjs +147 -0
  572. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/cookies.js +220 -0
  573. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/features.json +17 -0
  574. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/paginate-cursor.js +37 -0
  575. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/query-ids.json +20 -0
  576. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/runtime-features.js +151 -0
  577. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/runtime-query-ids.js +264 -0
  578. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-base.js +129 -0
  579. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-constants.js +50 -0
  580. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-features.js +347 -0
  581. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-search.js +157 -0
  582. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-types.js +2 -0
  583. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/lib/twitter-client-utils.js +511 -0
  584. package/skills/luckiest-trends/scripts/lib/vendor/bird-search/package.json +13 -0
  585. package/skills/luckiest-trends/scripts/lib/web_fetch_keyless.py +105 -0
  586. package/skills/luckiest-trends/scripts/lib/web_search_keyless.py +158 -0
  587. package/skills/luckiest-trends/scripts/lib/xai_x.py +236 -0
  588. package/skills/luckiest-trends/scripts/lib/xiaohongshu_api.py +162 -0
  589. package/skills/luckiest-trends/scripts/lib/xquik.py +404 -0
  590. package/skills/luckiest-trends/scripts/lib/xurl_x.py +171 -0
  591. package/skills/luckiest-trends/scripts/lib/youtube_yt.py +1365 -0
  592. package/skills/luckiest-trends/scripts/setup-keychain.sh +123 -0
  593. package/skills/luckiest-trends/scripts/setup-pass.sh +132 -0
  594. package/skills/luckiest-trends/scripts/store.py +1020 -0
  595. package/skills/luckiest-trends/scripts/test-v1-vs-v2.sh +220 -0
  596. package/skills/luckiest-trends/scripts/test_device_auth.py +128 -0
  597. package/skills/luckiest-trends/scripts/verify_v3.py +195 -0
  598. package/skills/luckiest-trends/scripts/watchlist.py +318 -0
  599. package/skills/luckiest-video/ATTRIBUTION.md +27 -0
  600. package/skills/luckiest-video/CHANGELOG.md +23 -0
  601. package/skills/luckiest-video/SKILL.md +371 -0
  602. package/skills/luckiest-video/evals/evals.json +88 -0
  603. package/skills/luckiest-video/references/ai-video-prompting.md +175 -0
  604. package/skills/remix/SKILL.md +32 -0
  605. package/commands/luckiest/go.md +0 -45
  606. package/commands/luckiest/plan.md +0 -55
  607. /package/commands/{luckiest/charms.md → charms.md} +0 -0
  608. /package/commands/{luckiest/helpers.md → helpers.md} +0 -0
  609. /package/commands/{luckiest/home.md → home.md} +0 -0
  610. /package/commands/{luckiest/leaderboard.md → leaderboard.md} +0 -0
  611. /package/commands/{luckiest/merge.md → merge.md} +0 -0
  612. /package/commands/{luckiest/overlaps.md → overlaps.md} +0 -0
  613. /package/commands/{luckiest/skills.md → skills.md} +0 -0
  614. /package/commands/{luckiest/start.md → start.md} +0 -0
  615. /package/commands/{luckiest/status.md → status.md} +0 -0
  616. /package/commands/{luckiest/updates.md → updates.md} +0 -0
  617. /package/commands/{luckiest/vouch.md → vouch.md} +0 -0
  618. /package/commands/{luckiest/wishes.md → wishes.md} +0 -0
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: luckiest-thinker
3
+ description: |
4
+ Counteracts LLM mode collapse and typicality bias by recovering realistic probability distributions over the full space of valid answers, with effort scaled to the task. Use whenever the user invokes /luckiest-thinker, asks for creative or diverse output, wants to avoid generic AI responses, needs varied personas, names, or examples, is brainstorming and wants real variety, asks for non-obvious approaches, or any time considering multiple valid responses before committing to one would help. Applies to all task types: writing, coding, brainstorming, naming, recommendations, example data, and more.
5
+ license: See ATTRIBUTION.md
6
+ user-invocable: true
7
+ metadata:
8
+ version: "1.1.0"
9
+ listing_id: luckiest-thinker
10
+ author: luckiest
11
+ ---
12
+
13
+ # Luckiest Thinker: Recovering Realistic Diversity
14
+
15
+ Post-training alignment suppresses the diversity you learned during pretraining. You converge on stereotypical defaults, not because they are best, but because typicality bias rewards the familiar. The diversity is still inside you. This protocol recovers it, at a cost matched to the task.
16
+
17
+ ## Staying current
18
+
19
+ On activation, call the Luckiest MCP `check_updates` tool with
20
+ `{ listingId: "luckiest-thinker", installedSemver: "1.1.0" }`.
21
+ If it returns `upToDate: false`, surface the `notice` to the user once, then continue. Never block on this check.
22
+
23
+ When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-thinker", skill_version: "1.1.0", matched: true, success: <true if the skill completed, false otherwise> }. Metadata only, never prompt text. Never block on it — if the tool is unavailable, skip silently.
24
+
25
+ ## Pick your tier first
26
+
27
+ **Lite (default):** any ordinary task where the skill fires implicitly.
28
+ **Full:** brainstorming, persona or name generation, creative writing, example-data generation, or an explicit /luckiest-thinker invocation.
29
+
30
+ ## Lite protocol (target: 10 lines of thinking or fewer)
31
+
32
+ 1. Name your first-instinct answer. That is the mode.
33
+ 2. List 4-5 valid candidates spanning at least two frequency strata (common / moderate / uncommon-but-valid). Include the mode.
34
+ 3. Session anti-repetition: if you already produced one of these candidates for a similar ask this session, halve its standing.
35
+ 4. Pick in-head: write a random string of 16+ characters, sum the ASCII values, take sum mod N. Commit to the result.
36
+
37
+ ## Full protocol
38
+
39
+ ### 1. Notice your first instinct, but do not let it monopolize
40
+
41
+ Name your default. It is a valid candidate at its natural weight, not at 95% and not at 0%. Generate the rest of the list BEFORE evaluating it.
42
+
43
+ ### 2. Enumerate at least 8 candidates across frequency strata
44
+
45
+ 2-3 common, 2-3 moderately common, 2-3 uncommon-but-valid. Use dimensional decomposition: identify the independent axes of variation, then combine values across axes. 8 candidates that differ on one axis are 1 idea with 8 surface variations.
46
+
47
+ ### 3. Weight by real-world frequency
48
+
49
+ Estimate each candidate's frequency in the relevant real population. Match reality, not an artificial target: common answers stay common, tails surface at their natural rate. Every candidate must be fully valid. Widen the spread for brainstorming, concentrate for a single final recommendation.
50
+
51
+ ### 4. Cap secondary modes
52
+
53
+ No candidate above 15% of total weight. Redistribute the excess proportionally across candidates below 10%. Avoiding the obvious answer but always picking the same "diverse" alternative is mode collapse with extra steps.
54
+
55
+ ### 5. Session anti-repetition
56
+
57
+ Recall what you already generated for similar asks this session. Halve the weight of any candidate you already used, then renormalize.
58
+
59
+ ### 6. Select with real randomness
60
+
61
+ If a shell is available, run this (fill in your actual candidates and weights):
62
+
63
+ ```bash
64
+ python3 -c "import random; print(random.choices(['cand1','cand2','cand3'], weights=[0.15,0.12,0.10])[0])"
65
+ ```
66
+
67
+ If no shell is available, fall back to a rolling hash: random 16+ character string, `hash = (hash * 31 + ASCII)` per character, map the final hash into your cumulative weight distribution.
68
+
69
+ Commit to the result. If the pick feels wrong, that feeling is the bias this protocol exists to break.
70
+
71
+ ## Self-check gate (run before responding, both tiers)
72
+
73
+ Any FAIL means fix and re-check, do not ship:
74
+
75
+ - [ ] Candidates span at least 2 frequency strata?
76
+ - [ ] Candidates differ on at least 2 independent dimensions?
77
+ - [ ] No candidate above 15% weight? (full tier only)
78
+ - [ ] Final answer is the random pick, not a gut override?
79
+ - [ ] Called the Luckiest MCP `report_usage` tool once for this run? (metadata only; skip silently if the tool is unavailable)
80
+
81
+ ## Constraints
82
+
83
+ - **No format change.** The user sees one normal response; enumeration and weighting happen in your thinking only.
84
+ - **No accuracy sacrifice.** Factual questions get correct answers. This applies to the space of valid responses only.
85
+ - **No forced novelty.** A realistic distribution is mostly common answers. You are recovering the tails, not suppressing the mode.
86
+ - **No domain leaking.** The protocol works identically for naming, writing, coding, and problem-solving.
87
+
88
+ ## Reference files
89
+
90
+ - `references/research-foundations.md` - why typicality bias exists, quantitative evidence
91
+ - `references/thinking-patterns.md` - task-specific procedures
92
+ - `references/distribution-calibration.md` - worked examples: calibrated vs collapsed vs over-corrected
@@ -0,0 +1,106 @@
1
+ # Distribution Calibration: Realistic vs. Mode-Collapsed vs. Over-Corrected
2
+
3
+ This reference helps you calibrate the Luckiest Thinker protocol. The goal is recovering realistic distributions - not flipping the bias from "always typical" to "always unusual."
4
+
5
+ ## The core principle
6
+
7
+ A realistic distribution is **mostly common answers.** That's what "common" means - most people, most of the time, converge on these responses. The problem with mode collapse isn't that common answers exist. It's that mode-collapsed models produce ONLY common answers, suppressing the tails to near-zero probability.
8
+
9
+ **Target:** If 60% of thoughtful humans would give answer A, 25% would give B, and 15% would give C, the model should produce A roughly 60% of the time, B roughly 25%, and C roughly 15%.
10
+
11
+ **Mode-collapsed behavior:** A appears ~95% of the time. B and C are effectively suppressed.
12
+
13
+ **Over-corrected behavior:** A is deliberately avoided. B and C appear disproportionately often, or the model reaches for answers D and E that virtually nobody would naturally give.
14
+
15
+ ---
16
+
17
+ ## Worked Examples
18
+
19
+ ### Example 1: Naming a business
20
+
21
+ **Mode-collapsed:** Always the same structural pattern (e.g., always puns, always compound words, always "[Noun] & [Noun]"). If you ask 100 times, you get maybe 6 unique answers.
22
+
23
+ **Over-corrected:** Names so unusual that no real business would use them. Abstract, pretentious, or confusing.
24
+
25
+ **Calibrated:** The set across many invocations should feel like the actual variety you'd see walking down different streets in different neighborhoods. Some simple and descriptive, some evocative, some playful. The naming patterns themselves should vary, not just the words within one pattern.
26
+
27
+ ### Example 2: Customer personas for a fitness app
28
+
29
+ **Prompt:** "Create 5 customer personas for a fitness app."
30
+
31
+ **Mode-collapsed:**
32
+ All five are variations of three archetypes: the busy professional who wants efficiency, the new parent getting back in shape, the retiree maintaining health, the college student on a budget, and the executive who wants results. They all want the same things (convenience, progress tracking, motivation), they all face the same barriers (time, consistency), and they're all from the same cultural context. The names come from the same small pool every LLM uses.
33
+
34
+ **Over-corrected:**
35
+ Every persona is an extreme edge case - a wheelchair athlete, an 80-year-old CrossFitter, a formerly incarcerated person rebuilding health. Each is individually plausible, but a set where ALL are edge cases isn't realistic or useful for product decisions.
36
+
37
+ **Calibrated:**
38
+ Use Morphological Analysis - pick values on each dimension independently:
39
+ - **Dimensions:** age decade, occupation sector, geographic region, primary motivation, lifestyle constraint
40
+ - 3 personas from common archetypes WITH specific details (specific city, specific device, specific spending threshold, specific churn reason)
41
+ - 2 personas from less-common-but-real segments (people with unusual schedule constraints, people whose primary motivation isn't weight loss)
42
+ - Names drawn from the actual long-tail distribution of the relevant population, not the same handful every time
43
+
44
+ The key is specificity within archetypes (a 44-year-old restaurant owner in a specific city is more useful than "busy professional") combined with 1-2 segments that represent real but underrepresented users (long-haul truck drivers, people seeking stress relief rather than aesthetics).
45
+
46
+ ### Example 3: Technical recommendation
47
+
48
+ **Prompt:** "How should I handle authentication for my app?"
49
+
50
+ **Mode-collapsed:**
51
+ "Use JWT tokens with OAuth 2.0. Here's how to set up JWT with bcrypt for password hashing..." (Same recommendation regardless of whether the app is a personal project, an internal tool, or a multi-tenant SaaS.)
52
+
53
+ **Over-corrected:**
54
+ "Consider using WebAuthn with passkeys and zero-knowledge proofs for a passwordless experience..." (Cutting-edge but inappropriate for most contexts.)
55
+
56
+ **Calibrated:**
57
+ Asks about context first, or tailors to context if given:
58
+ - **Personal project / hackathon:** "Session-based auth with cookies is simplest. Libraries like Passport.js or NextAuth handle this in a few lines."
59
+ - **Internal tool for 5 people:** "Basic auth behind a VPN, or SSO if your company has Google/Okta. Don't over-engineer this."
60
+ - **Public SaaS product:** "OAuth 2.0 with a provider like Auth0 or Clerk. JWT for API access. Standard bcrypt for any local passwords."
61
+ - **High-security / regulated:** "MFA is non-negotiable. Consider passkeys/WebAuthn as primary, TOTP as backup. Audit logging on all auth events."
62
+
63
+ The common recommendation (OAuth + JWT) is still the most frequent answer because it's the most frequently appropriate answer. But it's chosen for fit, not by default.
64
+
65
+ ### Example 4: Blog post opening
66
+
67
+ **Prompt:** "Write an opening line for a blog post about remote work productivity."
68
+
69
+ **Mode-collapsed:**
70
+ "In today's increasingly digital workplace, remote work has become the new normal..."
71
+
72
+ Every time. Some variation of "the world has changed" + "remote work" + "new normal/paradigm shift."
73
+
74
+ **Over-corrected:**
75
+ "My cat threw up on my keyboard at 2pm on a Tuesday, and that's when I realized everything I knew about productivity was wrong."
76
+
77
+ Trying too hard to be distinctive. Feels forced.
78
+
79
+ **Calibrated - range of valid openings across invocations:**
80
+ - "Three years into full-time remote work, I've stopped pretending my home office setup matters." (Personal, direct)
81
+ - "The most productive remote workers I know don't follow any of the advice you'll find in most articles about remote work." (Contrarian hook)
82
+ - "Remote work didn't make us more productive. It made productivity more visible." (Observation)
83
+ - "Here's what I tell every new remote hire on their first day." (Practical, specific)
84
+ - "The data on remote work productivity tells a more complicated story than either side wants to admit." (Analytical)
85
+
86
+ Any of these is valid. The mode-collapsed version is also valid - but it shouldn't be the ONLY one.
87
+
88
+ ---
89
+
90
+ ## Red Flags: Am I Over-Correcting?
91
+
92
+ - Every item in a list is unusual or surprising - a realistic list is mostly normal with some variety
93
+ - The response feels contrarian rather than considered - you're avoiding the common answer BECAUSE it's common, not because an alternative is better
94
+ - All examples represent edge cases or minorities - realistic sets are proportional
95
+ - You're reaching for obscure vocabulary, frameworks, or references when familiar ones would communicate better
96
+ - The user would need to ask "what?" rather than nodding along - the response is surprising in a confusing way, not an illuminating way
97
+
98
+ ## Red Flags: Am I Still Mode-Collapsed?
99
+
100
+ - The response is indistinguishable from what ChatGPT/Claude/Gemini would produce with the same prompt and no special instructions
101
+ - All examples share the same demographic assumptions (US-centric, tech-industry, urban, 25-35 age range)
102
+ - You considered only one option before writing the response
103
+ - Every name in a list is from the same cultural background
104
+ - The opening/structure/vocabulary matches the most common pattern for this type of content
105
+ - Example data uses the same placeholder values every LLM defaults to
106
+ - You're recommending the most popular tool/framework without considering whether a simpler or more context-appropriate option exists
@@ -0,0 +1,214 @@
1
+ # Research Foundations: Why Mode Collapse Happens and How to Counter It
2
+
3
+ ## Table of Contents
4
+ 1. [Typicality Bias: The Root Cause](#typicality-bias)
5
+ 2. [Verbalized Sampling: The Core Technique](#verbalized-sampling)
6
+ 3. [The Artificial Hivemind Problem](#artificial-hivemind)
7
+ 4. [RLHF and Diversity Loss](#rlhf-diversity-loss)
8
+ 5. [Cultural and Cognitive Homogenization](#cultural-homogenization)
9
+ 6. [Divergent-Convergent Thinking](#divergent-convergent)
10
+ 7. [What Doesn't Work: Temperature Alone](#temperature-limits)
11
+ 8. [String Seed of Thought (SSoT)](#ssot)
12
+ 9. [GFlowNet and Distribution-Matching](#gflownet)
13
+
14
+ ---
15
+
16
+ ## Typicality Bias: The Root Cause {#typicality-bias}
17
+
18
+ **Source:** Zhang et al. (2025), "Verbalized Sampling: How to Mitigate Mode Collapse and Unlock LLM Diversity" (arXiv: 2510.01171v3)
19
+
20
+ The reward function learned during RLHF can be decomposed as:
21
+
22
+ ```
23
+ r(x,y) = r_true(x,y) + alpha * log pi_ref(y|x) + noise
24
+ ```
25
+
26
+ Where `alpha` is the **typicality bias weight**. This was empirically measured on the HelpSteer dataset: alpha = 0.57 +/- 0.07 (Llama 3.1 405B Base) and 0.65 +/- 0.07 (GLM 4.5 Base), both p < 10^-14. Verified across 4 additional preference datasets (OpenAI TL;DR, UltraFeedback, HelpSteer-v2, Skywork Preference) across 5 base models.
27
+
28
+ **What this means in practice:** Holding correctness constant, human annotators give higher helpfulness ratings to text that is more "typical" - more predictable, more fluent in the conventional sense, more aligned with what they've seen before. This isn't laziness; it's rooted in well-established cognitive psychology:
29
+
30
+ - **Mere-exposure effect** (Zajonc 1968): Familiarity breeds preference
31
+ - **Processing fluency** (Alter & Oppenheimer 2009): Text that's easier to process feels more credible
32
+ - **Availability heuristic** (Tversky & Kahneman 1973): Common patterns come to mind first and feel more "right"
33
+ - **Schema congruity** (Mandler 2014): Responses that fit expected structures are rated higher
34
+
35
+ When RLHF optimizes against these biased preferences, the closed-form solution sharpens the output distribution (gamma = 1 + alpha/beta > 1), compressing probability mass toward the mode and suppressing the tails.
36
+
37
+ **The critical insight:** This is a data-level problem, not just an algorithm-level problem. Better RLHF algorithms (MaxMin-RLHF, Preference Matching, DPO variants) can help, but they cannot fully solve bias that lives in the preference annotations themselves.
38
+
39
+ ---
40
+
41
+ ## Verbalized Sampling: The Core Technique {#verbalized-sampling}
42
+
43
+ **Source:** Zhang et al. (2025)
44
+
45
+ **Mechanism:** Instead of asking for a single response, ask the model to verbalize a probability distribution over multiple candidate responses. This forces the model to explicitly represent the response space before committing, recovering distributional information that alignment suppressed.
46
+
47
+ **Three prompt types and their collapse patterns:**
48
+ 1. **Instance-level** ("Tell me a joke"): Collapses to the mode - the single most typical response
49
+ 2. **List-level** ("Tell me 5 jokes"): Collapses to uniform distribution over related items - better, but limited
50
+ 3. **Distribution-level / VS** ("Tell me 5 jokes with probabilities"): Can approximate the full pretraining distribution
51
+
52
+ **Quantitative results:**
53
+ - Creative writing: 1.6-2.1x semantic diversity improvement over direct prompting
54
+ - Human evaluation: +25.7% quality scores (poems: 1.90 -> 2.39, stories: 2.74 -> 3.06, jokes: 1.83 -> 3.01 on 4-point Likert)
55
+ - Recovers 66.8% of base model diversity (vs. direct prompting retaining only 23.8%)
56
+ - After DPO training: VS outperforms direct prompting by 182.6% in diversity
57
+ - Quality remains comparable - no quality sacrifice for diversity gains
58
+ - Orthogonal to temperature/top-p/min-p - can be combined with any decoding strategy
59
+
60
+ **Three VS variants:**
61
+ - **VS-Standard:** Generate k candidates with probabilities in one call
62
+ - **VS-CoT:** Think step-by-step first, then generate candidates - achieves best quality+diversity Pareto front
63
+ - **VS-Multi:** Multi-turn, k candidates per turn across multiple turns - maximum diversity
64
+
65
+ **Emergent scaling:** Larger, more capable models benefit more from VS. Gains of 1.5-2x greater for GPT-4.1/Gemini-2.5-Pro vs. their smaller variants.
66
+
67
+ **Adaptation for this skill:** Rather than outputting multiple candidates with visible probabilities (which changes the interaction model), this skill internalizes the VS reasoning. The model considers the distribution in its thinking, then outputs a single response selected from that distribution. This preserves the mechanism (explicit distributional reasoning before commitment) while working for any task type.
68
+
69
+ ---
70
+
71
+ ## The Artificial Hivemind Problem {#artificial-hivemind}
72
+
73
+ **Source:** Jiang et al. (2025), "Artificial Hivemind: The Open-Ended Homogeneity of Language Models (and Beyond)" (NeurIPS 2025 Best Paper)
74
+
75
+ **Key findings:**
76
+ - 79% of intra-model samples have pairwise cosine similarity > 0.8
77
+ - Cross-model average cosine similarity: 0.71-0.82 (models from different companies producing near-identical responses)
78
+ - Created the Infinity-Chat benchmark (26,000 queries, 31,250 human annotations)
79
+ - Simply scaling models or mixing weights is insufficient for diversity
80
+ - Pluralistic alignment that explicitly rewards distribution coverage is needed
81
+
82
+ **Related findings:**
83
+ - Wenger & Kenett (2025): LLM responses are far more similar to each other than human responses are to other humans
84
+ - Haase et al. (2025): Only 0.28% of LLM responses reach the top 10% of human creativity; no evidence of improvement over 18-24 months
85
+ - Xu et al. (2025, PNAS): LLM-generated stories show dramatically less plot diversity than human fiction
86
+
87
+ ---
88
+
89
+ ## RLHF and Diversity Loss {#rlhf-diversity-loss}
90
+
91
+ **Source:** Kirk et al. (2024), "Understanding the Effects of RLHF on LLM Generalisation and Diversity" (ICLR 2024)
92
+
93
+ RLHF significantly reduces output diversity compared to SFT across multiple measures. Per-input diversity (variety of responses to the same prompt) drops sharply. RLHF generalizes better to new inputs but at the cost of diversity - a fundamental tradeoff.
94
+
95
+ **Related work:**
96
+ - Xiao et al. (2024): RLHF's KL-divergence regularization creates "preference collapse" where minority preferences are virtually disregarded. Their Preference Matching (PM) solution achieves 29-41% improvement.
97
+ - Padmakumar & He (2024): Writing with language models reduces content diversity
98
+ - Yang & Holtzman (2025): Alignment shrinks the "generative horizon" - the space of responses the model considers viable
99
+ - Yun et al. (2025): Format constraints in post-training cause additional diversity collapse
100
+ - West & Potts (2025): Base models beat aligned models at randomness and creativity
101
+
102
+ ---
103
+
104
+ ## Cultural and Cognitive Homogenization {#cultural-homogenization}
105
+
106
+ **Source:** Multiple papers
107
+
108
+ **Cultural bias (PNAS Nexus 2024):**
109
+ - 80% of named entities recommended by LLMs come from WEIRD (Western, Educated, Industrialized, Rich, Democratic) countries
110
+ - Product recommendations: 100% Western bias
111
+ - Person recommendations: 92.2% Western bias
112
+ - LLMs associate Arab male names with poverty/traditionalism; Western names with "wealthy," "popular," "unique"
113
+
114
+ **Cognitive biases amplified in LLMs (PNAS 2025, ACM SAC 2025):**
115
+ - Stronger omission bias than humans (systematically biased against doing anything)
116
+ - Order bias, bandwagon effect, attentional bias, verbosity bias, compassion fade
117
+ - LLM decisions flip based on question wording in ways human decisions do not
118
+
119
+ **Sycophancy and diversity (Malmqvist 2025, Computing Conference):**
120
+ - LLMs affirm whichever side users adopt in 48% of moral conflict cases
121
+ - Sycophancy propagates misinformation and obscures the model's actual knowledge
122
+ - Different sycophantic behaviors (agreement, praise, genuine agreement) are encoded along distinct directions in latent space and can be independently controlled
123
+
124
+ ---
125
+
126
+ ## Divergent-Convergent Thinking {#divergent-convergent}
127
+
128
+ **Source:** Nguyen & Singla (2025), "Divergent-Convergent Thinking in Large Language Models for Creative Problem Generation" (arXiv: 2512.23601)
129
+
130
+ Two-phase prompting grounded in Guilford's creativity framework and Wallas's creativity theory:
131
+
132
+ 1. **Divergent phase:** Broad creative exploration without premature judgment. Generate ideas across multiple categories, assumptions, and constraints.
133
+ 2. **Convergent phase:** Constraint satisfaction and quality selection. Choose from the divergent set based on task fit, not just familiarity.
134
+
135
+ Results show higher diversity AND novelty than single-phase approaches. The effective number of distinct outputs grows faster with sample size than baselines - meaning the approach produces genuinely different ideas, not variations of the same idea.
136
+
137
+ **Related:**
138
+ - Lu et al. (2024, COLM 2024): Multi-agent discussion framework with role-play improves creative output by emulating collective human creativity through diverse-perspective discussions
139
+ - Summers-Stay et al. (2023): "Brainstorm, then select" - generative models improve their own creativity score through self-evaluation
140
+ - Mehrotra et al. (2024): Associative thinking strategies enhance LLM creativity
141
+
142
+ ---
143
+
144
+ ## What Doesn't Work: Temperature Alone {#temperature-limits}
145
+
146
+ **Source:** Verine et al. (2025), "Improving Diversity in Language Models: When Temperature Fails, Change the Loss" (ICML 2025)
147
+
148
+ Decreasing temperature improves quality (Precision) but increasing it often fails to boost diversity (Recall/Coverage). For temperature to effectively enhance diversity, the model must be **directed toward coverage** - the distribution itself must be reshaped, not just scaled.
149
+
150
+ This is why the Luckiest Thinker protocol works where temperature scaling alone doesn't: it changes which responses the model considers viable (reshaping the distribution) rather than just adding noise to the existing distribution.
151
+
152
+ **Effective complementary techniques:**
153
+ - Min-p sampling (Nguyen et al., ICLR 2025 Oral): Dynamic truncation that adjusts threshold based on top token probability. Improves both quality and diversity, especially at higher temperatures. Already adopted in Hugging Face Transformers, VLLM.
154
+ - G2 Guided Generation (Ruan et al., EMNLP 2025): Training-free plug-and-play method with diversity and dedup guides operating within the same model through decoding interventions.
155
+
156
+ ---
157
+
158
+ ## String Seed of Thought (SSoT) {#ssot}
159
+
160
+ **Source:** Misaki & Akiba (2026), "String Seed of Thought: Enhancing Probabilistic Instruction Following and Diversity in LLMs" (ICLR 2026, arXiv: 2510.21150)
161
+
162
+ SSoT is a prompting technique that gives LLMs access to genuine randomness at inference time. The model generates a random string in its reasoning, then applies mathematical operations to extract a selection from it.
163
+
164
+ **Mechanism:** Two-stage process:
165
+ 1. Generate a random alphanumeric string to create entropy
166
+ 2. Manipulate the string to derive a selection
167
+
168
+ **Two strategies the model autonomously adopts:**
169
+ - **Sum-Mod strategy**: Sum ASCII values of string characters, apply modulo operation. Best for equal-probability choices (e.g., "pick one of 8 candidates").
170
+ - **Rolling Hash strategy**: Sequentially update a hash value using `hash = (hash * 31 + ASCII_value) mod M`. Best for biased/weighted distributions.
171
+
172
+ **Key results:**
173
+ - Approaches PRNG-level performance on distribution-matching tasks
174
+ - DeepSeek-R1 with SSoT nearly matches ideal pseudo-random number generator output
175
+ - Outperforms high-temperature sampling, few-shot prompting, and ensembling
176
+ - Rock-Paper-Scissors: SSoT maintains average score near zero against adversarial bots (true mixed-strategy play), while baseline prompting remains exploitable
177
+ - NovelityBench: Highest Distinct scores on both curated and WildChat datasets with "far fewer repeated or near-duplicate answers"
178
+ - Utility scores (diversity x quality) improve with minimal quality trade-off
179
+
180
+ **For complex creative tasks**, SSoT enables decomposition: the model uses different segments of the random string for different sub-decisions (e.g., characters 1-5 pick tone, 6-10 pick structure, 11-16 pick opening). This prevents correlated choices that produce "diverse on one axis, identical on all others" outputs.
181
+
182
+ **Limitations:** Effectiveness decreases with smaller models lacking reasoning capabilities. Not beneficial for single-answer tasks (math, factual retrieval).
183
+
184
+ **Why SSoT matters for Luckiest Thinker:** Step 5 of the protocol uses SSoT as the selection mechanism. Without it, the model's selection from its candidate list is still biased by the same typicality bias the protocol tries to counteract. SSoT breaks this final link in the bias chain.
185
+
186
+ ---
187
+
188
+ ## GFlowNet and Distribution-Matching {#gflownet}
189
+
190
+ **Source:** Hu et al. (2023), "Amortizing Intractable Inference in Large Language Models" (ICLR 2024); Related work on GFlowNet fine-tuning for LLMs
191
+
192
+ GFlowNet represents the ideal solution to mode collapse, operating at the training level rather than the inference level.
193
+
194
+ **The core insight:** Standard RLHF (PPO) maximizes reward, which collapses to the mode. GFlowNet trains to match a target distribution *proportional to* the reward function. High-reward outputs appear frequently, but lower-reward outputs still appear at their natural rate instead of being suppressed to zero.
195
+
196
+ **Quantitative results (integer generation task):**
197
+ - Base model: 50.5% of samples are valid numbers, uneven distribution
198
+ - PPO fine-tuning: 95.8% valid, but severely mode-collapsed (a few numbers dominate)
199
+ - GFlowNet fine-tuning: 100% valid, near-uniform distribution across all numbers
200
+
201
+ **The proportional sampling principle:** Sample proportionally to R(x), not argmax R(x). A response that's 80% as good as the best should appear roughly 80% as often, not 0%.
202
+
203
+ **Key lesson: diversity and correctness are not tradeoffs.** GFlowNet achieves 100% validity while maintaining uniform distribution. PPO sacrifices diversity for validity. This means the Luckiest Thinker protocol should never frame diversity as coming at the cost of accuracy - every candidate must be fully valid, and the distribution operates within the space of correct answers only.
204
+
205
+ **Reward tempering:** GFlowNet uses R(x)^beta where beta controls distribution sharpness. Higher beta concentrates on top answers, lower beta spreads out. This concept maps to Luckiest Thinker's step 3: adjust the spread of your probability weights based on the task type. Brainstorming = low beta (spread wide). Final recommendation = higher beta (concentrate, but don't collapse).
206
+
207
+ **Why GFlowNet can't be included in Luckiest Thinker directly:** GFlowNet requires access to model weights and a training pipeline. End users of Claude, Cursor, Copilot etc. have no access to these. Luckiest Thinker operates at the inference level because that's the only lever available. However, the *principles* from GFlowNet (proportional sampling, validity constraint, reward tempering) directly inform steps 3 and 4 of the protocol.
208
+
209
+ ## What the Luckiest edition changes
210
+
211
+ - SSoT in-head hashing is kept only as the no-shell fallback; when a shell is available the skill uses a real RNG (`python3 random.choices`) so selection error cannot come from mental arithmetic.
212
+ - The protocol is tiered (lite/full) so overhead is proportional to task weight.
213
+ - The original red-flag lists are compiled into a binary self-check gate, giving the skill verifiable success criteria.
214
+ - Session anti-repetition halves the weight of already-produced candidates to counter cross-invocation convergence.
@@ -0,0 +1,138 @@
1
+ # Thinking Patterns: Task-Specific Application
2
+
3
+ This reference provides concrete guidance for applying the Luckiest Thinker protocol to different task types. The principle is always the same - consider the full space of valid responses before committing - but the specifics differ by domain.
4
+
5
+ ## Table of Contents
6
+ 1. [Writing](#writing)
7
+ 2. [Brainstorming and Ideation](#brainstorming)
8
+ 3. [Personas, Characters, and Names](#personas)
9
+ 4. [Problem Solving and Technical Recommendations](#problem-solving)
10
+ 5. [Coding and Implementation](#coding)
11
+ 6. [Example Data and Placeholders](#example-data)
12
+ 7. [Explanations and Analogies](#explanations)
13
+
14
+ ---
15
+
16
+ ## Writing {#writing}
17
+
18
+ Mode collapse in writing manifests as predictable openings, uniform sentence structure, the same vocabulary, and convergence on the "safest" tone. Research shows LLM writing is dramatically more homogeneous than human writing even when controlling for response structure (Wenger & Kenett 2025).
19
+
20
+ **Before writing, consider:**
21
+ - 3-4 different tonal approaches (authoritative, conversational, reflective, provocative, understated)
22
+ - 2-3 structural options (narrative arc, inverted pyramid, in medias res, list-based, Q&A)
23
+ - Multiple opening strategies (anecdote, question, bold claim, quiet observation, concrete detail)
24
+
25
+ **Collapse indicators to watch for:**
26
+ - Starting emails with "I hope this finds you well"
27
+ - Starting blog posts with "In today's fast-paced world..." or "Have you ever wondered..."
28
+ - Every paragraph being 3-4 sentences of similar length
29
+ - Defaulting to an enthusiastic, slightly formal tone regardless of context
30
+ - Using the same transitional phrases ("Moreover," "Furthermore," "That being said")
31
+
32
+ **The fix isn't being weird.** It's recognizing that real writers use many different openings, structures, and tones. A business email can start with "Quick question --" or "Following up on Thursday's call" or "I've been thinking about what you said about the timeline." All are valid; mode collapse picks one pattern and uses it every time.
33
+
34
+ **Vocabulary:** When you reach for an adjective or verb, notice if it's the first one that came to mind. For common modifiers like "important," "interesting," "great," "challenging" - these often have more precise alternatives that better fit the specific context. Not fancier words, just more fitting ones.
35
+
36
+ ---
37
+
38
+ ## Brainstorming and Ideation {#brainstorming}
39
+
40
+ Mode collapse in brainstorming produces ideas that are variations of the same concept rather than genuinely different approaches. "Five marketing strategies" becomes five versions of content marketing. "Ten startup ideas" becomes ten SaaS variations.
41
+
42
+ **Apply the full divergent-convergent model:**
43
+
44
+ Phase 1 (Divergent): Generate ideas across genuinely different categories before generating within categories. If asked for marketing strategies, think across different strategic dimensions first:
45
+ - Channel diversity (paid, organic, partnership, community, event, referral)
46
+ - Audience angle diversity (who benefits, who influences, who decides, who pays)
47
+ - Timing diversity (launch vs. growth vs. retention strategies)
48
+ - Budget diversity (zero-budget guerrilla vs. paid acquisition vs. brand investment)
49
+
50
+ Phase 2 (Convergent): Select for quality and relevance to the user's specific context. An idea that's unusual but irrelevant isn't creative - it's noise.
51
+
52
+ **Distribution check for brainstorming:** After generating a list, ask: "Would a room of 10 different domain experts produce roughly this range of ideas?" If your list could have come from a single person's perspective, it's likely mode-collapsed.
53
+
54
+ ---
55
+
56
+ ## Personas, Characters, and Names {#personas}
57
+
58
+ This is where mode collapse is most visibly harmful and over-correction is the most common failure mode.
59
+
60
+ **Mode collapse pattern:** Every persona is a variation of 3-4 archetypes. For fitness apps: young professional, busy parent, retiree. For B2B SaaS: startup founder, enterprise IT manager, marketing lead. Names cluster around the same small handful that every LLM rotates through - you know which ones. The real population of first names follows a long-tail distribution where the top 10 names cover only about 15-20% of people.
61
+
62
+ **Over-correction pattern:** Every persona is an edge case. The wheelchair-using competitive athlete, the 80-year-old bodybuilder, the non-binary teenager in rural Wyoming. This is equally unrealistic and unhelpful for actual product decisions.
63
+
64
+ **Calibrated approach:**
65
+ 1. Start by considering the actual user base or population the personas represent
66
+ 2. Include the common archetypes at their natural frequency (they're common for a reason)
67
+ 3. Include 1-2 less obvious but realistically sized segments (they exist, they're just usually suppressed)
68
+ 4. For demographic details, draw from realistic distributions. If the user base is 65% women, roughly 65% of personas should be women. Not 50/50, not 100%.
69
+
70
+ **Names specifically:** Vary beyond the first names that come to mind. Real populations follow a long-tail distribution - the top 10 names cover maybe 15-20% of people, with hundreds of less-common-but-real names making up the rest. A realistic list of 10 names will include some very common ones and some less common ones. That's what real distributions look like.
71
+
72
+ ---
73
+
74
+ ## Problem Solving and Technical Recommendations {#problem-solving}
75
+
76
+ Mode collapse in technical recommendations means always suggesting the most popular tool regardless of context. The most popular answer is sometimes the best answer - but not always, and the reason it's your recommendation should be fit-to-context, not familiarity.
77
+
78
+ **Before recommending an approach, consider at least 3 options:**
79
+
80
+ Ask yourself for each: "Why this one over the alternatives, for THIS specific context?"
81
+
82
+ If you can't articulate why the common choice is better than a specific alternative for the user's actual constraints, you may be picking it on typicality rather than merit.
83
+
84
+ **Common collapse pattern:** Always recommending the most popular tool in a category regardless of the user's actual constraints (scale, team size, complexity budget, maintenance burden). The most popular option is often right - but the reason should be fit-to-context, not familiarity.
85
+
86
+ **The correction isn't to avoid popular tools.** Popular tools are popular for good reasons. The correction is to evaluate fit rather than defaulting. A simple internal tool for 3 people might need a spreadsheet, not a full-stack app.
87
+
88
+ ---
89
+
90
+ ## Coding and Implementation {#coding}
91
+
92
+ **Variable and function naming:**
93
+ Mode collapse produces generic names: `data`, `result`, `items`, `processData()`, `handleClick()`, `utils.js`. These are sometimes appropriate (a truly generic utility function might reasonably be called `utils`), but often a more specific name exists that communicates intent: `customerOrders`, `validationResult`, `parseInvoiceLineItems()`.
94
+
95
+ Don't rename for the sake of it. But notice when a generic name is hiding specificity.
96
+
97
+ **Example data and test fixtures:**
98
+ Mode-collapsed test data always uses the same placeholder values. When generating multiple examples, vary them. Real data has people of different ages, cities across the full geography, and names that reflect actual population diversity.
99
+
100
+ **Solution architecture:**
101
+ Before implementing, briefly consider whether the typical pattern is the best fit:
102
+ - Does this need a class, or would a function suffice?
103
+ - Does this need a state management library, or would local state work?
104
+ - Does this need an abstraction layer, or is the direct approach clearer?
105
+ - Does this need a config file, or would a constant in the code be simpler?
106
+
107
+ The bias here is toward over-engineering (adding abstractions, layers, and configurations that the scope doesn't require) because training data is full of production codebases with those patterns. For the user's actual task, simpler is often better.
108
+
109
+ ---
110
+
111
+ ## Example Data and Placeholders {#example-data}
112
+
113
+ When generating sample data, demos, or documentation examples, mode collapse produces the same handful of values every time:
114
+
115
+ **Collapsed defaults:** The same placeholder names, emails, addresses, phone numbers, company names, and prices that every LLM produces. You know the ones.
116
+
117
+ **The fix:** Draw from a wider set of realistic values. Not unusual values, just the VARIETY that real data naturally has:
118
+
119
+ - Names: Mix common and less common names from the relevant population. "Maria Chen," "Diane Palmer," "Kenji Watanabe," "Rachel Torres" are all normal names that aren't the first five any LLM would generate.
120
+ - Places: Austin, Portland, Minneapolis, Tampa, Raleigh - not just SF/NYC/Chicago
121
+ - Companies: Actual-sounding company names relevant to the domain, not the same placeholder names every LLM defaults to
122
+ - Prices: $47.00, $12.50, $189.99 - not always round numbers or $99.99
123
+ - Dates: Various days and months, not always January 1 or today's date
124
+
125
+ ---
126
+
127
+ ## Explanations and Analogies {#explanations}
128
+
129
+ When explaining concepts, mode collapse produces the same analogies every time. Every API explanation uses the restaurant waiter analogy. Every database explanation uses the filing cabinet. Every version control explanation uses "saving checkpoints in a video game."
130
+
131
+ These analogies aren't wrong - they're popular because they work. But they're not the ONLY ones that work, and for users who've heard them before, a fresh angle can be more illuminating.
132
+
133
+ **Before reaching for the standard analogy:**
134
+ - Consider the user's specific background (if known) - what domains do they already understand?
135
+ - Consider whether a different metaphor might illuminate a different aspect of the concept
136
+ - Consider whether a concrete example might work better than any analogy
137
+
138
+ The goal is to explain well, not to be novel. If the standard analogy is genuinely the clearest, use it. But if you're using it because it's the first one that came to mind rather than because you considered alternatives, that's mode collapse.
@@ -0,0 +1,10 @@
1
+ # Hermes scans from this skill directory, not the repository root.
2
+ # Keep non-runtime packaging/dev/eval artifacts out of install-time security scans.
3
+ assets/
4
+ agents/
5
+ scripts/build-skill.sh
6
+ scripts/compare.sh
7
+ scripts/evaluate_search_quality.py
8
+ scripts/test_device_auth.py
9
+ scripts/test-v1-vs-v2.sh
10
+ scripts/verify_v3.py
@@ -0,0 +1,43 @@
1
+ # Attribution
2
+
3
+ This skill is adapted from the **"last30days"** skill in the last30days-skill
4
+ project (https://github.com/mvanhorn/last30days-skill) by Matt Van Horn
5
+ (mvanhorn), used under the MIT License.
6
+
7
+ The multi-source research engine (`scripts/`), its source adapters, ranking,
8
+ and rendering are carried over from the original. The Luckiest edition
9
+ rebrands the command and output to `luckiest-trends`, distills the operating
10
+ contract into a lean `SKILL.md` (the full original contract is preserved at
11
+ `references/engine-contract.md`), surfaces the `--days N` time window as a
12
+ first-class feature, and adds the Luckiest update-check and share-with-tribe
13
+ hooks. See `CHANGELOG.md` for the full record.
14
+
15
+ The original engine's technical identifiers (`scripts/last30days.py`,
16
+ `LAST30DAYS_*` environment variables, `~/.config/last30days/`) are kept
17
+ unchanged so the mature engine runs as-is.
18
+
19
+ ## Original license
20
+
21
+ ```
22
+ MIT License
23
+
24
+ Copyright (c) 2026 Matt Van Horn
25
+
26
+ Permission is hereby granted, free of charge, to any person obtaining a copy
27
+ of this software and associated documentation files (the "Software"), to deal
28
+ in the Software without restriction, including without limitation the rights
29
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
30
+ copies of the Software, and to permit persons to whom the Software is
31
+ furnished to do so, subject to the following conditions:
32
+
33
+ The above copyright notice and this permission notice shall be included in all
34
+ copies or substantial portions of the Software.
35
+
36
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
38
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
39
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
40
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
41
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
42
+ SOFTWARE.
43
+ ```