@hawk2048/oh-my-dsh 0.3.3 → 0.3.4

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.
@@ -1,89 +1,91 @@
1
- # 评估 rubric 模板(复制到工作区,填权重与达标线)
2
-
3
- 评估对象:`REPORT.md`(或本轮交付物)。评估者:独立子代理,**没有看过产出者的推理过程**。
4
-
5
- ---
6
-
7
- ## 一、评估者的输入(只给这三样)
8
-
9
- 1. 被评文档全文。
10
- 2. 本 rubric(填好的权重与达标线)。
11
- 3. 用户原始诉求(要什么、给谁看、抱怨了什么)。
12
-
13
- 不给:产出者的自评、产出者的改进计划、「我哪里没写好」。给了就等于让产出者自己判卷。
14
-
15
- ---
16
-
17
- ## 二、评分维度(默认权重,可调)
18
-
19
- | 维度 | 权重 | 机器判 / 人判 | 检查点 |
20
- |---|---|---|---|
21
- | **D1 来源与事实** | 25 | 机器判 + 抽查 | 每条硬结论有 S 编号;百分比带分母与来源;来源分级正确;转载去重;陈旧数据标注;承重引用开页核对过 |
22
- | **D2 洞察与机制** | 25 | 人判 | 除「是什么」外给了「为什么」(竞争假说,不是单一解释);有反证段且诚实(列替代解释→怎么排除→没排除掉的→结论降级);冲突有解释与下一步 |
23
- | **D3 语言与可读性** | 20 | 机器判 + 人判 | `report_lint.py --strict` PASS;对偶句不超豁免额度;无自我更正、无生造黑话;句长段长在阈值内;逐句自问「删掉这句,读者判断会变吗」,答「不变」的句子已删 |
24
- | **D4 结构** | 15 | 机器判 | 首段给结论;六章齐全(或按档位合并后齐全);标题是判断句;一节一个主张;局限单独成节 |
25
- | **D5 篇幅与呈现** | 15 | 机器判 | 字数在 `SKILL.md` 第 0 步的档位区间;图表数量达标且标题写结论;附录 ≤10%;对比总表可独立读懂 |
26
-
27
- **打分口径**:每个维度按 0–100 打分(该维度的完成度),总分 = Σ(维度分 × 权重) ÷ 100。权重合计 100。达标线默认 **85**,且任一硬伤即不达标(总分无效)。
28
-
29
- ---
30
-
31
- ## 三、硬伤(命中任一 → 本轮不达标)
32
-
33
- - **H1 编造**:出现证据表里没有的数字、机构、日期、引文。
34
- - **H2 无源硬结论**:决策级结论没有任何 S 编号,或仅由 C 级来源支撑。
35
- - **H3 缺反证**:没有「没排除掉的替代解释」这一段。
36
- - **H4 机器闸失败**:`report_lint.py` 返回 FAIL 且未在报告里记录豁免理由。
37
-
38
- ---
39
-
40
- ## 四、差距清单(评估的唯一有效输出)
41
-
42
- 每条五列,缺一列视为不合格评估,退回重评:
43
-
44
- | # | 位置 | 现状 | 目标 | 改法 | 严重度 |
45
- |---|---|---|---|---|---|
46
- | 1 | 第 3 节「欧洲退坡」 | 只有结论,没有回本期数据 | 列出回本期与电价两条硬数据 | 从 S02/S05 取数补一句 | 高 |
47
- | 2 | 第 5 节第 2 段 | 段落 420 字,读不下去 | ≤300 字 | 拆成两段,删掉铺垫句 | 中 |
48
-
49
- 规矩:
50
-
51
- - 只能写「达标」或「具体差距」,不许写「还行」「可以更丰富」「建议多加点数据」。
52
- - 位置要能定位到节 / 段 / 句。
53
- - 严重度只有三档:高(影响结论)、中(影响阅读)、低(措辞)。
54
-
55
- ---
56
-
57
- ## 五、打分方法
58
-
59
- 1. 先跑机器项:`python report_lint.py REPORT.md` + 字数统计 + 来源计数,把数字记下来。
60
- 2. 再逐维度给分,每个维度必须引 1–3 段原文作为依据。
61
- 3. 总分 = Σ(维度分 × 权重) / 100。
62
- 4. 输出顺序固定:总分 → 是否达标 → 硬伤 → 各维度分与依据 → 差距清单。
63
-
64
- **校准锚点**
65
-
66
- | 分数 | 含义 |
67
- |---|---|
68
- | 95+ | 可直接对外发,规则细到不用再解释 |
69
- | 85–94 | 达标,有 1–2 处可优化 |
70
- | 70–84 | 方向对,某一维度明显薄弱 |
71
- | <70 | 需要重写而不是修补 |
72
-
73
- ---
74
-
75
- ## 六、轮次与退出
76
-
77
- - 上限 3 轮(用户指定则从用户)。
78
- - 每轮记录:轮次 / 总分 / 各维度 / 差距条数 / 本轮改了什么。
79
- - 达标 → 交付。
80
- - 到上限未达标 → 交付当前最好版本 + 剩余差距,明说未达标。
81
- - 停滞(连续两轮同一维度不涨)→ 早停,说明「该维度靠改文字解决不了,需补证据或换角度」。
82
-
83
- ---
84
-
85
- ## 七、防止自己糊弄自己
86
-
87
- - 评估者与产出者必须是不同 agent。
88
- - 同一轮里不许中途放低达标线。要改阈值,写在下一轮的记录里并说明理由。
89
- - 「全部复制原文也能过」是失败信号:评估必须能指出哪几句是新增的解释层。
1
+ # 评估 rubric 模板(复制到工作区,填权重与达标线)
2
+
3
+ 评估对象:`REPORT.md`(或本轮交付物)。评估者:独立子代理,**没有看过产出者的推理过程**。
4
+
5
+ ---
6
+
7
+ ## 一、评估者的输入(只给这三样)
8
+
9
+ 1. 被评文档全文。
10
+ 2. 本 rubric(填好的权重与达标线)。
11
+ 3. 用户原始诉求(要什么、给谁看、抱怨了什么)。
12
+
13
+ 不给:产出者的自评、产出者的改进计划、「我哪里没写好」。给了就等于让产出者自己判卷。
14
+
15
+ ---
16
+
17
+ ## 二、评分维度(默认权重,可调)
18
+
19
+ 第三列写的是「谁来查」:脚本能报出数字的交给脚本,需要判断的留给人。脚本目前只覆盖语言与格式这一层,其余各项仍要人读。
20
+
21
+ | 维度 | 权重 | 谁来查 | 检查点 |
22
+ |---|---|---|---|
23
+ | **D1 来源与事实** | 25 | 人读 + 抽查 | 每条硬结论有 S 编号;百分比带分母与来源;来源分级正确;转载去重;陈旧数据标注;承重引用开页核对过;正文回读证据表,句子内容与编号指向的记录一致 |
24
+ | **D2 洞察与机制** | 25 | 人读 | 除「是什么」外给了「为什么」(竞争假说,单一解释不算);有反面证据一段且诚实(列替代解释→怎么排除→没排除掉的→结论降级);冲突有解释与下一步 |
25
+ | **D3 语言与可读性** | 20 | 脚本 + 人读 | `report_lint.py --strict` 通过;对偶句不超豁免额度;无自我更正、无生造词、无工程词、无比喻;句长与段长在阈值内;逐句自问「删掉这句,读者判断会变吗」,答「不变」的句子已删 |
26
+ | **D4 结构** | 15 | 脚本 + 人读 | 首段给结论;六章齐全(或按篇幅合并后齐全);标题是判断句;一节一个主张;局限单独成节。脚本只查标题跳级,其余靠人 |
27
+ | **D5 篇幅与呈现** | 15 | 脚本 + 人读 | 字数落在 `SKILL.md` 第 0 步的区间;图表数量达标且标题写结论;附录不超过正文 10%;对比总表可独立读懂。脚本只报字数与图表块数,达标与否由人工检查 |
28
+
29
+ **打分口径**:每个维度按 0–100 打分(该维度的完成度),总分 = Σ(维度分 × 权重) ÷ 100。权重合计 100。达标线默认 **85**,且任一硬伤即不达标(总分无效)。
30
+
31
+ ---
32
+
33
+ ## 三、硬伤(命中任一 → 本轮不达标)
34
+
35
+ - **H1 编造**:出现证据表里没有的数字、机构、日期、引文。
36
+ - **H2 无源硬结论**:决策级结论没有任何 S 编号,或仅由 C 级来源支撑。
37
+ - **H3 缺反证**:没有「没排除掉的替代解释」这一段。
38
+ - **H4 机器闸失败**:`report_lint.py` 返回 FAIL 且未在报告里记录豁免理由。
39
+
40
+ ---
41
+
42
+ ## 四、差距清单(评估的唯一有效输出)
43
+
44
+ 每条五列,缺一列视为不合格评估,退回重评:
45
+
46
+ | # | 位置 | 现状 | 目标 | 改法 | 严重度 |
47
+ |---|---|---|---|---|---|
48
+ | 1 | 第 3 节「欧洲退坡」 | 只有结论,没有回本期数据 | 列出回本期与电价两条硬数据 | 从 S02/S05 取数补一句 | 高 |
49
+ | 2 | 第 5 节第 2 段 | 段落 420 字,读不下去 | ≤300 字 | 拆成两段,删掉铺垫句 | 中 |
50
+
51
+ 规矩:
52
+
53
+ - 只能写「达标」或「具体差距」,不许写「还行」「可以更丰富」「建议多加点数据」。
54
+ - 位置要能定位到节 / 段 / 句。
55
+ - 严重度只有三档:高(影响结论)、中(影响阅读)、低(措辞)。
56
+
57
+ ---
58
+
59
+ ## 五、打分方法
60
+
61
+ 1. 先跑机器项:`python report_lint.py REPORT.md` + 字数统计 + 来源计数,把数字记下来。
62
+ 2. 再逐维度给分,每个维度必须引 1–3 段原文作为依据。
63
+ 3. 总分 = Σ(维度分 × 权重) / 100。
64
+ 4. 输出顺序固定:总分 → 是否达标 → 硬伤 → 各维度分与依据 → 差距清单。
65
+
66
+ **校准锚点**
67
+
68
+ | 分数 | 含义 |
69
+ |---|---|
70
+ | 95+ | 可直接对外发,规则细到不用再解释 |
71
+ | 85–94 | 达标,有 1–2 处可优化 |
72
+ | 70–84 | 方向对,某一维度明显薄弱 |
73
+ | <70 | 需要重写而不是修补 |
74
+
75
+ ---
76
+
77
+ ## 六、轮次与退出
78
+
79
+ - 上限 3 轮(用户指定则从用户)。
80
+ - 每轮记录:轮次 / 总分 / 各维度 / 差距条数 / 本轮改了什么。
81
+ - 达标 → 交付。
82
+ - 到上限未达标 → 交付当前最好版本 + 剩余差距,明说未达标。
83
+ - 停滞(连续两轮同一维度不涨)→ 早停,说明「该维度靠改文字解决不了,需补证据或换角度」。
84
+
85
+ ---
86
+
87
+ ## 七、防止自己糊弄自己
88
+
89
+ - 评估者与产出者必须是不同 agent。
90
+ - 同一轮里不许中途放低达标线。要改阈值,写在下一轮的记录里并说明理由。
91
+ - 「全部复制原文也能过」是失败信号:评估必须能指出哪几句是新增的解释层。
@@ -1,158 +1,163 @@
1
- # 外部报告类 Skill 调研结论(哪个能强化 omd-autoresearch)
2
-
3
- 调研时间:2026-11-03。方法:GitHub API + raw 原文直读(web 搜索通道当时不可用)。
4
- 可信度标注:**已核** = 读到 SKILL.md/README 原文;**仅元数据** = 只核到仓库存在、star、描述;**未找到** = 在可访问来源里没定位到,不臆测其机制。
5
-
6
- ---
7
-
8
- ## 一、六个指定技能
9
-
10
- ### 1. huashu-report(花叔报告)· 已核
11
-
12
- `github.com/alchaincyf/huashu-report` · MIT · 482★ · 作者 alchaincyf
13
- 规范取自 42 份顶级机构报告 PDF 的反向拆解(Stanford HAI、McKinsey、BCG、OpenAI、Anthropic、PwC、World Bank)。
14
-
15
- 工作流:三问定原型 → 建数据表 → 写正文 → 补机制与文献定位 → 做图 → 逐页自检。
16
-
17
- 可迁移机制:
18
-
19
- - **每个百分比必须带分母 N**,没有 N 的百分比视为不可用。
20
- - **图表标题写结论**,不写主题(研报型例外)。
21
- - **预先反驳自己四段式**:列替代解释 → 各自怎么排除 → 诚实说没排除掉的 → 主动降级结论。
22
- - **删除判据**:「把这句话删掉,读者对结论的判断会不会改变?不变就是工作日志,删。」
23
- - **附录 ≤ 正文 10%**,附录是来源表,不是数据表转印。
24
- - **数据源行**:区分「谁采的数」和「谁做的图」。
25
- - **「太干」的正解是补机制层与文献定位层**;加形容词、换口语化都不管用。
26
-
27
- 它没解决的:口语化、逐句改写的机械规则(它靠原型选型与删除判据治「读不下去」)。
28
-
29
- ### 2. deep-research-plus-skills · 已核(影响面小)
30
-
31
- `github.com/Asaceoo/deep-research-plus-skills` · MIT · 1★ · 作者 Asaceoo
32
- 编排层,把 4 个调研子技能串成流水线。社区验证为零,机制可抄,别当权威。
33
-
34
- 可迁移机制:
35
-
36
- - **闸门外置成脚本退出码**:`gate --stage outline|confirm|results|review|report`,0 通过 / 1 违规。
37
- - **大纲强制至少 1 条反方条目**(竞品反对、已知缺陷、失效场景),否则拦下。
38
- - **来源数下限是公式**:档位基数 + 反方加权,只搜一次就落盘会被判违规。
39
- - **引用是硬字段**:完整 URL + 日期 + 来源类型枚举,裸域名判 0。
40
- - **承重引用开页核对**:链接能打开不算数,要确认内容支撑结论。
41
- - **单源标 `single-source`,社区来源支撑决策级结论标 `high-risk`。**
42
- - **固定六章骨架,缺章不合格**;复杂度分档(light 档不产出完整报告)。
43
-
44
- ### 3. industry-research · 已核(同名歧义多)
45
-
46
- `github.com/geekjourneyx/industry-research` · MIT · 33★ · 作者 geekjourneyx
47
- 同名/近名仓库另有 5 个以上(`hehe-industry-research-skill-pack` 315★、`PerryLink/dsh-industry-research` 215★、`luopan` 390★ 等),若指的是别的版本需回退确认。
48
-
49
- 核心信条:**搜索结果只是线索,不是证据。**
50
-
51
- 可迁移机制:
52
-
53
- - **四层证据分层,禁止越级**:搜索结果 → 来源材料 → 推理(显式标注)→ 结论(置信度匹配证据质量)。
54
- - **A/B/C 证据级 + 5 个独立证据家族三角验证**;同一家族的多个信号只算一个。
55
- - **证据 schema 必填**:来源类型枚举、核实状态(仅检索到 / 已开页 / 已交叉)、独立性说明。
56
- - **时效规则**:>180 天视为陈旧,不能单独支撑当前判断。
57
- - **反证三问**:什么证据能证明它错?查过没有?没找到是因为结论硬,还是数据拿不到?
58
- - **诚实空手离场**:找不到反证就标 `DATA_INSUFFICIENT_FOR_BEAR_CASE`,禁止编造风险。
59
- - **篇幅三联表**:深度级别 × 目标字数 × 章节强制性。
60
-
61
- ### 4. research-copilot · 已核
62
-
63
- `github.com/ptt-22/research-copilot`(3★;另有 `tririver/arc` 114★ 等相近项,未逐一验证)
64
- 手动触发型深度调研:先定研究边界 → 读 report-framework → 多源采集 → 证据账本 → 交叉验证 → 结构化报告,默认出 MD/HTML/DOCX/PDF 四份。
65
-
66
- 可迁移机制:
67
-
68
- - **来源编号制 `[S3]`**,正文引用即回指,和本技能的 `evidence.md` 同构。
69
- - **来源四级 A/B/C/D**,C 级只能证明「有人这样反馈」,不能证明客观事实。
70
- - **主张级缺口标注**:`单一来源` / `未充分交叉验证` / `来源冲突` / `未找到一手来源`。
71
- - **转载不算多源**:多篇转同一原始报道按一个来源计。
72
- - **默认深度**:≥20 个候选来源,最终引用 12–25 个高质量来源。
73
-
74
- ### 5. Xiaobai-Research · 未找到
75
-
76
- 在 GitHub 仓库搜索、中文关键词组合(小白 调研 skill / Xiaobai research)里都没有定位到同名项目。
77
- 可能是本地自制、付费社群内部分发或已改名。**本技能不采用任何未核实的「小白向机制」描述**——需要用户提供路径或链接后再补。
78
-
79
- ### 6. fxbaogao-deep-research · 已核
80
-
81
- `github.com/fxbaogao/fxbaogao-deep-research` · 10★ · 作者 fxbaogao(发现报告)
82
- 方法叫「先想后搜」:明确研究边界 → MECE 拆子问题 → 按子问题定向搜研报 → 筛选核心研报精读 → 整理成事实卡片 → 对比推导 → 结构化结论。
83
-
84
- 可迁移机制:
85
-
86
- - **子问题先行**:先出问题清单再检索,避免「搜到哪算哪」。
87
- - **中间产物模板化**:问题拆解 / 资料来源 / 事实卡片 / 对比框架 / 推导过程 / 终稿六件套,正文之前先有卡片。
88
- - **研报精读 playbook**:把长报告拆成可复用的抽取规则。
89
-
90
- ---
91
-
92
- ## 二、其他更值得抄的(本次调研新增)
93
-
94
- ### 2.0 书面 / 口语表达类,单独立一条
95
-
96
- `github.com/op7418/Humanizer-zh` · 21880 星 · MIT · 已核(仓库元数据,未读规则正文)
97
- Humanizer 的汉化版,目标是消除中文文本里的 AI 痕迹。同类的还有 `MrGeDiao/shuorenhua`(2435 星)与英文原版 `blader/humanizer`(64268 星),三家分工不同:
98
-
99
- | 项目 | 覆盖 | 缺什么 |
100
- |---|---|---|
101
- | blader/humanizer | 英文 AI 写作特征,按强度分级 | 中文句式与黑话 |
102
- | Humanizer-zh | 中文 AI 痕迹,汉化后的规则集 | 未覆盖工程词外泄 |
103
- | shuorenhua | 中文黑话 + 可脚本化指标 + 标定方法 | 需要自备语料 |
104
-
105
- **要不要为「书面 / 口语表达」单独做一个 omd 技能?判断:不单独做。** 现有三处已经覆盖,再加一处会互相打架——写作时的用词规则在 `report-style.md`,事后清理在 `omd-ai-slop-cleaner`,外部机制来自上表三家。真正缺的那一层是语域问题:工具内部词混进给读者的正文(`报警项`、`判死`、`小疤`)。这一层不属于「表达技能」,已经补进 `report-style.md` 的「语域:三类词别混用」和 `report_lint.py` 的工程词检查。
106
-
107
- | 项目 | 规模 | 抄什么 |
108
- |---|---|---|
109
- | `blader/humanizer` | 64k★ MIT 已核 | 模式**按强度排序**:强信号单次即改,弱信号同段凑够才改;工作流固定「标 tell → 起草 → 复检」;结论是「结构习惯比词表更持久」 |
110
- | `MrGeDiao/shuorenhua` | 2.4k★ MIT 已核 | **可脚本化的判定从 judge 手里拿走**(句长离散度、破折号密度、留存率);阈值必须在自己语料上标定;设误杀率门禁 |
111
- | `Weizhena/Deep-Research-skills` | 2.5k★ MIT 已核 | 调研编译成两个机器可读契约(大纲 + 字段),每条产出过 `validate_json.py` 才算完成,不确定值填「[不确定]」并登记 |
112
- | `tonyazhuuki/deep-research-skill` | 32★ MIT 已核 | 证据评鉴拆两根轴(因果是否成立 / 强度与适用性),置信度不足自动追加一轮深挖(≤2 轮),引用由脚本真去查库 |
113
- | `ruanyf/document-style-guide` | 13k★ 已核(许可证未核到) | 中文句长/段长/标题层级的硬数字:单句 >40 字不可接受,段落 ≤7 行,尽量避免四级标题 |
114
- | `Leonxlnx/unlazy` | 4.3k★ 仅元数据 | 给每个叶子节点分配完整时间预算,用结构对抗提前收尾 |
115
-
116
- 采购判据(本次调研得出):合格的调研技能至少有 ①机器可校验的产物 schema 或校验脚本 ②不确定如何标注的协议 ③人工审批闸门 ④有阈值的评分表。四条缺两条,基本是提示词空话。
117
-
118
- ---
119
-
120
- ## 三、采纳了什么,没采纳什么
121
-
122
- | 机制 | 来源 | 采纳 | 落在哪 |
123
- |---|---|---|---|
124
- | 篇幅档位(brief/standard/comprehensive)| industry-research、deep-research-plus | ✅ | SKILL.md 第 0 步 |
125
- | 证据编号 + 来源分级 + 去重 + 时效 | research-copilot、industry-research | ✅ | `report-rules.md` §1–3 |
126
- | 反证四段式 + 诚实空手离场 | huashu-report、industry-research | ✅ | `report-rules.md` §4 |
127
- | 承重引用开页核对 | deep-research-plus | ✅ | `report-rules.md` §3 |
128
- | 六章骨架 + 缺章不合格 | deep-research-plus | ✅ | `report-rules.md` §5 |
129
- | 大纲必须含反方条目,否则拦下 | deep-research-plus | ✅ | `SKILL.md` 第 3 步结构闸 + `report-rules.md` §4 |
130
- | 来源数下限按档位定 | deep-research-plus、research-copilot | ✅ | `SKILL.md` 第 0 步(brief 3 / standard 6 / comprehensive 12) |
131
- | 补「机制层 + 文献定位层」治太干 | huashu-report | ✅ | `rubric.md` D2 与 `SKILL.md` 报告硬规则 |
132
- | 百分比必须带分母 N | huashu-report | ✅ | `report-rules.md` §3、§6;`rubric.md` D1 |
133
- | 引用即硬字段(URL+日期+类型,裸域名不算) | deep-research-plus | ✅ | `report-rules.md` §1 证据表字段 |
134
- | 单源 / 社区来源显式标注 | deep-research-plus、research-copilot | ✅ | `report-rules.md` §3 缺口标注 |
135
- | 标题层级(一级下不跳三级、少用四级) | ruanyf | ✅ | `report_lint.py` 标题跳级判死 + `report-style.md` 排版表 |
136
- | 删除判据 + 附录 ≤10% | huashu-report | ✅ | `report-rules.md` §6 |
137
- | 图表标题写结论 + 数据源行 | huashu-report | ✅ | `report-rules.md` §6 |
138
- | 分级处置(强信号即改 / 弱信号凑够 / 只报警)| blader/humanizer、shuorenhua | ✅ | `report-style.md` 分级处置 |
139
- | 对偶句密度判死 + 豁免额度 | shuorenhua、ruanyf | ✅ | `report-style.md` T1-1 |
140
- | 句长/段长/破折号硬阈值 | ruanyf、shuorenhua | ✅ | `report_lint.py` |
141
- | 连词密度不设全局阈值 | shuorenhua 实测反例 | ✅(反向采纳)| `report-style.md` T3 |
142
- | 机器闸门脚本化 | deep-research-plus、shuorenhua | ✅ | `report_lint.py` |
143
- | 闸门外置成 CLI 退出码全流程 | deep-research-plus | ❌ | 依赖外部脚本,DSH 内无对应能力;改用 lint 退出码做单点闸 |
144
- | 契约文件 + validate_json 全流程 | Weizhena | ❌ | 与 omd-research 子代理分工重复,收益低于复杂度 |
145
- | 红队/蓝队/仲裁四角色 | industry-research | ❌ | 单份报告成本过高;已用「反证段 + 评估者」覆盖 |
146
- | 研报精读 playbook | fxbaogao | ❌ | 依赖发现报告站点 API,非通用 |
147
- | 四种格式同源导出 | research-copilot | ❌ | 交付格式另有 office-* 技能负责 |
148
-
149
- ## 四、结论
150
-
151
- 能强化 `omd-autoresearch` 的是四类机制,不是四个 skill:
152
-
153
- 1. **篇幅与骨架先定**(industry-research、deep-research-plus)→ 治「太长」。
154
- 2. **证据编号与来源分级**(research-copilot、industry-research、huashu)→ 治「不可信」。
155
- 3. **反证层与机制层**(huashu、industry-research)→ 治「太干」,这是最反直觉的一条:加一层解释,比加形容词有效。
156
- 4. **机器闸门 + 分级处置**(shuorenhua、blader、ruanyf)→ 治「AI 腔」,且不会误杀正常文本。
157
-
158
- Xiaobai-Research 未核实,未采纳。若有具体来源,把它补进 `report-style.md` 的误杀防护表即可。
1
+ # 外部报告类 Skill 调研结论(哪个能强化 omd-autoresearch)
2
+
3
+ 调研时间:2026-11-03。方法:GitHub API + raw 原文直读(web 搜索通道当时不可用)。
4
+ 可信度标注:**已核** = 读到 SKILL.md/README 原文;**仅元数据** = 只核到仓库存在、star、描述;**未找到** = 在可访问来源里没定位到,不臆测其机制。
5
+
6
+ ---
7
+
8
+ ## 一、六个指定技能
9
+
10
+ ### 1. huashu-report(花叔报告)· 已核
11
+
12
+ `github.com/alchaincyf/huashu-report` · MIT · 484★(2026-11-04 复核)· 作者 alchaincyf
13
+ 规范取自 42 份顶级机构报告 PDF 的反向拆解(Stanford HAI、McKinsey、BCG、OpenAI、Anthropic、PwC、World Bank)。
14
+
15
+ 工作流:三问定原型 → 建数据表 → 写正文 → 补机制与文献定位 → 做图 → 逐页自检。
16
+
17
+ 可迁移机制:
18
+
19
+ - **每个百分比必须带分母 N**,没有 N 的百分比视为不可用。
20
+ - **图表标题写结论**,不写主题(研报型例外)。
21
+ - **预先反驳自己四段式**:列替代解释 → 各自怎么排除 → 诚实说没排除掉的 → 主动降级结论。
22
+ - **删除判据**:「把这句话删掉,读者对结论的判断会不会改变?不变就是工作日志,删。」
23
+ - **附录 ≤ 正文 10%**,附录是来源表,不是数据表转印。
24
+ - **数据源行**:区分「谁采的数」和「谁做的图」。
25
+ - **「太干」的正解是补机制层与文献定位层**;加形容词、换口语化都不管用。
26
+
27
+ 它没解决的:口语化、逐句改写的机械规则(它靠原型选型与删除判据治「读不下去」)。
28
+
29
+ ### 2. deep-research-plus-skills · 已核(影响面小)
30
+
31
+ `github.com/Asaceoo/deep-research-plus-skills` · MIT · 1★ · 作者 Asaceoo
32
+ 编排层,把 4 个调研子技能串成流水线。社区验证为零,机制可抄,别当权威。
33
+
34
+ 可执行面(复核补记):`scripts/drp.py` 为 89.8 KB 的五阶段闸门,`validate_json.py` 两处,`tests/` 下 8 个 pytest 文件,`checklists/` 带通过样本。
35
+
36
+ 可迁移机制:
37
+
38
+ - **闸门外置成脚本退出码**:`gate --stage outline|confirm|results|review|report`,0 通过 / 1 违规。
39
+ - **大纲强制至少 1 条反方条目**(竞品反对、已知缺陷、失效场景),否则拦下。
40
+ - **来源数下限是公式**:档位基数 + 反方加权,只搜一次就落盘会被判违规。
41
+ - **引用是硬字段**:完整 URL + 日期 + 来源类型枚举,裸域名判 0。
42
+ - **承重引用开页核对**:链接能打开不算数,要确认内容支撑结论。
43
+ - **单源标 `single-source`,社区来源支撑决策级结论标 `high-risk`。**
44
+ - **固定六章骨架,缺章不合格**;复杂度分档(light 档不产出完整报告)。
45
+
46
+ ### 3. industry-research · 已核(同名歧义多)
47
+
48
+ `github.com/geekjourneyx/industry-research` · MIT · 33★ · 作者 geekjourneyx
49
+ 同名/近名仓库另有 5 个以上(`hehe-industry-research-skill-pack` 315★、`PerryLink/dsh-industry-research` 215★、`luopan` 390★ 等),若指的是别的版本需回退确认。
50
+
51
+ 核心信条:**搜索结果只是线索,不是证据。**
52
+
53
+ 可执行面(复核补记):`scripts/validate_report.py` 校验分档必需章节、引用数、置信度与工作区必需文件;另有 Go CLI 与其单元测试、`evals/evals.json`。
54
+
55
+
56
+ 可迁移机制:
57
+
58
+ - **四层证据分层,禁止越级**:搜索结果 → 来源材料 → 推理(显式标注)→ 结论(置信度匹配证据质量)。
59
+ - **A/B/C 证据级 + 5 个独立证据家族三角验证**;同一家族的多个信号只算一个。
60
+ - **证据 schema 必填**:来源类型枚举、核实状态(仅检索到 / 已开页 / 已交叉)、独立性说明。
61
+ - **时效规则**:>180 天视为陈旧,不能单独支撑当前判断。
62
+ - **反证三问**:什么证据能证明它错?查过没有?没找到是因为结论硬,还是数据拿不到?
63
+ - **诚实空手离场**:找不到反证就标 `DATA_INSUFFICIENT_FOR_BEAR_CASE`,禁止编造风险。
64
+ - **篇幅三联表**:深度级别 × 目标字数 × 章节强制性。
65
+
66
+ ### 4. research-copilot · 已核
67
+
68
+ `github.com/ptt-22/research-copilot`(3★;另有 `tririver/arc` 114★ 等相近项,未逐一验证)
69
+ 手动触发型深度调研:先定研究边界 → 读 report-framework → 多源采集 → 证据账本 → 交叉验证 → 结构化报告,默认出 MD/HTML/DOCX/PDF 四份。
70
+
71
+ 可迁移机制:
72
+
73
+ - **来源编号制 `[S3]`**,正文引用即回指,和本技能的 `evidence.md` 同构。
74
+ - **来源四级 A/B/C/D**,C 级只能证明「有人这样反馈」,不能证明客观事实。
75
+ - **主张级缺口标注**:`单一来源` / `未充分交叉验证` / `来源冲突` / `未找到一手来源`。
76
+ - **转载不算多源**:多篇转同一原始报道按一个来源计。
77
+ - **默认深度**:≥20 个候选来源,最终引用 12–25 个高质量来源。
78
+
79
+ ### 5. Xiaobai-Research · 未找到
80
+
81
+ 在 GitHub 仓库搜索、中文关键词组合(小白 调研 skill / Xiaobai research)里都没有定位到同名项目。
82
+ 可能是本地自制、付费社群内部分发或已改名。**本技能不采用任何未核实的「小白向机制」描述**——需要用户提供路径或链接后再补。
83
+
84
+ ### 6. fxbaogao-deep-research · 已核
85
+
86
+ `github.com/fxbaogao/fxbaogao-deep-research` · 10★ · 作者 fxbaogao(发现报告)
87
+ 方法叫「先想后搜」:明确研究边界 → MECE 拆子问题 → 按子问题定向搜研报 → 筛选核心研报精读 → 整理成事实卡片 → 对比推导 → 结构化结论。
88
+
89
+ 可迁移机制:
90
+
91
+ - **子问题先行**:先出问题清单再检索,避免「搜到哪算哪」。
92
+ - **中间产物模板化**:问题拆解 / 资料来源 / 事实卡片 / 对比框架 / 推导过程 / 终稿六件套,正文之前先有卡片。
93
+ - **研报精读 playbook**:把长报告拆成可复用的抽取规则。
94
+
95
+ ---
96
+
97
+ ## 二、其他更值得抄的(本次调研新增)
98
+
99
+ ### 2.0 书面 / 口语表达类,单独立一条
100
+
101
+ `github.com/op7418/Humanizer-zh` · 21880 星 · MIT · 已核(仓库元数据,未读规则正文)
102
+ Humanizer 的汉化版,目标是消除中文文本里的 AI 痕迹。同类的还有 `MrGeDiao/shuorenhua`(2435 星)与英文原版 `blader/humanizer`(64268 星),三家分工不同:
103
+
104
+ | 项目 | 覆盖 | 缺什么 |
105
+ |---|---|---|
106
+ | blader/humanizer | 英文 AI 写作特征,按强度分级 | 中文句式与黑话 |
107
+ | Humanizer-zh | 中文 AI 痕迹,汉化后的规则集 | 未覆盖工程词外泄 |
108
+ | shuorenhua | 中文黑话 + 可脚本化指标 + 标定方法 | 需要自备语料 |
109
+
110
+ **要不要为「书面 / 口语表达」单独做一个 omd 技能?判断:不单独做。** 现有三处已经覆盖,再加一处会互相打架——写作时的用词规则在 `report-style.md`,事后清理在 `omd-ai-slop-cleaner`,外部机制来自上表三家。真正缺的那一层是语域问题:工具内部词混进给读者的正文(`报警项`、`判死`、`小疤`)。这一层不属于「表达技能」,已经补进 `report-style.md` 的「语域:三类词别混用」和 `report_lint.py` 的工程词检查。
111
+
112
+ | 项目 | 规模 | 抄什么 |
113
+ |---|---|---|
114
+ | `blader/humanizer` | 64k★ MIT 已核 | 模式**按强度排序**:强信号单次即改,弱信号同段凑够才改;工作流固定「标 tell → 起草 → 复检」;结论是「结构习惯比词表更持久」 |
115
+ | `MrGeDiao/shuorenhua` | 2.4k★ MIT 已核 | **可脚本化的判定从 judge 手里拿走**(句长离散度、破折号密度、留存率);阈值必须在自己语料上标定;设误杀率门禁 |
116
+ | `Weizhena/Deep-Research-skills` | 2.5k★ MIT 已核 | 调研编译成两个机器可读契约(大纲 + 字段),每条产出过 `validate_json.py` 才算完成,不确定值填「[不确定]」并登记 |
117
+ | `tonyazhuuki/deep-research-skill` | 32★ MIT 已核 | 证据评鉴拆两根轴(因果是否成立 / 强度与适用性),置信度不足自动追加一轮深挖(≤2 轮),引用由脚本真去查库 |
118
+ | `ruanyf/document-style-guide` | 13k★ 已核(许可证未核到) | 中文句长/段长/标题层级的硬数字:单句 >40 字不可接受,段落 ≤7 行,尽量避免四级标题 |
119
+ | `Leonxlnx/unlazy` | 4.3k★ 仅元数据 | 给每个叶子节点分配完整时间预算,用结构对抗提前收尾 |
120
+
121
+ 采购判据(本次调研得出):合格的调研技能至少有 ①机器可校验的产物 schema 或校验脚本 ②不确定如何标注的协议 ③人工审批闸门 ④有阈值的评分表。四条缺两条,基本是提示词空话。
122
+
123
+ ---
124
+
125
+ ## 三、采纳了什么,没采纳什么
126
+
127
+ | 机制 | 来源 | 采纳 | 落在哪 |
128
+ |---|---|---|---|
129
+ | 篇幅档位(brief/standard/comprehensive)| industry-research、deep-research-plus | ✅ | SKILL.md 第 0 步 |
130
+ | 证据编号 + 来源分级 + 去重 + 时效 | research-copilot、industry-research | ✅ | `report-rules.md` §1–3 |
131
+ | 反证四段式 + 诚实空手离场 | huashu-report、industry-research | ✅ | `report-rules.md` §4 |
132
+ | 承重引用开页核对 | deep-research-plus | ✅ | `report-rules.md` §3 |
133
+ | 六章骨架 + 缺章不合格 | deep-research-plus | ✅ | `report-rules.md` §5 |
134
+ | 大纲必须含反方条目,否则拦下 | deep-research-plus | ✅ | `SKILL.md` 第 3 步结构闸 + `report-rules.md` §4 |
135
+ | 来源数下限按档位定 | deep-research-plus、research-copilot | ✅ | `SKILL.md` 第 0 步(brief 3 / standard 6 / comprehensive 12) |
136
+ | 补「机制层 + 文献定位层」治太干 | huashu-report | ✅ | `rubric.md` D2 与 `SKILL.md` 报告硬规则 |
137
+ | 百分比必须带分母 N | huashu-report | ✅ | `report-rules.md` §3、§6;`rubric.md` D1 |
138
+ | 引用即硬字段(URL+日期+类型,裸域名不算) | deep-research-plus | ✅ | `report-rules.md` §1 证据表字段 |
139
+ | 单源 / 社区来源显式标注 | deep-research-plus、research-copilot | ✅ | `report-rules.md` §3 缺口标注 |
140
+ | 标题层级(一级下不跳三级、少用四级) | ruanyf | ✅ | `report_lint.py` 标题跳级判死 + `report-style.md` 排版表 |
141
+ | 删除判据 + 附录 ≤10% | huashu-report | ✅ | `report-rules.md` §6 |
142
+ | 图表标题写结论 + 数据源行 | huashu-report | ✅ | `report-rules.md` §6 |
143
+ | 分级处置(强信号即改 / 弱信号凑够 / 只报警)| blader/humanizer、shuorenhua | ✅ | `report-style.md` 分级处置 |
144
+ | 对偶句密度判死 + 豁免额度 | shuorenhua、ruanyf | ✅ | `report-style.md` T1-1 |
145
+ | 句长/段长/破折号硬阈值 | ruanyf、shuorenhua | ✅ | `report_lint.py` |
146
+ | 连词密度不设全局阈值 | shuorenhua 实测反例 | ✅(反向采纳)| `report-style.md` T3 |
147
+ | 机器闸门脚本化 | deep-research-plus、shuorenhua | ✅ | `report_lint.py` |
148
+ | 闸门外置成 CLI 退出码全流程 | deep-research-plus | ❌ | 依赖外部脚本,DSH 内无对应能力;改用 lint 退出码做单点闸 |
149
+ | 契约文件 + validate_json 全流程 | Weizhena | ❌ | 与 omd-research 子代理分工重复,收益低于复杂度 |
150
+ | 红队/蓝队/仲裁四角色 | industry-research | ❌ | 单份报告成本过高;已用「反证段 + 评估者」覆盖 |
151
+ | 研报精读 playbook | fxbaogao | ❌ | 依赖发现报告站点 API,非通用 |
152
+ | 四种格式同源导出 | research-copilot | ❌ | 交付格式另有 office-* 技能负责 |
153
+
154
+ ## 四、结论
155
+
156
+ 能强化 `omd-autoresearch` 的是四类机制,不是四个 skill:
157
+
158
+ 1. **篇幅与骨架先定**(industry-research、deep-research-plus)→ 治「太长」。
159
+ 2. **证据编号与来源分级**(research-copilot、industry-research、huashu)→ 治「不可信」。
160
+ 3. **反证层与机制层**(huashu、industry-research)→ 治「太干」,这是最反直觉的一条:加一层解释,比加形容词有效。
161
+ 4. **机器闸门 + 分级处置**(shuorenhua、blader、ruanyf)→ 治「AI 腔」,且不会误杀正常文本。
162
+
163
+ Xiaobai-Research 未核实,未采纳。若有具体来源,把它补进 `report-style.md` 的误杀防护表即可。