用途
Self-Review 是一个智能体技能,目的是在把代码改动呈现给用户之前,先让智能体对照项目中的 TASTE_INVARIANTS.md 自查本次改动,尽早捕获机械性违规,避免它们进入人工评审环节。
何时使用
- 完成任何代码实现之后
- 在建议改动已就绪之前
- 当 simplify 技能被激活时(本技能与其互补)
工作流
第 1 步:收集改动
找出本次会话中修改或新建的所有文件。
第 2 步:运行不变量检查
对每个修改过的 .swift 文件,对照 TASTE_INVARIANTS.md 执行以下检查:
# Check for deprecated APIs in changed files
rg '\.foregroundColor\(' <file>
rg '\.cornerRadius\(' <file>
rg 'NavigationView' <file>
# Check for plain Text (excluding AnytypeText)
rg '[^a-zA-Z]Text\(' <file> | grep -v AnytypeText | grep -v searchable | grep -v navigationTitle
# Check for hardcoded strings in UI
rg '(Text|AnytypeText)\("[^"]*"\)' <file> | grep -v 'Loc\.'
# Check for hardcoded colors
rg 'Color\(red:|UIColor\(red:|#[0-9a-fA-F]{6}' <file>
# Check for force unwraps (rough)
rg '!\.' <file> | grep -v '//' | grep -v 'test'
# Check for print statements
rg 'print\(' <file>
# Check for String(format: Loc.)
rg 'String\(format: Loc\.' <file>
# Check for Group with lifecycle modifiers
rg -A5 'Group\s*\{' <file> | rg '\.onAppear|\.task'
第 3 步:检查重构完整性
如果重命名了任何内容:
rg "oldName" --type swift
确保生成文件之外的结果为 0。
第 4 步:报告
- 如果发现违规:在呈现给用户之前先修复
- 如果干净:静默继续(不要宣布进行了自查)
- 如果不确定某个例外:向用户说明
核心原则
“当智能体遇到困难时,解决办法从来不是‘再努力一点’,而是‘缺少了什么能力?’”
如果反复违反同一条不变量,应补充更好的工具或文档,而不是依赖更多意志力。
相关内容
- TASTE_INVARIANTS.md —— 机械性规则的唯一事实来源
- code-review-developer —— 用于评审他人的代码
- simplify —— 用于代码质量改进
限制
资料未提供该技能的安装方式、支持的平台范围、收费或价格信息,也未说明除上述检查项之外的其他能力。