skill-forge-hub 0.5.0 → 0.5.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 +9 -0
- package/deck-stage/SKILL.md +1 -1
- package/magic-deck/SKILL.md +7 -2
- package/magic-deck/resources/content-guide.md +58 -0
- package/package.json +1 -1
- package/prompt-pouch/SKILL.md +4 -0
- package/template/SKILL.md +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
SkillForge(技能锻造坊)npm 包 `skill-forge-hub`(命令名 `skill-forge`)版本变更记录。
|
|
4
4
|
|
|
5
|
+
## 0.5.1(2026-11-11)
|
|
6
|
+
|
|
7
|
+
**自检闭环补全**(交付前硬门禁,四技能全覆盖)
|
|
8
|
+
|
|
9
|
+
- magic-deck:SKILL.md 加「2.5 交付前自检」(Playwright 零报错 + 逐页翻完 + 首中末三页截图自查),新增 `resources/content-guide.md` 内容适配手册(内容气质→版式 / 领域→成套模板 / 页数节奏 / 图表选型)
|
|
10
|
+
- 锦囊:SKILL.md 加「2.5 交付前自检」(json 机器校验 + 页面零报错 + 卡片数等于数据条数)
|
|
11
|
+
- deck-stage:步骤 5 校验强化为「交付前自检」硬门禁(slide XML 数量与 pages 一致、每页非空)
|
|
12
|
+
- template:新技能模板加「3.5 交付前自检」占位(按技能类型选自检手段)
|
|
13
|
+
|
|
5
14
|
## 0.5.0(2026-11-11)
|
|
6
15
|
|
|
7
16
|
**新增**
|
package/deck-stage/SKILL.md
CHANGED
|
@@ -48,7 +48,7 @@ disable-model-invocation: false
|
|
|
48
48
|
2. **结构化提炼** → 读 `resources/data-schema.md`(schema + 段落映射:年报五段/周报四段/日报四段 → 页类型与节色)
|
|
49
49
|
3. **封面/结尾截图**(无现成素材时)→ 读 `resources/cover-template.html` 说明:复制模板到临时目录 → 替换 `COVER` 对象(title/subtitle/info/stats 或 mode:closing)→ Chrome headless 截图 1280x720(macOS:`/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --headless --disable-gpu --no-sandbox --hide-scrollbars --screenshot=cover.png --window-size=1280,720 --virtual-time-budget=3000 "file:///<临时html>"`;Windows 按序探测 chrome.exe/msedge.exe,URL 用 node url.pathToFileURL)
|
|
50
50
|
4. **生成 pptx**:写 data.json → `cd <skill目录> && node resources/pptx-builder.js --data <data.json绝对路径> --out <DIR>/<文件名>.pptx` → 输出 `PPTX_OK <路径>`
|
|
51
|
-
5.
|
|
51
|
+
5. **交付前自检**(硬门禁,不可跳过):文件存在、大小 > 20KB;`unzip -l <pptx>` 校验——`ppt/slides/slideN.xml` 数量与 data.json pages 数一致、每页 slide XML 均存在且非空;builder 已报 `PPTX_OK` 才算通过。未通过 → 修 data.json 后重跑 builder,禁止跳过直接交付
|
|
52
52
|
6. **落盘与打开**:按配置 DIR 落盘;`OPEN_PPTX: true` 时打开(macOS:`open <pptx>`;Windows:`start <pptx>`)
|
|
53
53
|
7. **使用咨询**(用户只问「登台怎么用」「报告转 PPT 怎么用」等用法、未要求生成)→ 读 `resources/usage-guide.md`,将其内容原样输出(首行标题改为「登台 deck-stage 使用指南」),不执行任何生成动作
|
|
54
54
|
|
package/magic-deck/SKILL.md
CHANGED
|
@@ -13,9 +13,14 @@ disable-model-invocation: false
|
|
|
13
13
|
## 生成流程
|
|
14
14
|
|
|
15
15
|
0. **读用户配置**(TEMPLATE/THEME/TRANSITION/ANIM/WIDTH/HEIGHT/SEC/FILENAME/DIR 等)→ 先 Read 同目录 `user-config.md`
|
|
16
|
-
1. **收集内容**:解析用户提供的内容(文字/文件/结构化要点),确定页数与每页版式
|
|
16
|
+
1. **收集内容**:解析用户提供的内容(文字/文件/结构化要点),确定页数与每页版式 → 先 Read `resources/content-guide.md` 按内容气质选版式骨架 / 按领域选成套模板 / 按用途定页数节奏 / 按数据挑图表形式
|
|
17
17
|
2. **生成 HTML**(每页写语义结构——.s-head 标题 / .card 卡片 / .points 要点 / .bignum 数据,按 TEMPLATE 在对应页 slide 挂 data-template 声明默认版式;十六主题 CSS 变量、主题面板、动画库(deck 标签 data-transition 翻页八套 + 元素 data-anim 入场十二式 / data-anim-leave 离场 / data-anim-emphasis 强调 + 标题文字拆分 + 边栏 ⚙ 工具 Tab 控制)、模板面板(16 套 + 预览本页)、编辑能力(撤销/重做/页面管理边栏:新页/复页/排序/删页)、播放引擎、热键、截图/复制、全屏纯净模式)→ 先 Read `resources/reference.html` + `resources/deck-spec.md` 两份,以 reference.html 为骨架逐处替换内容
|
|
18
|
-
|
|
18
|
+
2.5 **交付前自检**(落盘前必做,硬门禁不可跳过):写工作区 `outputs/<文件名>.html` 后——
|
|
19
|
+
- Bash 起 `python3 -m http.server 8941`(后台,端口占用换 8942/8943…)
|
|
20
|
+
- Playwright headless 自检(缺则 `pip3 install --user playwright`;用系统 Chrome,无需 playwright install 下载浏览器):`p.chromium.launch(channel="chrome", headless=True)` → goto 页面 → 挂 pageerror 监听(零容忍)→ 按页数循环 `go(i)` 把每一页翻完
|
|
21
|
+
- 截首 / 中 / 末三页 PNG,Read 自查:版式正常、文字无溢出截断、图表数据到位、无豆腐块缺字
|
|
22
|
+
- 任何报错或视觉问题:修 HTML → 重检;全绿才进第 3 步
|
|
23
|
+
3. **落盘与命名**:自检通过后 `cp` 到 DIR 目录,自动打开浏览器供用户放映。命名三级优先:①用户口头指定文件名 → 用指定名;②未指定且 FILENAME=auto → 按本次内容主题+用途总结中文名(如「智能探针系统-产品介绍」,让用户日后能按名找回继续改);③FILENAME 写死固定名 → 用固定名。重名一律自动加日期后缀,绝不覆盖;落盘目录复用不清空、不改动目录内既有文件
|
|
19
24
|
4. **使用咨询**(用户只问「怎么用 / 使用说明 / 能干什么」等用法、未要求生成)→ 读 `resources/usage-guide.md`,将其内容原样输出(首行标题改为「魔法幻灯生成器使用指南」),不生成 HTML
|
|
20
25
|
|
|
21
26
|
## ⚙️ 配置与自定义
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# 内容适配手册(生成前选版式)
|
|
2
|
+
|
|
3
|
+
> 生成 HTML 前必读:按内容气质挑版式骨架、按领域挑成套模板、按用途定页数节奏、按数据挑图表形式。拿不准时用 AskUserQuestion 让用户在候选里挑,不替用户做风格决策。
|
|
4
|
+
|
|
5
|
+
## 一、内容气质 → 版式骨架(十六套怎么挑)
|
|
6
|
+
|
|
7
|
+
| 内容类型 | 首选版式 | 备选 | 理由 |
|
|
8
|
+
|:---|:---|:---|:---|
|
|
9
|
+
| 产品发布 / 路演 | keynote 黑金发布 | classic 经典商务 | 大观点单页冲击力强,黑金适合发布场 |
|
|
10
|
+
| 数据汇报 / 财报 | finance 金融报表 | bento 模块网格 | 仪表环 + 数据卡原生就位 |
|
|
11
|
+
| 高管简报 | executive 高管简报 | minimal 极简留白 | 一页一结论,克制利落 |
|
|
12
|
+
| 教学培训 | education 教学板书 | steps 流程步骤 | 板书分栏 + 目标/讲解/练习三段 |
|
|
13
|
+
| 技术分享 / 架构 | blueprint 蓝图工程 | metro 扁平磁贴 | 工程感线条与图纸气质 |
|
|
14
|
+
| 时间线叙事 / 复盘 | timeline 时间线叙事 | vintage 复古报纸 | 节点卡片天然承载阶段演进 |
|
|
15
|
+
| 文艺 / 故事 / 品牌 | magazine 杂志画册 | poster 海报宣传 | 左文右图分栏 + 大幅留白 |
|
|
16
|
+
| 新闻通讯 / 资讯 | vintage 复古报纸 | classic 经典商务 | 双栏报纸排版信息密度高 |
|
|
17
|
+
| 活动海报 / 单页宣传 | poster 海报宣传 | magazine 杂志画册 | 要点转斜切色带,视觉先行 |
|
|
18
|
+
| 极简个人页 / 简历 | minimal 极简留白 | bento 模块网格 | 居中大字 + 要点列表 |
|
|
19
|
+
| 暗色氛围 / 发布会备选 | dark 暗夜深色 | keynote 黑金发布 | 深底高对比,适合屏幕放映 |
|
|
20
|
+
| 清新生活 / 公益 | nature 自然清新 | minimal 极简留白 | 绿色系温和感 |
|
|
21
|
+
|
|
22
|
+
## 二、领域成套模板(二十一 套,六分类怎么挑)
|
|
23
|
+
|
|
24
|
+
用户内容主题与某套高度契合时,优先推荐领域模板(一键生成整套:封面 + 目录 + 内容页 + 图表页 + 结束页,每套 6-8 页):
|
|
25
|
+
|
|
26
|
+
| 分类 | 模板 | 适用场景 |
|
|
27
|
+
|:---|:---|:---|
|
|
28
|
+
| 教育学术 | thesis 毕业答辩 / proposal 开题报告 / teaching 教学课件 | 学位答辩、课题申报、课堂 |
|
|
29
|
+
| 职场商务 | report 年终汇报 / competition 竞聘述职 / plan 商业计划书 / hiring 求职简历 | 述职、融资、求职 |
|
|
30
|
+
| 企业运营 | product 产品发布 / tech 科技发布会 / marketing 营销方案 / training 企业培训 / ceremony 年会盛典 | 发布会、培训、年会 |
|
|
31
|
+
| 专业领域 | finance 金融分析 / medical 医疗科普 / law 法律合规 | 行业分析、科普、合规宣贯 |
|
|
32
|
+
| 党政政务 | gov 政务汇报 / party 党建汇报 | 政府汇报、党建活动 |
|
|
33
|
+
| 生活场景 | food 餐饮品牌 / travel 旅游攻略 / festival 节日庆典 / charity 公益慈善 | 探店、攻略、节庆、公益 |
|
|
34
|
+
|
|
35
|
+
生成后领域模板与版式 / 主题正交:每页仍可挂 data-template 运行时换十六版式、主题照常换肤,不是死骨架。
|
|
36
|
+
|
|
37
|
+
## 三、页数与节奏
|
|
38
|
+
|
|
39
|
+
| 用途 | 建议页数 | 结构 |
|
|
40
|
+
|:---|:---|:---|
|
|
41
|
+
| 工作汇报 / 述职 | 6-8 页 | 封面 1 + 目录 1 + 正文 3-4 + 图表 1 + 结束 1 |
|
|
42
|
+
| 教学培训 | 8-10 页 | 封面 + 目标 + 讲解 4-6 + 练习 + 小结 |
|
|
43
|
+
| 路演 / 发布会 | 8-12 页 | 封面 + 痛点 + 方案 3-5 + 数据 + 里程碑 + 结束 |
|
|
44
|
+
| 单页海报 | 1 页 | 大字标题 + 3-5 条要点 + 落款 |
|
|
45
|
+
|
|
46
|
+
**页内纪律**:单页要点 ≤ 5 条;单页数据指标 ≤ 3 个;页标题 ≤ 12 字;超量自动拆页,禁止一页塞满。
|
|
47
|
+
|
|
48
|
+
## 四、图表选型(挂 data-anim-chart)
|
|
49
|
+
|
|
50
|
+
| 数据形态 | 图表 | 容器挂法 |
|
|
51
|
+
|:---|:---|:---|
|
|
52
|
+
| 趋势 / 变化 | line 折线描画 | `data-anim-chart="line"` |
|
|
53
|
+
| 占比 / 构成 | pie 饼图扇入 | `data-anim-chart="pie"` |
|
|
54
|
+
| 对比 / 排名 | bars 柱状生长 | `data-anim-chart="bars"` |
|
|
55
|
+
| 完成率 / 进度 | ring 仪表扫弧 | `data-anim-chart="ring"` |
|
|
56
|
+
| 大数字 / 里程碑 | count 数字滚动 | `data-count="128"`(可带 `data-count-dec`) |
|
|
57
|
+
|
|
58
|
+
数值纪律:业务结果指标优先、git 统计兜底;数字必带对比基准(同比 / 环比)。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skill-forge-hub",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "SkillForge (技能锻造坊) — a curated collection of AI craft skills. Install once, then pick skills interactively: daily/weekly/annual reports, article-to-HTML, magic-deck slides, deck-stage PPTX, prompt-pouch manager, Pandoc doc converters, meta-forge.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"skill-forge": "cli.js"
|
package/prompt-pouch/SKILL.md
CHANGED
|
@@ -42,6 +42,10 @@ disable-model-invocation: false
|
|
|
42
42
|
- 收尾提示启动方式:`cd <DIR> && python3 -m http.server <PORT>`(Windows 无 python3 时 `py -m http.server`),浏览器访问 `http://localhost:<PORT>/prompt-pouch.html`(HTTP 才能读 prompts.json;file:// 直开回退缓存快照)
|
|
43
43
|
2. **维护**(页面已存在时):读 `<DIR>/<DATA_DIR>/prompts.json` → 按用户意图修改 → 写回(UTF-8、2 空格缩进、保留 version 字段)→ 提醒用户刷新页面
|
|
44
44
|
- **分类交互**:用户说「添加 XX」但未说分组 → AskUserQuestion 列出全部现有分组(加「新建分组」选项)让用户选;用户指定的分组不存在 → 明确告知该分组不存在,并问是否新建(新建则补 groups 条目:id 16 位数字主键(雪花规则见 data-format.md)、name 中文、icon 一个 emoji)
|
|
45
|
+
2.5 **交付前自检**(初始化与每次维护落盘后必做,硬门禁不可跳过):
|
|
46
|
+
- **json 机器校验**:`python3 -c "import json;json.load(open('<DIR>/<DATA_DIR>/prompts.json',encoding='utf-8'))"`(Windows 用 py)解析通过,且 schema 自查无缺(version/groups/prompts 齐全、group 引用存在、order 连续、新增条目 createdAt 到时分秒)
|
|
47
|
+
- **页面零报错验证**:Playwright headless(缺则 `pip3 install --user playwright`;用系统 Chrome,channel="chrome" 无需下载浏览器)→ 起本地服务 `cd <DIR> && python3 -m http.server <PORT>` → goto `http://localhost:<PORT>/prompt-pouch.html` → 挂 pageerror 监听(零容忍)→ 断言卡片数 `document.querySelectorAll('.card').length` 等于 prompts.json 的 prompts 条数(证明数据被正确读到;落回内置示例种子即自检失败)→ 收尾停服务
|
|
48
|
+
- 未通过 → 修复后重跑,禁止跳过直接交付
|
|
45
49
|
3. **打开页面**:用户说「打开锦囊 / 打开提示词页面」→
|
|
46
50
|
- 目标目录无页面时先执行步骤 1(初始化)
|
|
47
51
|
- 后台起本地服务(`cd <DIR> && python3 -m http.server <PORT>`,Windows 用 `py -m http.server`;端口被占则换 PORT+1 再试)
|
package/template/SKILL.md
CHANGED
|
@@ -14,6 +14,7 @@ disable-model-invocation: false
|
|
|
14
14
|
1. **阶段一(做什么)** → 读 `resources/xxx.md`
|
|
15
15
|
2. **阶段二(做什么)** → 读 `resources/yyy.md`
|
|
16
16
|
3. **阶段三(做什么)** → 读 `resources/zzz.md`
|
|
17
|
+
3.5 **交付前自检**(落盘前必做,硬门禁不可跳过):<按技能类型写自检手段——页面类用 Playwright headless 零报错(channel="chrome");文档类检查结构与数据纪律;产物类校验文件完整性与内容一致>——未通过修复后重跑,禁止跳过直接交付
|
|
17
18
|
4. **使用咨询**(用户只问用法、未要求生成)→ 读 `resources/usage-guide.md` 原样输出(首行标题改为「XX使用指南」),不执行任何生成动作
|
|
18
19
|
|
|
19
20
|
## ⚙️ 默认配置(用户可手动修改;临时口头要求永远优先)
|