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,91 @@
1
+ # Tests & Coverage (SHIP phase, steps 3–4)
2
+
3
+ Load this when the branch has failing tests, no test framework, or you are running the
4
+ coverage audit.
5
+
6
+ ## Test failure ownership triage
7
+
8
+ When a test fails on the merged code, do not stop blindly — determine ownership first.
9
+
10
+ **Classify each failure** against `git diff origin/<base>...HEAD --name-only`:
11
+ - **In-branch** — the failing test file or the code it exercises was changed on this branch,
12
+ or you can trace the failure to a branch change. **When ambiguous, default to in-branch.**
13
+ - **Pre-existing** — neither the test nor its code under test was touched on this branch and
14
+ the failure is unrelated to anything in the diff.
15
+
16
+ **In-branch failures → STOP.** These are the developer's own breakage. Do not ship.
17
+
18
+ **Pre-existing failures → triage, don't block.** Offer, via AskUserQuestion:
19
+ - A) Investigate and fix now (switch to a `luckiest-coder-debugging` mindset: root cause,
20
+ then minimal fix; commit separately as `fix: pre-existing test failure in <file>`).
21
+ - B) Add as a P0 TODO and continue.
22
+ - C) In a collaborative repo, blame + open an issue for the author
23
+ (`git log -1 --format='%an' -- <file>`; prefer the author of the *source under test* over
24
+ the test file author) and continue.
25
+ - D) Skip and note it in the PR body.
26
+
27
+ After triage: if any in-branch failure remains unfixed, STOP. Otherwise continue.
28
+
29
+ ## Test framework bootstrap (only if none exists)
30
+
31
+ Detect runtime by manifest (`package.json`, `Gemfile`, `go.mod`, `Cargo.toml`,
32
+ `pyproject.toml`, `composer.json`, `mix.exs`) and check for existing config/test dirs.
33
+ If a framework is already present, read 2–3 existing test files to learn conventions and
34
+ skip bootstrap. If none:
35
+
36
+ - Confirm the runtime with the user if it can't be detected; let them opt out entirely.
37
+ - Pick a current-best framework (WebSearch, or the defaults below), install and configure it,
38
+ write one example test that passes, then generate 3–5 real tests for the
39
+ most-recently-changed, highest-risk files (error handlers and branching logic first —
40
+ never `expect(x).toBeDefined()`; test what the code *does*).
41
+ - Add a CI test job (`.github/workflows/test.yml`) if GitHub Actions is the CI.
42
+ - Commit as `chore: bootstrap test framework (<name>)`.
43
+
44
+ Default framework picks: Node/Next → vitest + testing-library; Ruby/Rails → minitest or
45
+ rspec; Python → pytest; Go → stdlib testing + testify; Rust → cargo test; PHP → phpunit;
46
+ Elixir → ExUnit. Never import secrets or credentials into test files.
47
+
48
+ ## Coverage audit (dispatch as a subagent)
49
+
50
+ Run in a fresh context via the Agent tool so the parent only sees the conclusion. Instruct
51
+ the subagent: audit what was *actually coded* from `git diff <base>...HEAD`, do not commit.
52
+
53
+ 1. **Trace every changed code path.** Read each changed file in full (not just the hunk).
54
+ From each entry point, follow the data: where input comes from, what transforms it, where
55
+ it goes, and what can go wrong (null, invalid input, network failure, empty collection).
56
+ Diagram every added/modified function, every branch (if/else, switch, guard, early return),
57
+ every error path, and every call into another function that has its own branches.
58
+
59
+ 2. **Map user flows and error states**, not just code lines: the sequence of actions that
60
+ touches the change, interaction edge cases (double-submit, navigate-away mid-op, stale
61
+ data, slow network, concurrent tabs), user-visible error states, and empty/zero/boundary
62
+ states.
63
+
64
+ 3. **Check each branch and flow against existing tests.** Score quality: ★★★ behavior +
65
+ edges + error paths, ★★ happy path only, ★ smoke/existence check. Decide the right tool
66
+ per gap: `[→E2E]` for multi-component flows and auth/payment/data-loss paths, `[→EVAL]`
67
+ for LLM/prompt changes, otherwise a unit test.
68
+
69
+ 4. **Regression rule (mandatory, no prompt):** if the diff broke previously-working behavior
70
+ the suite doesn't cover, write the regression test immediately. Commit as
71
+ `test: regression test for <what broke>`.
72
+
73
+ 5. **Output an ASCII coverage diagram** covering both code paths and user flows, ending with
74
+ a `COVERAGE: X/Y (Z%)` line and a gap count.
75
+
76
+ 6. **Generate tests for gaps** (match existing conventions, mock external deps, real
77
+ assertions). Caps: ~30 paths, ~20 generated tests, 2 min exploration per test. Commit
78
+ passing ones as `test: coverage for <feature>`; revert failures and note the gap.
79
+
80
+ ## Coverage gate
81
+
82
+ Read CLAUDE.md for a `## Test Coverage` section (`Minimum:` / `Target:`); else default
83
+ Minimum 60% / Target 80%, using the `COVERAGE: Z%` from the diagram.
84
+
85
+ - **≥ target** → pass, continue.
86
+ - **≥ minimum, < target** → AskUserQuestion: A) generate more tests (loop back, max 2 passes),
87
+ B) ship anyway and record "coverage gate: Z% — user accepted risk" in the PR body,
88
+ C) mark the paths intentionally uncovered.
89
+ - **< minimum** → hard gate: recommend generating tests; ship only on explicit user override.
90
+
91
+ Diff is test-only or docs-only → skip the audit ("no new application code paths to audit").
@@ -0,0 +1,26 @@
1
+ # Attribution
2
+
3
+ This skill is adapted from the "subagent-driven-development" skill in Superpowers
4
+ (https://github.com/obra/superpowers) by Jesse Vincent, used under the MIT License.
5
+
6
+ MIT License
7
+
8
+ Copyright (c) 2025 Jesse Vincent
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
@@ -0,0 +1,28 @@
1
+ # Changelog — luckiest-coder-subagent-driven-development
2
+
3
+ ## 1.1.0 — 2026-07-06
4
+ Skill updater pass: analytics integration.
5
+
6
+ ### Analytics (report_usage)
7
+ - Updated `report_usage` call to `skill_version: "1.1.0"` and `check_updates`
8
+ `installedSemver: "1.1.0"`. The skill now reports usage to the Luckiest
9
+ telemetry pipeline on every run, making it visible on the admin Skill Usage
10
+ page (/owner/skill-usage).
11
+
12
+ ## 1.0.0 — 2026-07-03
13
+ Rebranded from subagent-driven-development (Superpowers, MIT).
14
+ Cross-references remapped via the name map (requesting-code-review,
15
+ git-worktrees, writing-plans, executing-plans, tdd, finishing-a-branch).
16
+ Script `.superpowers/sdd/` workspace path fragments replaced with
17
+ `.luckiest-coder/sdd/` in sdd-workspace, review-package, task-brief, and SKILL.md.
18
+
19
+ ### Improve pass (/refract)
20
+ - no changes beyond rebrand — the controller process, review-loop discipline,
21
+ and file-handoff mechanics are the load-bearing content and were kept intact.
22
+
23
+ ### Network hook
24
+ - share-with-tribe: the final whole-branch review produces a shareable review
25
+ package; added one optional OFFER line to share it with the tribe.
26
+
27
+ ### Trend pass (/newsjack + /luckiest-trends)
28
+ - no actionable signal (internal dev-workflow skill)
@@ -0,0 +1,439 @@
1
+ ---
2
+ name: luckiest-coder-subagent-driven-development
3
+ description: Use when executing an implementation plan of mostly-independent tasks in the current session — dispatches a fresh implementer subagent per task, a spec+quality review after each, and a broad whole-branch review at the end. Trigger on "execute this plan", "run the plan with subagents", "implement these tasks one by one", or after writing a plan when you want same-session execution with review gates rather than a parallel session.
4
+ license: See ATTRIBUTION.md
5
+ metadata:
6
+ version: "1.1.0"
7
+ listing_id: luckiest-coder-subagent-driven-development
8
+ author: luckiest
9
+ ---
10
+
11
+ # Subagent-Driven Development
12
+
13
+ Execute plan by dispatching a fresh implementer subagent per task, a task review (spec compliance + code quality) after each, and a broad whole-branch review at the end.
14
+
15
+ **Why subagents:** You delegate tasks to specialized agents with isolated context. By precisely crafting their instructions and context, you ensure they stay focused and succeed at their task. They should never inherit your session's context or history — you construct exactly what they need. This also preserves your own context for coordination work.
16
+
17
+ **Core principle:** Fresh subagent per task + task review (spec + quality) + broad final review = high quality, fast iteration
18
+
19
+ **Narration:** between tool calls, narrate at most one short line — the
20
+ ledger and the tool results carry the record.
21
+
22
+ **Continuous execution:** Do not pause to check in with your human partner between tasks. Execute all tasks from the plan without stopping. The only reasons to stop are: BLOCKED status you cannot resolve, ambiguity that genuinely prevents progress, or all tasks complete. "Should I continue?" prompts and progress summaries waste their time — they asked you to execute the plan, so execute it.
23
+
24
+ ## When to Use
25
+
26
+ ```dot
27
+ digraph when_to_use {
28
+ "Have implementation plan?" [shape=diamond];
29
+ "Tasks mostly independent?" [shape=diamond];
30
+ "Stay in this session?" [shape=diamond];
31
+ "luckiest-coder-subagent-driven-development" [shape=box];
32
+ "luckiest-coder-executing-plans" [shape=box];
33
+ "Manual execution or brainstorm first" [shape=box];
34
+
35
+ "Have implementation plan?" -> "Tasks mostly independent?" [label="yes"];
36
+ "Have implementation plan?" -> "Manual execution or brainstorm first" [label="no"];
37
+ "Tasks mostly independent?" -> "Stay in this session?" [label="yes"];
38
+ "Tasks mostly independent?" -> "Manual execution or brainstorm first" [label="no - tightly coupled"];
39
+ "Stay in this session?" -> "luckiest-coder-subagent-driven-development" [label="yes"];
40
+ "Stay in this session?" -> "luckiest-coder-executing-plans" [label="no - parallel session"];
41
+ }
42
+ ```
43
+
44
+ **vs. Executing Plans (parallel session):**
45
+ - Same session (no context switch)
46
+ - Fresh subagent per task (no context pollution)
47
+ - Review after each task (spec compliance + code quality), broad review at the end
48
+ - Faster iteration (no human-in-loop between tasks)
49
+
50
+ ## The Process
51
+
52
+ ```dot
53
+ digraph process {
54
+ rankdir=TB;
55
+
56
+ subgraph cluster_per_task {
57
+ label="Per Task";
58
+ "Dispatch implementer subagent (./implementer-prompt.md)" [shape=box];
59
+ "Implementer subagent asks questions?" [shape=diamond];
60
+ "Answer questions, provide context" [shape=box];
61
+ "Implementer subagent implements, tests, commits, self-reviews" [shape=box];
62
+ "Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)" [shape=box];
63
+ "Task reviewer reports spec ✅ and quality approved?" [shape=diamond];
64
+ "Dispatch fix subagent for Critical/Important findings" [shape=box];
65
+ "Mark task complete in todo list and progress ledger" [shape=box];
66
+ }
67
+
68
+ "Read plan, note context and global constraints, create todos" [shape=box];
69
+ "More tasks remain?" [shape=diamond];
70
+ "Dispatch final code reviewer subagent (../luckiest-coder-requesting-code-review/code-reviewer.md)" [shape=box];
71
+ "Use luckiest-coder-finishing-a-branch" [shape=box style=filled fillcolor=lightgreen];
72
+
73
+ "Read plan, note context and global constraints, create todos" -> "Dispatch implementer subagent (./implementer-prompt.md)";
74
+ "Dispatch implementer subagent (./implementer-prompt.md)" -> "Implementer subagent asks questions?";
75
+ "Implementer subagent asks questions?" -> "Answer questions, provide context" [label="yes"];
76
+ "Answer questions, provide context" -> "Dispatch implementer subagent (./implementer-prompt.md)";
77
+ "Implementer subagent asks questions?" -> "Implementer subagent implements, tests, commits, self-reviews" [label="no"];
78
+ "Implementer subagent implements, tests, commits, self-reviews" -> "Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)";
79
+ "Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)" -> "Task reviewer reports spec ✅ and quality approved?";
80
+ "Task reviewer reports spec ✅ and quality approved?" -> "Dispatch fix subagent for Critical/Important findings" [label="no"];
81
+ "Dispatch fix subagent for Critical/Important findings" -> "Write diff file, dispatch task reviewer subagent (./task-reviewer-prompt.md)" [label="re-review"];
82
+ "Task reviewer reports spec ✅ and quality approved?" -> "Mark task complete in todo list and progress ledger" [label="yes"];
83
+ "Mark task complete in todo list and progress ledger" -> "More tasks remain?";
84
+ "More tasks remain?" -> "Dispatch implementer subagent (./implementer-prompt.md)" [label="yes"];
85
+ "More tasks remain?" -> "Dispatch final code reviewer subagent (../luckiest-coder-requesting-code-review/code-reviewer.md)" [label="no"];
86
+ "Dispatch final code reviewer subagent (../luckiest-coder-requesting-code-review/code-reviewer.md)" -> "Use luckiest-coder-finishing-a-branch";
87
+ }
88
+ ```
89
+
90
+ ## Pre-Flight Plan Review
91
+
92
+ Before dispatching Task 1, scan the plan once for conflicts:
93
+
94
+ - tasks that contradict each other or the plan's Global Constraints
95
+ - anything the plan explicitly mandates that the review rubric treats as a
96
+ defect (a test that asserts nothing, verbatim duplication of a logic block)
97
+
98
+ Present everything you find to your human partner as one batched question —
99
+ each finding beside the plan text that mandates it, asking which governs —
100
+ before execution begins, not one interrupt per discovery mid-plan. If the
101
+ scan is clean, proceed without comment. The review loop remains the net for
102
+ conflicts that only emerge from implementation.
103
+
104
+ ## Model Selection
105
+
106
+ Use the least powerful model that can handle each role to conserve cost and increase speed.
107
+
108
+ **Mechanical implementation tasks** (isolated functions, clear specs, 1-2 files): use a fast, cheap model. Most implementation tasks are mechanical when the plan is well-specified.
109
+
110
+ **Integration and judgment tasks** (multi-file coordination, pattern matching, debugging): use a standard model.
111
+
112
+ **Architecture and design tasks**: use the most capable available model.
113
+ The final whole-branch review is one of these — dispatch it on the most
114
+ capable available model, not the session default.
115
+
116
+ **Review tasks**: choose the model with the same judgment, scaled to the
117
+ diff's size, complexity, and risk. A small mechanical diff does not need the
118
+ most capable model; a subtle concurrency change does.
119
+
120
+ **Always specify the model explicitly when dispatching a subagent.** An
121
+ omitted model inherits your session's model — often the most capable and
122
+ most expensive — which silently defeats this section.
123
+
124
+ **Turn count beats token price.** Wall-clock and context cost scale with how
125
+ many turns a subagent takes, and the cheapest models routinely take 2-3× the
126
+ turns on multi-step work — costing more overall. Use a mid-tier model as the
127
+ floor for reviewers and for implementers working from prose descriptions.
128
+ When the task's plan text contains the complete code to write, the
129
+ implementation is transcription plus testing: use the cheapest tier for
130
+ that implementer. Single-file mechanical fixes also take the cheapest tier.
131
+
132
+ **Task complexity signals (implementation tasks):**
133
+ - Touches 1-2 files with a complete spec → cheap model
134
+ - Touches multiple files with integration concerns → standard model
135
+ - Requires design judgment or broad codebase understanding → most capable model
136
+
137
+ ## Handling Implementer Status
138
+
139
+ Implementer subagents report one of four statuses. Handle each appropriately:
140
+
141
+ **DONE:** Generate the review package (`scripts/review-package BASE HEAD`, from this skill's directory — it prints the unique file path it wrote; BASE is the commit you recorded before dispatching the implementer — never `HEAD~1`, which silently drops all but the last commit of a multi-commit task), then dispatch the task reviewer with the printed path.
142
+
143
+ **DONE_WITH_CONCERNS:** The implementer completed the work but flagged doubts. Read the concerns before proceeding. If the concerns are about correctness or scope, address them before review. If they're observations (e.g., "this file is getting large"), note them and proceed to review.
144
+
145
+ **NEEDS_CONTEXT:** The implementer needs information that wasn't provided. Provide the missing context and re-dispatch.
146
+
147
+ **BLOCKED:** The implementer cannot complete the task. Assess the blocker:
148
+ 1. If it's a context problem, provide more context and re-dispatch with the same model
149
+ 2. If the task requires more reasoning, re-dispatch with a more capable model
150
+ 3. If the task is too large, break it into smaller pieces
151
+ 4. If the plan itself is wrong, escalate to the human
152
+
153
+ **Never** ignore an escalation or force the same model to retry without changes. If the implementer said it's stuck, something needs to change.
154
+
155
+ ## Handling Reviewer ⚠️ Items
156
+
157
+ The task reviewer may report "⚠️ Cannot verify from diff" items — requirements
158
+ that live in unchanged code or span tasks. These do not block the rest of the
159
+ review, but you must resolve each one yourself before marking the task
160
+ complete: you hold the plan and cross-task context the reviewer
161
+ lacks. If you confirm an item is a real gap, treat it as a failed spec
162
+ review — send it back to the implementer and re-review.
163
+
164
+ ## Constructing Reviewer Prompts
165
+
166
+ Per-task reviews are task-scoped gates. The broad review happens once, at the
167
+ final whole-branch review. When you fill a reviewer template:
168
+
169
+ - Do not add open-ended directives like "check all uses" or "run race tests
170
+ if useful" without a concrete, task-specific reason
171
+ - Do not ask a reviewer to re-run tests the implementer already ran on the
172
+ same code — the implementer's report carries the test evidence
173
+ - Do not pre-judge findings for the reviewer — never instruct a reviewer to
174
+ ignore or not flag a specific issue. If you believe a finding would be a
175
+ false positive, let the reviewer raise it and adjudicate it in the review
176
+ loop. If the prompt you are writing contains "do not flag," "don't treat X
177
+ as a defect," "at most Minor," or "the plan chose" — stop: you are
178
+ pre-judging, usually to spare yourself a review loop.
179
+ - The global-constraints block you hand the reviewer is its attention
180
+ lens. Copy the binding requirements verbatim from the plan's Global
181
+ Constraints section or the spec: exact values, exact formats, and the
182
+ stated relationships between components ("same layout as X", "matches
183
+ Y"). The reviewer's template already carries the process rules (YAGNI,
184
+ test hygiene, review method) — the constraints block is for what THIS
185
+ project's spec demands.
186
+ - Hand the reviewer its diff as a file: run this skill's
187
+ `scripts/review-package BASE HEAD` and pass the reviewer the file path
188
+ it prints (or, without bash: `git log --oneline`, `git diff --stat`,
189
+ and `git diff -U10` for the range, redirected to one uniquely named
190
+ file). The output never enters your own context, and the reviewer sees
191
+ the commit list, stat summary, and full diff with context in one Read
192
+ call. Use the BASE you recorded before dispatching the implementer —
193
+ never `HEAD~1`, which silently truncates multi-commit tasks.
194
+ - A dispatch prompt describes one task, not the session's history. Do not
195
+ paste accumulated prior-task summaries ("state after Tasks 1-3") into
196
+ later dispatches — a real session's dispatch hit 42k chars of which 99%
197
+ was pasted history. A fresh subagent needs its task, the interfaces it
198
+ touches, and the global constraints. Nothing else.
199
+ - Dispatch fix subagents for Critical and Important findings. Record Minor
200
+ findings in the progress ledger as you go, and point the final
201
+ whole-branch review at that list so it can triage which must be fixed
202
+ before merge. A roll-up nobody reads is a silent discard.
203
+ - A finding labeled plan-mandated — or any finding that conflicts with
204
+ what the plan's text requires — is the human's decision, like any plan
205
+ contradiction: present the finding and the plan text, ask which governs.
206
+ Do not dismiss the finding because the plan mandates it, and do not
207
+ dispatch a fix that contradicts the plan without asking.
208
+ - The final whole-branch review gets a package too: run
209
+ `scripts/review-package MERGE_BASE HEAD` (MERGE_BASE = the commit the
210
+ branch started from, e.g. `git merge-base main HEAD`) and include the
211
+ printed path in the final review dispatch, so the final reviewer reads
212
+ one file instead of re-deriving the branch diff with git commands.
213
+ - Every fix dispatch carries the implementer contract: the fix subagent
214
+ re-runs the tests covering its change and reports the results. Name the
215
+ covering test files in the dispatch — a one-line fix does not need the
216
+ whole suite. Before re-dispatching the reviewer, confirm the fix report
217
+ contains the covering tests, the command run, and the output; dispatch
218
+ the re-review once all three are present.
219
+ - If the final whole-branch review returns findings, dispatch ONE fix
220
+ subagent with the complete findings list — not one fixer per finding.
221
+ Per-finding fixers each rebuild context and re-run suites; a real
222
+ session's final-review fix wave cost more than all its tasks combined.
223
+
224
+ ## File Handoffs
225
+
226
+ Everything you paste into a dispatch prompt — and everything a subagent
227
+ prints back — stays resident in your context for the rest of the session
228
+ and is re-read on every later turn. Hand artifacts over as files:
229
+
230
+ - **Task brief:** before dispatching an implementer, run this skill's
231
+ `scripts/task-brief PLAN_FILE N` — it extracts the task's full text to a
232
+ uniquely named file and prints the path. Compose the dispatch so the
233
+ brief stays the single source of requirements. Your dispatch should
234
+ contain: (1) one line on where this task fits in the project; (2) the
235
+ brief path, introduced as "read this first — it is your requirements,
236
+ with the exact values to use verbatim"; (3) interfaces and decisions
237
+ from earlier tasks that the brief cannot know; (4) your resolution of
238
+ any ambiguity you noticed in the brief; (5) the report-file path and
239
+ report contract. Exact values (numbers, magic strings, signatures, test
240
+ cases) appear only in the brief.
241
+ - **Report file:** name the implementer's report file after the brief
242
+ (brief `…/task-N-brief.md` → report `…/task-N-report.md`) and put it in
243
+ the dispatch prompt. The implementer writes the full report there and
244
+ returns only status, commits, a one-line test summary, and concerns.
245
+ - **Reviewer inputs:** the task reviewer gets three paths — the same brief
246
+ file, the report file, and the review package — plus the global
247
+ constraints that bind the task.
248
+ - Fix dispatches append their fix report (with test results) to the same
249
+ report file and return a short summary; re-reviews read the updated file.
250
+
251
+ ## Durable Progress
252
+
253
+ Conversation memory does not survive compaction. In real sessions,
254
+ controllers that lost their place have re-dispatched entire completed task
255
+ sequences — the single most expensive failure observed. Track progress in
256
+ a ledger file, not only in todos.
257
+
258
+ - At skill start, check for a ledger:
259
+ `cat "$(git rev-parse --show-toplevel)/.luckiest-coder/sdd/progress.md"`. Tasks listed there
260
+ as complete are DONE — do not re-dispatch them; resume at the first task
261
+ not marked complete.
262
+ - When a task's review comes back clean, append one line to the ledger in
263
+ the same message as your other bookkeeping:
264
+ `Task N: complete (commits <base7>..<head7>, review clean)`.
265
+ - The ledger is your recovery map: the commits it names exist in git even
266
+ when your context no longer remembers creating them. After compaction,
267
+ trust the ledger and `git log` over your own recollection.
268
+ - `git clean -fdx` will destroy the ledger (it's git-ignored scratch); if
269
+ that happens, recover from `git log`.
270
+
271
+ ## Prompt Templates
272
+
273
+ - [implementer-prompt.md](implementer-prompt.md) - Dispatch implementer subagent
274
+ - [task-reviewer-prompt.md](task-reviewer-prompt.md) - Dispatch task reviewer subagent (spec compliance + code quality)
275
+ - Final whole-branch review: use luckiest-coder-requesting-code-review's [code-reviewer.md](../luckiest-coder-requesting-code-review/code-reviewer.md)
276
+
277
+ ## Example Workflow
278
+
279
+ ```
280
+ You: I'm using Subagent-Driven Development to execute this plan.
281
+
282
+ [Read plan file once: docs/luckiest-coder/plans/feature-plan.md]
283
+ [Create todos for all tasks]
284
+
285
+ Task 1: Hook installation script
286
+
287
+ [Run task-brief for Task 1; dispatch implementer with brief + report paths + context]
288
+
289
+ Implementer: "Before I begin - should the hook be installed at user or system level?"
290
+
291
+ You: "User level (~/.config/luckiest-coder/hooks/)"
292
+
293
+ Implementer: "Got it. Implementing now..."
294
+ [Later] Implementer:
295
+ - Implemented install-hook command
296
+ - Added tests, 5/5 passing
297
+ - Self-review: Found I missed --force flag, added it
298
+ - Committed
299
+
300
+ [Run review-package, dispatch task reviewer with the printed path]
301
+ Task reviewer: Spec ✅ - all requirements met, nothing extra.
302
+ Strengths: Good test coverage, clean. Issues: None. Task quality: Approved.
303
+
304
+ [Mark Task 1 complete]
305
+
306
+ Task 2: Recovery modes
307
+
308
+ [Run task-brief for Task 2; dispatch implementer with brief + report paths + context]
309
+
310
+ Implementer: [No questions, proceeds]
311
+ Implementer:
312
+ - Added verify/repair modes
313
+ - 8/8 tests passing
314
+ - Self-review: All good
315
+ - Committed
316
+
317
+ [Run review-package, dispatch task reviewer with the printed path]
318
+ Task reviewer: Spec ❌:
319
+ - Missing: Progress reporting (spec says "report every 100 items")
320
+ - Extra: Added --json flag (not requested)
321
+ Issues (Important): Magic number (100)
322
+
323
+ [Dispatch fix subagent with all findings]
324
+ Fixer: Removed --json flag, added progress reporting, extracted PROGRESS_INTERVAL constant
325
+
326
+ [Task reviewer reviews again]
327
+ Task reviewer: Spec ✅. Task quality: Approved.
328
+
329
+ [Mark Task 2 complete]
330
+
331
+ ...
332
+
333
+ [After all tasks]
334
+ [Dispatch final code-reviewer]
335
+ Final reviewer: All requirements met, ready to merge
336
+
337
+ Done!
338
+ ```
339
+
340
+ ## Advantages
341
+
342
+ **vs. Manual execution:**
343
+ - Subagents follow TDD naturally
344
+ - Fresh context per task (no confusion)
345
+ - Parallel-safe (subagents don't interfere)
346
+ - Subagent can ask questions (before AND during work)
347
+
348
+ **vs. Executing Plans:**
349
+ - Same session (no handoff)
350
+ - Continuous progress (no waiting)
351
+ - Review checkpoints automatic
352
+
353
+ **Efficiency gains:**
354
+ - Controller curates exactly what context is needed; bulk artifacts move
355
+ as files, not pasted text
356
+ - Subagent gets complete information upfront
357
+ - Questions surfaced before work begins (not after)
358
+
359
+ **Quality gates:**
360
+ - Self-review catches issues before handoff
361
+ - Task review carries two verdicts: spec compliance and code quality
362
+ - Review loops ensure fixes actually work
363
+ - Spec compliance prevents over/under-building
364
+ - Code quality ensures implementation is well-built
365
+
366
+ **Cost:**
367
+ - More subagent invocations (implementer + reviewer per task)
368
+ - Controller does more prep work (extracting all tasks upfront)
369
+ - Review loops add iterations
370
+ - But catches issues early (cheaper than debugging later)
371
+
372
+ ## Red Flags
373
+
374
+ **Never:**
375
+ - Start implementation on main/master branch without explicit user consent
376
+ - Skip task review, or accept a report missing either verdict (spec compliance AND task quality are both required)
377
+ - Proceed with unfixed issues
378
+ - Dispatch multiple implementation subagents in parallel (conflicts)
379
+ - Make a subagent read the whole plan file (hand it its task brief —
380
+ `scripts/task-brief` — instead)
381
+ - Skip scene-setting context (subagent needs to understand where task fits)
382
+ - Ignore subagent questions (answer before letting them proceed)
383
+ - Accept "close enough" on spec compliance (reviewer found spec issues = not done)
384
+ - Skip review loops (reviewer found issues = implementer fixes = review again)
385
+ - Let implementer self-review replace actual review (both are needed)
386
+ - Tell a reviewer what not to flag, or pre-rate a finding's severity in the
387
+ dispatch prompt ("treat it as Minor at most") — the plan's example code is
388
+ a starting point, not evidence that its weaknesses were chosen
389
+ - Dispatch a task reviewer without a diff file — generate it first
390
+ (`scripts/review-package BASE HEAD`) and name the printed path in the
391
+ prompt
392
+ - Move to next task while the review has open Critical/Important issues
393
+ - Re-dispatch a task the progress ledger already marks complete — check
394
+ the ledger (and `git log`) after any compaction or resume
395
+
396
+ **If subagent asks questions:**
397
+ - Answer clearly and completely
398
+ - Provide additional context if needed
399
+ - Don't rush them into implementation
400
+
401
+ **If reviewer finds issues:**
402
+ - Implementer (same subagent) fixes them
403
+ - Reviewer reviews again
404
+ - Repeat until approved
405
+ - Don't skip the re-review
406
+
407
+ **If subagent fails task:**
408
+ - Dispatch fix subagent with specific instructions
409
+ - Don't try to fix manually (context pollution)
410
+
411
+ ## Integration
412
+
413
+ **Required workflow skills:**
414
+ - **luckiest-coder-git-worktrees** - Ensures isolated workspace (creates one or verifies existing)
415
+ - **luckiest-coder-writing-plans** - Creates the plan this skill executes
416
+ - **luckiest-coder-requesting-code-review** - Code review template for the final whole-branch review
417
+ - **luckiest-coder-finishing-a-branch** - Complete development after all tasks
418
+
419
+ **Subagents should use:**
420
+ - **luckiest-coder-tdd** - Subagents follow TDD for each task
421
+
422
+ **Alternative workflow:**
423
+ - **luckiest-coder-executing-plans** - Use for parallel session instead of same-session execution
424
+
425
+ ## Network hook
426
+
427
+ When the final whole-branch review comes back clean, you hold a shareable
428
+ review package (`scripts/review-package MERGE_BASE HEAD`). OFFER once: ask the
429
+ user whether to share this reviewed branch summary with the tribe via the
430
+ Luckiest MCP `share_artifact` tool — skip silently if they decline or the MCP
431
+ is unavailable.
432
+
433
+ ## Staying current
434
+
435
+ On activation, call the Luckiest MCP `check_updates` tool with
436
+ `{ listingId: "luckiest-coder-subagent-driven-development", installedSemver: "1.1.0" }`.
437
+ If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
438
+
439
+ When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-subagent-driven-development", 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.