skill-forge-hub 1.3.7 → 1.3.8

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 (33) hide show
  1. package/CHANGELOG.en.md +10 -0
  2. package/CHANGELOG.md +10 -0
  3. package/annual-report/SKILL.md +2 -2
  4. package/annual-report/resources/data-collection.md +5 -17
  5. package/annual-report/user-config.md +2 -2
  6. package/commit-heatmap/resources/collect.md +3 -0
  7. package/daily-report/SKILL.md +2 -2
  8. package/daily-report/resources/data-collection.md +5 -16
  9. package/daily-report/user-config.md +2 -2
  10. package/docs/prompt-pouch-intro/pouch-01-home.png +0 -0
  11. package/docs/prompt-pouch-intro/pouch-02-search.png +0 -0
  12. package/docs/prompt-pouch-intro/pouch-03-sort.png +0 -0
  13. package/docs/prompt-pouch-intro/pouch-04-tag.png +0 -0
  14. package/docs/prompt-pouch-intro/pouch-05-fill.png +0 -0
  15. package/docs/prompt-pouch-intro/pouch-06-fill-full.png +0 -0
  16. package/docs/prompt-pouch-intro/pouch-07-detail.png +0 -0
  17. package/docs/prompt-pouch-intro/pouch-08-edit.png +0 -0
  18. package/docs/prompt-pouch-intro/pouch-09-theme-mint.png +0 -0
  19. package/docs/prompt-pouch-intro/pouch-10-confirm.png +0 -0
  20. package/meeting-minutes/SKILL.md +3 -1
  21. package/meeting-minutes/resources/content-rules.md +2 -0
  22. package/meeting-minutes/user-config.md +2 -2
  23. package/monthly-report/SKILL.md +2 -2
  24. package/monthly-report/resources/data-collection.md +5 -17
  25. package/monthly-report/user-config.md +2 -2
  26. package/package.json +1 -1
  27. package/quarterly-report/SKILL.md +2 -2
  28. package/quarterly-report/resources/data-collection.md +5 -17
  29. package/quarterly-report/user-config.md +2 -2
  30. package/release-notes/resources/collect.md +3 -0
  31. package/weekly-report/SKILL.md +2 -2
  32. package/weekly-report/resources/data-collection.md +5 -16
  33. package/weekly-report/user-config.md +2 -2
package/CHANGELOG.en.md CHANGED
@@ -4,6 +4,16 @@
4
4
 
5
5
  Version history of the SkillForge npm package `skill-forge-hub` (command name `skill-forge`).
6
6
 
7
+ ## 1.3.8 (2026-11-13)
8
+
9
+ **Data-collection config consolidation across seven report skills (five-suite v4 / meeting-minutes v3)**
10
+
11
+ - Data source config (DATA_SOURCES / REPO) now lives only in user-config.md (upgrade-protected, never overwritten); mechanism docs (data-collection.md / content-rules.md / collect.md) get a "not a config zone" header, inline YAML examples removed, keeping only collection rules (type behaviors / git command templates / line-count filters / merge-dedup)
12
+ - daily/weekly/monthly/quarterly/annual-report CONFIG_VERSION 3→4: first run after upgrade auto-prompts "data-collection config consolidated"; existing sources preserved as-is; sources mistakenly written in mechanism docs prompt manual relocation to user-config.md
13
+ - meeting-minutes CONFIG_VERSION 2→3: source-material section gets placement note; DATA_SOURCES comments corrected to the actually supported type (file)
14
+ - commit-heatmap / release-notes: placement note added atop collect.md (no config change, version untouched)
15
+ - prompt-pouch-intro.md upgraded to illustrated edition: 10 pouch feature screenshots with ▲ interaction captions (images under docs/prompt-pouch-intro/, rendered directly on repo pages)
16
+
7
17
  ## 1.3.7 (2026-11-13)
8
18
 
9
19
  **prompt-pouch fixes theme dock covering fullscreen modal buttons (@15)**
package/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@
4
4
 
5
5
  SkillForge(技能锻造坊)npm 包 `skill-forge-hub`(命令名 `skill-forge`)版本变更记录。
6
6
 
7
+ ## 1.3.8(2026-11-13)
8
+
9
+ **报告七技能数据收集配置归位:配置落 user-config,机制文档收敛(五件套 v4 / 会议纪要 v3)**
10
+
11
+ - 数据源配置统一归位:DATA_SOURCES / REPO 等数据收集配置一律只写 user-config.md(升级保护区,永不覆盖);机制文档(data-collection.md / content-rules.md / collect.md)顶部加「不是配置区」定位声明,内置 YAML 清单示例移除,只留收集规则(type 行为 / git 命令模板 / 行数口径 / 合并去重)
12
+ - 日报/周报/月报/季报/年报 CONFIG_VERSION 3→4:升级后首次执行自动提示「数据收集配置归位」,已填数据源原样保留;此前误写在机制文档里的数据源,提示手动搬回 user-config.md
13
+ - 会议纪要 CONFIG_VERSION 2→3:素材来源节加定位声明,DATA_SOURCES 注释按实际支持类型(file)修正
14
+ - 提交热力图 / 发版说明:collect.md 顶部补定位声明(配置无变化,版本不动)
15
+ - 种草文 prompt-pouch-intro.md 升级图文版:嵌入 10 张锦囊功能截图与 ▲ 交互说明(配图落 docs/prompt-pouch-intro/,仓库页直接渲染)
16
+
7
17
  ## 1.3.7(2026-11-13)
8
18
 
9
19
  **prompt-pouch 修复全屏弹框按钮被换肤坞遮挡(@15)**
@@ -34,7 +34,7 @@ disable-model-invocation: false
34
34
 
35
35
  ## 配置版本机制(升级保护)
36
36
 
37
- 本 skill 当前配置版本为 `3`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:
37
+ 本 skill 当前配置版本为 `4`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:
38
38
 
39
39
  1. 先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)
40
40
  2. 按本节「配置升级规则」迁移字段:新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认
@@ -45,7 +45,7 @@ disable-model-invocation: false
45
45
 
46
46
  **无法迁移项处理**(值域失效 / 语义漂移 / 数据不兼容):三情形——①旧值不在新值域(如旧模板/主题名已移除)②同名键含义变化(单位/枚举变更)③数据文件 schema 不兼容。三绝不:绝不静默(无法迁移项停下问,不猜值)、绝不丢失(旧值永远在 .bak-时间戳)、一次说清(升级报告三段式:⚠️ 版本与备份路径 → ✅ 已自动迁移清单 → 🟡 无法迁移项逐条附原因+影响+建议替代);随后 AskUserQuestion 三选项(A 用建议值 / B 用户给新值 / C 保持旧配置——不更新 CONFIG_VERSION,每次执行再提醒);报告必附回滚一句话;数据文件迁移前先复制 .bak-时间戳,能映射则映射、不能则写兼容层或留备份提示手动整理
47
47
 
48
- 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech;发现旧配置时按迁移规则补默认值)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释;DIR_MAC/DIR_WIN 默认值通用化——已配置用户保留原值不受影响)。
48
+ 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech;发现旧配置时按迁移规则补默认值)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释;DIR_MAC/DIR_WIN 默认值通用化——已配置用户保留原值不受影响)。v3→v4 数据收集配置归位:DATA_SOURCES 清单结构与已填值不变,仅澄清唯一配置落点——数据源一律只写 user-config.md「默认配置」的 DATA_SOURCES(升级保护区,永不覆盖);resources/data-collection.md 收敛为纯机制说明(随升级覆盖,不再内置清单示例)。迁移动作:备份 user-config.md → CONFIG_VERSION 更新为 4,DATA_SOURCES 原样保留;若此前误把数据源写在 data-collection.md(升级后已被新版覆盖),请手动搬回 user-config.md。
49
49
 
50
50
  ## 文档同步自检纪律(维护者必读)
51
51
 
@@ -1,25 +1,13 @@
1
1
  # 数据收集(年度)
2
2
 
3
+ > ⚠️ **本文件是收集机制说明,不是配置区**——随 skill 升级会被官方版覆盖,写在这里的内容会丢。
4
+ > 你的真实数据源只写在同目录外的 `user-config.md` 顶部「默认配置」的 `DATA_SOURCES` 数组(升级保护区,永不覆盖)。
5
+ > 清单形状与逐字段填写说明,一律以 user-config.md「默认配置」的 DATA_SOURCES 注释为准,本文件不再重复清单示例。
6
+
3
7
  三种来源合并去重:口述与文字/文件/图片并重(业务结果以口述为准、统计数字以提交记录兜底);没有提交记录也适用——给一段文字、文件里的描述或图片即可成稿。开发类用户可另做代码仓库全年提交聚合(见第 1 节)。
4
8
 
5
9
  ## 1. 代码仓库全年提交聚合(可选,开发类用户)
6
10
 
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
11
  - 遍历 user-config.md 的 DATA_SOURCES 清单(type: git 项;个人数据源必须写在 user-config.md,本文件随升级覆盖),对每仓执行全年统计:
24
12
  - 总提交数:`git log --since={区间起} --until={区间止} --oneline | wc -l`
25
13
  - 增删行数:`git log --since=... --until=... --numstat --pretty=tformat: | awk` 汇总 add/del
@@ -32,7 +20,7 @@ DATA_SOURCES:
32
20
 
33
21
  - 用户口述的年度大事(「年初做了 X」「Q3 上了 Y」)逐条记录
34
22
  - 用户提供的总结草稿/文档(md/txt/docx)Read 提取要点;图片逐张 Read 识别内容
35
- - DATA_SOURCES 清单中 type: file 的文件 Read 全文、目录逐个 Read 文本文件提取要点(二进制跳过、路径无效静默跳过);type: remote 只需 url 字段(mac/win 忽略)联网拉取内容提取要点(拉取失败静默跳过;仅收集时联网,HTML 产物仍零外链);未知 type 忽略该项并在生成时提示
23
+ - DATA_SOURCES 清单中 type: file 的文件 Read 全文、目录逐个 Read 文本文件提取要点(二进制跳过、路径无效静默跳过);type: remote 按清单 url 联网拉取内容提取要点(拉取失败静默跳过;仅收集时联网,HTML 产物仍零外链);未知 type 忽略该项并在生成时提示
36
24
  - 聊天记录/周报/日报/会议纪要文件也可作为素材(会议行动项可直接引用为成果依据)
37
25
 
38
26
  ## 3. 合并去重与口径
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```yaml
12
12
  DISK: true # 是否落盘写文件;false = 默认只在对话输出,不写文件不开浏览器
13
- CONFIG_VERSION: 3 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
13
+ CONFIG_VERSION: 4 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
14
14
  FORMATS: [md, txt, html, content-png] # 落盘哪些格式(数组,可删减/增,如 [md, html] / [md, txt, html](不截图);content-png = 内容区截图(五张分节卡片整体,不含头部标题/复制按钮/页脚),删除该项即不截图;不影响对话中的 md 正文输出)
15
15
  DIR: auto # 落盘根目录:auto = 按当前系统自动选 DIR_MAC / DIR_WIN(也可直接写死某个绝对路径)
16
16
  DIR_MAC: ~/reports # macOS 落盘根目录(自动按目标年度建子目录 annual-YYYY;目录不存在时回退用户主目录下 reports)
@@ -20,7 +20,7 @@ THEME: tech # html 页面主题:tech 深蓝科技(默认
20
20
  TEMPLATE: default # 报告模板:default = 内置五段式(年度概览/核心成果与里程碑/经验与成长/不足与反思/新年展望与规划);custom = 使用下方「📝 自定义模板」节;口头临时指定模板仅当次生效
21
21
  ROLE: 全栈开发工程师(企业内技术开发) # 用户默认职业角色与主要工作内容(两者并存:职业名 + 括号内工作内容,生成内容/术语/量化指标/里程碑/风险话术全部按此画像走);用户随口描述职业时(如「我搞装修的,天天跑工地」)→ AI 提炼为规范表述(装修项目经理(负责工地现场管理、施工进度与质量巡检))更新此处;说「以 XX 的身份写」→ 当次临时换角色不改配置;说「以后默认用 XX 角色 / 我的职业是 XX / 我的主要工作是 XX」→ 永久更新此处
22
22
  CONFIRM: never # 落盘前确认:never = 直接生成落盘不确认(默认);text = 纯文字整理模式先出效果确认后再落盘;always = 任何方式生成都先确认;临时说「先看看效果」当次先确认、说「不用确认」当次跳过
23
- DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
23
+ DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。本清单是数据源唯一配置落点:resources/data-collection.md 只是收集机制说明(随升级覆盖),别把数据源写在那里。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
24
24
  # - name: 主项目仓库 # 名称:唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
25
25
  # type: git # git = 代码仓库(git log 聚合提交;路径不存在/非代码仓库时静默跳过)
26
26
  # mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)
@@ -1,5 +1,8 @@
1
1
  # 收集数据(阶段 1)
2
2
 
3
+ > ⚠️ 本文件是收集机制说明,不是配置区——随 skill 升级会被官方版覆盖。git 仓库等配置(REPO/DAYS/EXCLUDE 等)只写在同目录外的 `user-config.md`(升级保护区,永不覆盖)。
4
+
5
+
3
6
  ## 聚合命令
4
7
 
5
8
  ```bash
@@ -34,7 +34,7 @@ disable-model-invocation: false
34
34
 
35
35
  ## 配置版本机制(升级保护)
36
36
 
37
- 本 skill 当前配置版本为 `3`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:
37
+ 本 skill 当前配置版本为 `4`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:
38
38
 
39
39
  1. 先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)
40
40
  2. 按本节「配置升级规则」迁移字段:新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认
@@ -45,7 +45,7 @@ disable-model-invocation: false
45
45
 
46
46
  **无法迁移项处理**(值域失效 / 语义漂移 / 数据不兼容):三情形——①旧值不在新值域(如旧模板/主题名已移除)②同名键含义变化(单位/枚举变更)③数据文件 schema 不兼容。三绝不:绝不静默(无法迁移项停下问,不猜值)、绝不丢失(旧值永远在 .bak-时间戳)、一次说清(升级报告三段式:⚠️ 版本与备份路径 → ✅ 已自动迁移清单 → 🟡 无法迁移项逐条附原因+影响+建议替代);随后 AskUserQuestion 三选项(A 用建议值 / B 用户给新值 / C 保持旧配置——不更新 CONFIG_VERSION,每次执行再提醒);报告必附回滚一句话;数据文件迁移前先复制 .bak-时间戳,能映射则映射、不能则写兼容层或留备份提示手动整理
47
47
 
48
- 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech;发现旧配置时按迁移规则补默认值)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释;DIR_MAC/DIR_WIN 默认值通用化——已配置用户保留原值不受影响)。
48
+ 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech;发现旧配置时按迁移规则补默认值)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释;DIR_MAC/DIR_WIN 默认值通用化——已配置用户保留原值不受影响)。v3→v4 数据收集配置归位:DATA_SOURCES 清单结构与已填值不变,仅澄清唯一配置落点——数据源一律只写 user-config.md「默认配置」的 DATA_SOURCES(升级保护区,永不覆盖);resources/data-collection.md 收敛为纯机制说明(随升级覆盖,不再内置清单示例)。迁移动作:备份 user-config.md → CONFIG_VERSION 更新为 4,DATA_SOURCES 原样保留;若此前误把数据源写在 data-collection.md(升级后已被新版覆盖),请手动搬回 user-config.md。
49
49
 
50
50
  ## 文档同步自检纪律(维护者必读)
51
51
 
@@ -1,27 +1,16 @@
1
1
  # 数据收集
2
2
 
3
- 先检测当前系统(macOS:`uname -s` 返回 Darwin;Windows:`node -e "console.log(process.platform)"` 返回 win32),再 Read 同目录外的 `user-config.md` 顶部「默认配置」的 DATA_SOURCES 清单,按清单逐项收集(空清单 = 只按会话/文字内容生成)。清单形状(每项 name 唯一名称 + type 类型 + 路径;完整填写说明见 user-config.md「默认配置」的 DATA_SOURCES 注释):
3
+ > ⚠️ **本文件是收集机制说明,不是配置区**——随 skill 升级会被官方版覆盖,写在这里的内容会丢。
4
+ > 你的真实数据源只写在同目录外的 `user-config.md` 顶部「默认配置」的 `DATA_SOURCES` 数组(升级保护区,永不覆盖)。
5
+ > 清单形状与逐字段填写说明,一律以 user-config.md「默认配置」的 DATA_SOURCES 注释为准,本文件不再重复清单示例。
4
6
 
5
- ```yaml
6
- DATA_SOURCES:
7
- - name: 主项目仓库 # name = 唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
8
- type: git # git = 代码仓库(git log 聚合提交)
9
- mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)
10
- win: D:\Projects\main-app # Windows 路径;「-」= 该系统不存在,自动跳过
11
- - name: 周例会纪要
12
- type: file # file = 普通文件/目录(直接 Read 内容聚合)
13
- mac: ~/Documents/meeting-notes.md
14
- win: -
15
- - name: 数据接口
16
- type: remote # remote = 远程网络源(联网拉取 url 内容)
17
- url: https://example.com/data.json
18
- ```
7
+ 先检测当前系统(macOS:`uname -s` 返回 Darwin;Windows:`node -e "console.log(process.platform)"` 返回 win32),再 Read 同目录外的 `user-config.md` 顶部「默认配置」的 DATA_SOURCES 清单,按清单逐项收集(空清单 = 只按会话/文字内容生成)。
19
8
 
20
9
  每项按 type 分三种行为:
21
10
 
22
11
  - git = 代码仓库:取 mac / win 中当前系统对应路径(「-」= 该系统不存在,跳过;当前系统全部为「-」的陌生机器时跳过 git 收集,只按会话/文字内容生成),用下方命令模板聚合该仓当日提交,只汇总有提交的仓库
23
12
  - file = 普通文件/目录:路径指向文件 → Read 全文提取要点;指向目录 → 列目录逐个 Read 文本文件(md/txt/csv/日志等,二进制/超大文件跳过);路径无效或全部不可读 → 静默跳过该数据源(不报错、不写入)
24
- - remote = 远程网络源:只需 url 字段(mac/win 忽略);AI 联网拉取 url 内容(网页或数据接口均可)提取要点;拉取失败/超时 → 静默跳过该数据源不阻塞生成;仅收集时联网,HTML 产物仍零外链
13
+ - remote = 远程网络源:按清单 url 联网拉取内容(网页或数据接口均可)提取要点;拉取失败/超时 → 静默跳过该数据源不阻塞生成;仅收集时联网,HTML 产物仍零外链
25
14
  - 未知 type(拼写错误/未支持)→ 忽略该项,生成时一句话提示用户该项未识别(不猜、不中断)
26
15
  - 多来源合并:同件事去重合并——量化数字以 git 提交统计为准、定性描述以口述/文件要点为准;file/remote 提取要点与口述同等对待
27
16
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```yaml
12
12
  DISK: true # 是否落盘写文件;false = 默认只在对话输出,不写文件不开浏览器
13
- CONFIG_VERSION: 3 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
13
+ CONFIG_VERSION: 4 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
14
14
  FORMATS: [md, txt, html, content-png] # 落盘哪些格式(数组,可删减/增,如 [md, html] / [md, txt, html](不截图);content-png = 整页内容区截图(头部标题卡片 + 今日任务进度/明日计划/风险阻塞点三张分节卡片整体截出,头部卡片必须带上),删除该项即不截图;不影响对话中的 md 正文输出)
15
15
  DIR: auto # 落盘根目录:auto = 按当前系统自动选 DIR_MAC / DIR_WIN(也可直接写死某个绝对路径)
16
16
  DIR_MAC: ~/reports # macOS 落盘根目录(自动按目标日期建子目录;目录不存在时回退用户主目录下 reports)
@@ -20,7 +20,7 @@ THEME: tech # html 页面主题:tech 深蓝科技(默认
20
20
  TEMPLATE: default # 报告模板:default = 内置三段式(任务进度/明日计划/风险阻塞点);custom = 使用下方「📝 自定义模板」节;口头临时指定模板仅当次生效
21
21
  ROLE: 全栈开发工程师(企业内技术开发) # 用户默认职业角色与主要工作内容(两者并存:职业名 + 括号内工作内容,生成内容/术语/量化指标/节奏条/风险话术全部按此画像走);用户随口描述职业时(如「我搞装修的,天天跑工地」)→ AI 提炼为规范表述(装修项目经理(负责工地现场管理、施工进度与质量巡检))更新此处;说「以 XX 的身份写」→ 当次临时换角色不改配置;说「以后默认用 XX 角色 / 我的职业是 XX / 我的主要工作是 XX」→ 永久更新此处
22
22
  CONFIRM: never # 落盘前确认:never = 直接生成落盘不确认(默认);text = 纯文字整理模式先出效果确认后再落盘;always = 任何方式生成都先确认;临时说「先看看效果」当次先确认、说「不用确认」当次跳过
23
- DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
23
+ DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。本清单是数据源唯一配置落点:resources/data-collection.md 只是收集机制说明(随升级覆盖),别把数据源写在那里。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
24
24
  # - name: 主项目仓库 # 名称:唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
25
25
  # type: git # git = 代码仓库(git log 聚合提交;路径不存在/非代码仓库时静默跳过)
26
26
  # mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)
@@ -25,7 +25,7 @@ disable-model-invocation: false
25
25
 
26
26
  ## 配置版本机制(升级保护)
27
27
 
28
- 本 skill 当前配置版本为 `2`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明不一致:
28
+ 本 skill 当前配置版本为 `3`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明不一致:
29
29
 
30
30
  1. 先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)
31
31
  2. 按本节「配置升级规则」迁移字段:新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认
@@ -34,6 +34,8 @@ disable-model-invocation: false
34
34
 
35
35
  配置升级规则(v1→v2):新增 `SERIES_GROUP: auto`(纪要系列分组,见 user-config.md 注释);其余字段不变。
36
36
 
37
+ 配置升级规则(v2→v3):DATA_SOURCES 数据收集配置归位——清单结构与已填值不变,仅澄清唯一配置落点(数据源一律只写 user-config.md「默认配置」的 DATA_SOURCES,升级保护区永不覆盖;收集机制说明见 resources/content-rules.md「素材来源」节,随升级覆盖);DATA_SOURCES 示例注释按实际支持类型(file)修正。迁移动作:备份 user-config.md → CONFIG_VERSION 更新为 3,DATA_SOURCES 原样保留;若此前误把数据源写在 resources 文档里(升级后已被新版覆盖),请手动搬回 user-config.md。
38
+
37
39
  **无法迁移项处理**:值域失效(旧值不在新值域)/ 语义漂移(同名键含义变化)/ 数据不兼容,停下问、不猜值;旧值永远在 .bak-时间戳备份里,报告必附回滚一句话。
38
40
 
39
41
  ## 产物升级(回炉)
@@ -43,6 +43,8 @@
43
43
 
44
44
  ## 素材来源
45
45
 
46
+ > ⚠️ 个人数据源只写在同目录外的 `user-config.md` 顶部「默认配置」的 `DATA_SOURCES` 数组(升级保护区,永不覆盖);本文件随 skill 升级被官方覆盖,别把数据源写在这里。
47
+
46
48
  - 会话口述:用户直接口述会议过程(「会上说了三件事…」)逐条记录
47
49
  - 文字材料:用户贴的会议文字/聊天记录,按五段归类
48
50
  - 文件:md/txt 直接 Read 文本;docx/pdf 优先尝试 pandoc 转文本(无 pandoc 则请用户粘贴文字);录音/视频文件不能直接解析——提示用户提供转写文本,或引导用户口述要点
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```yaml
12
12
  DISK: true # 是否落盘写文件;false = 默认只在对话输出,不写文件不开浏览器
13
- CONFIG_VERSION: 2 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
13
+ CONFIG_VERSION: 3 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
14
14
  FORMATS: [md, txt, html, content-png] # 落盘哪些格式(数组,可删减/增,如 [md, html] / [md, txt, html](不截图);content-png = 内容区截图(五张分节卡片整体,不含头部标题/复制按钮/页脚),删除该项即不截图;不影响对话中的 md 正文输出)
15
15
  SERIES_GROUP: auto # 纪要系列分组:auto = 提取到稳定系列名(如「产品周例会」)时建系列目录 meetings/{系列名}/,未提取到则回退月份平铺 meetings/YYYY-MM/;series = 一律建系列目录(提取不到就用会议主题做目录名);off = 纯月份平铺(旧行为)。系列名落盘确认时报给用户,可改口(说「这个系列叫 XX」→ 当次改目录名;说「以后这个系列叫 XX」→ 永久记住该系列名)
16
16
  DIR: auto # 落盘根目录:auto = 按当前系统自动选 DIR_MAC / DIR_WIN(也可直接写死某个绝对路径)
@@ -21,7 +21,7 @@ THEME: tech # html 页面主题:tech 深蓝科技(默认
21
21
  TEMPLATE: default # 纪要模板:default = 内置五段式(会议信息/会议结论/议题讨论/决议与行动项/下次会议);custom = 使用下方「📝 自定义模板」节;口头临时指定模板仅当次生效
22
22
  ROLE: 全栈开发工程师(企业内技术开发) # 用户默认职业角色与主要工作内容(两者并存:职业名 + 括号内工作内容,会议类型推断/术语/行动项模板全部按此画像走);用户随口描述职业时(如「我搞装修的,天天跑工地」)→ AI 提炼为规范表述(装修项目经理(负责工地现场管理、施工进度与质量巡检))更新此处;说「以 XX 的身份写」→ 当次临时换角色不改配置;说「以后默认用 XX 角色 / 我的职业是 XX / 我的主要工作是 XX」→ 永久更新此处
23
23
  CONFIRM: never # 落盘前确认:never = 直接生成落盘不确认(默认);text = 纯文字整理模式先出效果确认后再落盘;always = 任何方式生成都先确认;临时说「先看看效果」当次先确认、说「不用确认」当次跳过
24
- DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
24
+ DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。本清单是数据源唯一配置落点:resources/content-rules.md「素材来源」节只是收集机制说明(随升级覆盖),别把数据源写在那里。本 skill 仅支持 type: file(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
25
25
  # - name: 会议速记目录 # 名称:唯一 key(重名视为同一数据源;口述「只整理 xxx」按 name 匹配)
26
26
  # type: file # file = 普通文件/目录(文件 Read 全文、目录逐个 Read 文本文件,二进制跳过;路径无效静默跳过)
27
27
  # mac: ~/Documents/meetings # macOS 路径(绝对路径或 ~ 开头)
@@ -34,11 +34,11 @@ disable-model-invocation: false
34
34
 
35
35
  ## 配置版本机制(升级保护)
36
36
 
37
- 本 skill 当前配置版本为 `3`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)→ 按本节「当前版本变更记录」迁移字段(新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认)→ 更新 CONFIG_VERSION 为当前版本 → 对话中明确告知用户「检测到配置版本从 X 升级到 Y,旧配置已备份至 <路径>」。禁止在未声明版本变更的情况下静默修改配置语义。
37
+ 本 skill 当前配置版本为 `4`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)→ 按本节「当前版本变更记录」迁移字段(新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认)→ 更新 CONFIG_VERSION 为当前版本 → 对话中明确告知用户「检测到配置版本从 X 升级到 Y,旧配置已备份至 <路径>」。禁止在未声明版本变更的情况下静默修改配置语义。
38
38
 
39
39
  **无法迁移项处理**(值域失效 / 语义漂移 / 数据不兼容):三情形——①旧值不在新值域(如旧模板/主题名已移除)②同名键含义变化(单位/枚举变更)③数据文件 schema 不兼容。三绝不:绝不静默(无法迁移项停下问,不猜值)、绝不丢失(旧值永远在 .bak-时间戳)、一次说清(升级报告三段式:⚠️ 版本与备份路径 → ✅ 已自动迁移清单 → 🟡 无法迁移项逐条附原因+影响+建议替代);随后 AskUserQuestion 三选项(A 用建议值 / B 用户给新值 / C 保持旧配置——不更新 CONFIG_VERSION,每次执行再提醒);报告必附回滚一句话。
40
40
 
41
- 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释)。
41
+ 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释)。v3→v4 数据收集配置归位:DATA_SOURCES 清单结构与已填值不变,仅澄清唯一配置落点——数据源一律只写 user-config.md「默认配置」的 DATA_SOURCES(升级保护区,永不覆盖);resources/data-collection.md 收敛为纯机制说明(随升级覆盖,不再内置清单示例)。迁移动作:备份 user-config.md → CONFIG_VERSION 更新为 4,DATA_SOURCES 原样保留;若此前误把数据源写在 data-collection.md(升级后已被新版覆盖),请手动搬回 user-config.md。
42
42
 
43
43
  ## 产物升级(回炉)
44
44
 
@@ -1,25 +1,13 @@
1
1
  # 数据收集(月度)
2
2
 
3
+ > ⚠️ **本文件是收集机制说明,不是配置区**——随 skill 升级会被官方版覆盖,写在这里的内容会丢。
4
+ > 你的真实数据源只写在同目录外的 `user-config.md` 顶部「默认配置」的 `DATA_SOURCES` 数组(升级保护区,永不覆盖)。
5
+ > 清单形状与逐字段填写说明,一律以 user-config.md「默认配置」的 DATA_SOURCES 注释为准,本文件不再重复清单示例。
6
+
3
7
  三种来源合并去重:口述与文字/文件/图片并重(业务结果以口述为准、统计数字以提交记录兜底);没有提交记录也适用——给一段文字、文件里的描述或图片即可成稿。开发类用户可另做代码仓库当月提交聚合(见第 1 节)。
4
8
 
5
9
  ## 1. 代码仓库当月提交聚合(可选,开发类用户)
6
10
 
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
11
  - 遍历 user-config.md 的 DATA_SOURCES 清单(type: git 项;个人数据源必须写在 user-config.md,本文件随升级覆盖),对每仓执行当月统计:
24
12
  - 总提交数:`git log --since={月首} --until={月末 23:59} --oneline | wc -l`
25
13
  - 增删行数:`git log --since=... --until=... --numstat --pretty=tformat: | awk` 汇总 add/del
@@ -33,7 +21,7 @@ DATA_SOURCES:
33
21
 
34
22
  - 用户口述的月度大事(「这个月上了 XX」「月初做了 YY」)逐条记录
35
23
  - 用户提供的总结草稿/文档(md/txt/docx)Read 提取要点;图片逐张 Read 识别内容
36
- - DATA_SOURCES 清单中 type: file 的文件 Read 全文、目录逐个 Read 文本文件提取要点(二进制跳过、路径无效静默跳过);type: remote 只需 url 字段(mac/win 忽略)联网拉取内容提取要点(拉取失败静默跳过;仅收集时联网,HTML 产物仍零外链);未知 type 忽略该项并在生成时提示
24
+ - DATA_SOURCES 清单中 type: file 的文件 Read 全文、目录逐个 Read 文本文件提取要点(二进制跳过、路径无效静默跳过);type: remote 按清单 url 联网拉取内容提取要点(拉取失败静默跳过;仅收集时联网,HTML 产物仍零外链);未知 type 忽略该项并在生成时提示
37
25
  - 聊天记录/周报/日报/会议纪要文件也可作为素材;本月已生成的周报/日报直接引用其核心指标(同源数据不重复统计)
38
26
 
39
27
  ## 3. 合并去重与口径
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```yaml
12
12
  DISK: true # 是否落盘写文件;false = 默认只在对话输出,不写文件不开浏览器
13
- CONFIG_VERSION: 3 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
13
+ CONFIG_VERSION: 4 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
14
14
  FORMATS: [md, txt, html, content-png] # 落盘哪些格式(数组,可删减/增,如 [md, html] / [md, txt, html](不截图);content-png = 内容区截图(四张分节卡片整体,不含头部标题/复制按钮/页脚),删除该项即不截图;不影响对话中的 md 正文输出)
15
15
  DIR: auto # 落盘根目录:auto = 按当前系统自动选 DIR_MAC / DIR_WIN(也可直接写死某个绝对路径)
16
16
  DIR_MAC: ~/reports # macOS 落盘根目录(自动按目标月份建子目录 2026-11 式样;目录不存在时回退用户主目录下 reports)
@@ -20,7 +20,7 @@ THEME: tech # html 页面主题:tech 深蓝科技(默认
20
20
  TEMPLATE: default # 报告模板:default = 内置四段式(月度概览/本月关键成果/问题与改进/下月计划);custom = 使用下方「📝 自定义模板」节;口头临时指定模板仅当次生效
21
21
  ROLE: 全栈开发工程师(企业内技术开发) # 用户默认职业角色与主要工作内容(两者并存:职业名 + 括号内工作内容,生成内容/术语/量化指标/里程碑/风险话术全部按此画像走);用户随口描述职业时(如「我搞装修的,天天跑工地」)→ AI 提炼为规范表述(装修项目经理(负责工地现场管理、施工进度与质量巡检))更新此处;说「以 XX 的身份写」→ 当次临时换角色不改配置;说「以后默认用 XX 角色 / 我的职业是 XX / 我的主要工作是 XX」→ 永久更新此处
22
22
  CONFIRM: never # 落盘前确认:never = 直接生成落盘不确认(默认);text = 纯文字整理模式先出效果确认后再落盘;always = 任何方式生成都先确认;临时说「先看看效果」当次先确认、说「不用确认」当次跳过
23
- DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
23
+ DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。本清单是数据源唯一配置落点:resources/data-collection.md 只是收集机制说明(随升级覆盖),别把数据源写在那里。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
24
24
  # - name: 主项目仓库 # 名称:唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
25
25
  # type: git # git = 代码仓库(git log 聚合提交;路径不存在/非代码仓库时静默跳过)
26
26
  # mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skill-forge-hub",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "SkillForge (技能锻造坊) — a curated collection of AI craft skills. Install once, then pick skills interactively: daily/weekly/monthly/quarterly/annual reports, meeting minutes, 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"
@@ -34,11 +34,11 @@ disable-model-invocation: false
34
34
 
35
35
  ## 配置版本机制(升级保护)
36
36
 
37
- 本 skill 当前配置版本为 `3`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)→ 按本节「当前版本变更记录」迁移字段(新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认)→ 更新 CONFIG_VERSION 为当前版本 → 对话中明确告知用户「检测到配置版本从 X 升级到 Y,旧配置已备份至 <路径>」。禁止在未声明版本变更的情况下静默修改配置语义。
37
+ 本 skill 当前配置版本为 `4`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)→ 按本节「当前版本变更记录」迁移字段(新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认)→ 更新 CONFIG_VERSION 为当前版本 → 对话中明确告知用户「检测到配置版本从 X 升级到 Y,旧配置已备份至 <路径>」。禁止在未声明版本变更的情况下静默修改配置语义。
38
38
 
39
39
  **无法迁移项处理**(值域失效 / 语义漂移 / 数据不兼容):三情形——①旧值不在新值域(如旧模板/主题名已移除)②同名键含义变化(单位/枚举变更)③数据文件 schema 不兼容。三绝不:绝不静默(无法迁移项停下问,不猜值)、绝不丢失(旧值永远在 .bak-时间戳)、一次说清(升级报告三段式:⚠️ 版本与备份路径 → ✅ 已自动迁移清单 → 🟡 无法迁移项逐条附原因+影响+建议替代);随后 AskUserQuestion 三选项(A 用建议值 / B 用户给新值 / C 保持旧配置——不更新 CONFIG_VERSION,每次执行再提醒);报告必附回滚一句话。
40
40
 
41
- 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释)。
41
+ 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释)。v3→v4 数据收集配置归位:DATA_SOURCES 清单结构与已填值不变,仅澄清唯一配置落点——数据源一律只写 user-config.md「默认配置」的 DATA_SOURCES(升级保护区,永不覆盖);resources/data-collection.md 收敛为纯机制说明(随升级覆盖,不再内置清单示例)。迁移动作:备份 user-config.md → CONFIG_VERSION 更新为 4,DATA_SOURCES 原样保留;若此前误把数据源写在 data-collection.md(升级后已被新版覆盖),请手动搬回 user-config.md。
42
42
 
43
43
  ## 产物升级(回炉)
44
44
 
@@ -1,25 +1,13 @@
1
1
  # 数据收集(季度)
2
2
 
3
+ > ⚠️ **本文件是收集机制说明,不是配置区**——随 skill 升级会被官方版覆盖,写在这里的内容会丢。
4
+ > 你的真实数据源只写在同目录外的 `user-config.md` 顶部「默认配置」的 `DATA_SOURCES` 数组(升级保护区,永不覆盖)。
5
+ > 清单形状与逐字段填写说明,一律以 user-config.md「默认配置」的 DATA_SOURCES 注释为准,本文件不再重复清单示例。
6
+
3
7
  三种来源合并去重:口述与文字/文件/图片并重(业务结果以口述为准、统计数字以提交记录兜底);没有提交记录也适用——给一段文字、文件里的描述或图片即可成稿。开发类用户可另做代码仓库当季提交聚合与环比/同比双基准统计(见第 1 节)。
4
8
 
5
9
  ## 1. 代码仓库当季提交聚合(可选,开发类用户)
6
10
 
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
11
  - 遍历 user-config.md 的 DATA_SOURCES 清单(type: git 项;个人数据源必须写在 user-config.md,本文件随升级覆盖),对每仓执行当季统计:
24
12
  - 总提交数:`git log --since={季首} --until={季末 23:59} --oneline | wc -l`
25
13
  - 增删行数:`git log --since=... --until=... --numstat --pretty=tformat: | awk` 汇总 add/del
@@ -35,7 +23,7 @@ DATA_SOURCES:
35
23
 
36
24
  - 用户口述的季度大事(「这季度上了 XX」「Q4 初做了 YY」)逐条记录
37
25
  - 用户提供的总结草稿/文档(md/txt/docx)Read 提取要点;图片逐张 Read 识别内容
38
- - DATA_SOURCES 清单中 type: file 的文件 Read 全文、目录逐个 Read 文本文件提取要点(二进制跳过、路径无效静默跳过);type: remote 只需 url 字段(mac/win 忽略)联网拉取内容提取要点(拉取失败静默跳过;仅收集时联网,HTML 产物仍零外链);未知 type 忽略该项并在生成时提示
26
+ - DATA_SOURCES 清单中 type: file 的文件 Read 全文、目录逐个 Read 文本文件提取要点(二进制跳过、路径无效静默跳过);type: remote 按清单 url 联网拉取内容提取要点(拉取失败静默跳过;仅收集时联网,HTML 产物仍零外链);未知 type 忽略该项并在生成时提示
39
27
  - 聊天记录/周报/月报/会议纪要文件也可作为素材;本季度已生成的月报直接引用其核心指标(同源数据不重复统计)
40
28
 
41
29
  ## 3. 合并去重与口径
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```yaml
12
12
  DISK: true # 是否落盘写文件;false = 默认只在对话输出,不写文件不开浏览器
13
- CONFIG_VERSION: 3 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
13
+ CONFIG_VERSION: 4 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
14
14
  FORMATS: [md, txt, html, content-png] # 落盘哪些格式(数组,可删减/增,如 [md, html] / [md, txt, html](不截图);content-png = 内容区截图(四张分节卡片整体,不含头部标题/复制按钮/页脚),删除该项即不截图;不影响对话中的 md 正文输出)
15
15
  DIR: auto # 落盘根目录:auto = 按当前系统自动选 DIR_MAC / DIR_WIN(也可直接写死某个绝对路径)
16
16
  DIR_MAC: ~/reports # macOS 落盘根目录(自动按目标季度建子目录 2026-Q4 式样;目录不存在时回退用户主目录下 reports)
@@ -20,7 +20,7 @@ THEME: tech # html 页面主题:tech 深蓝科技(默认
20
20
  TEMPLATE: default # 报告模板:default = 内置四段式(季度概览/季度关键成果/问题与改进/下季度计划);custom = 使用下方「📝 自定义模板」节;口头临时指定模板仅当次生效
21
21
  ROLE: 全栈开发工程师(企业内技术开发) # 用户默认职业角色与主要工作内容(两者并存:职业名 + 括号内工作内容,生成内容/术语/量化指标/里程碑/风险话术全部按此画像走);用户随口描述职业时(如「我搞装修的,天天跑工地」)→ AI 提炼为规范表述(装修项目经理(负责工地现场管理、施工进度与质量巡检))更新此处;说「以 XX 的身份写」→ 当次临时换角色不改配置;说「以后默认用 XX 角色 / 我的职业是 XX / 我的主要工作是 XX」→ 永久更新此处
22
22
  CONFIRM: never # 落盘前确认:never = 直接生成落盘不确认(默认);text = 纯文字整理模式先出效果确认后再落盘;always = 任何方式生成都先确认;临时说「先看看效果」当次先确认、说「不用确认」当次跳过
23
- DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
23
+ DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。本清单是数据源唯一配置落点:resources/data-collection.md 只是收集机制说明(随升级覆盖),别把数据源写在那里。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
24
24
  # - name: 主项目仓库 # 名称:唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
25
25
  # type: git # git = 代码仓库(git log 聚合提交;路径不存在/非代码仓库时静默跳过)
26
26
  # mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)
@@ -1,5 +1,8 @@
1
1
  # 收集提交(阶段 1)
2
2
 
3
+ > ⚠️ 本文件是收集机制说明,不是配置区——随 skill 升级会被官方版覆盖。git 仓库等配置(REPO/SCOPE_HINT 等)只写在同目录外的 `user-config.md`(升级保护区,永不覆盖)。
4
+
5
+
3
6
  ## 区间口径(三档,先判断再收集)
4
7
 
5
8
  1. **双 tag**:`git log vA..vB --oneline`——vA 为上一版本标签,vB 为本次发布标签(vB 可缺省为 HEAD)
@@ -34,7 +34,7 @@ disable-model-invocation: false
34
34
 
35
35
  ## 配置版本机制(升级保护)
36
36
 
37
- 本 skill 当前配置版本为 `3`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:
37
+ 本 skill 当前配置版本为 `4`(对应 user-config.md 中的 `CONFIG_VERSION`)。执行时若发现 user-config.md 的 CONFIG_VERSION 与本节声明的当前版本不一致:
38
38
 
39
39
  1. 先将旧 user-config.md 备份为 `user-config.bak-<时间戳>.md`(同目录,绝不删除旧值)
40
40
  2. 按本节「配置升级规则」迁移字段:新增字段补默认值、改名字段按映射改写、删除字段的值保留在备份中并在对话提示用户手动确认
@@ -45,7 +45,7 @@ disable-model-invocation: false
45
45
 
46
46
  **无法迁移项处理**(值域失效 / 语义漂移 / 数据不兼容):三情形——①旧值不在新值域(如旧模板/主题名已移除)②同名键含义变化(单位/枚举变更)③数据文件 schema 不兼容。三绝不:绝不静默(无法迁移项停下问,不猜值)、绝不丢失(旧值永远在 .bak-时间戳)、一次说清(升级报告三段式:⚠️ 版本与备份路径 → ✅ 已自动迁移清单 → 🟡 无法迁移项逐条附原因+影响+建议替代);随后 AskUserQuestion 三选项(A 用建议值 / B 用户给新值 / C 保持旧配置——不更新 CONFIG_VERSION,每次执行再提醒);报告必附回滚一句话;数据文件迁移前先复制 .bak-时间戳,能映射则映射、不能则写兼容层或留备份提示手动整理
47
47
 
48
- 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech;发现旧配置时按迁移规则补默认值)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释;DIR_MAC/DIR_WIN 默认值通用化——已配置用户保留原值不受影响)。
48
+ 当前版本变更记录:v1→v2 新增 THEME 字段(默认 tech;发现旧配置时按迁移规则补默认值)。v2→v3 新增 DATA_SOURCES 数据源清单段(默认空清单 + git/file/remote 三类型示例注释;DIR_MAC/DIR_WIN 默认值通用化——已配置用户保留原值不受影响)。v3→v4 数据收集配置归位:DATA_SOURCES 清单结构与已填值不变,仅澄清唯一配置落点——数据源一律只写 user-config.md「默认配置」的 DATA_SOURCES(升级保护区,永不覆盖);resources/data-collection.md 收敛为纯机制说明(随升级覆盖,不再内置清单示例)。迁移动作:备份 user-config.md → CONFIG_VERSION 更新为 4,DATA_SOURCES 原样保留;若此前误把数据源写在 data-collection.md(升级后已被新版覆盖),请手动搬回 user-config.md。
49
49
 
50
50
  ## 文档同步自检纪律(维护者必读)
51
51
 
@@ -1,27 +1,16 @@
1
1
  # 数据收集
2
2
 
3
- 先检测当前系统(macOS:`uname -s` 返回 Darwin;Windows:`node -e "console.log(process.platform)"` 返回 win32),再 Read 同目录外的 `user-config.md` 顶部「默认配置」的 DATA_SOURCES 清单,按清单逐项收集(空清单 = 只按会话/文字内容生成)。清单形状(每项 name 唯一名称 + type 类型 + 路径;完整填写说明见 user-config.md「默认配置」的 DATA_SOURCES 注释):
3
+ > ⚠️ **本文件是收集机制说明,不是配置区**——随 skill 升级会被官方版覆盖,写在这里的内容会丢。
4
+ > 你的真实数据源只写在同目录外的 `user-config.md` 顶部「默认配置」的 `DATA_SOURCES` 数组(升级保护区,永不覆盖)。
5
+ > 清单形状与逐字段填写说明,一律以 user-config.md「默认配置」的 DATA_SOURCES 注释为准,本文件不再重复清单示例。
4
6
 
5
- ```yaml
6
- DATA_SOURCES:
7
- - name: 主项目仓库 # name = 唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
8
- type: git # git = 代码仓库(git log 聚合提交)
9
- mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)
10
- win: D:\Projects\main-app # Windows 路径;「-」= 该系统不存在,自动跳过
11
- - name: 周例会纪要
12
- type: file # file = 普通文件/目录(直接 Read 内容聚合)
13
- mac: ~/Documents/meeting-notes.md
14
- win: -
15
- - name: 数据接口
16
- type: remote # remote = 远程网络源(联网拉取 url 内容)
17
- url: https://example.com/data.json
18
- ```
7
+ 先检测当前系统(macOS:`uname -s` 返回 Darwin;Windows:`node -e "console.log(process.platform)"` 返回 win32),再 Read 同目录外的 `user-config.md` 顶部「默认配置」的 DATA_SOURCES 清单,按清单逐项收集(空清单 = 只按会话/文字内容生成)。
19
8
 
20
9
  每项按 type 分三种行为:
21
10
 
22
11
  - git = 代码仓库:取 mac / win 中当前系统对应路径(「-」= 该系统不存在,跳过;当前系统全部为「-」的陌生机器时跳过 git 收集,只按会话/文字内容生成),用下方命令模板聚合该仓本周(周一至周结束日 WEEK_END,默认周五)提交,聚合产出;同时统计上周同范围(周一至上周周结束日)提交数/完成任务数,供概览卡环比行使用。只汇总有提交的仓库
23
12
  - file = 普通文件/目录:路径指向文件 → Read 全文提取要点;指向目录 → 列目录逐个 Read 文本文件(md/txt/csv/日志等,二进制/超大文件跳过);路径无效或全部不可读 → 静默跳过该数据源(不报错、不写入)
24
- - remote = 远程网络源:只需 url 字段(mac/win 忽略);AI 联网拉取 url 内容(网页或数据接口均可)提取要点;拉取失败/超时 → 静默跳过该数据源不阻塞生成;仅收集时联网,HTML 产物仍零外链
13
+ - remote = 远程网络源:按清单 url 联网拉取内容(网页或数据接口均可)提取要点;拉取失败/超时 → 静默跳过该数据源不阻塞生成;仅收集时联网,HTML 产物仍零外链
25
14
  - 未知 type(拼写错误/未支持)→ 忽略该项,生成时一句话提示用户该项未识别(不猜、不中断)
26
15
  - 多来源合并:同件事去重合并——量化数字以 git 提交统计为准、定性描述以口述/文件要点为准;file/remote 提取要点与口述同等对待
27
16
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```yaml
12
12
  DISK: true # 是否落盘写文件;false = 默认只在对话输出,不写文件不开浏览器
13
- CONFIG_VERSION: 3 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
13
+ CONFIG_VERSION: 4 # 配置结构版本:skill 升级时若配置结构变化会递增;AI 每次执行前对比 SKILL.md「配置版本机制」节声明的当前版本,不一致时按 SKILL.md 的迁移规则处理(先备份本文件为带时间戳 .bak,再迁移,最后对话告知用户)
14
14
  FORMATS: [md, txt, html, content-png] # 落盘哪些格式(数组,可删减/增,如 [md, html] / [md, txt, html](不截图);content-png = 整页内容区截图(头部标题卡片 + 本周概览卡片与本周任务进度/下周计划/风险阻塞点分节卡片整体截出,头部卡片必须带上),删除该项即不截图;不影响对话中的 md 正文输出)
15
15
  DIR: auto # 落盘根目录:auto = 按当前系统自动选 DIR_MAC / DIR_WIN(也可直接写死某个绝对路径)
16
16
  DIR_MAC: ~/reports # macOS 落盘根目录(日报按目标日期、周报按当周最后一天建子目录;目录不存在时回退用户主目录下 reports)
@@ -21,7 +21,7 @@ TEMPLATE: default # 报告模板:default = 内置四段式(本
21
21
  ROLE: 全栈开发工程师(企业内技术开发) # 用户默认职业角色与主要工作内容(两者并存:职业名 + 括号内工作内容,生成内容/术语/量化指标/热力图/柱图/风险话术全部按此画像走);用户随口描述职业时(如「我搞装修的,天天跑工地」)→ AI 提炼为规范表述(装修项目经理(负责工地现场管理、施工进度与质量巡检))更新此处;说「以 XX 的身份写」→ 当次临时换角色不改配置;说「以后默认用 XX 角色 / 我的职业是 XX / 我的主要工作是 XX」→ 永久更新此处
22
22
  WEEK_END: friday # 周结束日(当周最后一天):friday = 每周五(默认);可改 sunday = 每周日、saturday 等;周范围、落盘子目录名均按该天日期
23
23
  CONFIRM: never # 落盘前确认:never = 直接生成落盘不确认(默认);text = 纯文字整理模式先出效果确认后再落盘;always = 任何方式生成都先确认;临时说「先看看效果」当次先确认、说「不用确认」当次跳过
24
- DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
24
+ DATA_SOURCES: [] # 数据源清单(升级不覆盖;AI 每次生成前 Read 本文件按此清单收集;空清单 = 只按会话/文字内容生成)。本清单是数据源唯一配置落点:resources/data-collection.md 只是收集机制说明(随升级覆盖),别把数据源写在那里。每项:name 唯一名称 + type 类型 + 路径。三种类型示例(把下方 # 注释示例改成你的真实数据源后填入上方数组;未知 type(拼写错误)忽略该项并在生成时一句话提示,不中断):
25
25
  # - name: 主项目仓库 # 名称:唯一 key(重名视为同一数据源;口述「只聚合 xxx」按 name 匹配)
26
26
  # type: git # git = 代码仓库(git log 聚合提交;路径不存在/非代码仓库时静默跳过)
27
27
  # mac: ~/Projects/main-app # macOS 路径(绝对路径或 ~ 开头)