git-help
Skill2 starsChanged 17 days agoMITView on GitHub
Git Skills 导览 - 无参数时列出当前可用的技能清单,传入技能名时说明该技能的作用和用法,传入问题时分析问题并推荐分步解决流程及每一步应使用的技能
In this repository4 other files it gives its agents.
- git-commitSkill
- git-fetchSkill
- git-pushSkill
- git-rulesSkill
The file
Files
git-help
Git Skills 的导览与问题推荐入口。它是一个只读的参数分派器,一次调用只进入一条分支,不要求所有请求经过同一条线性流程。先根据参数确定分支,再使用该分支所需的读取、分析和输出规则。
<!--
特殊结构说明:本 skill 有意采用「参数分派 + 独立分支」的非线性结构。
list、detail、advice 三条分支由参数唯一决定,彼此并列且互不依赖,不存在先后顺序。
它不是所有 Git skill 都必须套用的线性 SKILL.md 模板,也不应因为缺少统一的
Step 1 → Step 2 → Step 3 顺序而被判定为结构缺陷。审查时应分别验证各分支的
输入、前置条件、动作、失败处理和输出契约;只有跨分支共享的内容才放在
Shared data model、Read-only contract 和 Output contract 中。
-->Command dispatch
从 $ARGUMENTS 读取原始参数,按以下顺序判断,命中即停止,一次调用只进入一条分支:
- 参数为空或只有空白字符 → 进入 list 分支;
- 参数去掉首尾空白、去掉可选的前导
/后,与 Skill registry 中某个技能名完全一致(不区分大小写)→ 进入 detail 分支; - 其他任何内容 → 进入 advice 分支。
三条分支并列,不存在先后顺序,也不存在「必须先执行某条分支才能进入另一条分支」的关系。
参数不得通过 shell eval 解释;参数中的引号、反斜杠、美元符号和反引号不参与任何命令拼接。
分派边界:
- 参数同时包含技能名和其他文字(例如 “git-commit 报错了怎么办”)时,进入 advice 分支,不做技能名匹配;
- 参数是不含空白的单个词、且不匹配任何技能名(例如
commit、git_help)时,进入 advice 分支,并按 advice 分支的「技能名未匹配」处理; - 参数多于一个时,按原顺序合并为一个字符串后再分派,不丢弃任何内容。
Shared data model
Skill registry
Skill registry 是本 skill 唯一的数据来源,只列出本仓库实际存在的 skill 目录。
| 技能 | 调用方式 | 作用 |
| git-commit | /git-commit [message] | 分析暂存内容,按项目规则生成或校验 commit message,执行提交前安全预检,并按远程协作策略处理提交后的同步 |
| git-fetch | /git-fetch [--remote REMOTE] [--branch BRANCH] [--force] [--prune | --no-prune] | fetch 原语 - 机械更新 remote-tracking 引用(全分支或单分支),按 repository_relation_mode 挂钩 prune,检测远端历史改写信号,输出标准化返回契约供任务流委托,也可由用户直接调用 |
| git-help | /git-help [<skill-name>|<问题描述>] | Git Skills 导览 - 无参数时列出当前可用的技能清单,传入技能名时说明该技能的作用和用法,传入问题时分析问题并推荐分步解决流程及每一步应使用的技能 |
| git-push | /git-push [--remote REMOTE] [--branch BRANCH] | 解析目标远程与分支,更新远程状态并预警分叉,按远程协作策略执行推送并自动设置 upstream,仅提供 force-with-lease 安全强推 |
| git-rules | /git-rules <命令> | 管理项目级规则配置 .claude/git-claude-rules.json,支持 show、set、reset、init、repair、calibrate、ask、export、import |
维护规则:
- 只有对应路径下实际存在 SKILL.md 的技能才能写入本表;
- 设计文档、规划清单和讨论中提到的技能一律不写入,即使名称已经确定;
- 新增技能时同步新增一行,描述取自该技能自身的 SKILL.md,不复制其他技能的描述;
- 技能被移除时同步删除对应行;
- 本表内容与技能自身的 SKILL.md 冲突时,以技能自身的 SKILL.md 为准,并修正本表。
除本表列出的技能外,本 skill 不承认任何其他技能存在。
Skill file location
detail 分支按以下顺序查找技能文件,命中第一个存在的文件即停止:
<repo-root>/.claude/skills/<name>/SKILL.md;~/.claude/skills/<name>/SKILL.md。
repo-root 通过 git rev-parse --show-toplevel 取得;该命令失败(当前目录不是 Git 仓库)时改用当前工作目录,不终止。
Operation branches
list:技能清单
- 完整输出 Skill registry 表格,不增删行列,不重排顺序;
- 表格后输出用法提示,固定包含以下三行:
/git-help <技能名>:查看单个技能的作用和用法;/git-help <问题描述>:描述遇到的问题,获取分步流程和每一步应使用的技能;/git-rules show:查看当前项目的 Git Skills 规则配置;
- 输出后立即结束,不追加询问,不推荐流程。
特殊情况:Skill registry 为空时,只输出 “当前没有可用的 Git skill”,然后结束,不推测有哪些技能。
detail:技能说明
- 按 Skill file location 定位并读取技能文件;
- 只依据实际读取到的内容,按「技能说明输出契约」生成说明;
- 输出后结束,不追加推荐流程,不询问是否要执行该技能。
特殊情况:
- 技能文件不存在:报告该技能未安装,输出 Skill registry 中的技能名列表,然后结束;
- 文件存在但读取失败:报告原始错误并结束,不尝试其他路径或凭名称猜测内容;
- frontmatter 缺失或无法解析:输出正文归纳结果,并额外说明 frontmatter 缺失;
- 技能采用非线性结构(例如命令分派型 skill):按原文的实际结构归纳,不强行套用步骤编号。
advice:问题推荐
前置检查
参数是不含空白的单个词、且不属于 Skill registry(技能名未匹配)时:报告该技能不存在,输出 Skill registry 的技能名列表,registry 中存在名称相近的技能时提示最接近的一个,然后结束本分支,不生成推荐流程。
未命中前置检查时,依次执行分析问题、匹配技能、输出推荐流程、结束四个子步骤。
分析问题
- 从参数中提取用户的目标和已知条件:涉及的对象(提交、暂存区、分支、远程仓库、规则配置)、当前状态、期望结果;
- 判断问题类别:提交与暂存、提交前预检、远程同步、发布准备、规则配置、其他;
- 只把 Skill registry 中的技能作为可选方案来源;
- 用户描述过于模糊、无法判断问题类别(例如只有 “git 出问题了”)时:只输出待确认信息和 2 到 4 条只读的现状获取命令,然后结束本分支,不给出推荐流程。
匹配技能
- 按问题类别选出 registry 中能覆盖该问题的技能;需要多个技能串联时全部列出;
- registry 中没有技能能覆盖该问题时,明确说明 “当前技能无法覆盖”,只给出可参考的手工 Git 命令方向(命令名和用途),然后结束;
- 不得虚构技能名、参数或分支,不得引用设计文档、规划清单中尚未实现的技能;
- 问题跨越多个类别时,拆成多段流程,段的顺序按安全前提优先排列:先只读或规则配置类步骤,再写入类步骤。
输出推荐流程
- 按「推荐流程输出契约」输出,缺项时保留标题并写明 “无”;
- 用户描述包含破坏性意图(
reset --hard、强推、批量删除分支)时,在风险提示中标注不可逆影响,并让流程从影响最小的步骤开始排列。
结束
- 输出完整推荐流程后结束,不自动调用任何技能;
- 告知用户:需要执行时由用户自行调用流程中的技能,或直接说明意图由当前会话代为调用;
- 不询问 “是否开始执行”,不代替用户发起 Git 操作。
Read-only contract
适用于全部分支,不被任何分支覆盖:
- 本 skill 不修改任何文件、配置或仓库状态,不执行任何改变仓库状态的 Git 命令;
- 只运行定位所需的最小只读操作 git rev-parse --show-toplevel;
- 不调用 git-commit、git-rules 的任何分支,只描述它们;
- 技能文件缺失、读取失败或命令失败时,报告原始信息并结束,不猜测内容,不转由其他技能代答。
Output contract
技能说明输出契约
detail 分支按以下固定顺序输出;只在原文有明确描述时填写对应内容,原文未说明的行为写 “原文未说明”,不补充推测:
- 一句话作用:取自 frontmatter 的 description,可压缩为一句,不改变原意;
- 适用场景:从正文步骤中归纳用户在什么情况下应该调用它;
- 调用方式:从 argument-hint 和正文的命令分派部分提取,至少给出一个可直接复制的调用示例;
- 关键步骤:按原文顺序列出主要步骤名称,保留原文的标题层级;超过 8 项时按原文的分组粒度合并;
- 依赖的配置:正文是否读取 .claude/git-claude-rules.json,以及读取了哪些规则项;不读取时写 “不依赖规则配置”;
- 副作用:该技能是否会写入文件、修改暂存区、创建提交、推送或改写远程状态。
推荐流程输出契约
advice 分支按以下固定结构输出,缺项时保留标题并写明 “无”:
- 问题判断:一句话说明问题类别和关键前提;
- 待确认信息:流程开始前必须由用户确认或提供的信息,以及获取方式(只读命令);
- 推荐流程:编号步骤,每步包含
- 使用的技能及调用形式,例如
/git-rules set project repository_relation_mode same_repository; - 该步骤的目的;
- 预期结果,以及该结果如何决定下一步;
- 使用的技能及调用形式,例如
- 步骤间依赖:前一步的哪些结果会被后一步使用;
- 风险提示:流程包含不可逆操作(改写历史、强推、删除分支或文件)时标注风险并建议先备份。
通用输出规则
- 成功:返回该分支的完整输出;
- 失败:返回失败环节、原始错误和信息来源;
- 任何分支都不得输出 Skill registry 之外的技能、参数或分支。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

