mcpField
A
address-findings

address-findings

github.com/entireio开发233369 次安装8 周前更新
代码仓库

关于 address-findings

address-findings 是用于处理 Entire trail 开放审查意见的技能,会获取意见、在当前工作区修复并标记已解决。它要求先确认分支,只提交确实处理过的意见,并保留未提交更改供审阅。

主要功能

  1. 01获取 trail 开放审查意见
  2. 02应用补丁或手动修复
  3. 03按严重程度处理意见
  4. 04检查分支并处理回滚风险
  5. 05仅解决已实际处理的意见

适用场景

  1. 01修复 Entire trail 上的审查评论
  2. 02应用审查意见中的建议补丁
  3. 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. 以最小的正确改动处理每条发现。不要扩大范围。
  2. 只有实际处理了某条发现,才能将其标记为已解决。如果发现含糊不清或需要人工决策,则保持未关闭并报告。
  3. 不要提交或推送。将更改保留在工作树中供用户检查。
  4. 切勿仅为消除发现而削弱测试或断言。

流程

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 list requires authentication. Run entire login and 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. 处理每条发现

按严重程度从高到低(高 → 中 → 低)处理发现。对每条发现:

  1. 如果提供了建议的统一差异补丁,先试运行:

    entire trail finding apply <trail> <finding-id> --check
    

    如果补丁可以干净地应用,一步完成应用并解决:

    entire trail finding apply <trail> <finding-id> --resolve
    
  2. 否则(没有补丁、补丁有冲突,或修复需要推理): 阅读发现的正文,打开其所在位置的文件,并进行最小且正确的修改来解决问题。如果所改代码有快速且相关的本地检查(构建或针对性测试),请运行。然后解决:

    entire trail finding resolve <trail> <finding-id> -m "<one line: what you changed>"
    
  3. 如果无法有把握地解决(问题不明确、需要产品/设计决策,或超出范围):将其保持为未解决状态,不要标记为已解决,并在报告中记录。

6. 报告

总结:

  • 通过建议的补丁解决 — 列出发现 ID 和文件。
  • 通过手动编辑解决 — 列出发现 ID、文件,以及一行修改说明。
  • 留待你决定 — 列出发现 ID 和原因。
  • 遇到的任何错误。

提醒用户,这些更改尚未提交,可供审核。

失败情况

  • 未安装 CLI → 提示安装(步骤 1)。
  • 未通过身份验证 → "entire trail finding list 需要身份验证。请运行 entire login 后重试。"
  • 未启用 Trail 发现功能/API 错误 → 告知用户该功能可能不可用;不要捏造发现。
  • 找不到 Trail → 请用户检查 URL 或编号;建议运行 entire trail list --status any。
  • 分支错误 → 停止并告知用户检出指令(步骤 4)。
  • 补丁无法应用 → 改为手动编辑;如果无法有把握地修复,则将该发现保持为未解决状态并在报告中说明。
  • 不是 Git 仓库 → 停止并告知用户从该 Trail 的仓库内运行。

评论

支持 Markdown