mcpField
A
add-git-tag

add-git-tag

github.com/a-green-hand-jack开发49 次安装
代码仓库

关于 add-git-tag

add-git-tag 是用于在 Git 仓库中规划并创建里程碑标签的工作流技能,面向需要记录阶段成果的开发者。它要求创建标签前展示注释内容并等待确认,推送到远程仓库也需另行询问。

主要功能

  1. 01从输入或仓库记录整理里程碑信息
  2. 02预览注释标签内容并等待确认
  3. 03确认后创建带注释的 Git 标签
  4. 04推送标签前征求许可
  5. 05报告标签创建与推送结果

适用场景

  1. 01为项目阶段成果拟定标签说明
  2. 02根据近期提交草拟里程碑信息
  3. 03在确认后创建本地版本标签
  4. 04按需将标签推送到 origin

安装

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

$npx skills add https://github.com/a-green-hand-jack/ml-research-skills --skill add-git-tag

安装后在 Claude Code 中输入/add-git-tag确认已加载。

详细介绍

添加 Git 标签工作流

当用户想要用标签标记当前 Git 仓库中的一个里程碑时,请使用此工作流。Agent 可以使用只读辅助进程,根据 git 历史起草里程碑内容,但主 Agent 必须在创建或推送标签前保留人工确认环节。

执行约定

  • 默认执行者:主 Agent。
  • 是否适用辅助进程:是,可用于只读的里程碑提案生成。
  • 建议的辅助进程模型:通过 codex exec --ephemeral 使用 gpt-5.3-codex-spark。
  • 辅助进程权限:read-only。
  • 人工确认环节:执行 git tag -a 前;执行 git push origin <tag> 前。
  • 最终操作:只有主 Agent 可以创建和推送标签。
  • 使用辅助进程时的必需文件:.agent/sidecars/<task-id>/prompt.md、output.md、model.json 和 decision.md。

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

如果用户已经提供了以下三项信息,请直接使用:

  1. 标签版本:标签名称是什么?(例如 v0.1.3)
  2. 完成事项:此阶段完成了哪些工作?(提供简短的功能或修复要点列表)
  3. 后续计划:下一阶段有哪些计划?(提供简短的后续目标要点列表)

如果缺少一项或多项信息,不要要求用户从头填写完整表单。先检查仓库状态;如果可用,请使用 sidecar-task-runner 根据近期提交、标签、README 或更新日志片段以及项目记忆起草提案。

只读上下文命令:

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 — 验证仓库状态

// turbo 检测当前 Git 项目根目录并检查状态:

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 — 创建附注标签

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

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)吗?”

如果是: // turbo

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 查看所有标签

评论

支持 Markdown