@topmindspace/tms-skills 0.1.0 → 2.0.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/CHANGELOG.md +134 -26
- package/README.md +59 -35
- package/package.json +48 -48
- package/top-ppt-html/README.md +5 -5
- package/top-ppt-html/SKILL.md +1 -1
- package/top-ppt-html/assets/pptx-export.js +2 -2
- package/top-ppt-html/assets/style-gallery.html +1 -1
- package/top-ppt-html/assets/templates/architecture.html +2 -2
- package/top-ppt-html/assets/templates/presentation.html +2 -2
- package/top-ppt-html/assets/templates/research.html +2 -2
- package/top-ppt-html/package.json +35 -35
- package/top-ppt-html/references/pptx-export.md +1 -1
- package/top-ppt-html/references/reform-plan.md +4 -4
- package/top-ppt-html/references/tech-design.md +2 -2
- package/top-ppt-html/scripts/layout-constants.json +3377 -3377
- package/top-ppt-html/scripts/layout_slots.json +830 -830
- package/top-ppt-html/scripts/model-schema.json +547 -547
package/CHANGELOG.md
CHANGED
|
@@ -1,26 +1,134 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
###
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
所有 monorepo 变更记录见本文件。
|
|
4
|
+
|
|
5
|
+
## 2.0.1 — 2026-09-24(文档 + 发布链路)
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- 文档全面对齐「双通道分发」:npm [`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills) 已公开发布(`2.0.0` 起),GitHub 直装仍可用。
|
|
9
|
+
- 明确 **GitHub ≠ npm 自动同步**:push 不更新 npm;**tag `v*` → `release.yml` 自动 npm publish**。
|
|
10
|
+
- `release.yml` 启用 npm 发布步骤(Secret `NPM_TOKEN`);`docs/PUBLISHING.md` 补版本策略、打包矩阵 npm 列、排错表。
|
|
11
|
+
|
|
12
|
+
## 2.0.0 — 2026-09-24(技能 9.1.0 · 仓库/技能更名 + 层级扁平化)
|
|
13
|
+
|
|
14
|
+
### Published
|
|
15
|
+
- 首次发布公共 npm:[`@topmindspace/tms-skills@2.0.0`](https://www.npmjs.com/package/@topmindspace/tms-skills)
|
|
16
|
+
- 安装:`npx @topmindspace/tms-skills install top-ppt-html`
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **仓库更名**:GitHub `topmindspace/topskills` → **`topmindspace/tms-skills`**(旧 URL 301);本地根目录、`git remote`、npm 包名 `@topmindspace/tms-skills`、CLI `tms-skills` / `bin/tms-skills.js` 全部对齐。
|
|
20
|
+
- **技能更名**:`top-slides-expert` / TopSlides Expert → **`top-ppt-html` / TopPPT HTML**(目录、frontmatter `name`、分发包、文档一致)。
|
|
21
|
+
- **注入标记**:`__TOPSLIDES_*__` → `__TOPPPT_*__`;**环境变量**:`TOP_SLIDES_*` → `TOP_PPT_*`;**JS API**:`TopSlidesPptx` → `TopPptHtml`。
|
|
22
|
+
- **层级扁平化**:移除冗余的 `skills/` 中间层,技能目录直接放在仓库根(`top-ppt-html/`);安装器改为扫描根目录下含 `SKILL.md` 的技能目录。
|
|
23
|
+
- 版本:技能 `9.0.1` → **`9.1.0`**(`layout-constants.json` `version: 9.1`);monorepo `1.1.1` → **`2.0.0`**(包名/CLI/结构破坏性变更)。
|
|
24
|
+
|
|
25
|
+
### Migration
|
|
26
|
+
| Old | New |
|
|
27
|
+
|-----|-----|
|
|
28
|
+
| repo `topmindspace/topskills` | `topmindspace/tms-skills` |
|
|
29
|
+
| npm `@topmindspace/topskills` | `@topmindspace/tms-skills` |
|
|
30
|
+
| CLI `topskills` / `bin/topskills.js` | `tms-skills` / `bin/tms-skills.js` |
|
|
31
|
+
| skill id / dir `top-slides-expert` | `top-ppt-html` |
|
|
32
|
+
| brand `TopSlides Expert` | `TopPPT HTML` |
|
|
33
|
+
| `skills/<id>/` | `<id>/`(仓库根) |
|
|
34
|
+
| `__TOPSLIDES_*__` markers | `__TOPPPT_*__` |
|
|
35
|
+
| `TOP_SLIDES_*` env | `TOP_PPT_*` |
|
|
36
|
+
| `TopSlidesPptx` | `TopPptHtml` |
|
|
37
|
+
|
|
38
|
+
无静默别名;旧标识见 `docs/PUBLISHING.md` 废弃清单,仅 CHANGELOG / 迁移说明可提及。
|
|
39
|
+
|
|
40
|
+
## 1.1.1 — 2026-09-23(技能 9.0.1 · PPTX 往返与双形态修复)
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- **PPTX 双形态载荷静默丢字**:`build_pptx.js` / `pptx-export.js` 用 `typeof x === 'object'` 区分 `[[t,d]…]` 与 `[{t,d,accent}…]`,但 `typeof [] === 'object'`,数组形态 steps/levels/lane/nodes 的标题与描述被读成 `undefined` 后落空(第 8 章 steps 仅 4/7 关键串)。改为 `isRec()`(非数组对象)判定,双引擎同步。
|
|
44
|
+
- **PPTX 模型往返误报(挡交付)**:`validate_pptx.validate_model_roundtrip` 关键串比对语料原先只取幻灯片形状文本,把原生图表 `chart.labels`(落在 chart part)和 notes-only 字段(`lead` / `image.hint` 等)误判为 `MODEL_ROUNDTRIP_CONTENT_MISSING`;v9 将 `roundtripMin` 提到 0.80 后 9 个随包示例全部 FAIL。现语料改为 **形状文本 ∪ 演讲者备注 ∪ 关联 chart part 文本**(`_roundtrip_corpus` + `slide_chart_text`),`slide_notes` 真正参与内容比对;探针跳过 `hint`/`src`/`alt` 等元数据键。
|
|
45
|
+
- 示例矩阵顶层金字塔描述过长触发 `CONTAINER_OVERFLOW`:顶层槽位收窄后改为「自动执行」;9 示例 `validate_pptx --strict --model` 全 0/0。
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
- 随包示例按 v9.0 模板重建(内嵌 MODEL_SCHEMA 8.3 → 9.0);4 张 `theme-overview*.png` 主题参考图刷新。
|
|
49
|
+
- 版本:技能 `9.0.0` → **`9.0.1`**(`package.json` npm 语义化);monorepo `1.1.0` → **`1.1.1`**。版本单源仍为 `layout-constants.json` `version: 9.0`。
|
|
50
|
+
|
|
51
|
+
### Verified
|
|
52
|
+
- 全链路回归通过:HTML strict + B 通道精导 strict 0/0 + A 通道 strict 0/0 + 双区组合页探针 + 深色主题探针 + `negative_tests` + 任务路由遍历 + python-pptx 双裁判。
|
|
53
|
+
- 审计全绿:`audit_styles` / `audit_docs` / `audit_skill` / `audit_css`;`package_skill.py --check` 通过。
|
|
54
|
+
|
|
55
|
+
## 1.1.0 — 2026-09-23(安装口径 + 隐私门禁)
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
- **安装口径改为 GitHub 优先**:根 README / 技能 README / `bin/topskills.js` / `docs/PUBLISHING.md` 统一以 `npx github:topmindspace/topskills ...` 为默认;npm 包名降为「已 publish 后的可选通道」。补充「找不到这个包」排错说明。
|
|
59
|
+
- `package.json` description 与新增 `npm run privacy` 脚本对齐上述口径。
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
- **隐私扫描器自身泄漏**:`ci_privacy_scan.py` 不再硬编码本机用户名;改为通用 home 用户名段检测 + 可选本地词表 `scripts/.privacy-deny.local`(gitignore)。
|
|
63
|
+
- **扫描器自扫失明**:旧版词表写在 raw string 里导致字面量扫不到自己;新版附合成样本自检,并拒绝在扫描器源码中出现用户名形态 token。
|
|
64
|
+
- **CI 日志二次泄漏**:扫描命中项一律脱敏输出(`xx***y(len=n)`),不回显密钥/路径原文。
|
|
65
|
+
- 删除本地临时脚本 `scripts/_find_dup.py`(`scripts/_*` 约定为用后即删)。
|
|
66
|
+
|
|
67
|
+
### Added
|
|
68
|
+
- 隐私扫描扩展:GitHub/npm token、AWS key、Bearer、密钥赋值形态;`git ls-files` 禁止跟踪路径门禁(临时脚本 / `.env` / 密钥 / 缓存 / 智能体本地状态)。
|
|
69
|
+
- `docs/PUBLISHING.md` 增加安装口径表、隐私扫描器自身约束、打包矩阵中的 `.privacy-deny.local` 行。
|
|
70
|
+
|
|
71
|
+
## 9.0.0 — 2026-09-23(v9 质量整改)
|
|
72
|
+
|
|
73
|
+
### Added
|
|
74
|
+
- `references/reform-plan.md`:整体整改方案(根因 / 设定纠偏 / 复杂度收敛 / 门禁重建 / 图文演讲 V1–V4 / **布局语法**)。
|
|
75
|
+
- **`references/layout-grammar.md`**:布局语法——12 列网格、预设骨架 **P1–P12**、元素级排版(图标/列表/卡/指标/图表/图文/结构图)、组合槽位、对齐与填充率。
|
|
76
|
+
- `layout-constants.layoutSystem`:骨架/元素/填充率/多重心/对齐/`pageToPreset`/`defaultCharts` 单源。
|
|
77
|
+
- v9 硬门禁:`HTML_TAG_IN_TEXT` / `TITLE_ONLY_PAGE` / `UNDERFILL_PAGE` / `CHART_SKEW_INVALID` / `CHART_OVERSIZE`。
|
|
78
|
+
- **`LAYOUT_*` 门禁**:`NO_SKELETON` / `MULTI_FOCUS` / `ALIGN_DRIFT` / `SPACING_OFF_TOKEN` / `ICON_SIZE` / `LABEL_COLLIDE` / `FILL`。
|
|
79
|
+
- scaffold:`PAGE_TO_PRESET` + `data-skel`/`data-page-type`/`layoutPreset`;图/exhibit 页强制 P8 主从;默认图表 8 核心轮换。
|
|
80
|
+
- **`render_from_model.py`**:模型驱动生成 HTML(只填 REPORT_MODEL,`--inplace` 回填正文;`[n]` 自动转 cite)。
|
|
81
|
+
- 结构图正交箭头:`engine.css` `.lane__arr`/`.arch__conn`/`.flow-*`;PPTX lane/diagram 线段+三角箭头。
|
|
82
|
+
- `layoutSlots` 并入 `layout-constants`(`lib_layout_regions` 优先读 LC);cards 双端兼容 `[[k,v]]`/`str`/`{t,d}`。
|
|
83
|
+
- `cross_verify` 逐页文本改为 **≥80% 覆盖**(与 roundtripMin 同源)。
|
|
84
|
+
- playbook §〇 排版总序 + §三-b 图文演讲 V1–V4;content-rules §二-b 模型字段禁 HTML 标签。
|
|
85
|
+
- 负向测试 N15–N17(标签泄漏 / 极偏 donut / 模型夹带标签)。
|
|
86
|
+
|
|
87
|
+
### Fixed
|
|
88
|
+
- SKILL.md 超重与 references 内容重复(audit_skill);CSS 未引用类清零(`flow-*` 接入 scaffold)。
|
|
89
|
+
- render_from_model:agenda 对齐、Exhibit 顺序编号、donut/matrix/threecol/halftable/comparison 版式类映射。
|
|
90
|
+
- cards 双端 points 形态兼容;页高估算按栅格折行 + 8% 容差。
|
|
91
|
+
- 临时脚本与死代码清理;tech-design/README 单写路径对齐。
|
|
92
|
+
|
|
93
|
+
### Docs
|
|
94
|
+
- 根 README / PUBLISHING 中文化;技能 `description` 重写(445 字,做什么+何时用+何时不用)。
|
|
95
|
+
- README 历史版本长文移除,统一看本 CHANGELOG;版本表述统一 v9.0。
|
|
96
|
+
|
|
97
|
+
### Changed
|
|
98
|
+
- 过空页、留白失衡(任一轴)、大图、文本溢出、内容保真(50%→80%)纳入 strict。
|
|
99
|
+
- 废除「presentation 每页 1 张大图」;图表面积随信息复杂度。
|
|
100
|
+
- scaffold `cards` 契约改为 `{title, points[]}`(与双引擎一致,修复空卡)。
|
|
101
|
+
- `extract_model` 自动剥离模型字段中的 HTML 标签。
|
|
102
|
+
- 承载口径扩展(ul/arch/lane/…);页高估算改重承载 + 8% 静态容差。
|
|
103
|
+
|
|
104
|
+
## 1.0.0 — 2026-09-23
|
|
105
|
+
|
|
106
|
+
### Added
|
|
107
|
+
- `@topmindspace/topskills` monorepo with `npx` installer (`topskills list|install`).
|
|
108
|
+
- GitHub Actions CI (audit + package gate + privacy scan) and release workflow.
|
|
109
|
+
- MIT license and release-ready root documentation.
|
|
110
|
+
|
|
111
|
+
### Changed
|
|
112
|
+
- Skill renamed **`topreport` / TopReport → `top-slides-expert` / TopSlides Expert**.
|
|
113
|
+
- Environment variables renamed: `TOPREPORT_*` → `TOP_SLIDES_*`.
|
|
114
|
+
- Injection markers renamed: `__TOPREPORT_*__` → `__TOPSLIDES_*__`.
|
|
115
|
+
- JS API renamed: `TopReportPptx` → `TopSlidesPptx`.
|
|
116
|
+
- Skill lives at `skills/top-slides-expert/` so more skills can join this repo.
|
|
117
|
+
|
|
118
|
+
### Removed / deprecated
|
|
119
|
+
- Legacy `topreport`, `TopReport`, `TOPREPORT_*`, `MIGA_*` identifiers (no silent aliases).
|
|
120
|
+
- Private host path probes and IDE/agent local state from the publishable tree.
|
|
121
|
+
- Internal optimization planning notes (`OPTIMIZATION-PLAN.md`) from the release tree.
|
|
122
|
+
- Build artifacts (`dist/`, `node_modules/`, caches) from version control.
|
|
123
|
+
|
|
124
|
+
### Migration
|
|
125
|
+
| Old | New |
|
|
126
|
+
|-----|-----|
|
|
127
|
+
| skill id `topreport` | `top-slides-expert` |
|
|
128
|
+
| brand `TopReport` | `TopSlides Expert` |
|
|
129
|
+
| `TOPREPORT_NODE_EXE` | `TOP_SLIDES_NODE_EXE` |
|
|
130
|
+
| `TOPREPORT_NODE_PATH` | `TOP_SLIDES_NODE_PATH` |
|
|
131
|
+
| `TOPREPORT_BROWSER_CHANNEL` | `TOP_SLIDES_BROWSER_CHANNEL` |
|
|
132
|
+
| `__TOPREPORT_*__` markers | `__TOPSLIDES_*__` |
|
|
133
|
+
| `TopReportPptx` | `TopSlidesPptx` |
|
|
134
|
+
| `MIGA_*` env | removed — use `TOP_SLIDES_*` |
|
package/README.md
CHANGED
|
@@ -6,47 +6,58 @@
|
|
|
6
6
|
|
|
7
7
|
## 技能一览
|
|
8
8
|
|
|
9
|
-
| 技能 |
|
|
9
|
+
| 技能 | 状态 | 做什么 |
|
|
10
10
|
|------|------|--------|
|
|
11
|
-
| [`top-ppt-html`](./top-ppt-html/) |
|
|
11
|
+
| [`top-ppt-html`](./top-ppt-html/) | stable | 报告 / 演示 / 信息架构图:单文件 HTML + 版式保真的可编辑 16:9 PPTX |
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
更多技能以仓库根目录下的技能目录加入(每个目录含 `SKILL.md`)。
|
|
13
|
+
更多技能将直接以仓库根目录下的技能目录加入(每个技能一个目录,含 `SKILL.md`)。
|
|
16
14
|
|
|
17
15
|
## 安装
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
两条通道,装出来的东西一样。**GitHub = 永远跟仓库 HEAD**;**npm = 固定版本快照**(发版后不变)。
|
|
18
|
+
|
|
19
|
+
### 通道 A · npm(推荐日常)
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
已发布:[`@topmindspace/tms-skills`](https://www.npmjs.com/package/@topmindspace/tms-skills)
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
+
# 列出包内技能
|
|
24
25
|
npx @topmindspace/tms-skills list
|
|
26
|
+
|
|
27
|
+
# 安装到 ./.agents/skills(默认;也会探测 .claude / .mimocode)
|
|
25
28
|
npx @topmindspace/tms-skills install top-ppt-html
|
|
29
|
+
|
|
30
|
+
# 安装到指定目录
|
|
26
31
|
npx @topmindspace/tms-skills install top-ppt-html --to ./.claude/skills
|
|
27
|
-
|
|
32
|
+
|
|
33
|
+
# 钉版本
|
|
34
|
+
npx @topmindspace/tms-skills@2.0.0 install top-ppt-html
|
|
28
35
|
```
|
|
29
36
|
|
|
30
|
-
### GitHub
|
|
37
|
+
### 通道 B · GitHub 直装(跟最新提交 / 无 npm 网络)
|
|
31
38
|
|
|
32
39
|
```bash
|
|
40
|
+
npx github:topmindspace/tms-skills list
|
|
33
41
|
npx github:topmindspace/tms-skills install top-ppt-html
|
|
34
42
|
|
|
43
|
+
# 或 clone 后本地安装
|
|
35
44
|
git clone https://github.com/topmindspace/tms-skills.git
|
|
36
45
|
node tms-skills/bin/tms-skills.js install top-ppt-html
|
|
37
46
|
```
|
|
38
47
|
|
|
39
48
|
### 手工
|
|
40
49
|
|
|
41
|
-
解压 GitHub Release 的 `top-ppt-html.zip`
|
|
50
|
+
解压 GitHub Release 的 `top-ppt-html.zip` 到技能目录(无 Node / 受限网络)。
|
|
42
51
|
|
|
43
|
-
|
|
52
|
+
安装器会把根目录下的技能目录 `<id>/`(含 `SKILL.md`)复制到目标目录。智能体通过 `SKILL.md` frontmatter(`name` + `description`)发现技能。
|
|
44
53
|
|
|
45
|
-
>
|
|
54
|
+
> **排错**:不要用 `npm install <skill-id>`(技能 id 不是独立 npm 包)。npm 装的是安装器包 `@topmindspace/tms-skills`,技能由它 `install` 复制进目标目录。
|
|
55
|
+
>
|
|
56
|
+
> 若报「找不到这个包」:稍等索引同步,或改用通道 B;国内镜像可能滞后,可用 `--registry https://registry.npmjs.org/`。
|
|
46
57
|
|
|
47
|
-
### 可选依赖(仅 PPTX
|
|
58
|
+
### 可选依赖(仅 PPTX 精导需要)
|
|
48
59
|
|
|
49
|
-
HTML
|
|
60
|
+
HTML 生成只用 **Python 标准库**。原生 PPTX 导出需要 Node + 在技能目录安装 `pptxgenjs`:
|
|
50
61
|
|
|
51
62
|
```bash
|
|
52
63
|
cd <install-dir>/top-ppt-html
|
|
@@ -57,46 +68,59 @@ npm install
|
|
|
57
68
|
|
|
58
69
|
```
|
|
59
70
|
tms-skills/
|
|
60
|
-
├─ top-ppt-html/ #
|
|
61
|
-
├─ bin/tms-skills.js # CLI
|
|
62
|
-
├─ docs/ #
|
|
63
|
-
├─ scripts/ #
|
|
71
|
+
├─ top-ppt-html/ # 技能目录(SKILL.md + assets + references + scripts + evals)
|
|
72
|
+
├─ bin/tms-skills.js # npx CLI(list / install)
|
|
73
|
+
├─ docs/ # 发布与贡献说明
|
|
74
|
+
├─ scripts/ # 仓库级工具(隐私扫描等)
|
|
64
75
|
├─ .github/workflows/ # CI + Release
|
|
65
76
|
├─ package.json # @topmindspace/tms-skills
|
|
66
|
-
├─ LICENSE
|
|
77
|
+
├─ LICENSE
|
|
78
|
+
├─ CHANGELOG.md
|
|
79
|
+
└─ README.md
|
|
67
80
|
```
|
|
68
81
|
|
|
69
|
-
##
|
|
82
|
+
## GitHub 与 npm 如何同步
|
|
70
83
|
|
|
71
84
|
| 动作 | GitHub | npm |
|
|
72
85
|
|------|:------:|:---:|
|
|
73
|
-
| push 到 main | 立即可见 |
|
|
74
|
-
| tag `vX.Y.Z` |
|
|
86
|
+
| 直接 push 到 main | 立即可见 | **不会**自动更新 |
|
|
87
|
+
| 打 tag `vX.Y.Z` 并 push | 出 GitHub Release | **自动** `npm publish`(见下) |
|
|
88
|
+
| 本地 `npm publish` | — | 立即更新 |
|
|
89
|
+
|
|
90
|
+
**不会**因为 GitHub 上改了代码就自动更新 npm——npm 只认**新的版本号**。日常迭代用通道 B 或等发版;发版走 tag 即可两边对齐。
|
|
75
91
|
|
|
76
|
-
|
|
77
|
-
- **Release 只保留最近 2 个**(CI 自动清理);npm 可钉任意历史版本。
|
|
78
|
-
- 安装器与技能 **版本各自独立**;默认 patch/minor,major 仅破坏性变更。
|
|
92
|
+
发版细节见 [docs/PUBLISHING.md](./docs/PUBLISHING.md)。
|
|
79
93
|
|
|
80
|
-
|
|
94
|
+
## 隐私与发布策略
|
|
81
95
|
|
|
82
|
-
|
|
96
|
+
- 文档与技能中不得出现个人路径、主机名、凭据或本机智能体状态。
|
|
97
|
+
- 不包含密钥、私有包源、绝对本地路径。
|
|
98
|
+
- 构建产物(`dist/`、`node_modules/`、缓存、IDE 状态)一律 gitignore,不进包。
|
|
99
|
+
- 触发文案与文档不得含私有/内部工具品牌。
|
|
100
|
+
|
|
101
|
+
## CI / CD
|
|
83
102
|
|
|
84
103
|
| 工作流 | 触发 | 做什么 |
|
|
85
104
|
|--------|------|--------|
|
|
86
|
-
| `ci.yml` | push / PR |
|
|
87
|
-
| `release.yml` | tag `v*` | 技能 zip → Release
|
|
105
|
+
| `ci.yml` | push / PR | 技能打包门禁、审计、隐私扫描、CLI 冒烟 |
|
|
106
|
+
| `release.yml` | tag `v*` | 技能 zip + manifest → GitHub Release;**并自动 npm publish** |
|
|
107
|
+
|
|
108
|
+
本地推送前建议:
|
|
88
109
|
|
|
89
110
|
```bash
|
|
90
|
-
npm run check
|
|
111
|
+
npm run check
|
|
112
|
+
npm run audit
|
|
113
|
+
npm run privacy
|
|
91
114
|
```
|
|
92
115
|
|
|
93
116
|
## 开发新技能
|
|
94
117
|
|
|
95
|
-
1.
|
|
96
|
-
2.
|
|
97
|
-
3.
|
|
98
|
-
4.
|
|
118
|
+
1. 在仓库根目录创建 `<skill-id>/`,`SKILL.md` frontmatter 的 `name` 必须与目录名一致。
|
|
119
|
+
2. 面向人的说明写在技能 `README.md`;智能体入口保持 `SKILL.md`。
|
|
120
|
+
3. 发布前运行该技能的 `scripts/package_skill.py --check`。
|
|
121
|
+
4. 在根 README 技能表、`package.json` 的 `files`、CI 工作流与 `CHANGELOG.md` 登记。
|
|
122
|
+
5. 不要提交本机 IDE/智能体状态或绝对机器路径。
|
|
99
123
|
|
|
100
124
|
## 许可证
|
|
101
125
|
|
|
102
|
-
MIT © TopMindspace — [LICENSE](./LICENSE)
|
|
126
|
+
MIT © TopMindspace — 见 [LICENSE](./LICENSE)。
|
package/package.json
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@topmindspace/tms-skills",
|
|
3
|
-
"version": "0.1
|
|
4
|
-
"description": "TopMindspace 智能体技能 monorepo — 通过 GitHub npx 安装技能(top-ppt-html 等)。",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"author": "TopMindspace",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/topmindspace/tms-skills.git"
|
|
10
|
-
},
|
|
11
|
-
"homepage": "https://github.com/topmindspace/tms-skills#readme",
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/topmindspace/tms-skills/issues"
|
|
14
|
-
},
|
|
15
|
-
"keywords": [
|
|
16
|
-
"agent-skills",
|
|
17
|
-
"ai-skills",
|
|
18
|
-
"slides",
|
|
19
|
-
"pptx",
|
|
20
|
-
"report",
|
|
21
|
-
"top-ppt-html"
|
|
22
|
-
],
|
|
23
|
-
"type": "commonjs",
|
|
24
|
-
"bin": {
|
|
25
|
-
"tms-skills": "bin/tms-skills.js"
|
|
26
|
-
},
|
|
27
|
-
"files": [
|
|
28
|
-
"bin",
|
|
29
|
-
"top-ppt-html",
|
|
30
|
-
"README.md",
|
|
31
|
-
"LICENSE",
|
|
32
|
-
"CHANGELOG.md"
|
|
33
|
-
],
|
|
34
|
-
"engines": {
|
|
35
|
-
"node": ">=18"
|
|
36
|
-
},
|
|
37
|
-
"scripts": {
|
|
38
|
-
"list": "node bin/tms-skills.js list",
|
|
39
|
-
"install:skills": "node bin/tms-skills.js install top-ppt-html",
|
|
40
|
-
"check": "python top-ppt-html/scripts/package_skill.py --check",
|
|
41
|
-
"privacy": "python scripts/ci_privacy_scan.py",
|
|
42
|
-
"audit": "python top-ppt-html/scripts/audit_styles.py && python top-ppt-html/scripts/audit_docs.py && python top-ppt-html/scripts/audit_skill.py && python top-ppt-html/scripts/audit_css.py",
|
|
43
|
-
"package:skill": "python top-ppt-html/scripts/package_skill.py"
|
|
44
|
-
},
|
|
45
|
-
"publishConfig": {
|
|
46
|
-
"access": "public"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@topmindspace/tms-skills",
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "TopMindspace 智能体技能 monorepo — 通过 GitHub npx 安装技能(top-ppt-html 等)。",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "TopMindspace",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/topmindspace/tms-skills.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/topmindspace/tms-skills#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/topmindspace/tms-skills/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"agent-skills",
|
|
17
|
+
"ai-skills",
|
|
18
|
+
"slides",
|
|
19
|
+
"pptx",
|
|
20
|
+
"report",
|
|
21
|
+
"top-ppt-html"
|
|
22
|
+
],
|
|
23
|
+
"type": "commonjs",
|
|
24
|
+
"bin": {
|
|
25
|
+
"tms-skills": "bin/tms-skills.js"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"bin",
|
|
29
|
+
"top-ppt-html",
|
|
30
|
+
"README.md",
|
|
31
|
+
"LICENSE",
|
|
32
|
+
"CHANGELOG.md"
|
|
33
|
+
],
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=18"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"list": "node bin/tms-skills.js list",
|
|
39
|
+
"install:skills": "node bin/tms-skills.js install top-ppt-html",
|
|
40
|
+
"check": "python top-ppt-html/scripts/package_skill.py --check",
|
|
41
|
+
"privacy": "python scripts/ci_privacy_scan.py",
|
|
42
|
+
"audit": "python top-ppt-html/scripts/audit_styles.py && python top-ppt-html/scripts/audit_docs.py && python top-ppt-html/scripts/audit_skill.py && python top-ppt-html/scripts/audit_css.py",
|
|
43
|
+
"package:skill": "python top-ppt-html/scripts/package_skill.py"
|
|
44
|
+
},
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public"
|
|
47
|
+
}
|
|
48
|
+
}
|
package/top-ppt-html/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**让 idea 飞,好想法被看见。** 一套面向 AI 智能体的商务报告生成技能:把想法、调研、分析、架构方案,变成**专业级的 HTML 报告 + 版式保真的可编辑 PPTX**。
|
|
4
4
|
|
|
5
5
|
- 技能标识:`top-ppt-html`(安装/打包目录名与此一致);品牌名:**TopPPT HTML**
|
|
6
|
-
- 版本:**
|
|
6
|
+
- 版本:**v9.1.0** · 完整规范见 `SKILL.md`(智能体入口)+ `references/playbook.md`(唯一常读入口)+ `references/layout-grammar.md`(排版)+ 其余按需 L2
|
|
7
7
|
|
|
8
8
|
## 一、技能简介
|
|
9
9
|
|
|
@@ -245,10 +245,10 @@ python scripts/package_skill.py # → dist/top-ppt-html.zip + dist/top
|
|
|
245
245
|
|
|
246
246
|
## 七、版本、规范与兼容
|
|
247
247
|
|
|
248
|
-
- **当前发布版**:
|
|
248
|
+
- **当前发布版**:v9.1.0(仓库/技能更名 `top-ppt-html` · 层级扁平化 · 注入标记 `__TOPPPT_*__`)。**版本单源 = `scripts/layout-constants.json` `version`**;`model-schema.json` / `layoutSlots` 同步该值;`package_skill.py` 与 `sync_runtime.py` 校验一致。
|
|
249
249
|
- **frontmatter**:仅 `name` + `description`(触发词写清「做什么 + 何时用」,控制在 700 字符软上限内)。
|
|
250
250
|
- **目录与 token 预算**:`SKILL.md`(≤13KB 路由)→ L1 `references/playbook.md`(≤22KB 决策)→ L2 按需(`extract_snippet.py` 节级取码)→ `scripts/` 工具 → `assets/` 素材。`audit_skill.py` 把关体积 / 三档披露 / Gate 0 / 与 references 去重。
|
|
251
|
-
-
|
|
252
|
-
- **变更流水**:见仓库根目录 `CHANGELOG.md
|
|
253
|
-
- **命名**:`top-ppt-html`;注入标记 `__TOPPPT_*__`;环境变量 `TOP_PPT_NODE_
|
|
251
|
+
- **工作流(v9 单写)**:`scaffold_report.py` → 只填 `REPORT_MODEL` → `render_from_model.py --inplace` → `validate_report --strict`(含 PPTX 再走 extract/build/validate_pptx)。
|
|
252
|
+
- **变更流水**:见仓库根目录 `CHANGELOG.md`(本 README 不再堆叠版本长文)。
|
|
253
|
+
- **命名**:`top-ppt-html`;注入标记 `__TOPPPT_*__`;环境变量 `TOP_PPT_NODE_*`。旧标识 `topreport` / `top-slides-expert` / `TopSlides*` / `TOPREPORT_*` / `TOPSLIDES_*` / `MIGA_*` 已移除。
|
|
254
254
|
- **发布门禁**:`package_skill.py --check` 通过后产出 `dist/top-ppt-html.zip` + manifest(SHA-256)。
|
package/top-ppt-html/SKILL.md
CHANGED
|
@@ -105,7 +105,7 @@ description: "TopPPT HTML:报告 / 演示 / 信息架构图生成器。单文
|
|
|
105
105
|
|
|
106
106
|
- **零依赖可用**:HTML 生成与全部 Python 脚本只用 **Python 标准库**。
|
|
107
107
|
- **PPTX 精导**:另需 Node + pptxgenjs(安装与 `TOP_PPT_NODE_EXE`/`TOP_PPT_NODE_PATH` 探测细节见 `pptx-export.md` 环境备注,探测失败会打印指引)。
|
|
108
|
-
-
|
|
108
|
+
- **v9 门禁**:标签泄漏/空页/极偏图/简单大图等见 `layout-constants.qualityGates` 与 `reform-plan.md`。
|
|
109
109
|
- **可选**:浏览器页高/裁切真值、参考图重生成需 playwright(`regression.py` 自动探测,缺失即跳过)。
|
|
110
110
|
- **一键回归**:`scripts/regression.py`——模板/常量/schema/运行时/示例改动后必跑。
|
|
111
111
|
- **技能自检**:`audit_skill.py`(体积/披露/Gate 0/内容重复)· `audit_docs.py`(§ 引用 + 任务路由可解析)· `audit_styles.py`(9 风格 × 亮暗 token 与对比度)· `audit_css.py`(CSS 类覆盖率 · 报告制)。
|