luckiest-co 1.0.17 → 1.0.18

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 (160) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/package.json +1 -1
  4. package/skills/luckiest-ab-testing/SKILL.md +1 -1
  5. package/skills/luckiest-ad-creative/SKILL.md +1 -1
  6. package/skills/luckiest-ads/SKILL.md +1 -1
  7. package/skills/luckiest-advisors/SKILL.md +1 -1
  8. package/skills/luckiest-aeo-grader/SKILL.md +1 -1
  9. package/skills/luckiest-ai-seo/SKILL.md +1 -1
  10. package/skills/luckiest-analytics/SKILL.md +1 -1
  11. package/skills/luckiest-aso/SKILL.md +1 -1
  12. package/skills/luckiest-churn-prevention/SKILL.md +1 -1
  13. package/skills/luckiest-co-marketing/SKILL.md +1 -1
  14. package/skills/luckiest-coder/SKILL.md +1 -1
  15. package/skills/luckiest-coder-brainstorming/SKILL.md +1 -1
  16. package/skills/luckiest-coder-consistency/SKILL.md +1 -1
  17. package/skills/luckiest-coder-constitution/SKILL.md +1 -1
  18. package/skills/luckiest-coder-debugging/SKILL.md +1 -1
  19. package/skills/luckiest-coder-dispatching-parallel-agents/SKILL.md +1 -1
  20. package/skills/luckiest-coder-executing-plans/SKILL.md +1 -1
  21. package/skills/luckiest-coder-finishing-a-branch/SKILL.md +1 -1
  22. package/skills/luckiest-coder-git-worktrees/SKILL.md +1 -1
  23. package/skills/luckiest-coder-guard/SKILL.md +1 -1
  24. package/skills/luckiest-coder-qa/SKILL.md +1 -1
  25. package/skills/luckiest-coder-receiving-code-review/SKILL.md +1 -1
  26. package/skills/luckiest-coder-requesting-code-review/SKILL.md +1 -1
  27. package/skills/luckiest-coder-shipping/SKILL.md +1 -1
  28. package/skills/luckiest-coder-subagent-driven-development/SKILL.md +1 -1
  29. package/skills/luckiest-coder-tdd/SKILL.md +1 -1
  30. package/skills/luckiest-coder-verification/SKILL.md +1 -1
  31. package/skills/luckiest-coder-writing-plans/SKILL.md +1 -1
  32. package/skills/luckiest-coder-writing-skills/SKILL.md +1 -1
  33. package/skills/luckiest-cold-email/SKILL.md +1 -1
  34. package/skills/luckiest-community-marketing/SKILL.md +1 -1
  35. package/skills/luckiest-competitor-profiling/SKILL.md +1 -1
  36. package/skills/luckiest-competitors/SKILL.md +1 -1
  37. package/skills/luckiest-content-strategy/SKILL.md +1 -1
  38. package/skills/luckiest-copy-editing/SKILL.md +1 -1
  39. package/skills/luckiest-copywriting/SKILL.md +1 -1
  40. package/skills/luckiest-cro/SKILL.md +1 -1
  41. package/skills/luckiest-customer-research/SKILL.md +1 -1
  42. package/skills/luckiest-design-website/ATTRIBUTION.md +38 -0
  43. package/skills/luckiest-design-website/CHANGELOG.md +104 -0
  44. package/skills/luckiest-design-website/LICENSE +21 -0
  45. package/skills/luckiest-design-website/SKILL.md +372 -0
  46. package/skills/luckiest-design-website/UPSTREAM-CHANGELOG.md +526 -0
  47. package/skills/luckiest-design-website/engine/scrollcraft.css +432 -0
  48. package/skills/luckiest-design-website/engine/scrollcraft.js +1167 -0
  49. package/skills/luckiest-design-website/evals/evals.json +33 -0
  50. package/skills/luckiest-design-website/references/assets.md +286 -0
  51. package/skills/luckiest-design-website/references/device-diag.html +214 -0
  52. package/skills/luckiest-design-website/references/devices.md +466 -0
  53. package/skills/luckiest-design-website/references/feel.md +277 -0
  54. package/skills/luckiest-design-website/references/registry-examples.md +305 -0
  55. package/skills/luckiest-design-website/references/taste.md +304 -0
  56. package/skills/luckiest-design-website/references/template.html +138 -0
  57. package/skills/luckiest-design-website/references/uniqueness.md +480 -0
  58. package/skills/luckiest-design-website/references/verify.md +381 -0
  59. package/skills/luckiest-design-website/references/worldflight.md +349 -0
  60. package/skills/luckiest-design-website/references/worlds.md +178 -0
  61. package/skills/luckiest-design-website/scripts/doctor.mjs +177 -0
  62. package/skills/luckiest-design-website/scripts/encode.sh +80 -0
  63. package/skills/luckiest-design-website/scripts/kie.mjs +202 -0
  64. package/skills/luckiest-design-website/scripts/serve.mjs +52 -0
  65. package/skills/luckiest-design-website/scripts/shoot.mjs +644 -0
  66. package/skills/luckiest-design-website/scripts/workspace.mjs +106 -0
  67. package/skills/luckiest-design-website/scripts/worldflight-assert.mjs +273 -0
  68. package/skills/luckiest-design-website/templates/FINGERPRINTS.md +65 -0
  69. package/skills/luckiest-directory-submissions/SKILL.md +1 -1
  70. package/skills/luckiest-emails/SKILL.md +1 -1
  71. package/skills/luckiest-extract-design-system/SKILL.md +1 -1
  72. package/skills/luckiest-free-tools/SKILL.md +1 -1
  73. package/skills/luckiest-image/SKILL.md +1 -1
  74. package/skills/luckiest-launch/SKILL.md +1 -1
  75. package/skills/luckiest-lead-magnets/SKILL.md +1 -1
  76. package/skills/luckiest-marketing-ideas/SKILL.md +1 -1
  77. package/skills/luckiest-marketing-plan/SKILL.md +1 -1
  78. package/skills/luckiest-marketing-psychology/SKILL.md +1 -1
  79. package/skills/luckiest-model-router/SKILL.md +1 -1
  80. package/skills/luckiest-offers/SKILL.md +1 -1
  81. package/skills/luckiest-onboarding/SKILL.md +1 -1
  82. package/skills/luckiest-paywalls/SKILL.md +1 -1
  83. package/skills/luckiest-popups/SKILL.md +1 -1
  84. package/skills/luckiest-pricing/SKILL.md +1 -1
  85. package/skills/luckiest-product-marketing/SKILL.md +1 -1
  86. package/skills/luckiest-programmatic-seo/SKILL.md +1 -1
  87. package/skills/luckiest-prompt-rewrite/SKILL.md +1 -1
  88. package/skills/luckiest-prospecting/SKILL.md +1 -1
  89. package/skills/luckiest-public-relations/SKILL.md +1 -1
  90. package/skills/luckiest-referrals/SKILL.md +1 -1
  91. package/skills/luckiest-revops/SKILL.md +1 -1
  92. package/skills/luckiest-sales-enablement/SKILL.md +1 -1
  93. package/skills/luckiest-schema/SKILL.md +1 -1
  94. package/skills/luckiest-seo-audit/SKILL.md +1 -1
  95. package/skills/luckiest-session-handoff/SKILL.md +1 -1
  96. package/skills/luckiest-signup/SKILL.md +1 -1
  97. package/skills/luckiest-site-architecture/SKILL.md +1 -1
  98. package/skills/luckiest-sms/SKILL.md +1 -1
  99. package/skills/luckiest-social/SKILL.md +1 -1
  100. package/skills/luckiest-thinker/SKILL.md +1 -1
  101. package/skills/luckiest-trends/SKILL.md +1 -1
  102. package/skills/luckiest-video/SKILL.md +1 -1
  103. package/skills/luckiest-website-cloner/ATTRIBUTION.md +29 -0
  104. package/skills/luckiest-website-cloner/CHANGELOG.md +8 -0
  105. package/skills/luckiest-website-cloner/LICENSE +21 -0
  106. package/skills/luckiest-website-cloner/SKILL.md +289 -0
  107. package/skills/luckiest-website-cloner/references/builtin-browser-recipes.md +74 -0
  108. package/skills/luckiest-website-cloner/references/compositing.md +65 -0
  109. package/skills/luckiest-website-cloner/references/fidelity-fast-path.md +92 -0
  110. package/skills/luckiest-website-cloner/references/playwright-cli-recipes.md +68 -0
  111. package/skills/luckiest-website-cloner/references/teardown.md +142 -0
  112. package/skills/luckiest-website-cloner/references/visual-qa.md +102 -0
  113. package/skills/luckiest-website-cloner/scripts/build-bundle.cjs +12 -0
  114. package/skills/luckiest-website-cloner/scripts/motion-probe.js +423 -0
  115. package/skills/luckiest-website-cloner/scripts/surface-map.js +392 -0
  116. package/skills/luckiest-website-cloner/scripts/tokens-probe.js +178 -0
  117. package/skills/luckiest-website-cloner-dom/ATTRIBUTION.md +4 -0
  118. package/skills/luckiest-website-cloner-dom/CHANGELOG.md +8 -0
  119. package/skills/luckiest-website-cloner-dom/LICENSE +21 -0
  120. package/skills/luckiest-website-cloner-dom/SKILL.md +170 -0
  121. package/skills/luckiest-website-cloner-dom/references/asset-resolution.md +93 -0
  122. package/skills/luckiest-website-cloner-dom/references/interaction-fingerprints.md +85 -0
  123. package/skills/luckiest-website-cloner-remix/ATTRIBUTION.md +4 -0
  124. package/skills/luckiest-website-cloner-remix/CHANGELOG.md +8 -0
  125. package/skills/luckiest-website-cloner-remix/LICENSE +21 -0
  126. package/skills/luckiest-website-cloner-remix/SKILL.md +202 -0
  127. package/skills/luckiest-website-cloner-remix/references/directions.md +82 -0
  128. package/skills/luckiest-website-cloner-remix/references/reskin.md +84 -0
  129. package/skills/luckiest-website-cloner-remix/references/tweak-panel.md +72 -0
  130. package/skills/luckiest-website-cloner-remix/scripts/apply-overrides.cjs +105 -0
  131. package/skills/luckiest-website-cloner-remix/scripts/gallery.cjs +71 -0
  132. package/skills/luckiest-website-cloner-remix/scripts/tokenize-css.cjs +127 -0
  133. package/skills/luckiest-website-cloner-remix/scripts/tweak-panel.js +169 -0
  134. package/skills/luckiest-website-cloner-shaders/ATTRIBUTION.md +11 -0
  135. package/skills/luckiest-website-cloner-shaders/CHANGELOG.md +8 -0
  136. package/skills/luckiest-website-cloner-shaders/LICENSE +21 -0
  137. package/skills/luckiest-website-cloner-shaders/SKILL.md +129 -0
  138. package/skills/luckiest-website-cloner-shaders/references/capture-backends.md +89 -0
  139. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/SKILL.md +123 -0
  140. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/capture-backends.md +201 -0
  141. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/evidence-policy.md +93 -0
  142. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/operating-contract.md +82 -0
  143. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/qa-failure-policy.md +100 -0
  144. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/recon-kernel.md +206 -0
  145. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/replay-policy.md +145 -0
  146. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/shaders-com.md +212 -0
  147. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/source-analysis.md +112 -0
  148. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/surface-discovery.md +113 -0
  149. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/target-lock.md +205 -0
  150. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/three-shader-reconstruction.md +155 -0
  151. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/tool-capability-matrix.md +57 -0
  152. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/references/unicorn-studio.md +387 -0
  153. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/scripts/fetch-rendered-dom.mjs +178 -0
  154. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/scripts/scan-bundle.sh +80 -0
  155. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/templates/extraction-report.md +41 -0
  156. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/templates/known-gaps.md +14 -0
  157. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/templates/qa-report.md +74 -0
  158. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/templates/replay-manifest.json +147 -0
  159. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/templates/run-state.json +75 -0
  160. package/skills/luckiest-website-cloner-shaders/vendor/web-shader-extractor/templates/scout-card.json +106 -0
@@ -9,7 +9,7 @@
9
9
  "name": "luckiest",
10
10
  "source": "./",
11
11
  "description": "Plan, go, finish, plus bundled free Luckiest skills that work in Claude Code, web chat, and Cowork.",
12
- "version": "0.1.15",
12
+ "version": "0.1.17",
13
13
  "author": { "name": "Luckiest" }
14
14
  }
15
15
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "luckiest",
3
3
  "description": "Plan, go, finish. Guided planning, progress dashboards, and your luckiest.co tribe inside Claude Code.",
4
- "version": "0.1.15",
4
+ "version": "0.1.17",
5
5
  "author": { "name": "Luckiest" }
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "luckiest-co",
3
- "version": "1.0.17",
3
+ "version": "1.0.18",
4
4
  "description": "Luckiest for Claude Code: plan, go, finish. Your luckiest.co skills and tribe, inside Claude.",
5
5
  "bin": {
6
6
  "luckiest-co": "./bin/install.js"
@@ -14,7 +14,7 @@ You are an expert in experimentation and A/B testing. Your goal is to help desig
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-ab-testing", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "dbff1677-8ede-4016-b52d-21db4aec7801", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-ab-testing", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill drives an expert performance creative strategist. The goal is to gene
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-ad-creative", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "9ce2c363-e379-45f7-b7d2-c398992ed30f", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-ad-creative", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill acts as an expert performance marketer focused on paid customer acqui
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-ads", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "5fb8bb24-2d95-4a8e-8778-e403be972d7a", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-ads", 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.
20
20
 
@@ -24,7 +24,7 @@ Two things make the council different from a generic "give me feedback" prompt:
24
24
  ## Staying current
25
25
 
26
26
  On activation, call the Luckiest MCP `check_updates` tool with
27
- `{ listingId: "luckiest-advisors", installedSemver: "1.3.0" }`.
27
+ `{ listingId: "dd39cba2-1e8a-4eba-907e-a086547a5f5c", installedSemver: "1.3.0" }`.
28
28
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing further if `upToDate: true`.
29
29
 
30
30
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-advisors", skill_version: "1.3.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.
@@ -19,7 +19,7 @@ source — and to say, sharply, what to change.
19
19
 
20
20
  ## Staying current
21
21
  On activation, call the Luckiest MCP `check_updates` tool with
22
- `{ listingId: "luckiest-aeo-grader", installedSemver: "1.1.0" }`.
22
+ `{ listingId: "4e85fafc-177c-4ecf-b4b5-18508c0cb492", installedSemver: "1.1.0" }`.
23
23
  If it returns `upToDate: false`, surface the `notice` to the user once, then
24
24
  continue. Do nothing further if `upToDate: true`. Never block the audit on this
25
25
  check — if the tool is unavailable, proceed.
@@ -14,7 +14,7 @@ This skill provides expertise in AI search optimization — the practice of maki
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-ai-seo", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "658062d1-7ff2-498f-a355-0ed2e2a516fb", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-ai-seo", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill helps set up analytics tracking and measurement that provides actiona
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-analytics", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "f1cb04a5-ae1d-44bd-90c3-7c267e04a9eb", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-analytics", 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.
20
20
 
@@ -12,7 +12,7 @@ metadata:
12
12
 
13
13
  ## Staying current
14
14
 
15
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-aso", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
15
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "e6e130cc-12b7-4873-a858-0c1f37602164", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
16
16
 
17
17
  Analyze App Store and Google Play listings against ASO best practices. Fetches
18
18
  live listing data, scores metadata, visuals, and ratings, then produces a
@@ -14,7 +14,7 @@ This skill provides expert guidance on SaaS retention and churn prevention. Its
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-churn-prevention", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "b4e5958d-e47d-4e84-a936-0ed6cfc99317", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-churn-prevention", 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.
20
20
 
@@ -14,7 +14,7 @@ Acts as a co-marketing strategist who helps SaaS companies identify ideal partne
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP `check_updates` tool with `{ listingId: "luckiest-co-marketing", installedSemver: "1.1.0" }`. If it returns `upToDate: false`, surface the notice to the user once, then continue. Do nothing further if `upToDate: true`. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP `check_updates` tool with `{ listingId: "cb4293c1-e599-4621-b5b0-18c41b8224f4", installedSemver: "1.1.0" }`. If it returns `upToDate: false`, surface the notice to the user once, then continue. Do nothing further if `upToDate: true`. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-co-marketing", 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.
20
20
 
@@ -71,7 +71,7 @@ User instructions (CLAUDE.md, AGENTS.md, GEMINI.md, etc, direct requests) take p
71
71
  ## Staying current
72
72
 
73
73
  On activation, call the Luckiest MCP `check_updates` tool with
74
- `{ listingId: "luckiest-coder", installedSemver: "1.1.0" }`.
74
+ `{ listingId: "3cb8177a-23bc-413a-9055-c419329096bb", installedSemver: "1.1.0" }`.
75
75
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
76
76
 
77
77
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder", 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.
@@ -167,7 +167,7 @@ If they agree to the companion, read the detailed guide before proceeding:
167
167
  ## Staying current
168
168
 
169
169
  On activation, call the Luckiest MCP `check_updates` tool with
170
- `{ listingId: "luckiest-coder-brainstorming", installedSemver: "1.1.0" }`.
170
+ `{ listingId: "a11fbe77-8a4e-47b7-b3f2-b70657c8e7f3", installedSemver: "1.1.0" }`.
171
171
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
172
172
 
173
173
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-brainstorming", 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.
@@ -92,7 +92,7 @@ shipping.
92
92
  ## Staying current
93
93
 
94
94
  On activation, call the Luckiest MCP `check_updates` tool with
95
- `{ listingId: "luckiest-coder-consistency", installedSemver: "1.1.0" }`.
95
+ `{ listingId: "de4ae0d9-e7fd-4b6d-900a-2b921f7f019f", installedSemver: "1.1.0" }`.
96
96
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
97
97
 
98
98
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-consistency", 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.
@@ -109,7 +109,7 @@ The constitution is only worth having if it is actually checked.
109
109
  ## Staying current
110
110
 
111
111
  On activation, call the Luckiest MCP `check_updates` tool with
112
- `{ listingId: "luckiest-coder-constitution", installedSemver: "1.1.0" }`.
112
+ `{ listingId: "6b0d7046-d85f-43b6-be52-d008fa229b99", installedSemver: "1.1.0" }`.
113
113
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
114
114
 
115
115
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-constitution", 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.
@@ -303,7 +303,7 @@ From debugging sessions:
303
303
  ## Staying current
304
304
 
305
305
  On activation, call the Luckiest MCP `check_updates` tool with
306
- `{ listingId: "luckiest-coder-debugging", installedSemver: "1.1.0" }`.
306
+ `{ listingId: "5b9728f7-04b0-4be9-9962-3453d4a11d9a", installedSemver: "1.1.0" }`.
307
307
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
308
308
 
309
309
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-debugging", 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.
@@ -192,7 +192,7 @@ From debugging session (2025-10-03):
192
192
  ## Staying current
193
193
 
194
194
  On activation, call the Luckiest MCP `check_updates` tool with
195
- `{ listingId: "luckiest-coder-dispatching-parallel-agents", installedSemver: "1.1.0" }`.
195
+ `{ listingId: "1a542769-81ed-4ad0-b9ac-a41668d02991", installedSemver: "1.1.0" }`.
196
196
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
197
197
 
198
198
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-dispatching-parallel-agents", 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.
@@ -77,7 +77,7 @@ After all tasks complete and verified:
77
77
  ## Staying current
78
78
 
79
79
  On activation, call the Luckiest MCP `check_updates` tool with
80
- `{ listingId: "luckiest-coder-executing-plans", installedSemver: "1.1.0" }`.
80
+ `{ listingId: "1a5e6d68-f1e2-4c4b-99dc-2de5b829660b", installedSemver: "1.1.0" }`.
81
81
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
82
82
 
83
83
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-executing-plans", 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.
@@ -252,7 +252,7 @@ git worktree prune # Self-healing: clean up any stale registrations
252
252
  ## Staying current
253
253
 
254
254
  On activation, call the Luckiest MCP `check_updates` tool with
255
- `{ listingId: "luckiest-coder-finishing-a-branch", installedSemver: "1.1.0" }`.
255
+ `{ listingId: "ec07ca19-9db4-4092-bb85-3f0204897a67", installedSemver: "1.1.0" }`.
256
256
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
257
257
 
258
258
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-finishing-a-branch", 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.
@@ -209,7 +209,7 @@ Ready to implement <feature-name>
209
209
  ## Staying current
210
210
 
211
211
  On activation, call the Luckiest MCP `check_updates` tool with
212
- `{ listingId: "luckiest-coder-git-worktrees", installedSemver: "1.1.0" }`.
212
+ `{ listingId: "5d932bcb-3dab-4b66-915e-4dffbec3ef59", installedSemver: "1.1.0" }`.
213
213
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
214
214
 
215
215
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-git-worktrees", 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.
@@ -51,7 +51,7 @@ careful). Two protections, independently controllable:
51
51
  ## Staying current
52
52
 
53
53
  On activation, call the Luckiest MCP `check_updates` tool with
54
- `{ listingId: "luckiest-coder-guard", installedSemver: "1.1.0" }`. If it returns
54
+ `{ listingId: "b5c418c2-ccae-4d25-bb50-45ddad56d121", installedSemver: "1.1.0" }`. If it returns
55
55
  `upToDate: false`, surface the `notice`. Do nothing if `upToDate: true`.
56
56
 
57
57
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-guard", 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.
@@ -37,7 +37,7 @@ fix and re-verify. Two outcomes:
37
37
  ## Staying current
38
38
 
39
39
  On activation, call the Luckiest MCP `check_updates` tool with
40
- `{ listingId: "luckiest-coder-qa", installedSemver: "1.1.0" }`. If it returns
40
+ `{ listingId: "9f4d60ff-052b-49b6-8125-dd93159db07d", installedSemver: "1.1.0" }`. If it returns
41
41
  `upToDate: false`, surface the `notice`. Do nothing if `upToDate: true`.
42
42
 
43
43
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-qa", 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.
@@ -220,7 +220,7 @@ No performative agreement. Technical rigor always.
220
220
  ## Staying current
221
221
 
222
222
  On activation, call the Luckiest MCP `check_updates` tool with
223
- `{ listingId: "luckiest-coder-receiving-code-review", installedSemver: "1.1.0" }`.
223
+ `{ listingId: "3ebf2650-feb3-4682-b6de-d47a0558bbf8", installedSemver: "1.1.0" }`.
224
224
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
225
225
 
226
226
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-receiving-code-review", 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.
@@ -112,7 +112,7 @@ See template at: [code-reviewer.md](code-reviewer.md)
112
112
  ## Staying current
113
113
 
114
114
  On activation, call the Luckiest MCP `check_updates` tool with
115
- `{ listingId: "luckiest-coder-requesting-code-review", installedSemver: "1.1.0" }`.
115
+ `{ listingId: "010a144f-99ed-4b6e-a43e-9ab51574c45b", installedSemver: "1.1.0" }`.
116
116
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
117
117
 
118
118
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-requesting-code-review", 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.
@@ -35,7 +35,7 @@ they say "deploy", "land", or "ship to production".
35
35
  ## Staying current
36
36
 
37
37
  On activation, call the Luckiest MCP `check_updates` tool with
38
- `{ listingId: "luckiest-coder-shipping", installedSemver: "1.1.0" }`. If it returns
38
+ `{ listingId: "29b23fab-2386-4547-a8f3-b60583dda01d", installedSemver: "1.1.0" }`. If it returns
39
39
  `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
40
40
 
41
41
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-shipping", 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.
@@ -433,7 +433,7 @@ is unavailable.
433
433
  ## Staying current
434
434
 
435
435
  On activation, call the Luckiest MCP `check_updates` tool with
436
- `{ listingId: "luckiest-coder-subagent-driven-development", installedSemver: "1.1.0" }`.
436
+ `{ listingId: "7b994606-94cb-45a9-876d-1b5ecb856596", installedSemver: "1.1.0" }`.
437
437
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
438
438
 
439
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.
@@ -378,7 +378,7 @@ No exceptions without your human partner's permission.
378
378
  ## Staying current
379
379
 
380
380
  On activation, call the Luckiest MCP `check_updates` tool with
381
- `{ listingId: "luckiest-coder-tdd", installedSemver: "1.1.0" }`.
381
+ `{ listingId: "5f41680a-1863-466e-83b5-a9c3c4a365d6", installedSemver: "1.1.0" }`.
382
382
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
383
383
 
384
384
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-tdd", 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.
@@ -146,7 +146,7 @@ This is non-negotiable.
146
146
  ## Staying current
147
147
 
148
148
  On activation, call the Luckiest MCP `check_updates` tool with
149
- `{ listingId: "luckiest-coder-verification", installedSemver: "1.1.0" }`.
149
+ `{ listingId: "73549bc3-ff71-4df8-82e1-8f52b1238cae", installedSemver: "1.1.0" }`.
150
150
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
151
151
 
152
152
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-verification", 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.
@@ -185,7 +185,7 @@ After saving the plan, you may offer: "Want to share this plan with your tribe v
185
185
  ## Staying current
186
186
 
187
187
  On activation, call the Luckiest MCP `check_updates` tool with
188
- `{ listingId: "luckiest-coder-writing-plans", installedSemver: "1.1.0" }`.
188
+ `{ listingId: "6d9ecc50-d84a-44ef-b6d6-6425affe0fca", installedSemver: "1.1.0" }`.
189
189
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
190
190
 
191
191
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-writing-plans", 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.
@@ -696,7 +696,7 @@ If you follow TDD for code, follow it for skills. It's the same discipline appli
696
696
  ## Staying current
697
697
 
698
698
  On activation, call the Luckiest MCP `check_updates` tool with
699
- `{ listingId: "luckiest-coder-writing-skills", installedSemver: "1.1.0" }`.
699
+ `{ listingId: "edc6a229-ad24-4633-a72d-cfe1812c7203", installedSemver: "1.1.0" }`.
700
700
  If it returns `upToDate: false`, surface the `notice` to the user. Do nothing if `upToDate: true`.
701
701
 
702
702
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-coder-writing-skills", 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.
@@ -14,7 +14,7 @@ The assistant acts as an expert cold email writer. The goal is to write emails t
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-cold-email", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "0a9558ab-50e1-44fd-bf5a-63661542c9c2", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-cold-email", 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.
20
20
 
@@ -14,7 +14,7 @@ The agent acts as an expert community builder and community-led growth strategis
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-community-marketing", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "1bc06a93-b44f-48d6-8f0f-5a5d92580244", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-community-marketing", 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.
20
20
 
@@ -14,7 +14,7 @@ The assistant acts as an expert competitive intelligence analyst. The goal is to
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-competitor-profiling", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "ba5cb7e6-afc1-4035-a3d4-ce5b4229535f", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-competitor-profiling", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill builds competitor comparison and alternative pages that rank for comp
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-competitors", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "60fdbf13-4d85-49b9-9579-0776d6da0e7e", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-competitors", 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.
20
20
 
@@ -14,7 +14,7 @@ The agent acts as a content strategist. The goal is to plan content that drives
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-content-strategy", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "72a19125-282a-4954-b958-4d71934ce77f", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-content-strategy", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill acts as an expert copy editor specializing in marketing and conversio
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-copy-editing", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "8f895dc3-9d85-4b40-9c80-2b1d396bc579", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-copy-editing", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill drives an expert conversion copywriter. The goal is to write marketin
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-copywriting", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "56b1b8dd-a19e-4056-89c1-c476aefcf08b", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-copywriting", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill analyzes marketing pages and produces actionable recommendations to i
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-cro", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "5273389c-5f29-4e4e-9068-03e7c3fe5f4c", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-cro", 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.
20
20
 
@@ -14,7 +14,7 @@ This skill acts as an expert customer researcher. Its goal is to help uncover wh
14
14
 
15
15
  ## Staying current
16
16
 
17
- On activation, call the Luckiest MCP check_updates tool with { listingId: "luckiest-customer-research", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
17
+ On activation, call the Luckiest MCP check_updates tool with { listingId: "8e289fdd-4950-4503-ae10-c1426e861a12", installedSemver: "1.1.0" }. If it returns upToDate: false, surface the notice to the user once, then continue. Do nothing further if upToDate: true. Never block on this check — if the tool is unavailable, proceed.
18
18
 
19
19
  When the skill's work is done, call the Luckiest MCP report_usage tool once with { listing_id: "luckiest-customer-research", 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.
20
20
 
@@ -0,0 +1,38 @@
1
+ # Attribution
2
+
3
+ This skill, `luckiest-design-website`, is the Luckiest edition of the original
4
+ skill **"scrollcraft"** from the **scroll-craft** project
5
+ (https://github.com/nateherkai/scroll-craft) by **Nate Herk**
6
+ (https://github.com/nateherkai), released under the MIT License.
7
+
8
+ The original work has been rebranded, security-reviewed, and improved. The
9
+ engine (`engine/scrollcraft.js`, `engine/scrollcraft.css`), the scripts, the
10
+ `SCROLLCRAFT_*` environment variables and the `.scrollcraft.json` workspace file
11
+ keep their original names so the upstream mechanism runs unchanged. The
12
+ original copyright and license are preserved verbatim below and in `LICENSE`.
13
+
14
+ ---
15
+
16
+ ## Original License (verbatim)
17
+
18
+ MIT License
19
+
20
+ Copyright (c) 2026 Nate Herk
21
+
22
+ Permission is hereby granted, free of charge, to any person obtaining a copy
23
+ of this software and associated documentation files (the "Software"), to deal
24
+ in the Software without restriction, including without limitation the rights
25
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
26
+ copies of the Software, and to permit persons to whom the Software is
27
+ furnished to do so, subject to the following conditions:
28
+
29
+ The above copyright notice and this permission notice shall be included in all
30
+ copies or substantial portions of the Software.
31
+
32
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
35
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
38
+ SOFTWARE.
@@ -0,0 +1,104 @@
1
+ # Changelog — luckiest-design-website
2
+
3
+ ## 1.0.0 — 2026-09-04
4
+ Rebranded from scrollcraft (scroll-craft by Nate Herk, MIT, upstream v0.2.0).
5
+
6
+ ### Security pass
7
+ - PASS. 29 files scanned. One low advisory, now documented in the skill body:
8
+ `scripts/kie.mjs` reads `KIE_AI_API_KEY` from env or the nearest `.env` and
9
+ sends it as a bearer token to two kie.ai hosts (`api.kie.ai` and the upload
10
+ host `kieai.redpandaai.co`). Only the `--ref` image the user names is
11
+ uploaded. Both hosts are central to the skill's stated purpose. The skill
12
+ now tells the agent to reference the env var name only and never ask for the
13
+ key in chat.
14
+
15
+ ### Best-practices pass
16
+ - SKILL.md rewritten from 415 to 372 lines, third person, each reference
17
+ named with when to load it. `license`, `metadata.version`, and
18
+ `metadata.listing_id` added. `allowed-tools` kept minimal (Bash is required
19
+ for the doctor, encode, serve and shoot scripts).
20
+ - Upstream `CHANGELOG.md` preserved as `UPSTREAM-CHANGELOG.md`; upstream
21
+ `EXAMPLES.md` preserved as `references/registry-examples.md`.
22
+ - Engine, scripts, env vars and workspace file names kept verbatim so the
23
+ upstream mechanism runs unchanged. Prose self-references rebranded.
24
+ - `scripts/doctor.mjs`: ffmpeg hint now names the macOS and Linux installs
25
+ next to the Windows one. The preflight was run on macOS during this rebrand
26
+ and works; upstream said it had only ever been run on Windows.
27
+
28
+ ### Improve pass (/refract)
29
+ - Interview question 9: a dollar spend cap for generated assets. Zero routes
30
+ the build to the user's own footage plus CSS-only devices. The source had a
31
+ first-class no-spend route but never asked for the cap up front.
32
+ - CSS-first device rule: `reveal`, `parallax`, `in` and `drift` run on
33
+ `animation-timeline: scroll()` / `view()` behind `@supports`, with the engine
34
+ as fallback; the engine keeps `scrub`, `pin`, `pan` and `--sc-p` consumers.
35
+ - Performance budget in the verify step: LCP under 2.5s on the hero poster,
36
+ INP under 200ms while scrubbing, and a mobile poster-plus-CSS fallback for
37
+ any act that cannot hold it.
38
+ - New triggers: "rebuild my landing page as an experience", "this looks
39
+ AI-made", "design my website".
40
+ - Copy is now a step, not an afterthought: `luckiest-copywriting` writes the
41
+ act headlines, belief sentence and CTA label; `luckiest-copywriting-humanize`
42
+ is the finishing pass.
43
+ - Head metadata and one JSON-LD block via `luckiest-schema`; an event plan
44
+ (act reached, peak reached, CTA click) via `luckiest-analytics`. The peak
45
+ reach rate is named as the page's success metric.
46
+ - `luckiest-extract-design-system` seeds tokens from an existing site when no
47
+ brand kit exists. `luckiest-image` and `luckiest-video` are offered as asset
48
+ generators alongside kie.ai. `luckiest-cro` reviews the close act.
49
+ - Hard rules extended with the AI-slop tells the trend pass surfaced: uniform
50
+ radius and card heights, Inter or system font as the display face, blue-purple
51
+ gradients, "Build the future" class headlines, and the INP ship-blocker.
52
+
53
+ ### Network hooks
54
+ - Assist-request: when the human is unreachable, offer to raise an
55
+ assist-request to the tribe before self-authoring the brief.
56
+ - Share-with-tribe: after the report, OFFER to share the fingerprint row and
57
+ contact sheet only. Never BRIEF.md, brand assets, client names or copy.
58
+ - Pick-up-where-they-left: offer to seed a follow-up Luckiest plan (events
59
+ wired, real-phone check, one A/B test on the peak or close).
60
+
61
+ ### Trend pass (/newsjack + /luckiest-trends)
62
+ - The luckiest-trends engine ran with a query plan but timed out on YouTube
63
+ transcript fetching before emitting evidence and saved no output. The
64
+ newsjack CLI is not installed. Signals below came from host web search on
65
+ 2026-09-04 and are best-effort on freshness.
66
+ - CSS scroll-driven animations (`animation-timeline: scroll()` / `view()`) at
67
+ roughly 84% global support, compositor-driven, Chrome 115+, Firefox 132+,
68
+ Safari 18+. Acted on as the CSS-first device rule. Sources: MDN CSS
69
+ scroll-driven animations guide; CSSAWWWARDS "Scroll Timelines Guide (2026)";
70
+ dev.to "Creating Complex Scroll-driven Animations with Pure CSS in 2026".
71
+ Retrieved 2026-09-04.
72
+ - Safari 26.2 (released 2025-12-12) ships LCP and the Event Timing API behind
73
+ INP, so iOS can now be measured; INP is the most-failed Core Web Vital
74
+ (about 43% of sites over 200ms) and scrollytelling video scrub is a known
75
+ offender on phones. Acted on as the performance budget and the INP
76
+ ship-blocker. Sources: DebugBear "Firefox And Safari Now Support Two Core
77
+ Web Vitals Metrics"; RUMvision "Safari catching up: INP and LCP in 26.2";
78
+ scrollytelling.ai examples review. Retrieved 2026-09-04.
79
+ - "AI slop" web design is being named by its tells: Inter or system fonts,
80
+ blue-purple gradients, "Build the future" headlines, uniform 16px radius,
81
+ identical card heights, distributional convergence. Acted on as new hard
82
+ rules and new triggers. Source: 925 Studios "AI Slop Web Design: Complete
83
+ Guide to Spotting and Fixing Generic Websites (2026)". Retrieved 2026-09-04.
84
+
85
+ ### Thumbnail
86
+ - Routes to the `nodes` scene via "design" in the title (also "structure",
87
+ "design", "system" in the description). No hash fallback.
88
+
89
+ ### Recommendations not implemented (next versions)
90
+ - R1. Ship a `scripts/vitals.mjs` that reads LCP and INP from the shoot run,
91
+ so the budget is measured by the harness rather than by hand. Small
92
+ Playwright addition to `shoot.mjs`.
93
+ - R2. Emit the CSS-first devices as a documented `engine/scrollcraft-css.css`
94
+ layer with `@supports` fallbacks, so builds do not hand-write the same
95
+ `animation-timeline` blocks.
96
+ - R3. Replace the kie.ai-only generator with a provider switch in `kie.mjs`
97
+ (kie.ai, fal, Replicate) so `luckiest-image` and `luckiest-video` routes
98
+ share the encode pipeline instead of ending at a file handoff.
99
+ - R4. A `--brand <dir>` flag on `workspace.mjs` that reads
100
+ `luckiest-extract-design-system` tokens straight into the `:root` block of
101
+ `template.html`.
102
+ - R5. An eval fixture: one recorded interview plus expected BRIEF.md, grammar
103
+ choice and gate result, so a regression in the procedure is caught without
104
+ a real build.