skill-forge-hub 1.0.4 → 1.0.5
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 +18 -0
- package/README.md +82 -150
- package/annual-report/SKILL.md +23 -3
- package/annual-report/resources/data-collection.md +20 -4
- package/annual-report/resources/disk-and-html.md +3 -3
- package/annual-report/resources/reference.html +31 -10
- package/annual-report/resources/usage-guide.md +8 -0
- package/annual-report/user-config.md +5 -5
- package/article-to-html/SKILL.md +26 -7
- package/article-to-html/design-system.md +9 -3
- package/article-to-html/resources/reference.html +631 -0
- package/article-to-html/resources/usage-guide.md +9 -1
- package/article-to-html/user-config.md +6 -3
- package/cli.js +2 -2
- package/daily-report/SKILL.md +23 -3
- package/daily-report/resources/content-rules.md +1 -1
- package/daily-report/resources/data-collection.md +24 -4
- package/daily-report/resources/disk-and-html.md +2 -2
- package/daily-report/resources/reference.html +24 -3
- package/daily-report/resources/usage-guide.md +8 -0
- package/daily-report/user-config.md +5 -5
- package/deck-stage/SKILL.md +15 -4
- package/deck-stage/resources/cover-template.html +3 -3
- package/deck-stage/resources/data-schema.md +11 -1
- package/deck-stage/resources/pptx-builder.js +1 -1
- package/deck-stage/resources/usage-guide.md +9 -2
- package/docs/architecture.md +89 -0
- package/docs/images/article-to-html.png +0 -0
- package/docs/images/daily-report.png +0 -0
- package/docs/images/deck-stage.png +0 -0
- package/docs/images/magic-deck.png +0 -0
- package/docs/images/meeting-minutes.png +0 -0
- package/docs/images/prompt-pouch.png +0 -0
- package/docs/install.md +71 -0
- package/magic-deck/SKILL.md +23 -8
- package/magic-deck/resources/content-guide.md +5 -4
- package/magic-deck/resources/deck-spec.md +18 -11
- package/magic-deck/resources/reference.html +110 -32
- package/magic-deck/resources/usage-guide.md +10 -2
- package/magic-deck/user-config.md +4 -4
- package/meeting-minutes/SKILL.md +51 -0
- package/meeting-minutes/resources/content-rules.md +57 -0
- package/meeting-minutes/resources/disk-and-html.md +26 -0
- package/meeting-minutes/resources/meeting-type-dictionary.md +24 -0
- package/meeting-minutes/resources/reference.html +436 -0
- package/meeting-minutes/resources/usage-guide.md +63 -0
- package/meeting-minutes/user-config.md +56 -0
- package/meta-forge/SKILL.md +6 -6
- package/meta-forge/resources/forge-rules.md +55 -10
- package/meta-forge/resources/usage-guide.md +7 -3
- package/meta-forge/user-config.md +1 -1
- package/monthly-report/SKILL.md +62 -0
- package/monthly-report/resources/content-rules.md +40 -0
- package/monthly-report/resources/data-collection.md +44 -0
- package/monthly-report/resources/date-parsing.md +18 -0
- package/monthly-report/resources/disk-and-html.md +29 -0
- package/monthly-report/resources/industry-dictionary.md +21 -0
- package/monthly-report/resources/reference.html +531 -0
- package/monthly-report/resources/usage-guide.md +75 -0
- package/monthly-report/user-config.md +53 -0
- package/package.json +9 -2
- package/prompt-pouch/SKILL.md +17 -2
- package/prompt-pouch/resources/data-format.md +1 -1
- package/prompt-pouch/resources/reference.html +56 -24
- package/prompt-pouch/resources/usage-guide.md +10 -3
- package/quarterly-report/SKILL.md +63 -0
- package/quarterly-report/resources/content-rules.md +42 -0
- package/quarterly-report/resources/data-collection.md +46 -0
- package/quarterly-report/resources/date-parsing.md +19 -0
- package/quarterly-report/resources/disk-and-html.md +22 -0
- package/quarterly-report/resources/industry-dictionary.md +21 -0
- package/quarterly-report/resources/reference.html +509 -0
- package/quarterly-report/resources/usage-guide.md +76 -0
- package/quarterly-report/user-config.md +53 -0
- package/spec-doc2spec/SKILL.md +21 -22
- package/spec-doc2spec/resources/checklist.md +7 -0
- package/spec-doc2spec/resources/images.md +14 -5
- package/spec-doc2spec/resources/structure.md +19 -10
- package/spec-doc2spec/resources/usage-guide.md +10 -8
- package/spec-doc2spec/user-config.md +2 -2
- package/spec-spec2doc/SKILL.md +4 -4
- package/spec-spec2doc/resources/checklist.md +6 -0
- package/spec-spec2doc/resources/pdf-path.md +1 -0
- package/spec-spec2doc/resources/usage-guide.md +2 -2
- package/template/SKILL.md +1 -1
- package/weekly-report/SKILL.md +23 -3
- package/weekly-report/resources/content-rules.md +1 -1
- package/weekly-report/resources/data-collection.md +24 -4
- package/weekly-report/resources/disk-and-html.md +2 -2
- package/weekly-report/resources/reference.html +24 -3
- package/weekly-report/resources/usage-guide.md +8 -0
- package/weekly-report/user-config.md +5 -5
package/meta-forge/SKILL.md
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: meta-forge
|
|
3
|
-
description: 锻造新技能的元技能(造 skill 的 skill)。按 SkillForge 工坊规范从需求出发生成完整技能包(薄入口 SKILL.md + 按阶段拆分的 resources/ + 用户配置 user-config.md
|
|
3
|
+
description: 锻造新技能的元技能(造 skill 的 skill)。按 SkillForge 工坊规范从需求出发生成完整技能包(薄入口 SKILL.md + 按阶段拆分的 resources/ + 用户配置 user-config.md),自动植入机制体系:CONFIG_VERSION 配置版本钥匙、user-config 配置抽离、reference 双轨(含 HTML 输出时)、多文件隔离(页面有 localStorage 记忆时)、零侵权脱敏离线纪律(含 HTML 输出时)、产物升级回炉(含 HTML 输出时)、文档同步自检纪律;技能入 SkillForge 仓库时同步登记 README 分类表与 cli.js CATEGORIES。当用户请求创建新技能、造一个 skill、做一个 XX 技能、把 XX 流程固化成技能,或询问 meta-forge 用法(怎么造技能/元锻炉怎么用)时使用。
|
|
4
4
|
allowed-tools: Bash, Read, Write
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# 元锻炉(meta-forge)
|
|
9
9
|
|
|
10
|
-
把一段重复劳作锻造为标准技能包:薄入口 SKILL.md + 按阶段拆分的 resources/ + 用户配置 user-config.md
|
|
10
|
+
把一段重复劳作锻造为标准技能包:薄入口 SKILL.md + 按阶段拆分的 resources/ + 用户配置 user-config.md,植入工坊机制体系后交付——产出可直接安装、可安全升级、可跨宿主迁移的技能。
|
|
11
11
|
|
|
12
12
|
## 生成流程
|
|
13
13
|
|
|
14
14
|
0. **读用户配置**(DIR/REGISTER/CONFIG_VERSION)→ 先 Read 同目录 `user-config.md`
|
|
15
15
|
1. **需求澄清**(技能名、触发场景、产出形态、可配置项、是否含 HTML 输出、是否入仓库)→ 读 `resources/forge-rules.md` 的「一、澄清清单」
|
|
16
16
|
2. **结构生成**(薄入口 + resources 拆分 + 咨询应答接线)→ 读 `resources/forge-rules.md` 的「二、结构规范」
|
|
17
|
-
3. **机制植入**(CONFIG_VERSION 钥匙 / user-config 抽离 / reference 双轨 /
|
|
18
|
-
4.
|
|
17
|
+
3. **机制植入**(CONFIG_VERSION 钥匙 / user-config 抽离 / reference 双轨 / 多文件隔离 / 零侵权脱敏离线 / 产物升级回炉 / 自检纪律,缺一不可;含 HTML 输出加机制六、七、八)→ 读 `resources/forge-rules.md` 的「三、机制体系」
|
|
18
|
+
4. **验证环**(静态门禁 grep 逐项 + 含 HTML 时 Playwright 运行时实测:零 JS 错误 / 键带路径 / 刷新恢复 / 多文件隔离 + 交付报告附验证证据,任一未过修复重跑禁止跳过)→ 读 `resources/forge-rules.md` 的「四、验证环」
|
|
19
19
|
5. **仓库登记**(技能入 SkillForge 仓库时:README 技能分类表/技能清单/目录结构 + cli.js CATEGORIES 同步登记,登记后跑 `skill-forge ls` 验证)→ 读 `resources/forge-rules.md` 的「五、仓库登记」
|
|
20
20
|
6. **使用咨询**(用户只问「怎么造技能」等用法、未要求创建)→ 读 `resources/usage-guide.md`,将其内容原样输出(首行标题改为「元锻炉使用指南」),不创建任何文件
|
|
21
21
|
|
|
@@ -42,7 +42,7 @@ disable-model-invocation: false
|
|
|
42
42
|
|
|
43
43
|
## 规则速览
|
|
44
44
|
|
|
45
|
-
-
|
|
45
|
+
- 机制体系缺一不可:CONFIG_VERSION 钥匙(配置版本机制节 + user-config 配置块首行 CONFIG_VERSION: 1)、user-config 抽离(用户可改配置全部出站,SKILL.md 只引用不内嵌)、reference 双轨(含 HTML 输出的技能以 reference.html 为样式真相源)、多文件隔离(页面有 localStorage 记忆时键带路径命名空间)、零侵权脱敏离线(品牌字体零出现、禁 CDN 离线可开、示例数据零真实身份)、产物升级回炉(HTML 带模板版本戳、业务/数据格式/页面改动均 bump、旧产物可交互回炉、生成时顺扫旧版主动提示)、自检纪律(改一处 grep 全仓)
|
|
46
46
|
- 薄入口:SKILL.md 只留 frontmatter / 生成流程 / 配置节 / 机制节 / 规则速览;重内容按阶段拆 resources/,一文件一职责
|
|
47
47
|
- 新技能必须带 user-config.md(含 CONFIG_VERSION: 1)与 resources/usage-guide.md(咨询应答原样输出源)
|
|
48
|
-
- 完整规则(澄清清单 / 结构规范 /
|
|
48
|
+
- 完整规则(澄清清单 / 结构规范 / 机制体系 / 验证环 / 仓库登记)见 `resources/forge-rules.md`
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
# 锻造规范(forge-rules)
|
|
2
2
|
|
|
3
|
-
造一个新技能要过的全部关口:澄清清单 → 结构规范 →
|
|
3
|
+
造一个新技能要过的全部关口:澄清清单 → 结构规范 → 机制体系 → 验证环 → 仓库登记。本文档是 meta-forge 的规范真相源,SKILL.md 流程节点与 template/ 模板均与本文档对齐。
|
|
4
4
|
|
|
5
5
|
## 一、澄清清单(开造前必问)
|
|
6
6
|
|
|
7
7
|
以下问题未答清不动手:
|
|
8
8
|
|
|
9
9
|
1. **技能名**:英文短横线(如 daily-report),与目录名一致,2-4 个单词
|
|
10
|
-
2. **触发场景**:用户说什么话会触发?写进 description
|
|
10
|
+
2. **触发场景**:用户说什么话会触发?写进 description 的触发词;是否只在特定关键词出现时使用(如某内部平台专属技能)
|
|
11
11
|
3. **产出形态**:对话输出?落盘文件(哪些格式)?HTML?截图?浏览器打开?
|
|
12
12
|
4. **可配置项**:哪些行为用户会想改?→ 全部进 user-config.md
|
|
13
13
|
5. **是否含 HTML 输出**:是 → 必须建 reference.html 双轨机制(机制三);否 → 无此要求
|
|
14
|
-
6.
|
|
14
|
+
6. **页面是否有 localStorage 记忆**(含 HTML 时必问:主题/偏好/用户数据等):是 → 机制六(多文件隔离)必植入
|
|
15
|
+
7. **归属**:入 SkillForge 仓库(需登记)还是独立技能(不登记)?
|
|
15
16
|
|
|
16
17
|
## 二、结构规范(薄入口 + resources 拆分)
|
|
17
18
|
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
- **resources/ 一文件一职责**:按生成阶段拆分;每份独立可读,不互相引用;SKILL.md 流程节点标注 `读 resources/xxx.md`
|
|
29
30
|
- **咨询应答**:用户只问用法不要求生成时,读 resources/usage-guide.md 原样输出(首行标题按技能改为「XX使用指南」),不执行任何生成动作
|
|
30
31
|
|
|
31
|
-
##
|
|
32
|
+
## 三、机制体系(缺一不可)
|
|
32
33
|
|
|
33
34
|
### 机制一:CONFIG_VERSION 钥匙(配置版本机制)
|
|
34
35
|
|
|
@@ -63,15 +64,59 @@
|
|
|
63
64
|
- CLI 升级时清单内文件永不覆盖;官方版内容有更新时另存 `.upstream` 对照,供手动合并
|
|
64
65
|
- 纯官方资源(resources/ 下 AI 只读不改的文件)不进清单;user-config.md 由 CLI 内置名单保护,无需声明
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
### 机制六:多文件隔离(HTML 产出技能,页面有 localStorage 记忆时必植入)
|
|
68
|
+
|
|
69
|
+
背景坑:Chrome/Safari 下 file:// 与 localhost 共享同源存储,所有本地文件共用一块 localStorage 与 IndexedDB 命名空间——固定键名/固定库名会让用户多份产物互相串台(B 份凭空继承 A 份的分组/收藏,比主题串台严重得多);路径命名空间可隔离,但文件改名/移动后键变、数据全丢。
|
|
70
|
+
|
|
71
|
+
- 偏好类(主题等轻量记忆)与用户数据类(收藏/分组/排序等业务数据)一律用「内嵌稳定 ID 命名空间」:每份 HTML 生成时头部内嵌全局唯一 ID(`<meta name="<前缀>-id" content="<UUID>">`,ID 必须用 `crypto.randomUUID()` 生成标准 UUID v4(8-4-4-4-12 十六进制),禁止手写变体、禁止沿用占位与旧值;落盘写文件前顺扫落盘目录下本技能命名的 html 读各 id meta 查重,撞号重掷至不重复),localStorage 键与 IndexedDB 数据库名均以该 ID 命名(键形如 `<前缀>:<ID>-<键名>`,库名形如 `<前缀>-db-<ID>`,键名禁止裸通用词 theme/settings/data/tab)
|
|
72
|
+
- 稳定 ID 与文件路径解耦:文件改名/移动目录 ID 不变 → 数据不丢;多份产物 ID 互异 → 永不串台;复制文件副本继承同 ID = 同一身份共享数据(语义如实写入 SKILL.md 与样式文档:要独立身份需重新生成新 ID,禁止复制文件冒充新产物)
|
|
73
|
+
- **绝对禁止「固定键最近快照兜底」双键模式**:固定键在 file:// 同源下全局共享,A 写快照 B 兜底读到 → 必然串台(真实教训:prompt-pouch 曾因此 B 份继承 A 份分组/收藏,报障后改内嵌 ID)
|
|
74
|
+
- 旧版数据迁移桥:新 ID 键读不到时一次性读旧版路径键(`旧前缀:路径-键`)迁入 ID 键;旧固定键/旧固定库数据归属不明,禁止迁入
|
|
75
|
+
- 命名空间变量声明位置 = 所有使用它的代码块的**公共作用域**:页面含多个独立 `<script>`/IIFE 时,每个作用域各自声明(IIFE 内的 var 是局部变量,IIFE 外够不到;引用不可见会 ReferenceError、被 catch 静默吞掉 → 机制静默失效)
|
|
76
|
+
|
|
77
|
+
### 机制七:零侵权、脱敏与离线纪律(HTML 产出技能必植入)
|
|
78
|
+
|
|
79
|
+
- 字体白名单:Roboto + Source Han Sans SC(商用免费)或系统字体栈;品牌字体(PingFang/YaHei/苹方/雅黑/apple-system 等)在 CSS 与 HTML 全文零出现
|
|
80
|
+
- 禁止 CDN 与外部网络引用(@import、外链 CSS/JS/图片/网络字体),页面必须离线双击可开;确需外部库(如 echarts)时声明唯一例外 + 加载失败降级提示(data-off 文字),其余零外部依赖
|
|
81
|
+
- 交付前跑字体扫描 grep 验证(品牌字体零残留才算通过)
|
|
82
|
+
- 示例数据脱敏:页面演示数据与技能文档示例零真实身份——项目名/人名/公司名/平台名/本机路径一律通用占位(示例项目、张工/李工、点评平台、~/reports 等),页脚署名统一 GENERATED BY AI TEAM,禁止真实团队名/项目名
|
|
83
|
+
|
|
84
|
+
### 机制八:产物升级与回炉(HTML 产出技能必植入)
|
|
85
|
+
|
|
86
|
+
- 产物版本戳:生成 HTML 时头部写 `<meta name="sf-template" content="<技能名>@N">`(N 为模板版本,初版 1);模板升级时递增 N 并同步 reference.html 与 SKILL.md「产物升级(回炉)」节;检测双标记:版本戳 + 稳定 ID meta——无版本戳或缺少 `<前缀>-id` meta 的产物一律视为 v0 最旧版,必须进升级清单
|
|
87
|
+
- 数据真相源:md/txt 与 html 同落盘,md 全文为内容底稿,html 永远可从 md 重建
|
|
88
|
+
- 两级升级:浅升级(CSS/JS 变化、DOM 结构不变)→ 对旧页替换 <style> 块与交互脚本、正文原样保留;深升级(DOM 结构变化)→ 从同目录 md 底稿重生成,先备份旧版 .bak-时间戳
|
|
89
|
+
- 回炉交互:用户说「升级旧产物/回炉」→ 扫落盘目录读版本戳筛旧版(无版本戳或缺少稳定 ID meta 的产物视为 v0 最旧版,一并进清单) → 列清单(文件/旧版本/手改状态:旧 html 正文与 md 正文对比,不一致视为可能手改)→ AskUserQuestion 选全部或部分 → 逐份升级 → 报告三段式(✅ 已升级 / ⚠️ 手改保留 / 🟡 失败项原因)
|
|
90
|
+
- 版本递增判定:模板业务改动(板块/段落/标题体系)、数据格式改动(字段/存储结构)、页面改动(样式/布局/交互)任一发生即模板升级,版本戳 +1 并同步 reference.html 与 SKILL.md「产物升级(回炉)」节;纯措辞润色不 bump
|
|
91
|
+
- 主动提示:每次生成 HTML 或用户使用该技能 HTML 产出时,顺扫落盘目录读版本戳;发现低于当前模板版本的旧产物,主动告知「技能模板已升级至 vN,检测到 X 份旧版产物(vN-1),说『把我旧XX都升级成新样式』即可一键升级」,不让用户背触发语
|
|
92
|
+
|
|
93
|
+
## 四、验证环(交付前全过,偏差必被发现)
|
|
94
|
+
|
|
95
|
+
### A. 静态门禁(grep 自动核验,逐项过)
|
|
67
96
|
|
|
68
97
|
1. frontmatter:name 与目录名一致且非占位符 skill-name;description 含触发词
|
|
69
98
|
2. resource 引用可达:SKILL.md 每个 `读 resources/xxx.md` 的文件真实存在
|
|
70
|
-
3.
|
|
71
|
-
4.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
99
|
+
3. 配置标准:user-config.md 含 CONFIG_VERSION: 1 + 头部「升级不会被覆盖」声明 + .upstream 对照说明;SKILL.md 无内嵌配置值
|
|
100
|
+
4. 机制节齐全:配置节 / 配置版本机制节 / 自检纪律节 / usage-guide 接线
|
|
101
|
+
5. 半定制资产已声明:含设计系统/模板底稿时 .preserve 清单存在且列全
|
|
102
|
+
6. 旧词零残留:全文 grep 无占位符、无废弃字段名
|
|
103
|
+
7. 多文件隔离(含 HTML 且页面有 localStorage 记忆的技能):grep 所有 localStorage.setItem/getItem/removeItem 与 indexedDB.open——键名全部带命名空间拼接(内嵌 ID)、固定键/固定库零残留;HTML 头部含内嵌 ID meta 标签且 content 为合法 UUID v4(8-4-4-4-12 十六进制),占位 REF-* 残留视为失败
|
|
104
|
+
8. 字体零侵权(含 HTML 的技能):grep 品牌字体(PingFang/YaHei/苹方/雅黑/apple-system 等)零出现
|
|
105
|
+
9. 语言一致:正文中文;技术术语保留原文
|
|
106
|
+
10. 示例数据脱敏:全文 grep 无真实项目名/人名/公司名/平台名/本机路径(/Users/具体用户名、~/SmartDeveloper 等);页脚署名 GENERATED BY AI TEAM
|
|
107
|
+
11. 产物版本戳(含 HTML 的技能):reference.html 头部含 `<meta name="sf-template" content="<技能名>@N">`(N≥1);SKILL.md 含「产物升级(回炉)」节且判定含无版本戳/无稳定 ID meta 视为 v0 最旧版
|
|
108
|
+
12. 版本递增与主动提示(含 HTML 的技能):SKILL.md 回炉节含版本递增判定(业务/数据格式/页面改动均 bump)与主动提示语(顺扫旧产物 + 告知触发语)
|
|
109
|
+
|
|
110
|
+
### B. 运行时实测(含 HTML 的技能必做,Playwright headless channel="chrome")
|
|
111
|
+
|
|
112
|
+
1. 页面加载零 JS 错误(pageerror 监听 + 控制台检查)
|
|
113
|
+
2. 关键交互实测:主题/状态切换 → localStorage 键带路径 → 刷新恢复
|
|
114
|
+
3. 多文件隔离实测:复制 HTML 到第二路径(用户数据类改成换 ID)→ 两份各自读写键互不干扰;用户数据类加测:同 ID 文件移动到新目录 → 数据保留
|
|
115
|
+
|
|
116
|
+
### C. 验证证据(交付报告必附)
|
|
117
|
+
|
|
118
|
+
- 静态门禁逐项结果 + 运行时实测摘要(键名样例 / 刷新恢复结果 / 隔离结果)
|
|
119
|
+
- 任一未过:修复后重跑整个验证环,禁止跳过直接交付;验证发现的偏差必须回修机制与文档后重新验证
|
|
75
120
|
|
|
76
121
|
## 五、仓库登记(技能入 SkillForge 时)
|
|
77
122
|
|
|
@@ -6,11 +6,15 @@ meta-forge 是「造 skill 的 skill」:把一段重复劳作,按 SkillForge
|
|
|
6
6
|
|
|
7
7
|
- 一句话起造:「做一个 XX 技能」「把 XX 流程固化成技能」
|
|
8
8
|
- 产出完整技能包:薄入口 SKILL.md + 按阶段拆分的 resources/ + 用户配置 user-config.md + 咨询应答 usage-guide.md
|
|
9
|
-
-
|
|
9
|
+
- 自动植入机制体系(工坊标准,缺一不可):
|
|
10
10
|
1. CONFIG_VERSION 钥匙——配置结构带版本号,升级时自动备份迁移,不丢用户设置
|
|
11
11
|
2. user-config 抽离——用户可改配置全部出站到 user-config.md,升级永不覆盖
|
|
12
12
|
3. reference 双轨——技能含 HTML 输出时,reference.html 是定稿样式真相源,改样式三处同步
|
|
13
|
-
4.
|
|
13
|
+
4. 多文件隔离——页面有 localStorage 记忆时,键按页内嵌唯一 ID 命名空间,多份产物互不串台、改名/移动目录记忆不丢
|
|
14
|
+
5. 零侵权脱敏离线——品牌字体零出现、禁 CDN 页面离线可开、示例数据零真实身份(通用占位)
|
|
15
|
+
6. 自检纪律——改任一文件 grep 全仓核对关键词,旧词零残留
|
|
16
|
+
7. 产物升级回炉——HTML 带模板版本戳(业务/数据格式/页面改动均 bump),升级后可扫旧产物交互式回炉(浅升级区块替换/深升级 md 重建),生成时顺扫旧版主动提示触发语
|
|
17
|
+
- 交付前跑验证环(偏差必被发现):静态门禁逐项 grep + 含 HTML 时 Playwright 实测(零 JS 错误 / 键带路径 / 刷新恢复 / 多文件隔离),验证证据随交付报告附上
|
|
14
18
|
- 技能入 SkillForge 仓库时,自动登记 README 技能分类表/技能清单/目录结构与 cli.js CATEGORIES
|
|
15
19
|
|
|
16
20
|
## 怎么用
|
|
@@ -36,6 +40,6 @@ meta-forge 是「造 skill 的 skill」:把一段重复劳作,按 SkillForge
|
|
|
36
40
|
|
|
37
41
|
## 常见问题
|
|
38
42
|
|
|
39
|
-
- **和宿主自带的 create-skill / create-plugin 有什么区别?** 它们是宿主通用指引;meta-forge 是工坊专属流水线,产出直接符合 SkillForge
|
|
43
|
+
- **和宿主自带的 create-skill / create-plugin 有什么区别?** 它们是宿主通用指引;meta-forge 是工坊专属流水线,产出直接符合 SkillForge 拆分规范与机制体系,经验证环实测后交付,可被 skill-forge CLI 安全升级
|
|
40
44
|
- **生成后怎么用?** 技能包落盘到 DIR 配置的目录;要安装到 AI 助手,跑 `skill-forge init --skills <技能名>`
|
|
41
45
|
- **已有技能怎么升级?** 官方配置结构变化时 CONFIG_VERSION 递增并写明迁移规则,`skill-forge update` 与 AI 执行时都会按版本备份迁移
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
## ⚙️ 默认配置(用户可手动修改;临时口头要求永远优先)
|
|
10
10
|
|
|
11
11
|
```yaml
|
|
12
|
-
CONFIG_VERSION: 1 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)DIR: auto # 新技能生成目录:auto = 探测 SkillForge 仓库根(~/
|
|
12
|
+
CONFIG_VERSION: 1 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)DIR: auto # 新技能生成目录:auto = 探测 SkillForge 仓库根(~/SkillForge 或含 cli.js 的当前目录);也可写死绝对路径
|
|
13
13
|
REGISTER: true # 仓库登记:true = 生成后自动更新 README 技能分类表/技能清单与 cli.js CATEGORIES;false = 只生成技能包不登记
|
|
14
14
|
```
|
|
15
15
|
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: monthly-report
|
|
3
|
+
description: 生成工作月报(默认月度概览/本月关键成果/问题与改进/下月计划四段结构,中文顿号序号),适配各行业(内置 12 行业职业词典,可指定角色身份)。数据来源灵活:直接口述、给一段文字、发文件(Word/PDF/Excel/PPT 等)或图片,都能整理成月报;开发类用户可聚合代码仓库当月提交。支持自定义模板(可永久或临时指定)。支持自然语言指定月份(这个月/上个月/10月/近一个月/最近30天等)。当用户请求写月报、月度总结、月度复盘、本月总结、月总结、/monthly-report,或询问月报用法(月报怎么用/月报使用说明)时使用。用户说「写总结/工作总结/写个汇报」等未言明周期的词时,先 AskUserQuestion 分流(日报/周报/月报/季报/年报)再执行,不擅自默认。
|
|
4
|
+
allowed-tools: Bash, Read, Write
|
|
5
|
+
disable-model-invocation: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 月度总结生成
|
|
9
|
+
|
|
10
|
+
聚合各仓库 git 当月提交 + 本次会话口述内容生成四段式月度总结(月度概览/本月关键成果/问题与改进/下月计划),对话输出 md 正文 + 落盘 md/txt/html/content-png 并自动打开 html。
|
|
11
|
+
|
|
12
|
+
## 生成流程
|
|
13
|
+
|
|
14
|
+
0.5 **周期歧义分流**:用户说「写总结/工作总结/写个汇报/做一份总结」等未言明周期的词 → AskUserQuestion 五选一(日报/周报/月报/季报/年报)确认周期再继续,不擅自默认
|
|
15
|
+
0. **读用户配置**(DISK/FORMATS/DIR/OPEN_HTML/TEMPLATE/ROLE/CONFIRM、自定义模板)→ 先 Read 同目录 `user-config.md`
|
|
16
|
+
1. **解析月份**(自然语言 → 目标月份区间)→ 读 `resources/date-parsing.md`
|
|
17
|
+
2. **收集数据**(git 当月提交聚合 + 会话口述 + 口头补充,合并去重)→ 读 `resources/data-collection.md`
|
|
18
|
+
3. **内容归类与润色**(四段式结构 / 聚合来源 / 纯文字模式 / 输出格式 / 写作风格)→ 读 `resources/content-rules.md`
|
|
19
|
+
4. **行业词条**(话术含职业词时按词典取词)→ 读 `resources/industry-dictionary.md`
|
|
20
|
+
5. **落盘与截图**(md/txt/html/content-png + 自动打开 html)→ 读 `resources/disk-and-html.md`
|
|
21
|
+
5.5 **交付前自检**(落盘与截图前必做,硬门禁不可跳过):monthly-report-YYYY-MM.html 文件写好后——
|
|
22
|
+
- Bash 起 `python3 -m http.server 8945`(后台,端口占用换 8946/8947…)
|
|
23
|
+
- Playwright headless 自检(缺则 `pip3 install --user playwright`;用系统 Chrome,channel="chrome" 无需下载浏览器):goto 页面 → 挂 pageerror 监听(零容忍)→ 滚动到底部 → 断言头部标题卡与月度概览/本月关键成果/问题与改进/下月计划四张分节卡存在(证明主体结构完整未被破坏)
|
|
24
|
+
- 截全页 PNG Read 自查:头部标题卡与月度概览/本月关键成果/问题与改进/下月计划四张分节卡齐全、文字无溢出截断、无豆腐块缺字
|
|
25
|
+
- 任何报错或视觉问题:修 HTML → 重检;全绿才进第 6 步
|
|
26
|
+
6. **使用咨询**(用户只问「月报怎么用」等用法、未要求生成)→ 读 `resources/usage-guide.md`,将其内容原样输出(首行标题改为「月度总结生成器使用指南」),不收集 git、不生成报告、不落盘、不开浏览器
|
|
27
|
+
|
|
28
|
+
## ⚙️ 配置与自定义模板
|
|
29
|
+
|
|
30
|
+
**执行本 skill 前必须先 Read 同目录 `user-config.md`**:默认配置(DISK/FORMATS/DIR/OPEN_HTML/TEMPLATE/ROLE/CONFIRM)与自定义模板都在该文件中,以它为准。升级技能时 user-config.md 不会被覆盖,你的修改永久保留。
|
|
31
|
+
- **THEME**:html 页面主题,tech 深蓝科技(默认)/ biz 浅色商务 / mono IDEA 黑亮 / light IDEA 白亮 / warm 温暖渐变;生成时写 `<html data-theme="THEME值">` 定默认,页面右下角换肤坞随点随换(localStorage 记忆(键按页内嵌唯一 ID 隔离、多份产物互不串台、改名/移动目录记忆不丢(生成时头部写 `<meta name="monthly-id" content="<UUID>">`,每次 crypto.randomUUID() 生成标准 UUID v4(8-4-4-4-12 十六进制,禁止手写变体、禁止沿用占位与旧值);落盘写文件前顺扫落盘目录下本技能命名的 html,读各文件 id meta 查重,撞号重掷至不重复))、?shot 截图模式与打印隐藏)
|
|
32
|
+
- **DATA_SOURCES**:数据源清单(默认空清单 + git/file/remote 三类型示例注释),个人数据源只写 user-config.md,本文件随升级覆盖
|
|
33
|
+
- **DATA_SOURCES 意图路由**:用户说「把这些 git 地址 / 目录配置到这个 skill」「数据源加一下」「以后数据从 XX 仓库取」→ 默认指配置到 `user-config.md` 的 `DATA_SOURCES` 数据源清单(不是 SKILL.md、不是 disk-and-html.md);「git 地址」给的是 URL 或本地仓库路径、目录给的是本地路径都写进 DATA_SOURCES。用户话术只指向某个特定数据源(如「只算这个仓库」)→ 当次生效,不写配置。意图仍有歧义(如分不清「数据收集配置」与「落盘目录配置」)→ 一句话与用户确认后写入,不猜
|
|
34
|
+
|
|
35
|
+
## 配置版本机制(升级保护)
|
|
36
|
+
|
|
37
|
+
本 skill 当前配置版本为 `3`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:先将旧 user-config.md 备份为 `user-config.md.bak-<时间戳>`(同目录,绝不删除旧值)→ 按本节「当前版本变更记录」迁移字段(新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认)→ 更新 CONFIG_VERSION 为当前版本 → 对话中明确告知用户「检测到配置版本从 X 升级到 Y,旧配置已备份至 <路径>」。禁止在未声明版本变更的情况下静默修改配置语义。
|
|
38
|
+
|
|
39
|
+
**无法迁移项处理**(值域失效 / 语义漂移 / 数据不兼容):三情形——①旧值不在新值域(如旧模板/主题名已移除)②同名键含义变化(单位/枚举变更)③数据文件 schema 不兼容。三绝不:绝不静默(无法迁移项停下问,不猜值)、绝不丢失(旧值永远在 .bak-时间戳)、一次说清(升级报告三段式:⚠️ 版本与备份路径 → ✅ 已自动迁移清单 → 🟡 无法迁移项逐条附原因+影响+建议替代);随后 AskUserQuestion 三选项(A 用建议值 / B 用户给新值 / C 保持旧配置——不更新 CONFIG_VERSION,每次执行再提醒);报告必附回滚一句话。
|
|
40
|
+
|
|
41
|
+
当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释)。
|
|
42
|
+
|
|
43
|
+
## 产物升级(回炉)
|
|
44
|
+
|
|
45
|
+
生成 HTML 时头部写版本戳 `<meta name="sf-template" content="monthly-report@2">`(模板升级时递增 @N 并同步 reference.html 与本文档)。用户说「升级旧产物/回炉旧页面/旧月报换新样式」时:扫落盘目录下本技能命名的 html,读版本戳筛出旧版(无版本戳或缺少 `<meta name="monthly-id">` 稳定 ID 的产物视为 v0 最旧版,一并进清单) → 列清单(文件/旧版本/手改状态——旧 html 正文与同目录 md 正文对比,不一致视为可能手改过)→ AskUserQuestion 选全部或部分 → 逐份升级:浅升级(仅 CSS/JS 变化)对旧页替换 `<style>` 块与交互脚本、正文内容原样保留;深升级(DOM 结构变化)从同目录 md 底稿按当前 reference.html 重建,先备份旧版 `.bak-时间戳` → 报告三段式:✅ 已升级清单 / ⚠️ 手改保留说明 / 🟡 失败项原因。模板改动分级:业务改动(板块/段落/标题体系)、数据格式改动(字段/存储结构)、页面改动(样式/布局/交互)任一发生即模板升级,版本戳 +1 并同步 reference.html 与本文档;纯措辞润色不 bump。每次生成 HTML 时顺扫落盘目录读版本戳:发现旧版产物主动告知「技能模板已升级至 vN,检测到 X 份旧版月报(vN-1 或无版本戳的历史产物),说『把我旧月报都升级成新样式』即可一键升级」,不让用户背触发语。
|
|
46
|
+
|
|
47
|
+
## 🔧 报修处理流程(用户报页面问题时)
|
|
48
|
+
|
|
49
|
+
用户说「这个页面效果不对 / 布局乱了 / 有 UI 问题 / 样式错了 / 交互坏了」(常附截图或指出具体现象)→ 按以下流程处理,不以「重新生成一份」敷衍:
|
|
50
|
+
|
|
51
|
+
1. **立标准**:先 Read 本 skill 目录 `resources/reference.html`——它就是设计标准答案(布局/配色/交互全在代码里)
|
|
52
|
+
2. **找问题**:Read 用户那份问题 html 文件,与 reference 逐处比对(结构顺序 / CSS 变量 / 关键类名 / 交互 JS),定位跑偏处;用户给了截图则按截图现象反查
|
|
53
|
+
3. **修复**:以 reference 为准修复那份 html(只修跑偏处,不动正确内容;reference 与 html 不一致时以 reference 为准)
|
|
54
|
+
4. **自证**:Chrome headless 访问修复后页面截全页 PNG,Read 自查修复点恢复标准效果;用户给了问题截图时尽量复现同视角截图做前后对比
|
|
55
|
+
5. **汇报**:一句话说清问题根因 + 修复了什么 + 附截图;若根因在 reference.html 自身(生成结果与 reference 一模一样但仍有问题),顺修 reference.html 对应处并在汇报中说明「参考模板已同步修正」,避免下一份重蹈覆辙
|
|
56
|
+
|
|
57
|
+
## 规则速览
|
|
58
|
+
|
|
59
|
+
- 四段式骨架行业无关:月度概览(一句话 TL;DR + 3-5 项核心数据卡,数字必带环比上月基准)/ 本月关键成果(按周 W1-W4 时间线 6-10 项,每项 20-40 字)/ 问题与改进(2-4 条三环:问题+影响+改进)/ 下月计划(3-5 项目标,各带量化指标与周级行动节点)
|
|
60
|
+
- 中文顿号序号(1、2、3);段内无内容写「暂无」;量化优先,杜绝空话套话
|
|
61
|
+
- 行业术语/指标/里程碑主题/风险话术按 `resources/industry-dictionary.md` 职业词典取词(未提职业按 ROLE 画像)
|
|
62
|
+
- 完整规则(聚合来源 / 纯文字模式 / 写作风格约束 / 使用提示)见 `resources/content-rules.md`
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# 内容规则(四段式)
|
|
2
|
+
|
|
3
|
+
四段式骨架行业无关(任何职业通用),术语与指标由职业词典适配。
|
|
4
|
+
|
|
5
|
+
## 段结构
|
|
6
|
+
|
|
7
|
+
**段一 月度概览**
|
|
8
|
+
- 一句话 TL;DR:本月工作的总体判断(如「节奏收紧的一个月:双周聚合发布落地,月度版本数从上月 38 个收敛到 12 个」)
|
|
9
|
+
- 核心数据卡 3-5 项:本月最关键的量化指标(按职业词典),每项:数字 + 单位 + 标签;数字凡有对比基准必带(环比上月/目标完成度至少其一),无基准来源不作要求
|
|
10
|
+
- 可带环比小字(「较上月:+18%」/「较上月:-30%」),上涨与下跌按语义色区分
|
|
11
|
+
|
|
12
|
+
**段二 本月关键成果**
|
|
13
|
+
- 按周(W1/W2/W3/W4,月末多出的天数并入 W4,如「W4+」)时间线排列 6-10 项,每项:成果描述 20-40 字 + 所属周 + 量化结果 + 价值归因(做了什么→改变了什么→与月度目标的关联,如「重构下单链路,响应 3.2s→0.4s,支撑本月转化率 +2 个点」)
|
|
14
|
+
- 里程碑事件优先(版本发布/项目上线/重大交付/关键会议决策),日常任务不逐条列
|
|
15
|
+
- 未过完的月(如写到 11 月中旬)注明「截至当前」
|
|
16
|
+
|
|
17
|
+
**段三 问题与改进**
|
|
18
|
+
- 2-4 条三环结构:问题(是什么)+ 影响(导致什么)+ 改进(下月怎么改,含可验证动作与时间节点,如「12 月起双周一次代码走查,缺陷率降到 X%」)
|
|
19
|
+
- 具体诚实,不写「还需努力」这类空话;无真实不足才写「暂无」
|
|
20
|
+
- 与周报风险阻塞点、复盘结论呼应(同源问题不重复展开)
|
|
21
|
+
|
|
22
|
+
**段四 下月计划**
|
|
23
|
+
- 月度目标 3-5 项:目标描述 + 可量化指标(「完成 XX,月底达到 XX」)+ 完成标准(可验证的终点;杜绝「努力提升 XX」类不可验证表述)
|
|
24
|
+
- 每项目标带周级行动节点(W1 起…W2 完成…)
|
|
25
|
+
- 目标与段三问题的改进方向呼应
|
|
26
|
+
|
|
27
|
+
## 写作风格
|
|
28
|
+
|
|
29
|
+
- 中文顿号序号(1、2、3),段内条目数按上述区间;不足处写「暂无」
|
|
30
|
+
- 量化优先:能带数字的带数字,估算值注明「约」;用户口述的业务结果指标(响应时间/错误率/成功率等)优先于提交统计(提交数/行数/版本数),提交统计作兜底
|
|
31
|
+
- 语言朴素具体,杜绝「再接再厉/砥砺前行」等套话;月度视角有判断、有取舍,不是流水账;流水与清单条目保持无主语,结论/判断/归因处允许第一人称「我」
|
|
32
|
+
- 技术动作翻译:口述技术动作且带结果数据时,翻译为业务结果表述(「重写 SQL 加索引」→「查询响应 3.2s→0.4s」);仅含动作无结果时保留动作,并提示可补充结果指标
|
|
33
|
+
- 落笔前五问自检:①第一句是不是结论?②数字有没有对比基准?③卡点有没有责任动作和时间?④计划能不能被验证?⑤个人贡献与团队成果的归属是否清晰?任一不过,改写后再输出
|
|
34
|
+
- md/txt 正文含生成时间行(精确到时分秒,如 2026-11-12 19:10:38)
|
|
35
|
+
|
|
36
|
+
## 聚合来源与纯文字模式
|
|
37
|
+
|
|
38
|
+
- 提交记录聚合来源(提交统计/里程碑)与口述来源(大事/感悟)合并后按段归类;两者矛盾时业务结果指标以用户口述为准、提交统计(提交数/行数)兜底
|
|
39
|
+
- 纯文字/图片/文件整理模式(没有提交记录):用户提供什么用什么,按四段结构归类;素材不足的段写「暂无」并提示用户可补充素材
|
|
40
|
+
- 月度与周报/日报的关系:同月内周报数据可直接引用(月度概览卡可汇总本月周报核心指标),但月度总结必须有独立判断(月度视角的取舍与结论),不把周报原文拼贴成月报
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 数据收集(月度)
|
|
2
|
+
|
|
3
|
+
三种来源合并去重:口述与文字/文件/图片并重(业务结果以口述为准、统计数字以提交记录兜底);没有提交记录也适用——给一段文字、文件里的描述或图片即可成稿。开发类用户可另做代码仓库当月提交聚合(见第 1 节)。
|
|
4
|
+
|
|
5
|
+
## 1. 代码仓库当月提交聚合(可选,开发类用户)
|
|
6
|
+
|
|
7
|
+
清单形状(每项 name 唯一名称 + type 类型 + 路径;完整填写说明见 user-config.md「默认配置」的 DATA_SOURCES 注释):
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
DATA_SOURCES:
|
|
11
|
+
- name: 主项目仓库 # name = 唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
|
|
12
|
+
type: git # git = 代码仓库(git log 聚合提交)
|
|
13
|
+
mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)
|
|
14
|
+
win: D:\Projects\main-app # Windows 路径;「-」= 该系统不存在,自动跳过
|
|
15
|
+
- name: 月例会纪要
|
|
16
|
+
type: file # file = 普通文件/目录(直接 Read 内容聚合)
|
|
17
|
+
mac: ~/Documents/meeting-notes.md
|
|
18
|
+
win: -
|
|
19
|
+
- name: 数据接口
|
|
20
|
+
type: remote # remote = 远程网络源(联网拉取 url 内容)
|
|
21
|
+
url: https://example.com/data.json
|
|
22
|
+
```
|
|
23
|
+
- 遍历 user-config.md 的 DATA_SOURCES 清单(type: git 项;个人数据源必须写在 user-config.md,本文件随升级覆盖),对每仓执行当月统计:
|
|
24
|
+
- 总提交数:`git log --since={月首} --until={月末 23:59} --oneline | wc -l`
|
|
25
|
+
- 增删行数:`git log --since=... --until=... --numstat --pretty=tformat: | awk` 汇总 add/del
|
|
26
|
+
- **先剔除生成物路径**(.build/code-graph/、node_modules、dist、*.lock 等,用 grep -vE 按制表符+路径过滤),否则 graph.json 之类单文件可贡献数十万行噪音
|
|
27
|
+
- 日历热力图数据:`git log --since=... --until=... --format='%ad' --date=format:'%Y-%m-%d' | sort | uniq -c`(逐日提交数,喂给 HTML 的月度日历热力图)
|
|
28
|
+
- 里程碑:`git tag` / `git log --merges --oneline` 提取版本发布与重要合并,读 tag 信息取版本号与日期,筛选落在目标月内的
|
|
29
|
+
- 环比上月:同样口径统计上月总提交数/完成任务数,供概览卡「较上月」环比行使用
|
|
30
|
+
- 仓库按系统取有效路径(mac / win 双字段,「-」= 该系统不存在跳过)
|
|
31
|
+
|
|
32
|
+
## 2. 会话口述与文字材料
|
|
33
|
+
|
|
34
|
+
- 用户口述的月度大事(「这个月上了 XX」「月初做了 YY」)逐条记录
|
|
35
|
+
- 用户提供的总结草稿/文档(md/txt/docx)Read 提取要点;图片逐张 Read 识别内容
|
|
36
|
+
- DATA_SOURCES 清单中 type: file 的文件 Read 全文、目录逐个 Read 文本文件提取要点(二进制跳过、路径无效静默跳过);type: remote 只需 url 字段(mac/win 忽略)联网拉取内容提取要点(拉取失败静默跳过;仅收集时联网,HTML 产物仍零外链);未知 type 忽略该项并在生成时提示
|
|
37
|
+
- 聊天记录/周报/日报/会议纪要文件也可作为素材;本月已生成的周报/日报直接引用其核心指标(同源数据不重复统计)
|
|
38
|
+
|
|
39
|
+
## 3. 合并去重与口径
|
|
40
|
+
|
|
41
|
+
- 同一成果提交数据与口述重合时合并为一条,量化以提交统计为准、定性以口述为准;file/remote 提取要点与口述同等对待
|
|
42
|
+
- 无法量化的条目写定性描述,不编造数字
|
|
43
|
+
- 月度核心指标(概览卡数据)优先取:总提交数/月度增删行数/版本发布数(研发),其它行业按职业词典量化指标
|
|
44
|
+
- 环比口径:上月同口径数据仅在用户要求对比或数据卡有基准需求时统计;「较上月」必须同口径(同仓库、同剔除规则),口径不同宁可不写
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# 月度解析
|
|
2
|
+
|
|
3
|
+
把自然语言定位到目标月份区间。月份区间决定提交统计范围与目录/文件名。
|
|
4
|
+
|
|
5
|
+
## 定位规则
|
|
6
|
+
|
|
7
|
+
| 用户说法 | 目标月份 | 区间 |
|
|
8
|
+
|:---|:---|:---|
|
|
9
|
+
| 2026年11月 / 这个月 / 写个月报(未指定)| 当前自然月(如 2026-11)| 当月 01 日 ~ 今天(未过完则到「今天」)|
|
|
10
|
+
| 上个月 / 10月的总结 | 上一自然月 | 完整自然月(10-01 ~ 10-31)|
|
|
11
|
+
| 近一个月 / 最近30天 / 最近 30 天 | 滚动 30 天 | 今天 - 30 天 ~ 今天 |
|
|
12
|
+
| 2026-10 / 2026年10月(明确指定)| 指定自然月 | 完整自然月 |
|
|
13
|
+
|
|
14
|
+
- 「这个月」以当前系统日期为准(11 月 12 日写月报 → 区间 11-01 ~ 11-12,标题注明「截至 2026-11-12」)
|
|
15
|
+
- 目录:`{DIR}/2026-11/`(滚动 30 天用起始年月,如 10-13~11-12 → 2026-10,目录内文件名仍按目标月份或滚动区间)
|
|
16
|
+
- 文件名:`monthly-report-2026-11.md/.txt/.html`、截图 `monthly-report-2026-11-content.png`;滚动 30 天文件名用区间(如 `monthly-report-2026-10-13~11-12.html`)
|
|
17
|
+
- 同名目录已存在时直接复用(不重建、不清空),仅覆盖 FORMATS 清单内的同名文件;目录内其它文件一律保留不动(同目录下周报子目录互不干扰)
|
|
18
|
+
- 同一份月度总结重复生成默认直接覆盖;用户说「保留之前的/另存/不覆盖」时文件名追加时间戳(如 `monthly-report-2026-11-1530.html`)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
> ⛔ **Reference 铁律(最高优先)**:本目录 `reference.html` 是定稿样式源码。生成 HTML 时必须先 Read `resources/reference.html` 与本文件两份,以 reference.html 为骨架模板逐处替换数据(标题/日期/四段条目/TL;DR 摘要/数据卡数字/日历热力图数据数组——IIFE 内 DAYVALS),本文件的描述是参数解释、变体规则与禁止项;两者冲突时**以 reference.html 为准**。修改本 skill 的 HTML 效果时,必须同步更新 `resources/reference.html` 与本文档的对应描述,禁止只改一处。
|
|
2
|
+
|
|
3
|
+
# 落盘与 HTML(月度版式)
|
|
4
|
+
|
|
5
|
+
## 落盘
|
|
6
|
+
|
|
7
|
+
- FORMATS 默认 [md, txt, html, content-png]:md/txt/html 文件名 `monthly-report-YYYY-MM.<格式>`、截图 `monthly-report-YYYY-MM-content.png`;txt 为纯文本版;DISK: false 时全部不落盘
|
|
8
|
+
- 目录:`{DIR}/YYYY-MM/`(DIR 按系统取 DIR_MAC/DIR_WIN,不存在回退用户主目录下 reports);目录已存在直接复用,只覆盖本清单内同名文件;目录内存在非本 skill 命名的其它文件时对话中提示用户「该目录内已有其它文件,本次月度总结已与它们并列存放,未做任何改动」
|
|
9
|
+
- 对话中照常输出 md 正文(不受 FORMATS 影响);OPEN_HTML: true 且落盘了 html 时自动打开浏览器(macOS:open <html文件>;Windows PowerShell:Start-Process <html文件>)
|
|
10
|
+
- FORMATS 含 content-png 时生成内容区截图:只截四张分节卡片整体(月度概览/本月关键成果/问题与改进/下月计划,不含头部标题区/复制按钮/页脚,四周保留对称合适的外边距约 40px 留白);html 内置 `?shot=content` 参数(页面 JS 检测后隐藏 header-card/footer(复制按钮在头部卡内随卡一并隐藏)、body 四周 padding 统一 40px,正常浏览不受影响);用 Chrome headless 访问带参 URL 截图(路径按系统选:macOS=`/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`;Windows 按序探测 `C:\Program Files\Google\Chrome\Application\chrome.exe` → `C:\Program Files (x86)\Google\Chrome\Application\chrome.exe` → `%LOCALAPPDATA%\Google\Chrome\Application\chrome.exe`,经 node child_process 执行 `--headless --disable-gpu --no-sandbox --hide-scrollbars --user-data-dir=<临时目录> --screenshot=<png路径> --window-size=760,<估算高度> --virtual-time-budget=4000 "file:///<html路径>?shot=content"`(Windows 下 URL 写作 file:///C:/...,用 node url.pathToFileURL 生成),跑完删除临时目录;禁止用 `--headless=new`(单例模式会静默失败生成占位图);若 Chrome 不存在则换 Edge(macOS=`/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge`;Windows=`C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe` → `C:\Program Files\Microsoft\Edge\Application\msedge.exe`),都找不到时跳过截图并在对话注明);高度按内容区实测基准估算(760 宽窄窗实测:概览 4 卡折 2 行、成果 5 条 + 2 占位周 + 热力图 170px、问题 2 条三环、计划 3 条 → 内容区约 2020px,图高 = 内容区 + 上下留白各 40px):每增减 1 条成果条目 ±~85、1 条问题 ±~100、1 条计划 ±~90、概览数据卡每多一行 ±~105;实测高度显著高于按 65~70px/条的旧估算(数据卡 2 行排布 + 条目换行 + 卡片 padding),禁止低估导致截断,截图后用 Read 校验:四张卡片整体完整在图内、无头部/按钮/页脚残留、四周留白对称合适、不截断;底部留白过大减高度、截断加高度重截
|
|
11
|
+
|
|
12
|
+
## HTML 月度版式(深蓝面板体系,与日报/周报/年报同源)
|
|
13
|
+
|
|
14
|
+
- 复用日报/周报/年报深蓝面板视觉体系:背景 #0a1929 + SVG feTurbulence 微噪点(opacity .04)+ 三层科技底纹(.grid-pattern 60px 青色细网格 var(--scan-dim) + .stars 8 个 1-1.5px 星点白/青/紫/绿散落 + .scanlines 2px 周期扫描线 var(--scan-dim));图表渲染用 echarts@5.5.1(body 末尾主 script 之前引入 `<script src="https://cdn.jsdelivr.net/npm/echarts@5.5.1/dist/echarts.min.js"></script>`,页面唯一网络引用;离线/内网无外网加载失败时图表容器显示 data-off 降级提示文字、页面其余内容正常浏览不受影响);除 echarts 外禁用任何 CDN 与外部网络引用(@import、外链 CSS/图片/网络字体一律禁止);字体全用系统本地字体栈 ui-monospace/'SF Mono'/SFMono-Regular/Menlo/Consolas;颜色全部用 CSS 变量统一主题令牌:19 令牌 × 5 主题(tech 深蓝科技(默认,色值与旧 ask 色板一致)/biz 浅色商务/mono IDEA 黑亮(JetBrains New UI Dark 官方色系:编辑区 #1e1f22 + 面板 #2b2d30)/light IDEA 白亮(IntelliJ Light 官方色系:白编辑区 + 浅灰面板)/warm 温暖渐变,html[data-theme] 运行时切换;12 核心契约 --bg/--bg2/--panel/--panel-solid/--text/--muted/--accent/--accent2/--border/--glow/--title-grad/--tag-bg + 报告扩展 --glow-soft/--scan/--scan-dim/--heat/--green/--orange/--rose;生成时按 THEME 配置写 data-theme 定默认,页面右下角换肤坞五色点随点随换、localStorage 记忆(键按页内嵌唯一 ID 隔离、多份产物互不串台、改名/移动目录记忆不丢;生成时头部写 `<meta name="monthly-id" content="<UUID>">`,每次新 UUID)、?shot 截图模式与打印隐藏)
|
|
15
|
+
- 头部卡片:标题按行业词典「标题」变量取词 + 月份前缀(如「2026-11 研发月度总结」;话术含职业词 → 该词条标题,未提职业 → 按 ROLE 画像匹配词条,词典外行业 → 「YYYY-MM 月度总结」兜底;词典标题行见 `resources/industry-dictionary.md`)+ 副标题(ROLE 画像或月份区间)+ 生成时间行;指令面板同款发光特效:四边 1px 青色浮光线 transparent→var(--accent)→transparent 整条平移扫动(上 scanX 左→右、右 scanY 上→下、下 scanX-rev 右→左、左 scanY-rev 下→上,四线同周期 3s linear 单向平移,亮段完整穿越卡片后消失于两端界外,卡片 overflow:hidden 裁剪;禁止自创 background-position 滚动/常驻辉光/往返摆动/亮段半嵌常驻变体)+ 顶部光斑 cardGlow(radial-gradient ellipse at 50% 10% var(--glow)→transparent 70%,opacity .5→1 + scale 1→1.6,transform-origin top center,3s 循环,头部与每张分节卡片内均放 .card-glow 层)+ 标题文字青色光晕呼吸(text-shadow 双圈 3s 循环)
|
|
16
|
+
- 四张分节卡片(实心深蓝底 #0b1e37 + 1px 白色微透细线 8px 周期淡条纹(repeating-linear-gradient(180deg, rgba(255,255,255,.012) 0 1px, transparent 1px 8px),与日报/周报/年报同款,头部卡片同条纹) + 上下边缘 1px 微亮描边 #0f3350 + 圆角 6px + overflow:hidden + 保留阴影与 inset 内发光),左侧 8px 宽节色竖线贯穿整卡(box-shadow 0 0 12px 同色 30% 光晕),内容 padding-left 24px;节色:概览亮蓝 linear-gradient(180deg,#38bdf8,#0ea5e9) / 成果青绿 linear-gradient(180deg,#5eead4,#14b8a6) / 问题玫红 linear-gradient(180deg,#fda4af,#e11d48) / 计划橙 linear-gradient(180deg,#fdba74,#f97316);节标题 18px 同色渐变 SVG 语义图标(概览=仪表盘、成果=奖杯、问题=三角警示、计划=日历)+ 文字微光晕(h2 flex gap 10px,标题色=节色亮端,同色双圈发光字 3s 呼吸 secGlow 动画,仅节标题文字发光,SVG 图标不加)
|
|
17
|
+
- 数字选择:用户口述的业务结果指标(响应时间/错误率/转化率/成功率等)优先写入,提交统计(提交数/文件数/行数)仅在无业务指标时兜底,两者都有时业务指标在前、提交统计后置或省略;数字凡有对比基准必带(环比上月/目标完成度至少其一,如「+18%」「达目标 90%」),无基准来源时不作要求 - 概览节:一句话 TL;DR 引言行 + 核心数据卡 3-5 张横排(.stat-card flex 均分:大数字 28px 渐变字 + 12px muted 标签 + 11.5px 环比小字「较上月:+18%」,上涨 --green 绿、下跌 --rose 红;数据卡左侧小色条同概览节色)
|
|
18
|
+
- 成果节:纵向时间线(.timeline 左侧 2px 青色竖线 + 周节点:W1/W2/W3/W4 圆形节点(节色渐变球 + 光晕,当前周节点加呼吸动画)+ 右侧内容(成果描述 15px + 量化小字 12px 青灰 + 周徽章 11px muted 胶囊);周内多条共用周节点,条目间青色虚线分隔)
|
|
19
|
+
- 问题节/计划节:问题条目沿用 3D 立体圆球序号徽章(28px 白字,径向渐变球面(受光点 circle at 30% 28%,浅亮→主色→深色)+ inset 右下内暗影 + ::before 左上椭圆高光点 + 底部投影与同色光晕;问题玫红);问题条三环展开:问题主行 + 影响行 12px 青灰「影响:xxx」+ 改进行 12px 青色「改进:」加粗前缀;计划条目卡(目标描述 15px + 量化指标加粗 + 周级行动节点小胶囊 11px(W1 起…/W2 完成…,muted 字 + 青色细边 var(--border) + 淡青底))
|
|
20
|
+
- 月度日历热力图(研发词条;其它词条按职业词典图表主题):.cb-wrap 内 .ech echarts calendar heatmap 容器 170px 高(#heatChart)、整月日历格子、格色按当天提交数深浅渐变(var(--heat) 色系)、tooltip 显示「MM-DD · N 次提交」、周末格子 muted 弱化;置于成果节内时间线之后
|
|
21
|
+
- 内容区 .wrap width:clamp(640px, 60%, 1200px)(与日报/周报/年报同款自适应宽度,宽屏占 60% 不留大空边)+ 上下 padding 40px、左右 0 - 头部卡片内生成时间徽章下居中青色渐变 40px 大胶囊「一键复制」按钮(var(--accent)→var(--accent2),30px 青色光晕,hover 45px 光晕上浮;flex 居中布局,内置 16px 内联 SVG 双矩形复制图标(白色 currentColor 描边、图标与文字 gap 8px、禁用 emoji 图标),复制成功后图标切对勾、文字变「已复制」);复制源必须用 txt 文件内容(含换行、无 #/##/> 等 Markdown 符号,严禁用 md 内容当复制源);JS 用 navigator.clipboard.writeText,失败回退隐藏 textarea + document.execCommand('copy')(兼容 file:// 打开)
|
|
22
|
+
- 入场动画:头部淡入下滑、四张卡片依次错峰上浮淡入(概览 0.13s/成果 0.26s/问题 0.4s/计划 0.54s);滚动入场:初始视口外的卡片滚到视口才上浮渐显(html.js 门控 + IntersectionObserver,translate 独立属性不碰 transform——hover 3D 偏转零冲突,stagger 70ms 封顶 280ms、入场完即清 delay 不拖慢 hover 偏转,2s 兜底强制显示;无 JS/打印/截图模式一律全显);窄屏收敛:<680px 视口 wrap 满宽流式、边距收窄、h1 统一 26px(clamp 640px 下限在窄窗不再横向溢出);热力图 echarts 默认生长动画(对齐周报柱图);?shot 截图模式 animation:false 直接渲染终态(headless 虚拟时间下动画帧不推进会停在初始帧导致截图空白);echarts 容器 width:100% 窄屏自适应无需特化、按钮弹入;卡片入场动画 fadeDown/fadeUp/riseIn 的 fill-mode 必须用 backwards 严禁 both(both 使动画结束后最后一帧 transform:none 永久覆盖 hover 的 3D 偏转 transform,hover 偏转会完全失效)
|
|
23
|
+
- hover 微交互:卡片上浮 translateY(-2px) + 阴影加深 + inset 发光增强、条目淡青底 var(--tag-bg)、时间线节点与序号徽章放大微旋(li:hover .idx transform:scale(1.18) rotate(-4deg)、球内数字放大 12→14px、数字必须用 <b> 包裹(.idx b{display:inline-block;transition:transform .2s ease})+ li:hover .idx b{transform:rotate(-6deg)} 数字在球内独立微旋;hover 变大的字体仅小球内数字,desc 正文保持 15px 不变不加斜体)、数据卡上浮、按钮上浮/按压回缩
|
|
24
|
+
- 卡片级 3D 微倾斜(严禁全页级 mousemove 倾斜):每张卡片 hover 时仅该卡片随鼠标偏转(perspective(900px) + rotateY(calc(var(--mx,0)*2.5deg)) rotateX(calc(var(--my,0)*-2.5deg)) ±1.25° 极轻微,与 hover 上浮合并写同一条 transform 严禁拆两条相互覆盖);JS 对每张卡片监听 mousemove 计算卡内相对位置((clientX-rect.left)/rect.width*2-1 归一化 -1~1)只更新该卡 --mx/--my,mouseleave 归零回正,transition transform .18s 平滑;移动端无 mousemove 保持 0 不倾斜
|
|
25
|
+
- CRT 扫描光带(.scanband position:fixed、left:0/right:0、height:150px、linear-gradient(180deg,transparent,var(--scan-dim) 50%,transparent)、animation:scanMove 11s linear infinite(top -22%→112%)、pointer-events:none、z-index:998,置于 scanlines 之下一层)
|
|
26
|
+
- 禁止写 @media (prefers-reduced-motion: reduce) 禁用动画的媒体查询块(用户系统开启减少动画时该块会禁用全部动效)
|
|
27
|
+
- 页面 JS 需支持 `?shot=content` 参数(检测 location.search 含 shot=content 时给 header-card、footer 设 display:none(copy-wrap 在头部卡内随卡隐藏),body 四周 padding 统一 40px,供主体内容整体截图用、保证截图四周留白对称合适)
|
|
28
|
+
- 页脚 10px muted 文字(无分隔线、不加边框),署名固定 GENERATED BY AI TEAM · <年月>(动态跟随目标月份,如 GENERATED BY AI TEAM · 2026-11)
|
|
29
|
+
- 四段分节列表,条目保持中文顿号序号;md/txt 版同条目依次写,文本格式不变
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 行业适配(职业词典)
|
|
2
|
+
|
|
3
|
+
报告骨架(四段式/TL;DR/核心数据卡/周时间线/反思三环)行业无关,只有「行业变量」随职业切换。用户对话中声明职业即按词典取词(如「帮我写份销售月报」→ 销售词条);词典没有的行业走兜底。
|
|
4
|
+
|
|
5
|
+
| 变量 | 研发 | 销售 | 运营 | 产品 | HR | 财务 | 市场 | 客服 | 项目/PMO | 行政 | 法务 | 设计 |
|
|
6
|
+
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
7
|
+
| 标题 | 研发月度总结 | 销售月度总结 | 运营月度总结 | 产品月度总结 | 人事月度总结 | 财务月度总结 | 市场月度总结 | 客服月度总结 | 项目月度总结 | 行政月度总结 | 法务月度总结 | 设计月度总结 |
|
|
8
|
+
| 工作单元 | 提交/版本/PR | 拜访/商机/回款 | 活动/渠道/内容 | 需求/迭代/上线 | 招聘/培训/入离职 | 报表/对账/税务 | 投放/活动/线索 | 工单/会话/满意度 | 里程碑/需求变更/资源/评审 | 会务/采购/资产/证照 | 合同审核/诉讼/合规/知产 | UI稿/设计规范/走查/交付 |
|
|
9
|
+
| 量化指标 | 月提交数·行数·版本数 | 月拜访数·商机数·回款额 | 月曝光·转化·GMV | 月交付数·上线数 | 月简历数·到面率·入职数 | 月凭证数·回款·预算执行率 | 月投放额·线索数·ROI | 月工单量·解决率·满意度 | 月里程碑达成数·任务完成数·变更数 | 月会务场次·采购完成数·资产盘点数 | 月合同审核数·案件进展·合规项数 | 月页面稿数·规范组件数·走查问题数 |
|
|
10
|
+
| 里程碑 | 版本发布/架构升级 | 大客户签约/区域突破 | 爆款活动/渠道扩张 | 重大版本迭代/核心功能上线 | 组织变革/人才梯队建设 | 系统上线/审计通过 | 品牌战役/投放升级 | 服务体系搭建/满意度跃升 | 重点项目交付/流程建设 | 办公搬迁/年会/体系建设 | 重大案件胜诉/合规体系落地 | 设计系统/规范落地 |
|
|
11
|
+
| 风险话术 | 阻塞点/技术债 | 竞争/预算审批 | 资源/渠道效果 | 需求变更/排期 | 用人缺口 | 资金/合规 | 渠道成本 | 舆情/高峰 | 范围蔓延/资源冲突 | 供应商延期/预算超支 | 合规风险/诉讼时效 | 需求反复/排期挤压 |
|
|
12
|
+
| 价值翻译 | 稳定性·效率·成本·体验 | 收入·客单价·转化·回款 | 曝光·线索·留存·ROI | 用户增长·留存·满意度 | 人效·到岗率·留存率 | 成本节约·资金效率·合规 | 曝光·线索·转化·品牌 | 满意度·处理时效·客诉率 | 准时率·交付质量·成本偏差 | 流程效率·成本·满意度 | 风险规避·合规·时效 | 转化·体验·一致性 |
|
|
13
|
+
|
|
14
|
+
- 用户角色画像:顶部「默认配置」的 ROLE 定义用户默认角色与主要工作内容(当前:全栈开发工程师(企业内技术开发));未提职业时按 ROLE 画像取词(当前等价研发词条:代码仓库当月提交聚合 + 提交/版本术语 + 提交数/行数/版本数指标 + 版本发布/架构升级里程碑)
|
|
15
|
+
- 价值翻译(技术动作→业务结果):技术动作一律翻译为业务结果表述——研发翻向稳定性/效率/成本/体验(「重写 SQL 加索引」→「查询响应 3.2s→0.4s」),其它岗位按「价值翻译」行各自方向取义(销售→收入/转化、客服→满意度/时效等);提交统计(提交数/文件数/行数)仅为兜底指标,口述含业务结果时业务结果优先;仅含动作无结果时保留动作描述,并在对话中提示可补充结果指标
|
|
16
|
+
- 触发:话术含职业词(销售/运营/产品/HR/财务/市场/客服/项目/PMO/行政/法务/设计等)→ 标题、工作单元术语、量化指标、里程碑主题、风险话术全部按该词典词条生成
|
|
17
|
+
- 临时换角色:说「以 XX 的身份写月报」(如「以销售经理的身份写」)→ 当次按该角色词条生成,不改配置
|
|
18
|
+
- 永久换角色:说「以后默认用 XX 角色 / 我的职业是 XX / 我的主要工作是 XX」→ 更新顶部 ROLE 配置(永久生效);词典没有的角色按用户描述新增词条
|
|
19
|
+
- 声明+临时指标覆盖:说「这次指标看签约额和回款」→ 词条 + 临时指标(仅当次);说「以后都用这套指标」→ 固化进词典(永久)
|
|
20
|
+
- 兜底:词典外的行业(工地施工、医生值班等)→ 骨架 + 用户素材(文字/图片/文件)现场生成词条(工作单元/指标/里程碑从素材提取),本次生效;说「记住这个行业」→ 固化为新词条
|
|
21
|
+
- 行业/角色切换只换内容与指标,HTML 骨架/色板/动效/落盘规范全部不变;纯文字整理模式同样适用词典;优先级:临时角色声明 > 顶部 ROLE 配置 > 词典表
|