mcpField
T
trellis-finish-work

trellis-finish-work

github.com/mindfold-aiAgent 工作流15.0k146 次安装4 周前更新
代码仓库

关于 trellis-finish-work

trellis-finish-work 是用于结束 Trellis 开发会话的技能,可检查任务与 Git 状态、归档已完成任务并记录会话日志。它将代码提交留在此前的工作流阶段,而非纳入任务收尾。

主要功能

  1. 01检查活动任务与 Git 状态
  2. 02分类未提交路径
  3. 03归档当前及已确认任务
  4. 04记录会话日志

适用场景

  1. 01代码提交后完成任务收尾
  2. 02判断脏文件是否属于并行工作
  3. 03归档已完成任务并记录会话

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindfold-ai/trellis --skill trellis-finish-work

安装后在 Claude Code 中输入/trellis-finish-work确认已加载。

详细介绍

完成工作

收尾当前会话:归档当前任务(以及用户想在本轮一并清理的其他已完成但尚未归档的任务),并记录会话日志。这里不会提交代码——代码提交会在工作流第 3.4 阶段、调用此命令之前完成。

步骤 1:检查当前状态

python3 ./.trellis/scripts/get_context.py --mode record

此命令会显示:

  • 我的活动任务 — 检查当前任务之外是否还有其他任务已完成(代码已合并,且满足 AC),应在本轮归档。
  • Git 状态 — 快速查看工作区有哪些未提交的更改。
  • 最近提交 — 第 4 步需要用到这些提交的哈希,并传给 --commit。

如果 --mode record 显示当前会话之外还有其他已完成的任务,请向用户一次性确认是否也要归档:「这 N 个任务看起来已完成——要在本轮一并归档吗?[y/N]」。默认为否;无论如何,第 3 步都会归档当前活动任务。

步骤 2:健全性检查——分类未提交更改的路径

运行:

git status --porcelain

过滤掉 .trellis/workspace/ 和 .trellis/tasks/ 下的路径——这些路径由 add_session.py 和 task.py archive 管理,脚本会自动提交,因此作为此技能自身工作的一部分,它们会显示为有更改。

对于剩余的每个路径,判断它属于当前任务还是其他并行工作(例如,另一个终端窗口正在编辑同一仓库)。判断依据:

  • 当前任务的 prd.md / implement.jsonl / check.jsonl 中提到的路径 → 当前任务
  • 与任务所述范围相符的代码目录中的路径,或你记得本次会话编辑过的路径 → 当前任务
  • 属于无关目录且你不记得本次会话碰过的路径 → 其他并行工作

然后按以下方式处理:

  • 有任何剩余路径看起来属于当前任务 — 停止操作,并提示:

    「工作区中有此任务尚未提交的代码更改:<list>。请返回工作流第 3.4 阶段,在运行 ``finish-work`(Trellis 命令)前先提交这些更改。」

    此处不要运行 git commit。不要提示用户提交。用户应返回第 3.4 阶段,由 AI 在那里执行批量提交。

  • 所有剩余路径看起来都无关(属于其他并行窗口的工作)— 报告一次并继续第 3 步:

    「提醒:这些未提交文件不属于此任务的范围——将留给另一个窗口处理:<list>。」

  • 确实无法确定 — 只询问用户一次:「<list> 是此任务中忘记提交的工作,还是另一个窗口的工作?(提交 / 忽略)」——然后根据用户的回答处理。

步骤 3:归档任务

python3 ./.trellis/scripts/task.py archive <task-name>

至少归档当前活动任务(如果有)。此外,还要归档用户在第 1 步确认的其他任务。每次归档都会由脚本自动提交一次 chore(task): archive ... 提交。

如果没有活动任务,且用户未确认要清理归档任何任务,则跳过此步骤。

步骤 4:记录会话日志

python3 ./.trellis/scripts/add_session.py \
  --title "Session Title" \
  --commit "hash1,hash2" \
  --summary "Brief summary"

使用第 3.4 阶段产生的工作提交哈希(可在第 1 步的「最近提交」列表中查看,也可通过 git log --oneline 查询)作为 --commit 的参数。不要包含第 3 步中的归档提交哈希。此操作会生成一次 chore: record journal 提交。

最终 Git 日志顺序:<第 3.4 阶段的工作提交> → chore(task): archive ...(一个或多个)→ chore: record journal。

评论

支持 Markdown