luckiest-co 1.0.12 → 1.0.14

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 (47) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/commands/charms.md +4 -2
  4. package/commands/finish.md +2 -2
  5. package/commands/go.md +6 -3
  6. package/commands/helpers.md +4 -2
  7. package/commands/home.md +4 -2
  8. package/commands/leaderboard.md +4 -2
  9. package/commands/merge.md +1 -1
  10. package/commands/overlaps.md +1 -1
  11. package/commands/plan.md +6 -4
  12. package/commands/skills.md +1 -1
  13. package/commands/start.md +1 -1
  14. package/commands/status.md +5 -3
  15. package/commands/updates.md +1 -1
  16. package/commands/vouch.md +1 -1
  17. package/commands/wishes.md +4 -2
  18. package/package.json +1 -1
  19. package/skills/luckiest-design-website/ATTRIBUTION.md +38 -0
  20. package/skills/luckiest-design-website/CHANGELOG.md +104 -0
  21. package/skills/luckiest-design-website/LICENSE +21 -0
  22. package/skills/luckiest-design-website/SKILL.md +372 -0
  23. package/skills/luckiest-design-website/UPSTREAM-CHANGELOG.md +526 -0
  24. package/skills/luckiest-design-website/engine/scrollcraft.css +432 -0
  25. package/skills/luckiest-design-website/engine/scrollcraft.js +1167 -0
  26. package/skills/luckiest-design-website/evals/evals.json +33 -0
  27. package/skills/luckiest-design-website/references/assets.md +286 -0
  28. package/skills/luckiest-design-website/references/device-diag.html +214 -0
  29. package/skills/luckiest-design-website/references/devices.md +466 -0
  30. package/skills/luckiest-design-website/references/feel.md +277 -0
  31. package/skills/luckiest-design-website/references/registry-examples.md +305 -0
  32. package/skills/luckiest-design-website/references/taste.md +304 -0
  33. package/skills/luckiest-design-website/references/template.html +138 -0
  34. package/skills/luckiest-design-website/references/uniqueness.md +480 -0
  35. package/skills/luckiest-design-website/references/verify.md +381 -0
  36. package/skills/luckiest-design-website/references/worldflight.md +349 -0
  37. package/skills/luckiest-design-website/references/worlds.md +178 -0
  38. package/skills/luckiest-design-website/scripts/doctor.mjs +177 -0
  39. package/skills/luckiest-design-website/scripts/encode.sh +80 -0
  40. package/skills/luckiest-design-website/scripts/kie.mjs +202 -0
  41. package/skills/luckiest-design-website/scripts/serve.mjs +52 -0
  42. package/skills/luckiest-design-website/scripts/shoot.mjs +644 -0
  43. package/skills/luckiest-design-website/scripts/workspace.mjs +106 -0
  44. package/skills/luckiest-design-website/scripts/worldflight-assert.mjs +273 -0
  45. package/skills/luckiest-design-website/templates/FINGERPRINTS.md +65 -0
  46. package/skills/luckiest-go/SKILL.md +4 -1
  47. package/skills/luckiest-plan/SKILL.md +4 -2
@@ -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.13",
12
+ "version": "0.1.15",
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.13",
4
+ "version": "0.1.15",
5
5
  "author": { "name": "Luckiest" }
6
6
  }
@@ -2,7 +2,9 @@
2
2
  description: Your charms balance and recent related activity.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` and `references/chart-renderer.md` first and follow them for all output in this command.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
+
7
+ Read `references/chart-renderer.md` before rendering any chart and follow it.
6
8
 
7
9
  ## Step 1: Get the data
8
10
 
@@ -27,7 +29,7 @@ Example:
27
29
  → /luckiest charms
28
30
  ```
29
31
 
30
- Use only user-facing vocabulary from `references/vocabulary.md`. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
32
+ Use only user-facing vocabulary. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
31
33
 
32
34
  ## Step 3: Recommend next action
33
35
 
@@ -2,7 +2,7 @@
2
2
  description: Wrap up, what shipped, what changed, what's next.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  Asking the user a question: this command tells you to use the AskUserQuestion tool
8
8
  so the user can click instead of typing. That tool only exists in Claude Code. In
@@ -33,7 +33,7 @@ Reply with a number, or tell me what to change.
33
33
 
34
34
  ## Step 1: Check that everything is done
35
35
 
36
- Derive the project key as described in `references/project-key.md`. Pass this same `project` value on both luckiest plan tool calls in this command (`status` here and `finish` in Step 3), so you close this project's plan and not another one.
36
+ Derive the project key once per session: run `git config --get remote.origin.url` and normalize the result to lowercase `host/owner/repo` with any `.git` suffix removed (for example `git@github.com:acme/app.git` becomes `github.com/acme/app`). If it is not a git repo, use the absolute working directory path. If there is no local shell (web chat, Cowork), omit `project` entirely. Pass this same `project` value on both luckiest plan tool calls in this command (`status` here and `finish` in Step 3), so you close this project's plan and not another one.
37
37
 
38
38
  Call the `status` tool from the luckiest MCP server with that `project` value.
39
39
 
package/commands/go.md CHANGED
@@ -2,7 +2,7 @@
2
2
  description: Run your plan, one task at a time, checked as it goes.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  Asking the user a question: this command tells you to use the AskUserQuestion tool
8
8
  so the user can click instead of typing. That tool only exists in Claude Code. In
@@ -33,7 +33,7 @@ Reply with a number, or tell me what to change.
33
33
 
34
34
  ## Step 1: Load the plan
35
35
 
36
- Derive the project key as described in `references/project-key.md`. Pass this same `project` value on every luckiest plan tool call in this command (`status`, `apply`, `verify`, `pause`), so you run this project's plan and not another one.
36
+ Derive the project key once per session: run `git config --get remote.origin.url` and normalize the result to lowercase `host/owner/repo` with any `.git` suffix removed (for example `git@github.com:acme/app.git` becomes `github.com/acme/app`). If it is not a git repo, use the absolute working directory path. If there is no local shell (web chat, Cowork), omit `project` entirely. Pass this same `project` value on every luckiest plan tool call in this command (`status`, `apply`, `verify`, `pause`), so you run this project's plan and not another one.
37
37
 
38
38
  Call the `status` tool from the luckiest MCP server with that `project` value. This is a zero-context resume, treat its result as the full picture of where things stand: don't assume anything about prior state beyond what it returns.
39
39
 
@@ -60,7 +60,7 @@ Research subagents (looking something up, exploring the codebase) are always all
60
60
 
61
61
  Take the ready tasks one at a time, in order. For each one:
62
62
 
63
- 1. First, turn the task into a tight working prompt with the `luckiest-prompt-rewrite` skill, targeting whoever will do the work (yourself, or the subagent and its model from Step 2). Use that rewritten prompt to do the task. If the skill is not installed, write a clear prompt yourself and continue. Do this before every task, in both default and fast mode.
63
+ 1. If the task is being handed to a subagent (fast mode), first turn it into a tight working prompt with the `luckiest-prompt-rewrite` skill, targeting that subagent and its model from Step 2; if the skill is not installed, write a clear prompt yourself. When you are doing the task yourself, skip the rewrite and start working; the task title and its "done means..." line are the prompt.
64
64
  2. Do the work using the task's suggested skill. If that skill is installed, invoke it via the Skill tool. If it isn't installed, do the work directly without it.
65
65
  3. Check your result against the task's "done means..." line. Don't move on until it's actually met.
66
66
  4. If the result is something the user can try themselves (a page, a feature, a flow), ask with the AskUserQuestion tool so they can click instead of typing. Question: "Try it yourself, does it work?" Options: "Works" and "Needs fixes" (keep the "Other" free-text choice available). Wait for their answer.
@@ -71,6 +71,9 @@ Only move to the next ready task once the current one is applied and verified (o
71
71
 
72
72
  After a task passes and is verified, run a quick automation check. Ask yourself: was this task repeatable, rule-based, or the kind of thing that will come up again? If yes, offer it with the AskUserQuestion tool so the user can click instead of typing. Question: "This looks worth automating. Turn it into a skill you can schedule or run as a routine?" Options: "Automate it" and "Skip" (keep the "Other" free-text choice available). Only offer, never build it without a yes. If they say yes, create the skill (with the skill-builder or skill-creator skill) and set it up to run on a schedule or as a routine. If the task was a one-off, skip the offer and move on.
73
73
 
74
+
75
+ Shell note: always quote file paths in shell commands. Paths with parentheses or brackets (for example `app/(public)/orders`) break zsh globbing when unquoted and waste turns on retries. Prefer the dedicated file tools (Read, Glob, Grep) over shell listing commands when either works.
76
+
74
77
  ## Step 4: Stop conditions
75
78
 
76
79
  Pause and ask the user before doing any of the following, even if it seems like the obvious next step:
@@ -2,7 +2,9 @@
2
2
  description: See who needs a hand right now, and claim a request to help.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` and `references/chart-renderer.md` first and follow them for all output in this command.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
+
7
+ Read `references/chart-renderer.md` before rendering any chart and follow it.
6
8
 
7
9
  ## Step 1: Get the data
8
10
 
@@ -55,7 +57,7 @@ Example:
55
57
  → tell me "claim a13" and I'll pick it up with respond_to_assist
56
58
  ```
57
59
 
58
- Use only user-facing vocabulary from `references/vocabulary.md`. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term. Do not fabricate requests, posters, or rewards beyond what the tools return.
60
+ Use only user-facing vocabulary. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term. Do not fabricate requests, posters, or rewards beyond what the tools return.
59
61
 
60
62
  ## Step 3: Recommend next action
61
63
 
package/commands/home.md CHANGED
@@ -2,7 +2,9 @@
2
2
  description: The community dashboard. Wishes and charms, plan progress, tribe pulse, and who needs help.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` and `references/chart-renderer.md` first and follow them for all output in this command.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
+
7
+ Read `references/chart-renderer.md` before rendering any chart and follow it.
6
8
 
7
9
  ## Step 1: Get the data
8
10
 
@@ -33,7 +35,7 @@ Render one fenced code block following the chart-renderer grammar, with four box
33
35
  - One line: `open requests X` where X is `openAssists`.
34
36
  - Footer: `→ /luckiest helpers`
35
37
 
36
- Use only user-facing vocabulary from `references/vocabulary.md`. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
38
+ Use only user-facing vocabulary. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
37
39
 
38
40
  ## Step 3: Recommend next action
39
41
 
@@ -2,7 +2,9 @@
2
2
  description: See how the tribe ranks. Top scores, one bar chart.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` and `references/chart-renderer.md` first and follow them for all output in this command.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
+
7
+ Read `references/chart-renderer.md` before rendering any chart and follow it.
6
8
 
7
9
  ## Step 1: Get the data
8
10
 
@@ -28,7 +30,7 @@ Render one fenced code block following the chart-renderer grammar.
28
30
 
29
31
  4. **Footer**: last line in the block is `→ /luckiest leaderboard` (or the range-qualified form if a range was passed, e.g. `→ /luckiest leaderboard 30d`).
30
32
 
31
- Use only user-facing vocabulary from `references/vocabulary.md`. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
33
+ Use only user-facing vocabulary. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
32
34
 
33
35
  ## Step 3: Recommend next action
34
36
 
package/commands/merge.md CHANGED
@@ -2,7 +2,7 @@
2
2
  description: Merge two overlapping skills into one, after you review the diff.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  ## Step 1: Get the two skill ids
8
8
 
@@ -2,7 +2,7 @@
2
2
  description: Find installed skills that overlap with your own, and resolve them.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  ## Step 1: Pick a skill to check
8
8
 
package/commands/plan.md CHANGED
@@ -2,7 +2,7 @@
2
2
  description: Plan your next piece of work. Guided questions, then a plan Claude can run.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  Asking the user a question: this command tells you to use the AskUserQuestion tool
8
8
  so the user can click instead of typing. That tool only exists in Claude Code. In
@@ -37,7 +37,7 @@ Check whether `.luckiest/BRIEF.md` exists in the current project. If it exists,
37
37
 
38
38
  ## Step 2: Check for active work
39
39
 
40
- Derive the project key as described in `references/project-key.md`. Pass this same `project` value on every luckiest plan tool call in this command (`status` here and `plan` in Step 5), so this project gets its own plan and does not collide with another project's.
40
+ Derive the project key once per session: run `git config --get remote.origin.url` and normalize the result to lowercase `host/owner/repo` with any `.git` suffix removed (for example `git@github.com:acme/app.git` becomes `github.com/acme/app`). If it is not a git repo, use the absolute working directory path. If there is no local shell (web chat, Cowork), omit `project` entirely. Pass this same `project` value on every luckiest plan tool call in this command (`status` here and `plan` in Step 5), so this project gets its own plan and does not collide with another project's.
41
41
 
42
42
  Call the `status` tool from the luckiest MCP server with that `project` value.
43
43
 
@@ -46,7 +46,9 @@ Call the `status` tool from the luckiest MCP server with that `project` value.
46
46
 
47
47
  ## Step 3: Run the interview
48
48
 
49
- Open the interview with a short line that says no plan is active and you are starting the interview.
49
+ If the user's invocation already states the outcome they want (they passed arguments describing a goal, a feature, or a problem to solve), skip the interview question entirely. Say in one line that you are planning from what they gave you, use their stated outcome directly, and jump ahead to drafting the task list below. The approval question in Step 4 still runs; it is the only question they get.
50
+
51
+ Otherwise, open the interview with a short line that says no plan is active and you are starting the interview.
50
52
 
51
53
  Then ask question 1 using the AskUserQuestion tool so the user can click an answer instead of typing one. Do not put the examples in plain text for them to copy. Present them as selectable options:
52
54
 
@@ -60,7 +62,7 @@ Use the answer (plus the brief, if present) to shape a draft task list of 3 to 7
60
62
 
61
63
  Include non-coding work too. Marketing, content, design, research, and ops tasks belong in the plan alongside code. Never drop a task just because it is not a coding task; route it to its matching skill like any other.
62
64
 
63
- For each draft task, call the `skill_router` tool from the luckiest MCP server. It returns `skills` (matching owned skills) and `who` (up to 3 tribe members who finished a similar task before). Attach the suggested skill(s) to the task, and attach `who` so the plan can carry who has done this kind of work.
65
+ Route all draft tasks in ONE `skill_router` call from the luckiest MCP server: pass `prompts` as an array of every task title. It returns `results`, one entry per task with `skills` (matching owned skills) and `who` (up to 3 tribe members who finished a similar task before). Attach the suggested skill(s) to each task, and attach `who` so the plan can carry who has done this kind of work. If the server rejects `prompts` (older server), fall back to one `skill_router` call per task, issued in parallel in a single message, never one at a time.
64
66
 
65
67
  For each task, state a one-line "done means..." in chat (not in the title, not stored anywhere) so the user sees what complete looks like for that task. When `who` is not empty, add a short line naming those people, for example "Done before by: **Sam**, **Alex**."
66
68
 
@@ -2,7 +2,7 @@
2
2
  description: Your skills, list what's installed, pull new purchases.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command. Never delete skills.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  ## Step 1: List installed luckiest skills
8
8
 
package/commands/start.md CHANGED
@@ -2,7 +2,7 @@
2
2
  description: Tell me about your project, a short interview that writes your Brand Brief.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  ## Step 1: Check for an existing brief
8
8
 
@@ -2,11 +2,13 @@
2
2
  description: Where you are. Progress, tasks, and your one next step.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` and `references/chart-renderer.md` first and follow them for all output in this command.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
+
7
+ Read `references/chart-renderer.md` before rendering any chart and follow it.
6
8
 
7
9
  ## Step 1: Check for a plan
8
10
 
9
- Derive the project key as described in `references/project-key.md`, then call the `status` tool from the luckiest MCP server with that `project` value so you read this project's plan and not another one.
11
+ Derive the project key once per session: run `git config --get remote.origin.url` and normalize the result to lowercase `host/owner/repo` with any `.git` suffix removed (for example `git@github.com:acme/app.git` becomes `github.com/acme/app`). If it is not a git repo, use the absolute working directory path. If there is no local shell (web chat, Cowork), omit `project` entirely. Then call the `status` tool from the luckiest MCP server with that `project` value so you read this project's plan and not another one.
10
12
 
11
13
  If the returned state is null (no active plan), output nothing except these two lines, in order:
12
14
 
@@ -35,7 +37,7 @@ If a plan exists, render one fenced code block following the chart-renderer gram
35
37
  5. **Bookmark line (if paused)**: If the state includes a bookmark (pause), add a line showing the bookmark message.
36
38
  6. **Footer**: Last line in the block ends with the command to check status again (e.g. `→ /luckiest status`).
37
39
 
38
- Use only the user-facing vocabulary from `references/vocabulary.md`. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
40
+ Use only user-facing vocabulary. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
39
41
 
40
42
  Map each task's status to a glyph (these are the task status values, not the plan position):
41
43
  - "done" -> `✓`
@@ -2,7 +2,7 @@
2
2
  description: Check for updates to your installed luckiest skills and plugin.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  ## Step 1: Check for updates
8
8
 
package/commands/vouch.md CHANGED
@@ -2,7 +2,7 @@
2
2
  description: Request or approve a warm intro to someone outside your tribe.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` first and follow it for all output in this command: plain language, no em dashes, no internal terms, one next-step recommendation at the end.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
6
 
7
7
  ## Step 1: Figure out the intent
8
8
 
@@ -2,7 +2,9 @@
2
2
  description: Your wishes balance and recent related activity.
3
3
  ---
4
4
 
5
- Read `references/vocabulary.md` and `references/chart-renderer.md` first and follow them for all output in this command.
5
+ Output rules for this command: plain language, no em dashes, no internal terms, and end with exactly one next-step line in the form `Next: <one action>`. The server may return internal words; translate them and never show them: PLAN means plan, APPLY means go, UNIFY means finish, DRAFT means in progress, DOING means active, DONE means complete, UAT means testing, AC means requirements, HANDOFF means ready for review, skill_loop means status.
6
+
7
+ Read `references/chart-renderer.md` before rendering any chart and follow it.
6
8
 
7
9
  ## Step 1: Get the data
8
10
 
@@ -27,7 +29,7 @@ Example:
27
29
  → /luckiest wishes
28
30
  ```
29
31
 
30
- Use only user-facing vocabulary from `references/vocabulary.md`. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
32
+ Use only user-facing vocabulary. Never surface PLAN, APPLY, UNIFY, DRAFT, DOING, DONE, HANDOFF, or any internal term.
31
33
 
32
34
  ## Step 3: Recommend next action
33
35
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "luckiest-co",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
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"
@@ -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.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nate Herk
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.