Skip to content

Commit ee1e49c

Browse files
committed
[conf] Add skill for committing docs changes
1 parent 6486132 commit ee1e49c

1 file changed

Lines changed: 136 additions & 0 deletions

File tree

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
---
2+
name: docs-git-commit
3+
description: 在 SilverRainZ/silverrainz.github.io 和 SilverRainZ/bullet.in 项目中,当我要求提交文档修改时使用
4+
---
5+
6+
# 文档项目专用的 Git 提交
7+
8+
## 概述
9+
10+
对 staging area 中的文档内容改动分析关联度,拆分或合并为独立 commit,每个 commit 附带中文描述。
11+
12+
## 触发条件
13+
14+
在 bullet 和 bullet.in 项目中,当我说「提交」「commit」时触发。**仅在 staging area 包含以下内容文件时才使用本 skill:**
15+
16+
- `*.rst` — reStructuredText 文档正文
17+
- `*.md` — Markdown 文档
18+
- `blobs/**` 下的图片/素材(若伴随内容文件改动)
19+
20+
以下文件属于配置/工程文件,**不计入内容改动**,不触发本 skill:
21+
22+
- `conf.py``confs/*``Makefile``requirements.txt`
23+
- `templates/``.github/``utils/``blobs/`
24+
25+
若 staging area 仅含配置/工程文件,降级使用 `git-commit` skill。
26+
27+
## 核心流程
28+
29+
### 第一步:判断是否触发
30+
31+
```bash
32+
git diff --cached --name-only
33+
```
34+
35+
检查文件列表中是否有 `*.rst``*.md`。若无,退回到 `git-commit` 处理。
36+
37+
### 第二步:阅读改动内容
38+
39+
```bash
40+
git diff --cached -- "*.rst" "*.md"
41+
```
42+
43+
理解每处改动的主题:新增文章?修正错字?补充段落?结构调整?
44+
45+
### 第三步:分析关联度
46+
47+
在纯文档项目中,关联判断规则:
48+
49+
1. **同一文章**:对同一 `.rst`/`.md` 文件的改动属于同一主题
50+
2. **文章 + 配图**`src/foo.rst` 的改动引入新图片,同时 `static/images/foo.png` 新增,视为关联
51+
3. **索引联动**`src/index.rst` 新增了某篇文章的 toctree 条目,同时该文章文件新增,视为关联
52+
4. **同一主题系列**`src/blog/` 下多篇关于同一事件的文章改动,视为关联
53+
5. **跨文件修正**:同一个错别字或格式问题在多个文件中被修正,视为关联
54+
55+
不满足以上任何条件 → 各自单独 commit。
56+
57+
### 第四步:展示方案
58+
59+
```
60+
计划创建以下 commit:
61+
62+
Commit 1: [中文描述]
63+
- src/blog/post-a.rst
64+
- src/blog/post-b.rst
65+
66+
Commit 2: [中文描述]
67+
- src/index.rst
68+
- src/about/contact.rst
69+
```
70+
71+
**必须等我确认后再执行。** 若我明确说「直接提交」或者你当前不被允许和用户交互,
72+
跳过确认。
73+
74+
### 第五步:逐个提交
75+
76+
```bash
77+
git commit -m "<中文描述>" -- <文件列表>
78+
```
79+
80+
`git commit -- <files>` 只提交指定文件,staging area 中其他文件不变。
81+
82+
在 commit body 中附加 co-author 信息(根据实际模型选择邮箱):
83+
- DeepSeek: `Co-authored-by: DeepSeek <service@deepseek.com>`
84+
- MiniMax: `Co-authored-by: MiniMax <model@minimax.io>`
85+
- GPT/Codex: `Co-authored-by: GPT <noreply@openai.com>`
86+
87+
```bash
88+
git commit -m "<中文描述>" -m "" -m "Co-authored-by: DeepSeek <service@deepseek.com>" -- <files>
89+
```
90+
91+
完成后展示:
92+
93+
```
94+
✅ 已创建 N 个 commit:
95+
abc1234 新增「2026 年度回顾」系列文章
96+
def5678 修正多处失效的外部链接
97+
```
98+
99+
## commit message 规范
100+
101+
- 使用中文
102+
- 描述改动目的,避免出现文件名
103+
- 控制在 50 字符内
104+
105+
## 常见错误
106+
107+
| 错误 | 正确做法 |
108+
|------|----------|
109+
| 对纯配置改动触发本 skill | 检查无 `.rst`/`.md` 后降级到 git-commit |
110+
| 把不同主题的文章混在一个 commit | 按主题拆分 |
111+
| 文章和配图分两个 commit | 同一篇文章的图文合并提交 |
112+
| 不展示方案直接提交 | 必须展示等我确认 |
113+
| commit message 写「修改了 a.rst b.rst」 | 描述目的,如「修正导航栏失效链接」 |
114+
115+
## 示例
116+
117+
**Staging:**
118+
- `src/blog/2026-review.rst` — 新文章:2026 年度回顾
119+
- `static/images/2026-chart.png` — 该文章的配图
120+
- `src/index.rst` — toctree 新增该文章条目
121+
- `src/about/contact.rst` — 修正一个邮箱地址
122+
123+
**分析:**
124+
- `2026-review.rst` + `2026-chart.png` + `index.rst` → 关联(新文章 + 配图 + 索引联动)
125+
- `contact.rst` → 无关(独立修正)
126+
127+
**展示:**
128+
```
129+
Commit 1: 新增「2026 年度回顾」文章及配图
130+
- src/blog/2026-review.rst
131+
- static/images/2026-chart.png
132+
- src/index.rst
133+
134+
Commit 2: 修正联系页面邮箱地址
135+
- src/about/contact.rst
136+
```

0 commit comments

Comments
 (0)