@topmindspace/tms-skills 0.1.0 → 0.1.2

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 (102) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/README.md +9 -3
  3. package/bin/tms-skills.js +200 -160
  4. package/package.json +12 -9
  5. package/top-ppt-html/README.md +162 -254
  6. package/top-ppt-html/SKILL.md +126 -111
  7. package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.html +3926 -3926
  8. package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.model.json +167 -167
  9. package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.html +4325 -4325
  10. package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.model.json +320 -320
  11. package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.html +5527 -5527
  12. package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.model.json +913 -913
  13. package/top-ppt-html/assets/pptx-export.js +1944 -1944
  14. package/top-ppt-html/assets/style-gallery.html +589 -589
  15. package/top-ppt-html/assets/templates/architecture.html +3728 -3728
  16. package/top-ppt-html/assets/templates/engine.css +840 -840
  17. package/top-ppt-html/assets/templates/presentation.html +3738 -3738
  18. package/top-ppt-html/assets/templates/research.html +4017 -4017
  19. package/top-ppt-html/assets/templates/ui.js +520 -520
  20. package/top-ppt-html/assets/theme-overview-architecture.png +0 -0
  21. package/top-ppt-html/assets/theme-overview-research.png +0 -0
  22. package/top-ppt-html/assets/theme-overview.png +0 -0
  23. package/top-ppt-html/evals/prompts.csv +15 -15
  24. package/top-ppt-html/evals/rubric.schema.json +25 -25
  25. package/top-ppt-html/evals/run_evals.py +220 -220
  26. package/top-ppt-html/evals/trace.example.json +16 -16
  27. package/top-ppt-html/package-lock.json +186 -0
  28. package/top-ppt-html/package.json +11 -11
  29. package/top-ppt-html/references/charts-basic.md +624 -624
  30. package/top-ppt-html/references/charts-discipline.md +110 -108
  31. package/top-ppt-html/references/charts-extended.md +482 -482
  32. package/top-ppt-html/references/charts.md +37 -28
  33. package/top-ppt-html/references/components-atoms.md +624 -624
  34. package/top-ppt-html/references/components.md +30 -30
  35. package/top-ppt-html/references/content-rules.md +510 -490
  36. package/top-ppt-html/references/default-surface.md +61 -0
  37. package/top-ppt-html/references/design-system.md +478 -478
  38. package/top-ppt-html/references/failure-modes.md +227 -214
  39. package/top-ppt-html/references/high-fidelity.md +127 -127
  40. package/top-ppt-html/references/icons.md +176 -397
  41. package/top-ppt-html/references/infographics-stats.md +308 -308
  42. package/top-ppt-html/references/infographics-structure.md +226 -226
  43. package/top-ppt-html/references/infographics.md +43 -43
  44. package/top-ppt-html/references/layout-grammar.md +325 -315
  45. package/top-ppt-html/references/layouts-architecture.md +108 -108
  46. package/top-ppt-html/references/layouts-combo.md +600 -600
  47. package/top-ppt-html/references/layouts-research.md +160 -160
  48. package/top-ppt-html/references/modes.md +259 -254
  49. package/top-ppt-html/references/outline-design.md +275 -275
  50. package/top-ppt-html/references/playbook.md +284 -266
  51. package/top-ppt-html/references/pptx-export.md +227 -209
  52. package/top-ppt-html/references/presentation-craft.md +69 -0
  53. package/top-ppt-html/references/styles.md +370 -370
  54. package/top-ppt-html/references/tech-design.md +138 -138
  55. package/top-ppt-html/scripts/audit_css.py +109 -109
  56. package/top-ppt-html/scripts/audit_docs.py +176 -176
  57. package/top-ppt-html/scripts/audit_skill.py +231 -220
  58. package/top-ppt-html/scripts/audit_styles.py +351 -351
  59. package/top-ppt-html/scripts/build_examples.py +55 -2276
  60. package/top-ppt-html/scripts/build_pptx.js +2386 -2380
  61. package/top-ppt-html/scripts/capture_theme_overview.js +79 -78
  62. package/top-ppt-html/scripts/checks_html.py +166 -127
  63. package/top-ppt-html/scripts/cross_verify.py +298 -294
  64. package/top-ppt-html/scripts/env_probe.py +158 -158
  65. package/top-ppt-html/scripts/extract_model.py +210 -210
  66. package/top-ppt-html/scripts/extract_snippet.py +374 -374
  67. package/top-ppt-html/scripts/gen_channel_a.js +214 -214
  68. package/top-ppt-html/scripts/layout-constants.json +111 -18
  69. package/top-ppt-html/scripts/lib_layout_regions.js +410 -412
  70. package/top-ppt-html/scripts/measure_height.py +178 -178
  71. package/top-ppt-html/scripts/negative_tests.py +433 -307
  72. package/top-ppt-html/scripts/package_skill.py +294 -291
  73. package/top-ppt-html/scripts/prepare_images.py +341 -341
  74. package/top-ppt-html/scripts/probe_image_export.py +187 -188
  75. package/top-ppt-html/scripts/quality_gate.py +309 -301
  76. package/top-ppt-html/scripts/recommend_layout.py +384 -0
  77. package/top-ppt-html/scripts/regression.py +308 -308
  78. package/top-ppt-html/scripts/render_compare.py +275 -275
  79. package/top-ppt-html/scripts/render_from_model.py +698 -698
  80. package/top-ppt-html/scripts/scaffold_report.py +1054 -1054
  81. package/top-ppt-html/scripts/section-file-map.json +104 -104
  82. package/top-ppt-html/scripts/smoke_pptx.sh +30 -0
  83. package/top-ppt-html/scripts/sync_runtime.py +659 -662
  84. package/top-ppt-html/scripts/validate_pptx.py +1579 -1510
  85. package/top-ppt-html/scripts/validate_report.py +1755 -1456
  86. package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.html +0 -3926
  87. package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.model.json +0 -168
  88. package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.html +0 -4325
  89. package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.model.json +0 -321
  90. package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.html +0 -4325
  91. package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.model.json +0 -321
  92. package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.html +0 -5527
  93. package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.model.json +0 -914
  94. package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.html +0 -5527
  95. package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.model.json +0 -914
  96. package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.html +0 -5527
  97. package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.model.json +0 -914
  98. package/top-ppt-html/assets/theme-overview-presentation.png +0 -0
  99. package/top-ppt-html/references/design-system-engine.md +0 -235
  100. package/top-ppt-html/references/industry-benchmark.md +0 -105
  101. package/top-ppt-html/references/reform-plan.md +0 -252
  102. package/top-ppt-html/scripts/layout_slots.json +0 -830
@@ -0,0 +1,186 @@
1
+ {
2
+ "name": "top-ppt-html",
3
+ "version": "0.1.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "top-ppt-html",
9
+ "version": "0.1.0",
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "pptxgenjs": "^4.0.0"
13
+ },
14
+ "devDependencies": {
15
+ "playwright": "^1.63.0"
16
+ },
17
+ "engines": {
18
+ "node": ">=18"
19
+ }
20
+ },
21
+ "node_modules/@types/node": {
22
+ "version": "22.20.4",
23
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.4.tgz",
24
+ "integrity": "sha512-zJRE40jpHtKqE/C4fgHrAKQLJuSpzEnP9ff9Y7YtoR3Wd2pwqzlekDeEuUQXjRd+QCYnVnNwuJYmhdk9XV8gvA==",
25
+ "dependencies": {
26
+ "undici-types": "~6.21.0"
27
+ }
28
+ },
29
+ "node_modules/core-util-is": {
30
+ "version": "1.0.3",
31
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
32
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
33
+ },
34
+ "node_modules/https": {
35
+ "version": "1.0.0",
36
+ "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz",
37
+ "integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg=="
38
+ },
39
+ "node_modules/image-size": {
40
+ "version": "1.2.1",
41
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz",
42
+ "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==",
43
+ "dependencies": {
44
+ "queue": "6.0.2"
45
+ },
46
+ "bin": {
47
+ "image-size": "bin/image-size.js"
48
+ },
49
+ "engines": {
50
+ "node": ">=16.x"
51
+ }
52
+ },
53
+ "node_modules/immediate": {
54
+ "version": "3.0.6",
55
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
56
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
57
+ },
58
+ "node_modules/inherits": {
59
+ "version": "2.0.4",
60
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
61
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
62
+ },
63
+ "node_modules/isarray": {
64
+ "version": "1.0.0",
65
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
66
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
67
+ },
68
+ "node_modules/jszip": {
69
+ "version": "3.10.2",
70
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.2.tgz",
71
+ "integrity": "sha512-3l+rb15IOWtUhU0H5MFqES/T6Kh7abYwjosBey/vD6hDt8zoEffkSC5Ws5SGtgVw3gBx2NEbhTeSW1+kWkpyTQ==",
72
+ "dependencies": {
73
+ "lie": "~3.3.0",
74
+ "pako": "~1.0.2",
75
+ "readable-stream": "~2.3.6",
76
+ "setimmediate": "^1.0.5"
77
+ }
78
+ },
79
+ "node_modules/lie": {
80
+ "version": "3.3.0",
81
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
82
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
83
+ "dependencies": {
84
+ "immediate": "~3.0.5"
85
+ }
86
+ },
87
+ "node_modules/pako": {
88
+ "version": "1.0.11",
89
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
90
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
91
+ },
92
+ "node_modules/playwright": {
93
+ "version": "1.63.0",
94
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz",
95
+ "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==",
96
+ "dev": true,
97
+ "dependencies": {
98
+ "playwright-core": "1.63.0"
99
+ },
100
+ "bin": {
101
+ "playwright": "cli.js"
102
+ },
103
+ "engines": {
104
+ "node": ">=20"
105
+ }
106
+ },
107
+ "node_modules/playwright-core": {
108
+ "version": "1.63.0",
109
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz",
110
+ "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==",
111
+ "dev": true,
112
+ "bin": {
113
+ "playwright-core": "cli.js"
114
+ },
115
+ "engines": {
116
+ "node": ">=20"
117
+ }
118
+ },
119
+ "node_modules/pptxgenjs": {
120
+ "version": "4.0.1",
121
+ "resolved": "https://registry.npmjs.org/pptxgenjs/-/pptxgenjs-4.0.1.tgz",
122
+ "integrity": "sha512-TeJISr8wouAuXw4C1F/mC33xbZs/FuEG6nH9FG1Zj+nuPcGMP5YRHl6X+j3HSUnS1f3at6k75ZZXPMZlA5Lj9A==",
123
+ "dependencies": {
124
+ "@types/node": "^22.8.1",
125
+ "https": "^1.0.0",
126
+ "image-size": "^1.2.1",
127
+ "jszip": "^3.10.1"
128
+ }
129
+ },
130
+ "node_modules/process-nextick-args": {
131
+ "version": "2.0.1",
132
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
133
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
134
+ },
135
+ "node_modules/queue": {
136
+ "version": "6.0.2",
137
+ "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
138
+ "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
139
+ "dependencies": {
140
+ "inherits": "~2.0.3"
141
+ }
142
+ },
143
+ "node_modules/readable-stream": {
144
+ "version": "2.3.8",
145
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
146
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
147
+ "dependencies": {
148
+ "core-util-is": "~1.0.0",
149
+ "inherits": "~2.0.3",
150
+ "isarray": "~1.0.0",
151
+ "process-nextick-args": "~2.0.0",
152
+ "safe-buffer": "~5.1.1",
153
+ "string_decoder": "~1.1.1",
154
+ "util-deprecate": "~1.0.1"
155
+ }
156
+ },
157
+ "node_modules/safe-buffer": {
158
+ "version": "5.1.2",
159
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
160
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
161
+ },
162
+ "node_modules/setimmediate": {
163
+ "version": "1.0.5",
164
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
165
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
166
+ },
167
+ "node_modules/string_decoder": {
168
+ "version": "1.1.1",
169
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
170
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
171
+ "dependencies": {
172
+ "safe-buffer": "~5.1.0"
173
+ }
174
+ },
175
+ "node_modules/undici-types": {
176
+ "version": "6.21.0",
177
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
178
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
179
+ },
180
+ "node_modules/util-deprecate": {
181
+ "version": "1.0.2",
182
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
183
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
184
+ }
185
+ }
186
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "top-ppt-html",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "private": true,
5
5
  "description": "TopPPT HTML:报告 / 演示 / 信息架构图技能。单文件 HTML + 版式保真的可编辑 PPTX;布局骨架 P1–P12;模型单写;strict 0/0 交付。",
6
6
  "license": "MIT",
@@ -14,17 +14,17 @@
14
14
  "node": ">=18"
15
15
  },
16
16
  "scripts": {
17
- "scaffold": "python scripts/scaffold_report.py",
18
- "sync": "python scripts/sync_runtime.py",
19
- "audit": "python scripts/audit_styles.py && python scripts/audit_docs.py && python scripts/audit_skill.py && python scripts/audit_css.py",
17
+ "scaffold": "python3 scripts/scaffold_report.py",
18
+ "sync": "python3 scripts/sync_runtime.py",
19
+ "audit": "python3 scripts/audit_styles.py && python3 scripts/audit_docs.py && python3 scripts/audit_skill.py && python3 scripts/audit_css.py",
20
20
  "capture-themes": "node scripts/capture_theme_overview.js",
21
- "measure": "python scripts/measure_height.py",
22
- "eval": "python evals/run_evals.py",
23
- "build-examples": "python scripts/build_examples.py",
24
- "regression": "python scripts/regression.py",
25
- "negative": "python scripts/negative_tests.py",
26
- "package": "python scripts/package_skill.py",
27
- "check": "python scripts/package_skill.py --check"
21
+ "measure": "python3 scripts/measure_height.py",
22
+ "eval": "python3 evals/run_evals.py",
23
+ "build-examples": "python3 scripts/build_examples.py",
24
+ "regression": "python3 scripts/regression.py",
25
+ "negative": "python3 scripts/negative_tests.py",
26
+ "package": "python3 scripts/package_skill.py",
27
+ "check": "python3 scripts/package_skill.py --check"
28
28
  },
29
29
  "dependencies": {
30
30
  "pptxgenjs": "^4.0.0"