SuperAPI AI 工具集

add-git-tag

编程与开发

查看项目

更新于 10-13 14:44

技能介绍

用途

该技能用于在当前 Git 仓库中标记一个里程碑,即创建一个附注(annotated)标签。适用的典型场景包括:完成一个阶段、发布一个版本、标记研究检查点,或从 Git 历史生成里程碑摘要。

执行契约

  • 默认执行者:主智能体。
  • 是否可用侧车(sidecar):可用,仅限只读的里程碑提案生成。
  • 建议侧车模型:通过 codex exec --ephemeral 使用 gpt-5.3-codex-spark。
  • 侧车权限:只读。
  • 人工确认环节:执行 git tag -a 之前;执行 git push origin <tag> 之前。
  • 最终操作:只有主智能体创建并推送标签。
  • 使用侧车时的必需产物:.agent/sidecars/<task-id>/prompt.md、output.md、model.json 和 decision.md。

主要流程

第 1 步 — 收集或提议里程碑信息

如果用户已提供以下三项,则直接使用:

  • 标签版本:标签名称应是什么?(例如 v0.1.3)
  • 本阶段成果:本阶段完成了什么?(提供已完成功能/修复的简要列表)
  • 下一阶段计划:下一阶段计划做什么?(提供即将开展目标的简要列表)

如果缺少一项或多项,不要让用户从头填写整个表单。先检查仓库状态,并在可用时使用 sidecar-task-runner,从最近的提交、标签、README 或 changelog 片段以及项目记忆中起草一份提案。

只读上下文命令:

REPO=$(git rev-parse --show-toplevel 2>/dev/null) && \
git -C "$REPO" log --oneline --decorate -30 && \
git -C "$REPO" status --short && \
git -C "$REPO" tag --sort=-version:refname | head -10

建议的侧车提示词:

Use recent git history and visible project docs to propose an annotated milestone tag.
Do not create a tag, commit, push, or edit production files.

Return:
- suggested tag name
- achievements as concise bullets with commit evidence
- next plans as concise bullets inferred from docs or TODOs
- uncertainty notes where the evidence is weak

如果侧车执行不可用,则自行使用只读的 git 上下文,仅向用户询问缺失或不确定的字段。

第 2 步 — 确认标签消息(展示预览)

在收集用户输入或侧车提案后,编辑并展示完整的附注标签消息供用户审阅。格式应为:

Tag: <version>
Date: <current date, YYYY-MM-DD>

## ✅ This Phase — What Was Achieved
- <bullet 1>
- <bullet 2>
...

## 🚀 Next Phase — What's Planned
- <bullet 1>
- <bullet 2>
...

询问用户:“这样看起来可以吗?我可以继续创建标签吗?”

等待确认后再继续。

第 3 步 — 校验仓库状态

REPO=$(git rev-parse --show-toplevel 2>/dev/null) && \
git -C "$REPO" log --oneline -5 && \
git -C "$REPO" status --short && \
git -C "$REPO" tag --sort=-version:refname | head -5

这会给出最近 5 次提交、任何未提交更改以及最近 5 个已有标签。

第 4 步 — 创建附注标签

仅在用户确认后,检测仓库根目录并创建标签:

REPO=$(git rev-parse --show-toplevel)
git -C "$REPO" tag -a "<version>" -m "<full_tag_message>"

其中:

  • <version> 是用户给出的标签名称(例如 v0.1.3)
  • <full_tag_message> 是第 2 步中完整格式化的消息

第 5 步 — 推送标签到远程(需先询问)

询问用户:“你是否希望将标签 <version> 推送到远程仓库(origin)?”

如果是:

REPO=$(git rev-parse --show-toplevel)
git -C "$REPO" push origin "<version>"

如果否,告知用户标签已在本地创建,之后可用以下命令推送:

git push origin <version>

第 6 步 — 确认成功

REPO=$(git rev-parse --show-toplevel)
git -C "$REPO" tag -n1 <version>

向用户报告结果:

  • 展示已创建的标签
  • 确认是否已推送到远程
  • 提醒用户可用 git tag -n1 --sort=-version:refname 查看所有标签

适用场景与限制

适用于需要在 Git 仓库中记录阶段性里程碑、版本发布或研究检查点,并希望以结构化附注标签形式沉淀成果与计划的工作流。该流程强调人工确认:创建标签前与推送标签前均需用户确认,最终创建与推送操作只能由主智能体执行。侧车仅可用于只读的提案生成,且需要产出指定文件。关于价格、平台支持范围等其它信息,资料中暂未提供。