关于 address-findings
address-findings 是用于处理 Entire trail 开放审查意见的技能,会获取意见、在当前工作区修复并标记已解决。它要求先确认分支,只提交确实处理过的意见,并保留未提交更改供审阅。
主要功能
- 01获取 trail 开放审查意见
- 02应用补丁或手动修复
- 03按严重程度处理意见
- 04检查分支并处理回滚风险
- 05仅解决已实际处理的意见
适用场景
- 01修复 Entire trail 上的审查评论
- 02应用审查意见中的建议补丁
- 03处理并发分支前核对目标分支
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ entireio/ skills --skill address-findings安装后在 Claude Code 中输入/address-findings确认已加载。
详细介绍
处理发现
修复并解决 Entire trail 上未关闭的审查发现。发现是发布到 entire.io 上某条 trail 的审查评论,包含文件/行位置、正文、严重程度,有时还会附带建议的 unified-diff 补丁。此技能会获取未关闭的发现,在当前工作树中应用补丁或手动修复,并在 trail 上将其标记为已解决。
何时使用/不使用
当用户指定一条 trail(URL 格式如
https://<host>/<forge>/<owner>/<repo>/trails/<number>/<slug>,或直接提供 trail 编号或分支名),并要求处理/修复/解决其发现或审查评论时使用。
以下情况不要使用此技能:
- 审查当前差异——应使用
review技能(只读)。 - 创建新发现——应使用
entire trail finding add。
回复格式
对本技能调用的首次回复,以以下行开头:
Entire Address Findings:
然后空一行,再给出内容。此标题仅用于首次回复。遇到错误/提前退出时(CLI 缺失、未通过身份验证、未找到 trail、分支不匹配、没有未关闭的发现)省略此标题。
规则
- 以最小的正确改动处理每条发现。不要扩大范围。
- 只有实际处理了某条发现,才能将其标记为已解决。如果发现含糊不清或需要人工决策,则保持未关闭并报告。
- 不要提交或推送。将更改保留在工作树中供用户检查。
- 切勿仅为消除发现而削弱测试或断言。
流程
1. 验证 CLI
运行 entire version。如果找不到该命令,则停止并告知用户:
"Entire CLI is required but not installed. Install it from
https://entire.io/docs/cli and try again."
2. 确定 trail 选择器
- 如果参数是 trail URL,则提取
/trails/<number>/路径段中的编号并使用该编号。 - 如果参数是 trail 编号、ID 或分支名,则直接使用。
- 如果无法确定 trail,则停止并请用户提供 trail URL 或编号。
在以下每条命令中都使用此值作为 <trail> 选择器。entire trail
可接受 trail 编号、ID 或分支名,三者可互换,因此无需查询编号——可以直接使用分支名。
3. 获取未关闭的发现
entire trail finding list <trail> --json --status open
- 如果输出提示需要身份验证,则停止并告知用户:
"
entire trail finding listrequires authentication. Runentire loginand try again." - 如果没有
trail finding子命令,或 API 报告该功能未启用,则停止并告知用户,此账户或仓库可能未启用 trail findings。不要臆造发现。 - 解析 JSON。每条发现都包含 ID、严重程度、状态、正文、位置(文件路径和行范围),还可能包含建议的更改(unified diff)。
- 如果没有未关闭的发现,则报告 "No open findings on this trail." 并停止。
4. 分支检查(必须位于 trail 所在分支)
entire trail finding apply 会修改本地工作树,因此必须先切换到 trail 所在的分支,才能更改文件。
git rev-parse --abbrev-ref HEAD # current branch
entire trail list --json --status any -n 200 # locate the trail's branch
在列表中查找 number 或 branch 与选择器匹配的 trail,并读取其 branch。
- 如果 trail 所在分支与当前分支不同,则停止并告知用户:
"Trail
<trail>targets branch<trail-branch>, but you are on<current-branch>. Check it out first (entire trail checkout <trail>) and re-run." 不要编辑文件。 - 如果无法在列表中找到 trail(例如因分页导致),不要直接失败:提醒用户无法验证分支,并请用户确认所在分支是 trail 对应的分支后再继续。
5. 处理每条发现
按严重程度从高到低(高 → 中 → 低)处理发现。对每条发现:
-
如果提供了建议的统一差异补丁,先试运行:
entire trail finding apply <trail> <finding-id> --check如果补丁可以干净地应用,一步完成应用并解决:
entire trail finding apply <trail> <finding-id> --resolve -
否则(没有补丁、补丁有冲突,或修复需要推理): 阅读发现的正文,打开其所在位置的文件,并进行最小且正确的修改来解决问题。如果所改代码有快速且相关的本地检查(构建或针对性测试),请运行。然后解决:
entire trail finding resolve <trail> <finding-id> -m "<one line: what you changed>" -
如果无法有把握地解决(问题不明确、需要产品/设计决策,或超出范围):将其保持为未解决状态,不要标记为已解决,并在报告中记录。
6. 报告
总结:
- 通过建议的补丁解决 — 列出发现 ID 和文件。
- 通过手动编辑解决 — 列出发现 ID、文件,以及一行修改说明。
- 留待你决定 — 列出发现 ID 和原因。
- 遇到的任何错误。
提醒用户,这些更改尚未提交,可供审核。
失败情况
- 未安装 CLI → 提示安装(步骤 1)。
- 未通过身份验证 → "
entire trail finding list需要身份验证。请运行entire login后重试。" - 未启用 Trail 发现功能/API 错误 → 告知用户该功能可能不可用;不要捏造发现。
- 找不到 Trail → 请用户检查 URL 或编号;建议运行
entire trail list --status any。 - 分支错误 → 停止并告知用户检出指令(步骤 4)。
- 补丁无法应用 → 改为手动编辑;如果无法有把握地修复,则将该发现保持为未解决状态并在报告中说明。
- 不是 Git 仓库 → 停止并告知用户从该 Trail 的仓库内运行。