github.com/qiniu/go-sdk/v7@v7.27.0/.agents/skills/git-commit/SKILL.md (about)

     1  ---
     2  name: git-commit
     3  description: 遵循 Angular 规范生成 git commit 消息。在用户请求创建 commit、写 commit message 或暂存并提交时使用。典型场景:改完代码要提交前、或要求按 Angular 规范写 message 时。
     4  argument-hint: "<附加上下文(可选)> [push=true]"
     5  allowed-tools:
     6    - Bash(git add:*)
     7    - Bash(git branch:*)
     8    - Bash(git commit:*)
     9    - Bash(git diff:*)
    10    - Bash(git log:*)
    11    - Bash(git status:*)
    12    - Bash(git push:*)
    13  ---
    14  
    15  # 规范化提交
    16  
    17  开始时声明:"我正在使用 git-commit skill 生成并提交规范化 commit。"
    18  
    19  ## 快速开始
    20  
    21  1. 查看 `status/diff/log`,确认提交范围与语言风格。
    22  2. 暂存目标文件并展示"将提交列表"。
    23  3. 生成符合 Angular 规范的 commit message。
    24  4. 提交后如有上游分支则 push。
    25  
    26  ## 何时不要使用(Do NOT use)
    27  
    28  - 工作区无待提交变更。
    29  - 用户仅请求代码分析/评审,不需要提交。
    30  - 用户明确要求仅生成建议,不执行 `git commit`。
    31  
    32  ## 触发样例与非样例
    33  
    34  - 应触发:
    35  - "帮我按 Angular 规范提交这些改动。"
    36  - "写一个 commit message 并 push。"
    37  - 不应触发:
    38  - "review 这个 PR 有没有问题。"
    39  - "分析下这个报错根因。"
    40  
    41  ## 使用示例
    42  
    43  ```bash
    44  # 基本提交
    45  git-commit 修复上传逻辑
    46  
    47  # 提交并 push
    48  git-commit push=true
    49  ```
    50  
    51  ## 预检查命令
    52  
    53  ```bash
    54  git status --short
    55  git diff HEAD
    56  git branch --show-current
    57  git log --oneline -10
    58  ```
    59  
    60  ## 消息规范
    61  
    62  Header:`<type>(<scope>): <summary>`
    63  
    64  Type:
    65  - `feat` 新功能
    66  - `fix` 缺陷修复
    67  - `docs` 文档改动
    68  - `refactor` 重构
    69  - `perf` 性能优化
    70  - `test` 测试相关
    71  - `chore` 杂项维护
    72  - `style` 代码格式调整
    73  
    74  Scope 建议值(本项目常用):
    75  - `storage` / `storagev2` / `auth` / `cdn` / `pili` / `rtc` / `sms` / `linking` / `qvs`
    76  - `iam` / `media` / `audit` / `sandbox`
    77  - `client` / `conf` / `reqid`
    78  - `internal` / `examples`
    79  
    80  Summary 规则:祈使句、现在时、首字母小写、不加句号。
    81  
    82  Body 规则:
    83  - `docs` 可省略,其他类型建议必须有
    84  - 至少说明"为什么改"与"影响范围"
    85  - 非 `docs` 类型时,body 至少 20 个字符
    86  - 单段 body 不超过 3 行,保持简洁
    87  
    88  Footer(按需):
    89  - `BREAKING CHANGE: ...`
    90  - `Fixes #123` / `Closes #456`
    91  
    92  ## 语言规则
    93  
    94  - 参考最近 10 条提交语言。
    95  - 近期中文为主则用中文;近期英文为主则用英文。
    96  
    97  ## 执行流程
    98  
    99  1. 先确认提交文件列表。
   100  2. 执行 `git add`(按文件名添加,避免 `git add -A`)。
   101  3. 展示 commit message 草案并确认。
   102  4. 执行 `git commit`。
   103  5. 如有上游分支则 push:
   104     - `git push`
   105     - 或 `git push -u origin <current-branch>`
   106  
   107  ## 提交前检查提醒
   108  
   109  提交代码前提醒用户确认已通过:
   110  - `make unittest` — 单元测试
   111  - `make staticcheck` — 静态检查
   112  - `gofmt -s -w .` — 代码格式化
   113  
   114  如果是生成代码相关修改,还需确认已运行 `make generate`。
   115  
   116  ## 关键约束
   117  
   118  - 不要使用 emoji 在 commit message 中
   119  - 不要在 commit message 中包含 AI 辅助工具相关信息
   120  - 不要添加 "Generated with" 或 "Co-Authored-By: AI" 等内容
   121  - 不要使用 `--no-verify` 跳过 hooks
   122  
   123  ## 输出模板
   124  
   125  ```text
   126  已提交: <commit-hash>
   127  标题: <type(scope): summary>
   128  分支: <branch>
   129  Push: 成功/失败/未执行
   130  ```
   131  
   132  ## 失败回退
   133  
   134  - 工作区无变更:输出 `git status` 结果,提示无可提交内容。
   135  - `git commit` 失败(hook 报错):输出完整报错,建议修复后重试,不跳过 hook。
   136  - `git push` 失败(远端冲突):输出报错,建议先 pull/rebase 再重试。
   137  
   138  ## 验收标准(统一)
   139  
   140  - 输入前提:参数与上下文可解析;缺省参数按 skill 默认值执行,并在输出中注明。
   141  - 产出要求:按 skill 约定的输出模板给出结果,并包含关键证据(命令、路径、链接或日志摘要)。
   142  - 通过判定:主流程步骤已完成且无阻塞;若有未完成项,必须明确标注影响范围与下一步。
   143  - 默认策略(非交互):需要确认但用户未及时响应时,采用"推荐默认值/最小风险项"继续;需要交互选择时优先推荐项。
   144  - 阻塞升级:遇到权限、凭证、外部依赖缺失时立即停止该步骤,输出"阻塞点 + 已尝试 + 需要用户提供的信息"。
   145  
   146  ## 系统规范(AGENTS.md)
   147  
   148  执行本 skill 时同时遵守 `AGENTS.md` 中的系统规范;与本 skill 冲突时以本 skill 为准。