wand-decks-kit 0.8.7 → 0.9.0

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/PROMPT.md CHANGED
@@ -10,6 +10,41 @@ is the workflow and the design system; the skill is the source of truth for comm
10
10
 
11
11
  ---
12
12
 
13
+
14
+ ## The guideline deck (0.9)
15
+
16
+ Since 2026-09-23 the design source of truth is a real deck —
17
+ `Vivicta_Session_Deck.pptx`, the standard Wand sales deck as it is actually sent
18
+ — not the earlier reference PDFs. Everything below was **measured from it**, and
19
+ `brand/BRAND.md` and the kit's `T` carry the counts:
20
+
21
+ - **Tokens.** Dark ground is `240F48`, flat. Titles `FFFFFF`, body `F5F5F5`,
22
+ captions `BBBBBB`, lists in cards `C6BFE4`. Cards: solid `2A1F5C`, muted
23
+ `1B1738`, stroke `5B4BB0`. Accent text on dark `9481FF`. The old
24
+ `0F0C26 / B7B0DC / 2C2460` set was the reference PDFs' rendering, not the deck.
25
+ - **Interior dark slides carry no art.** The gradient compositions belong to
26
+ the cover (`cover-art.png`, orb baked in) and the closing (`closing-art.png`
27
+ plus `orb-glow.png` centred). `background()` paints a flat colour.
28
+ - **Chrome.** Tag at `0.42, 0.24`; mark at `9.40, 0.26`; footer band at
29
+ `y 5.29, h 0.34`, 7pt: `WAND · <deck>` left, `<confidential> · nn/NN` right.
30
+ - **Cover.** Title at `0.42, 1.79`, 39pt shrinking to 30; body at `3.15`; a
31
+ `PRESENTED TO` block bottom-right (`presentedTo: [name, title]`).
32
+ - **Closing.** Orb at `3.98, 0.69, 2.03²`; the line at 33pt shrinking to 22 —
33
+ a real ask is a sentence, not "Thank You".
34
+ - **Five layouts the deck has and the kit did not:** `agenda`, `team` (with a
35
+ headshot slot), `fourCards`, `deliverColumns`, `coDelivery`. They are the
36
+ slides a sales session adds to the standard deck; a tester had to hand-build
37
+ all five.
38
+ - **The brand gate.** `wand.js audit` runs `tools/brandlint.py`: every text run
39
+ in Geist, every colour a token, the 10 × 5.625 canvas, a footer on every
40
+ content slide. On the guideline deck itself it names exactly the slides the
41
+ tester retexted by hand (Arial on S14, Calibri on S07) — which is the point:
42
+ an edit-only job reports those and asks, rather than restyling unasked.
43
+
44
+ `card()` variants are theme-aware now: `solid` on a light slide is a white
45
+ card with a hairline, not a dark purple box hiding light ink — the agenda in
46
+ the template rendered as four black boxes before that fix.
47
+
13
48
  ## 0. Ground truth: the reference decks
14
49
 
15
50
  Two decks in Project knowledge define the target output. **They are the specification.** When this
package/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: Rebrand, merge, edit or author a PowerPoint deck on the Wand design
4
4
  compatibility: Requires Node.js 18+ and code execution enabled in claude.ai (Settings > Features). No network access needed - dependencies are bundled. Python 3 is used to read a source .pptx and to embed fonts; without it the kit can still author and check a deck, but the output will render in Arial on machines without Geist.
5
5
  license: Proprietary - Wand AI
6
6
  metadata:
7
- version: "0.8.7"
7
+ version: "0.9.0"
8
8
  ---
9
9
 
10
10
 
@@ -70,7 +70,7 @@ thing, and paid a full second pass. This is not optional for a rebuild, a merge
70
70
  or an adaptation; only "author from a brief" with fewer than eight slides may
71
71
  go straight to the spec.
72
72
 
73
- ## The five jobs
73
+ ## The six jobs
74
74
 
75
75
  ### Rebrand a deck they attached
76
76
 
@@ -116,6 +116,27 @@ node wand.js audit <edited-deck>.pptx --dump work/visible_dump.txt # + coverag
116
116
  has been checked by nobody. Say which slides were lifted unchanged, which were
117
117
  retexted, and that the source's fonts (not Geist) carry through.
118
118
 
119
+ ### Edit a deck they attached — not built here
120
+
121
+ "Change the date on the cover", "swap slide 4's title", "add our logo to the
122
+ partner slide". They want *that*, and nothing else touched.
123
+
124
+ 1. Do exactly the edit, directly in the `.pptx` with the pptx tools. Do not
125
+ rebuild, do not restyle, do not "tidy" anything nearby.
126
+ 2. Then run the guideline over the whole deck:
127
+
128
+ ```bash
129
+ node wand.js audit <their-deck>.pptx
130
+ ```
131
+
132
+ The **brand** gate lists every slide where a text run is not Geist, a colour
133
+ is not a token, the canvas is not the 10 × 5.625 grid, or a content slide
134
+ has no footer.
135
+ 3. Deliver the edited deck first. Then report the inconsistencies the gate
136
+ found — per slide, in one line each — and **ask whether to fix them**. Do not
137
+ fix them unasked: an edit-only job that comes back restyled is a broken
138
+ promise, even when the restyle is right.
139
+
119
140
  ### Edit a deck this kit built
120
141
 
121
142
  ```bash
@@ -151,6 +172,13 @@ optional — **sweep the entire spec for that pattern before re-running anything
151
172
  Paying a full cycle per instance is the slow way to learn the same fact
152
173
  repeatedly.
153
174
 
175
+ ## One skill at a time
176
+
177
+ If `wand-decks` or `wand-docs` is installed beside `wand-design`, both may
178
+ fire on the same file. **`wand-design` leads; this file yields.** Do not run
179
+ two setups, and tell the user once: remove the older per-family skill, the
180
+ combined one covers it.
181
+
154
182
  ## Rules that decide whether the output is usable
155
183
 
156
184
  1. **Faithful means verbatim.** No consolidating slides, no paraphrasing to
@@ -185,7 +213,7 @@ repeatedly.
185
213
  | `node wand.js check <spec>` | fit in real Geist, bounds, assets |
186
214
  | `node wand.js preview <spec>` | writes `preview/trace.js` for the browser preview |
187
215
  | `node wand.js inspect <deck>` | parts, relationships, embedded fonts |
188
- | `node wand.js audit <deck> [--dump f]` | every spec-free gate on any .pptx — use on decks edited outside the kit |
216
+ | `node wand.js audit <deck> [--dump f]` | every spec-free gate on any .pptx, including the **brand** gate (fonts, colours, canvas, footer) — use on decks edited outside the kit |
189
217
 
190
218
  ## Deliver
191
219
 
Binary file
Binary file
Binary file
package/docs/LAYOUTS.md CHANGED
@@ -24,6 +24,11 @@ full-bleed three) `deck` / `n` / `total` for the footer.
24
24
 
25
25
  | Layout | Params | Use for |
26
26
  |---|---|---|
27
+ | `agenda` | `items[{title,body}]` | What we'll cover — 2–5 numbered cards (guideline S03) |
28
+ | `team` | `items[{name,role,initials}]` | Who's in the room — headshot slot per person (guideline S02) |
29
+ | `fourCards` | `items[{title,body}]` | Demo objectives, pillars — four titled cards under a lede (S12) |
30
+ | `deliverColumns` | `columns[{heading,lead,body}]` | How we deliver — three flat columns with an accent bar (S14) |
31
+ | `coDelivery` | `items[{title,body}]` | Numbered rows in two columns, up to six (S13) |
27
32
  | `threeUp` | `items[{eyebrow,title,pill,body,emph}], arrows` | 3 comparable things. `arrows: true` for a progression |
28
33
  | `fourUpIcon` | `items[{icon,title,body}], kickerText` | 4 attributes or capabilities |
29
34
  | `sixUpIcon` | `items[{icon,title,body}]` | 6 features. Don't use it three slides running |