关于 kiro-review
kiro-review 使用 kiro-cli 根据实际差异开展有针对性的只读代码审查。它通过受限信任的辅助脚本运行,并生成供开发者核实的结构化发现。
主要功能
- 01检查 Kiro 是否可用及已认证
- 02依据实际差异确定范围
- 03提示词聚焦变更与风险
- 04通过只读审查辅助脚本运行
- 05后续轮次沿用排除项
- 06采取行动前核实发现
适用场景
- 01审查分支或指定提交
- 02检查未提交的变更
- 03聚焦变更代码中的风险
- 04再次审查并排除已修复问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ulpi-io/ skills --skill kiro-review安装后在 Claude Code 中输入/kiro-review确认已加载。
附带文件helpers/run-kiro.sh
详细介绍
不可妥协的规则:
- 编写 Kiro 提示词前,先阅读真实差异。
- 提示词必须针对已更改的部分和可能存在的风险。
- 绝不要在提示词中放入机密或凭据。
- 后续轮次必须沿用排除列表。
- 采取行动前,先核实返回的发现。
- 审查是只读操作:使用
helpers/run-kiro.sh --mode review启动 kiro(限定信任范围为fs_read,execute_bash)。绝不要使用--trust-all-tools/-a——自动模式分类器会阻止在非修改任务中授予 不受限制的信任,因此使用全部工具只会陷入死路。
Kiro 审查
输入
$request:可选的范围提示,例如last commit、uncommitted、auth focus或round 2
目标
使用 kiro-cli 获取外部审查,要求:
- 使用正确的差异范围
- 聚焦于实际的变更范围
- 返回结构化发现,而非泛泛的评论
步骤 0:确认 Kiro 是否可用
检查:
which kiro-clikiro-cli whoami或此环境所需的最精简身份验证检查
如果 CLI 不可用或未通过身份验证,请说明阻碍并停止。
成功标准:Kiro 能在当前仓库中成功运行。
步骤 1:确定审查范围
确定要审查:
- 整个分支
- 未提交的更改
- 特定提交
先阅读差异摘要和已更改文件列表。
如果没有内容需要审查,请停止并明确说明。
成功标准:审查目标明确,且有真实差异作为依据。
步骤 2:编写有针对性的 Kiro 提示词
编写简洁的提示词,其中包含:
- 更改内容
- 主要风险领域
- 后续轮次中需要排除的先前已修复问题
- 根据实际代码核实发现的指示
- 预期的精简输出格式
- 如果安装了供 kiro 使用的技术栈/约定技能(
.kiro/skills/<name>/),请通过--skill <name>将其传给辅助脚本,让 kiro 根据这些约定进行审查——kiro 没有可自行加载该技能的Skill工具, 而单次--no-interactive运行无法依赖自动激活
避免使用泛泛的提示词,否则审查结果会很薄弱。
成功标准:提示词针对具体变更集,而非可重复使用的模板。
步骤 3:通过辅助脚本以只读方式运行 Kiro
不要自行拼装 kiro 命令(之前使用 mktemp/heredoc/信任标记时曾出错)。请按以下步骤操作:
- 使用 Write 工具将提示词写入文件(直接写入字面内容——不使用 shell、heredoc 或 mktemp)。
使用绝对路径,例如
/tmp/kiro-review-prompt.txt,并在每一轮都写入一个全新的文件。 - 以审查模式运行辅助脚本:
bash <skill-dir>/helpers/run-kiro.sh --mode review [--skill <name>]... [--agent <reviewer> --model auto] --prompt-file /tmp/kiro-review-prompt.txt 2>&1
可选:--agent <name> 会让 kiro 以 kiro 原生审查 Agent 的身份运行(.kiro/agents/<name>.json 中需配置有效的
model 和原生 fs_read/execute_bash 工具——通过 kiro-cli chat --list-models 查看模型列表);
--model auto 可覆盖 Agent 中指定的无效模型。
--mode review 会将信任范围限定为 --trust-tools=fs_read,execute_bash——kiro 可以读取文件并运行
grep/find/git,根据源代码核实发现,但没有任何写入权限。不要使用
--trust-all-tools / -a:审查是只读操作,而自动模式分类器会阻止在非修改任务中授予不受限制的信任。
辅助脚本会通过 kiro 的标准输入传入提示词,拒绝使用空提示词启动,并记录 git 基线。
模型——传入 --model <name>。有效值:auto(默认)、claude-opus-4.8 / 4.7 / 4.6、
claude-sonnet-4.6 / 4.5 / 4、claude-haiku-4.5(运行 kiro-cli chat --list-models 刷新列表)。
Claude-Code 风格的名称,如 opus / sonnet,均无效——kiro 会报错 model 'opus' is not available。
对于大型审查,Bash 超时时间设为 600000 ms。如果辅助脚本退出并提示 "prompt file is EMPTY",请重新 写入提示词后重试——绝不要让 kiro 使用空提示词运行。
成功标准:Kiro 以只读方式审查预期范围,并返回可解析的发现。
步骤 4:总结调查结果
报告:
- 审查范围
- 按优先级列出调查结果
- 在可用时提供文件和行号引用
- 如果没有发现实质性问题,明确说明结果干净
如果用户要求修复,请在更改代码前逐项在本地验证每项调查结果。
成功标准:用户获得清晰易读的审查摘要,而不是原始 CLI 日志。
步骤 5:仅通过排除项迭代
在后续轮次中:
- 在排除项区块中列出此前已修复的问题
- 尽可能将范围缩小到新更改的文件
- 除非代码再次发生大范围更改,否则避免重复审查整个分支
成功标准:后续轮次针对新问题,而不是重复旧问题。
防护措施
- 不要主动自行运行此技能——仅在用户明确提出意图时(例如
/kiro-review),或在用户明确调用、包含 kiro 审查角色的工作流中运行(例如/ship-playbook)。此技能不再是disable-model-invocation,因此工作流可以调用它;但这并不意味着可以在未收到提示时运行。 - 不要将机密、令牌或私有配置放入提示词中。
- 不要盲目相信调查结果,必须在本地验证。
- 构造提示词前不要跳过差异内容的阅读。
- 仅通过
helpers/run-kiro.sh --mode review启动 kiro(采用受限的只读信任模式);审查时绝不可使用--trust-all-tools/-a,也绝不可手动拼凑 mktemp/heredoc 来传递提示词。
输出约定
报告:
- 审查范围
- 提供给 Kiro 的主要关注领域
- 按优先级列出的调查结果,并在可用时附上位置
- 如果没有发现实质性问题,明确说明结果干净
- 下一轮是否应排除先前已修复的问题