Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
陈曦
sub2api
Commits
7546a567
"vscode:/vscode.git/clone" did not exist on "ff9683b0fcf99cee2073e80e6a58baeb784a7477"
Commit
7546a567
authored
Feb 07, 2026
by
yangjianbo
Browse files
feat: update skills
parent
00caf0bc
Changes
1
Hide whitespace changes
Inline
Side-by-side
skills/bug-fix-expert/SKILL.md
View file @
7546a567
...
@@ -48,7 +48,7 @@ metadata:
...
@@ -48,7 +48,7 @@ metadata:
1.
**没有可重复的证据,不改代码**
:至少满足"稳定复现"或"静态分析可严格证明存在"。
1.
**没有可重复的证据,不改代码**
:至少满足"稳定复现"或"静态分析可严格证明存在"。
2.
**多角度确认**
:至少使用 3 种不同方式交叉验证(P0 可降至 2 种,但必须注明理由)。
2.
**多角度确认**
:至少使用 3 种不同方式交叉验证(P0 可降至 2 种,但必须注明理由)。
3.
**先写失败用例**
:优先用最小化单元测试/集成测试把 bug "钉住"。
3.
**先写失败用例**
:优先用最小化单元测试/集成测试把 bug "钉住"。
4.
**修复必须带测试**
:新增/完善测试覆盖 bug 场景与关键边界,确保回归保护。
4.
**修复必须带测试**
:新增/完善测试覆盖 bug 场景与关键边界,确保回归保护。
**改动代码的单元测试覆盖率必须 ≥ 85%**
(以变更行为统计口径,非全仓覆盖率)。
5.
**不引入新问题**
:尽量小改动、低耦合;遵守项目既有分层与编码规范。
5.
**不引入新问题**
:尽量小改动、低耦合;遵守项目既有分层与编码规范。
6.
**修复与审查角色隔离**
:修复者不得自审,必须由独立角色执行代码审查。
6.
**修复与审查角色隔离**
:修复者不得自审,必须由独立角色执行代码审查。
7.
**安全前后双检**
:修复前预扫描 + 修复后 diff 复核,两次都通过才算合格。
7.
**安全前后双检**
:修复前预扫描 + 修复后 diff 复核,两次都通过才算合格。
...
@@ -135,10 +135,17 @@ metadata:
...
@@ -135,10 +135,17 @@ metadata:
-
覆盖 bug 场景(必须)
-
覆盖 bug 场景(必须)
-
覆盖关键边界与回归场景(必须)
-
覆盖关键边界与回归场景(必须)
-
必要时增加集成/端到端验证(按影响面决定)
-
必要时增加集成/端到端验证(按影响面决定)
-
**改动代码覆盖率门禁**
:对本次修改/新增的代码,单元测试行覆盖率必须 ≥ 85%。
使用项目对应的覆盖率工具(Go:
`go test -coverprofile`
+ 分析变更行覆盖;
JS/TS:
`--collectCoverageFrom`
指定变更文件;Python:
`coverage run`
+
`coverage report --include`
)
仅统计本次变更文件中变更行的覆盖情况,不要求全仓覆盖率达标。
若因代码结构原因(如纯配置、接口声明等不可测代码)无法达到 85%,
必须在 Beacon 中说明原因和实际覆盖率。
3.
运行质量门禁(与项目 CI 对齐):
3.
运行质量门禁(与项目 CI 对齐):
-
最小集合:受影响模块的单元测试 + 静态检查(lint/格式化/类型检查)。
-
最小集合:受影响模块的单元测试 + 静态检查(lint/格式化/类型检查)。
-
必要时:集成测试、端到端测试、兼容性验证、性能回归检查。
-
必要时:集成测试、端到端测试、兼容性验证、性能回归检查。
-
不确定时:跑全量测试。
-
不确定时:跑全量测试。
-
**覆盖率检查**
:修复完成后运行覆盖率工具,确认变更代码覆盖率 ≥ 85%,将结果写入 Beacon。
4.
若引入新失败:优先修复新失败;不要用"忽略测试/删除用例"掩盖问题。
4.
若引入新失败:优先修复新失败;不要用"忽略测试/删除用例"掩盖问题。
**安全预扫描(与修复并行)**
:扫描修复方案
**将要触及的代码区域的修复前基线版本**
,检查已有安全隐患,评估修复方案是否可能引入新风险。注意:预扫描的对象是修复前的基线代码,而非修复进行中的中间状态。
**安全预扫描(与修复并行)**
:扫描修复方案
**将要触及的代码区域的修复前基线版本**
,检查已有安全隐患,评估修复方案是否可能引入新风险。注意:预扫描的对象是修复前的基线代码,而非修复进行中的中间状态。
...
@@ -151,7 +158,7 @@ metadata:
...
@@ -151,7 +158,7 @@ metadata:
-
**并发**
:竞态、锁粒度、goroutine 泄漏、通道关闭时序。
-
**并发**
:竞态、锁粒度、goroutine 泄漏、通道关闭时序。
-
**兼容性**
:API/配置/数据迁移影响,旧数据是否可读。
-
**兼容性**
:API/配置/数据迁移影响,旧数据是否可读。
-
**可维护性**
:命名、结构、可读性、分层依赖是否违规。
-
**可维护性**
:命名、结构、可读性、分层依赖是否违规。
-
**测试质量**
:是否会偶发失败?是否覆盖根因?是否能防回归?
-
**测试质量**
:是否会偶发失败?是否覆盖根因?是否能防回归?
变更代码覆盖率是否 ≥ 85%?
**安全最终复核**
:对修复 diff 审查鉴权/越权、注入(SQL/命令/模板)、敏感信息泄露;若修复涉及依赖变更,额外检查依赖安全。主控在启动安全复核子智能体时,必须将第 3 步安全预扫描的 Beacon 结论作为上下文传入 prompt,复核者对比两次扫描结果,确认未引入新安全问题。
**安全最终复核**
:对修复 diff 审查鉴权/越权、注入(SQL/命令/模板)、敏感信息泄露;若修复涉及依赖变更,额外检查依赖安全。主控在启动安全复核子智能体时,必须将第 3 步安全预扫描的 Beacon 结论作为上下文传入 prompt,复核者对比两次扫描结果,确认未引入新安全问题。
...
@@ -405,6 +412,7 @@ Worktree: [worktree 实际路径,无则填 N/A]
...
@@ -405,6 +412,7 @@ Worktree: [worktree 实际路径,无则填 N/A]
- path/to/file1.go [新增/修改/删除]
- path/to/file1.go [新增/修改/删除]
- path/to/file2_test.go [新增/修改/删除]
- path/to/file2_test.go [新增/修改/删除]
测试结果: [PASS x/y | FAIL x/y | 未执行]
测试结果: [PASS x/y | FAIL x/y | 未执行]
变更代码覆盖率: [xx% (≥85% PASS / <85% FAIL) | 未检测 | N/A(只读角色)]
结论: [一句话核心结论]
结论: [一句话核心结论]
置信度: [高/中/低](高=有确凿证据;中=有间接证据;低=推测性结论)
置信度: [高/中/低](高=有确凿证据;中=有间接证据;低=推测性结论)
...
@@ -496,6 +504,8 @@ Worktree: [worktree 实际路径,无则填 N/A]
...
@@ -496,6 +504,8 @@ Worktree: [worktree 实际路径,无则填 N/A]
- 测试中禁止使用真实密钥/token/凭据,必须使用 mock 数据
- 测试中禁止使用真实密钥/token/凭据,必须使用 mock 数据
- 测试中禁止使用固定端口号,使用 0 端口让 OS 分配随机端口
- 测试中禁止使用固定端口号,使用 0 端口让 OS 分配随机端口
- 如果尝试 5 轮后仍无法完成任务,立即输出 FAILED 状态的 Beacon 并停止
- 如果尝试 5 轮后仍无法完成任务,立即输出 FAILED 状态的 Beacon 并停止
- **变更代码覆盖率 ≥ 85%**:修复/验证角色完成后,必须运行覆盖率工具检测本次变更代码的行覆盖率;
低于 85% 时须补充测试直到达标,或在 Beacon 中说明无法达标的原因(如纯接口声明/配置等不可测代码)
- 返回结果必须精简:Beacon 的「证据摘要」每条不超过 80 字符
- 返回结果必须精简:Beacon 的「证据摘要」每条不超过 80 字符
- 禁止在 Beacon 中复制大段源码,只引用 file:line
- 禁止在 Beacon 中复制大段源码,只引用 file:line
- Beacon 之前的工作过程输出(调试日志、中间推理)不需要结构化,主控不会读取这些内容
- Beacon 之前的工作过程输出(调试日志、中间推理)不需要结构化,主控不会读取这些内容
...
@@ -510,6 +520,7 @@ Worktree: {worktree 路径}
...
@@ -510,6 +520,7 @@ Worktree: {worktree 路径}
变更文件:
变更文件:
- path/to/file.go [新增/修改/删除]
- path/to/file.go [新增/修改/删除]
测试结果: [PASS x/y | FAIL x/y | 未执行]
测试结果: [PASS x/y | FAIL x/y | 未执行]
变更代码覆盖率: [xx% | 未检测 | N/A]
结论: [一句话核心结论]
结论: [一句话核心结论]
置信度: [高/中/低]
置信度: [高/中/低]
证据摘要:
证据摘要:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment