Files
reverse-skills-max/vendor-new/rev-skills/docs/superpowers/specs/2026-08-18-re-feedback-gateway-design.md

79 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# re-feedback 网关设计(2026-08-18)
## 背景与问题
aiHK/re-skills 是 88 个逆向工程技能库(1 入口 re-analyze + 11 大类网关 + 76 原子技能),公开发布(npm + 插件市场)。
现有经验流:`wxsource.mjs` 抓看雪/微信文章 → 手动蒸馏成「坑」条目 → 就近写入对应技能 SKILL.md → commit(如「经验: 第八轮扫描入库4篇」)。
缺失能力:
- 实战分析会话的经验回馈通道(分析完踩的坑没有沉淀路径)
- 用户手动投喂经验的入口
- 统一的呈现与隐私规范
## 目标
新建第 12 个网关技能 `re-feedback`(**元网关**——管理技能库自身的经验,不分析 RE 目标),实现:
1. **收集**:三源归一——分析会话复盘 / 文章扫描蒸馏(wxsource.mjs)/ 用户手动输入
2. **蒸馏**:按「坑」格式产出条目,并强制脱敏
3. **归域**:条目映射到具体技能
4. **三档处理**(中性呈现,用户自决):① 发表 issue ② 本地入库 ③ 不入库
5. **钩子**:re-analyze 流程末尾加「可选经验复盘」步骤
## 设计原则(两条红线)
### 呈现中性原则
- 呈现选项/方案时**禁止「最推荐」「强烈建议」等最高级/强推措辞**,推荐最多到「推荐」级
- 选项不带推荐标注,只中性列出选项与适用场景,用户凭内容自决
- 类比:视频加背景音乐,画面情绪被音乐带走——强推措辞会绑架用户判断,不允许
### 隐私脱敏原则
- 蒸馏产物**不允许具体到某一个项目**(公司/产品/目标样本名),**暗示也不行**(可推断身份的行业+规模+地域组合、专有协议名、内部代号、独特技术特征组合一律禁止)
- 目标泛化为通用描述(「某移动应用」「某嵌入式设备」「某通信协议」),条目只留技术结论(现象/原因/对策)
- 来源字段:实战会话 → 只写「实战分析会话」+ 时间(如 `2026-08 实战会话`);文章扫描 → 可保留公开文章标题/URL
- **本地入库同样受约束**:技能库公开发布(npm + 插件市场),本地即公开
- 入库/发 issue 前做**脱敏自检**:列出条目中所有专有名词逐项确认已泛化;任一不通过则回炉重蒸
## 目录结构
```
.claude/skills/re-feedback/
├── SKILL.md # 网关:完整工作流 + 选择树 + 常见坑
└── references/
├── intake.md # 蒸馏方法论:坑条目格式、脱敏规则、归域决策表、去重规则
└── issue-template.md # issue 正文模板(gh 提交与草稿共用)
```
- **每技能新增** `references/experience.md`(经验全集,条目带来源与日期;无 references 目录的技能新建)
- 各技能 SKILL.md「常见坑与陷阱」:保留精选 + 追加链接到本技能 experience.md
- re-analyze/SKILL.md:第三步编排后加「第四步(可选):经验复盘」→ 调用 [[re-feedback]]
## 工作流(5 步)
1. **收集**:三源归一——会话复盘摘要 / 文章 URL 或文本(可走 wxsource.mjs 抓取)/ 手动输入
2. **蒸馏**:每条按坑格式 `**标题**:现象——…;原因——…;对策——…`;「坑」(避坑)与「方法」(方法论)统一格式;**同步脱敏**(见隐私脱敏原则)
3. **归域**:主题 → 技能映射(决策表 + grep 技能库兜底 + 不确定时问用户,不猜)
4. **三档处理**(中性呈现,不带推荐标注):
- **① 发表 issue**:探测 `gh`(`which gh` + `gh auth status` + 仓库可达)→ 可用则 `gh issue create --repo DslsDZC/aihk --label 经验`,标题「经验: <技能>: <一句话>」,正文按 issue-template.md(技能名/现象/原因/对策/来源);不可用 → 输出 markdown 草稿供手动提交
- **② 本地入库**:grep 去重 → 追加到该技能 `references/experience.md`(含来源+日期)→ SKILL.md 精选同步或加链接 → `npm test` 校验
- **③ 不入库**:确认后结束
5. **(文章扫描路径可选)commit**:「经验: 第N轮扫描入库X篇——<篇目>」,message 列出每技能新增条目
## 错误处理
| 情况 | 处理 |
|---|---|
| gh 未装/未登录/仓库不可达 | 降级为草稿输出 |
| gh 报 label「经验」不存在 | 去掉 --label 重试,或提示用户先创建 label |
| 归域不确定 | 问用户,不猜 |
| 条目重复 | 跳过并告知 |
| npm test 失败 | 修复格式后再入库 |
| 脱敏自检不通过 | 回炉重蒸,不入库/不发 issue |
## 校验与测试
- `validate.mjs` 自动覆盖新技能:frontmatter(name=目录名、description、type: gateway)、[[链接]] 完整性(re-feedback 目录存在后 [[re-feedback]] 链接即合法)
- type: gateway 豁免「工具准备」章节校验
- 手工验证:`npm test` 全绿 + 用一条样本经验走通三档处理