wand-decks-kit 0.8.0 → 0.8.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.
Files changed (3) hide show
  1. package/SKILL.md +136 -0
  2. package/package.json +1 -1
  3. package/wand_kit.js +1 -1
package/SKILL.md ADDED
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: wand-decks
3
+ description: Rebrand, merge, edit or author a PowerPoint deck on the Wand design system. Use when a .pptx is attached for restyling, or a deck is wanted from a brief. Outputs a client-ready .pptx and QA gates.
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
+ license: Proprietary - Wand AI
6
+ metadata:
7
+ version: "0.7.0"
8
+ ---
9
+
10
+
11
+ # Wand decks
12
+
13
+ ## First: find the kit and stand in it
14
+
15
+ This file ships inside the kit, so if you are reading it you are close. The kit
16
+ arrives one of three ways — work out which, then `cd` into the kit's folder and
17
+ run everything from there:
18
+
19
+ 1. **Installed from npm** (the usual way): it is at `node_modules/wand-decks-kit/`.
20
+ If it is not there yet: `npm install wand-decks-kit@latest --no-audit --no-fund`.
21
+ 2. **Attached to the chat as a zip**: unzip it and enter the folder it makes.
22
+ 3. **You are already inside it**: `wand.js` is next to this file.
23
+
24
+ Then confirm the ground you are standing on:
25
+
26
+ ```bash
27
+ node wand.js doctor
28
+ ```
29
+
30
+ If none of the three work — npm unreachable, nothing attached — **stop and say
31
+ so, and ask the user to attach the kit zip.** Never improvise a deck, and never
32
+ report checks you did not run; the gates are the only reason to trust the
33
+ output.
34
+
35
+ Every path below is relative to the kit folder.
36
+
37
+ A deck engine: 28 layouts, real font metrics, embedded Geist, and six gates that
38
+ each catch something the others cannot.
39
+
40
+ **Read `PROMPT.md` before making any design decision.** It is the source of
41
+ truth on canvas, colour, type, layout choice and content rules. This file is
42
+ only the operating procedure.
43
+
44
+ ## Available scripts
45
+
46
+ - **`wand.js`** — the front door - doctor, rebuild, layouts, glyphs, validate, check, preview, ship, spec, inspect
47
+ - **`build.js`** — spec -> .pptx, or --check, or --preview
48
+ - **`tools/extract.py`** — read a source deck: verbatim dump, geometry, analysis
49
+ - **`embed_fonts.py`** — embed Geist unsubsetted, and carry the spec inside the deck
50
+ - **`qa_coverage.py`** — diff the verbatim dump against the built deck
51
+
52
+ ## Setup
53
+
54
+ None beyond the doctor check above. Dependencies come with the package —
55
+ npm resolves them on install, and the zip carries them vendored.
56
+
57
+
58
+ ```bash
59
+ node wand.js doctor
60
+ ```
61
+
62
+ If `node_modules` is somehow missing, `npm install` in this directory.
63
+
64
+ ## The four jobs
65
+
66
+ ### Rebrand a deck they attached
67
+
68
+ ```bash
69
+ node wand.js rebuild <their-deck>.pptx # phases 0-3
70
+ # ...you write work/deck.json...
71
+ node wand.js ship work/deck.json # phases 4-6, prints the gate table
72
+ ```
73
+
74
+ `rebuild` normalises the source onto the 10in grid, dumps every verbatim string
75
+ and writes `work/PLAN.md` — per slide: the source's shape, a layout shortlist
76
+ with reasons, the verbatim text grouped by frame, and a stub with the required
77
+ fields. Choose the layout yourself; the shortlist is ranked by shape and cannot
78
+ see meaning.
79
+
80
+ ### Author from a brief
81
+
82
+ Skip `rebuild`. Write the spec against `node wand.js layouts` and
83
+ `examples/template.json`, then `ship`. Coverage is skipped — there is no source
84
+ to cover — and it says so.
85
+
86
+ ### Merge several decks
87
+
88
+ `node wand.js rebuild` each one into its own work directory, then write a single
89
+ spec. Ask which deck leads if they have not said. Flag duplicates rather than
90
+ silently dropping them, and list every merge in the review note.
91
+
92
+ ### Edit a deck this kit built
93
+
94
+ ```bash
95
+ node wand.js spec <their-deck>.pptx work/deck.json
96
+ ```
97
+
98
+ Decks built here carry their own spec inside the file. Change only what was
99
+ asked, then `ship`. If the deck carries no spec it was not built here — treat it
100
+ as a rebrand.
101
+
102
+ ## Rules that decide whether the output is usable
103
+
104
+ 1. **Faithful means verbatim.** No consolidating slides, no paraphrasing to
105
+ tighten, no restructuring. Reflowing to fit is fine; rewording is not.
106
+ Paraphrase passes the schema check and passes the eye — only coverage catches
107
+ it.
108
+ 2. **A spec has no coordinates, colours or font sizes.** If a slide needs
109
+ geometry the layouts do not have, add a layout. Never leak positioning into
110
+ content.
111
+ 3. **Vary the layouts.** Three of the same in a row is a failure even if each is
112
+ correct. Across 15 slides aim for at least eight distinct ones, alternating
113
+ dark and light. `validate` warns when you do not.
114
+ 4. **Icons are named.** `node wand.js glyphs` lists all 75. Pick by meaning.
115
+ They recolour to the theme, so there is no polarity to get wrong.
116
+ 5. **Never invent content.** If the source is ambiguous, ask.
117
+
118
+ ## Useful commands
119
+
120
+ | | |
121
+ |---|---|
122
+ | `node wand.js layouts [name]` | the catalog, and any layout's fields |
123
+ | `node wand.js glyphs [search]` | the named icon set |
124
+ | `node wand.js validate <spec>` | fields, types, item caps — run before building |
125
+ | `node wand.js check <spec>` | fit in real Geist, bounds, assets |
126
+ | `node wand.js preview <spec>` | writes `preview/trace.js` for the browser preview |
127
+ | `node wand.js inspect <deck>` | parts, relationships, embedded fonts |
128
+
129
+ ## Deliver
130
+
131
+ The `.pptx` first, then a review note: every split or merge, every fallback
132
+ mapping, anything tight after fitting, and **everything dropped from the
133
+ verbatim dump**. A rebuild that drops a string without saying so is not done.
134
+
135
+ Tell them the gate table honestly. The visual gate is the one no script passes —
136
+ say plainly that nobody has looked at the slides yet if nobody has.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wand-decks-kit",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Rebuilds or authors a client-ready .pptx on the Wand design system: measured fit, embedded Geist, verbatim content.",
5
5
  "license": "SEE LICENSE IN PROMPT.md",
6
6
  "bin": {
package/wand_kit.js CHANGED
@@ -994,7 +994,7 @@ function productMap(pres, { tag, titleText, subtitleText, bandRow, cards, split,
994
994
 
995
995
 
996
996
  module.exports = {
997
- VERSION: "0.8.0",
997
+ VERSION: "0.8.1",
998
998
  T, F, COLS, ASSETS, radius, theme, autoSize, measure: M,
999
999
  background, chrome, footer, title, subtitle, kicker, contentTop,
1000
1000
  card, iconTile, pill,