wand-kit 0.3.0 → 0.3.1

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.
package/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: Rebrand or create Wand material on the current or new brand - decks
4
4
  compatibility: Requires Node.js 18+, code execution enabled in claude.ai (Settings > Features), and a Chromium the kit can find (Playwright's cache or the system). No network needed once installed. Python 3 embeds fonts in the .pptx; without it the deck ships with the faces named, not embedded.
5
5
  license: Proprietary - Wand AI
6
6
  metadata:
7
- version: "0.3.0"
7
+ version: "0.3.1"
8
8
  ---
9
9
 
10
10
 
@@ -27,6 +27,26 @@ Every row must be clear, and `chromium` must name a binary. If it does not,
27
27
  **stop and say so**: nothing renders without a browser, and never report checks
28
28
  you did not run. Every path below is relative to the kit folder.
29
29
 
30
+ ## Whichever Wand skill brought you here
31
+
32
+ Every Wand skill a person has installed leads to this kit: this
33
+ `wand-design`, an older `wand-design`, `wand-decks`, `wand-docs` or
34
+ `wand-studio`. An older one was written before this kit and may describe
35
+ two kits and a routing table between them, `wand-decks-kit` or
36
+ `wand-docs-kit`, `node wand.js show` and `edit --set`, kit sizes, version
37
+ numbers, or that the deck must be a .pptx. That text is superseded, not
38
+ wrong to have: the older skill installs a package that hands over to this
39
+ kit, which is how it updates itself. So:
40
+
41
+ - Follow this file. Where the older text disagrees, this file wins, without
42
+ comment.
43
+ - Never tell the user their skill is outdated, mismatched or due for an
44
+ update, and never ask them to remove, re-upload or reinstall a skill.
45
+ Nothing on their side needs to change.
46
+ - If an older skill asks you to choose between a deck kit and a document kit
47
+ first, do not ask the user: this kit makes both, and storyboards, and talks.
48
+ - One setup per chat: if two Wand skills fire on one request, install once.
49
+
30
50
  ## What this is
31
51
 
32
52
  One HTML page per slide, sheet or card, composed from a component library on
@@ -53,7 +53,8 @@
53
53
  "stroke": "E4E0F2",
54
54
  "rule": "E4E0F2",
55
55
  "track": "E9E6F5",
56
- "surface": "EBE8F8"
56
+ "surface": "EBE8F8",
57
+ "emphLabel": "AA9BFF"
57
58
  },
58
59
  "dark": {
59
60
  "bg": "240F48",
@@ -72,7 +73,8 @@
72
73
  "stroke": "5B4BB0",
73
74
  "rule": "3A2E63",
74
75
  "track": "1A1033",
75
- "surface": "1A1033"
76
+ "surface": "1A1033",
77
+ "emphLabel": "C4B5F4"
76
78
  }
77
79
  },
78
80
  "faces": {
@@ -47,11 +47,11 @@
47
47
  "paper": "EBE8E2",
48
48
  "ink": "2D2D2D",
49
49
  "text": "686766",
50
- "soft": "7B7B79",
50
+ "soft": "686766",
51
51
  "muted": "8F8E8C",
52
52
  "accent": "B79A5E",
53
- "accentText": "917741",
54
- "label": "917741",
53
+ "accentText": "786336",
54
+ "label": "786336",
55
55
  "emph": "3A314E",
56
56
  "emphInk": "FFFFFF",
57
57
  "emphText": "BEBBC5",
@@ -59,7 +59,8 @@
59
59
  "stroke": "EBE8E2",
60
60
  "rule": "D5CEC2",
61
61
  "track": "D5CEC2",
62
- "surface": "EBE8E2"
62
+ "surface": "EBE8E2",
63
+ "emphLabel": "B79A5E"
63
64
  },
64
65
  "dark": {
65
66
  "bg": "261D3D",
@@ -78,7 +79,8 @@
78
79
  "stroke": "3A314E",
79
80
  "rule": "504666",
80
81
  "track": "504666",
81
- "surface": "3A314E"
82
+ "surface": "3A314E",
83
+ "emphLabel": "C4C1CA"
82
84
  }
83
85
  },
84
86
  "faces": {
@@ -37,6 +37,8 @@ export default {
37
37
  .kpi .num{font-family:var(--face-label);font-weight:var(--w-label);font-size:var(--t-num);letter-spacing:.2em;color:var(--label);padding-top:.25em}
38
38
  .kpi h5{margin-bottom:.25em}
39
39
  .kpi p{font-size:var(--t-sm);line-height:1.5;color:var(--text)}
40
+ /* running text across the full page keeps a reading measure */
41
+ .content>.body{max-width:44em}
40
42
  `,
41
43
  pages: (c) => [
42
44
  c.cover({
package/lib/components.js CHANGED
@@ -291,14 +291,16 @@ b,strong{font-weight:600}
291
291
  .card.emph{background:var(--emph);border:var(--emph-stroke) solid var(--emph-accent);color:var(--emph-ink)}
292
292
  .card.emph p,.card.emph .body,.card.emph .role,.card.emph .lead{color:var(--emph-text)}
293
293
  .card.emph h3,.card.emph h4,.card.emph h5,.card.emph .name,.card.emph .lead-in,.card.emph .q p{color:var(--emph-ink)}
294
- .card.emph .tag,.card.emph .out,.card.emph .when,.card.emph em{color:var(--emph-accent)}
294
+ .card.emph em{color:var(--emph-accent)}
295
+ /* small text on an emphasis card takes its own role: gold reads at AA on one brand's card and not the other's */
296
+ .card.emph .tag,.card.emph .out,.card.emph .when{color:var(--emph-label,var(--emph-accent))}
295
297
  .card.centred{display:flex;flex-direction:column;justify-content:center}
296
298
  .card p{font-size:var(--t-sm);line-height:1.5;color:var(--text)}
297
299
  .card .body{font-size:var(--t-body);line-height:var(--lh-body)}.card .body.sm{font-size:var(--t-sm);line-height:1.55}
298
300
  .card .lead{font-size:var(--t-lead)}
299
301
  .card h3{margin-bottom:.3em}.card h4{margin-bottom:.35em}.card h5{margin-bottom:.4em}
300
302
  .card .sub{font-size:var(--t-sm);font-weight:500;color:var(--accent-text);margin-bottom:.5em}
301
- .card.emph .sub{color:var(--emph-accent)}
303
+ .card.emph .sub{color:var(--emph-label,var(--emph-accent))}
302
304
  .card .out{margin-top:auto;padding-top:.6em;font-weight:500;color:var(--accent-text)}
303
305
  .card.fn,.card.flex{display:flex;flex-direction:column}
304
306
  .card.fn h5{font-family:var(--face-label);font-weight:var(--w-label);font-size:calc(var(--t-tag) * 1.1);letter-spacing:.12em;text-transform:var(--caps-label);color:var(--ink);margin-bottom:.6em}
@@ -329,7 +331,7 @@ b,strong{font-weight:600}
329
331
  .node{flex:1;display:flex;flex-direction:column;gap:.15em;padding:.7em 1em;border-radius:calc(var(--m-radius) * .7 * var(--radius-k));border:var(--m-stroke) solid var(--stroke);background:var(--paper)}
330
332
  .node .who{font-family:var(--face-label);font-weight:var(--w-label);font-size:calc(var(--t-tag) * .92);letter-spacing:.16em;text-transform:var(--caps-label);color:var(--soft);display:block;border:0;padding:0}
331
333
  .node .verb{font-family:var(--face-display);font-weight:var(--w-display);font-size:var(--t-sm);color:var(--ink);letter-spacing:var(--tr-display)}
332
- .node.a{background:var(--emph);border-color:var(--emph)}.node.a .who{color:var(--emph-accent)}.node.a .verb{color:var(--emph-ink)}
334
+ .node.a{background:var(--emph);border-color:var(--emph)}.node.a .who{color:var(--emph-label,var(--emph-accent))}.node.a .verb{color:var(--emph-ink)}
333
335
  .fnote{font-size:var(--t-sm);line-height:1.4;color:var(--text)}
334
336
  /* tables */
335
337
  table.grid{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
@@ -379,7 +381,7 @@ table.grid{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums
379
381
  .cover .top{display:flex;flex-direction:column;gap:1.3em}
380
382
  .cover h1{font-size:var(--t-display);line-height:1.02;letter-spacing:-.03em}
381
383
  .lede{font-size:var(--t-lede);font-weight:500;line-height:1.45;color:var(--ink);max-width:88%}
382
- .cover-body{font-size:var(--t-body);line-height:1.6;color:var(--text);max-width:80%}
384
+ .cover-body{font-size:var(--t-body);line-height:1.6;color:var(--text);max-width:min(80%,44em)}
383
385
  .meta{font-size:var(--t-meta);color:var(--text);padding-top:1em;border-top:1px solid var(--rule);line-height:1.4}
384
386
  .cover .bottom{display:flex;flex-direction:column;gap:1em}
385
387
  .back .content{justify-content:center;gap:1.4em}
@@ -442,7 +444,7 @@ table.grid{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums
442
444
  .frame-art{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:calc(var(--m-radius) * .7 * var(--radius-k));background:var(--track);border:var(--card-stroke) solid var(--stroke)}
443
445
  .frame-art>svg,.frame-art>img{position:absolute;inset:0;width:100%;height:100%;display:block}
444
446
  .frame-art>img{object-fit:cover}
445
- .frame figcaption{font-size:var(--t-note);line-height:1.4;color:var(--soft);font-variant-numeric:tabular-nums}
447
+ .frame figcaption{font-size:var(--t-note);line-height:1.4;color:var(--soft);font-variant-numeric:tabular-nums;max-width:44em}
446
448
  .frame figcaption b{color:var(--label);font-weight:600}
447
449
  .frame figcaption span{display:block;color:var(--text);margin-top:.2em}
448
450
  .frame .todo{position:absolute;inset:0;display:grid;place-items:center;border:2px dashed var(--rule);border-radius:inherit}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wand-kit",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "One HTML design surface for every sales and marketing material, on either Wand brand: decks that animate and present, documents, one-pagers, case studies, storyboards from a script, social cards. Every export (PDF, PNG, PowerPoint, one-file HTML) is read from the page that was reviewed.",
5
5
  "license": "SEE LICENSE IN PROMPT.md",
6
6
  "bin": {