Files

107 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

---
name: wiki
description: |
文档站管理 skill。用于向个人 MkDocs 文档站添加、更新或整理技术文档。
当用户提到写文档、添加到文档站、整理笔记到 wiki、记录技术知识点、
或者想把某段内容发布到文档站时,使用此 skill。
支持用户提供主题(自动生成文档)或提供已有内容(整理后发布)。
---
# 文档站管理
管理 MkDocs Material 文档站,支持添加和更新技术文档。
## 工作流程
### 1. 查找 skill 路径
本 skill 的脚本和模板位于 skill 目录下。查找方法:
```
# 用 glob_search 找到本 skill 的位置
glob_search(pattern="**/wiki/SKILL.md")
```
找到后,skill 目录路径为结果中 `SKILL.md` 所在的目录(去掉 `/SKILL.md` 后缀)。
后续步骤中用 `<skill-dir>` 代指该路径。
### 2. SSH 连通性检查
```bash
bash <skill-dir>/scripts/check_ssh.sh
```
如果检查失败,告知用户需要配置 SSH 密钥,不要继续操作。
### 3. 克隆仓库
```bash
TMP_DIR=$(mktemp -d)
git clone ssh://git@47.121.181.112:222/wonder/docs.git "$TMP_DIR"
```
后续所有文件操作在 `$TMP_DIR` 中进行。
### 4. 理解用户意图
**场景 A — 提供主题**:用户说"写一篇关于 XXX 的文章"
- 根据主题判断章节(algorithm / architecture / project / qiniu-cloud)
- 不确定时询问用户
- 按模板生成完整文档
**场景 B — 提供内容**:用户粘贴了一段文档或笔记
- 分析内容主题,判断合适章节
- 整理成标准格式(参考 `<skill-dir>/references/article-template.md`)
- 内容不完整时询问用户补充
**场景 C — 更新现有文档**:用户说"更新 XXX 文章"
- 在仓库中找到对应文件
- 根据用户要求更新内容
**场景 D — 章节不明确**:
- 先查看仓库目录结构:`ls $TMP_DIR/`
- 列出当前章节供用户选择
- 询问是否需要新建章节
### 5. 生成/更新文档
遵循 `<skill-dir>/references/article-template.md` 中的标准格式:
- 使用中文撰写
- 代码示例以 Go 为主
- 包含 mermaid 图表辅助说明
- 包含常见陷阱和练习题
- 文件名使用 kebab-case
### 6. 更新导航
修改 `$TMP_DIR/mkdocs.yml` 的 `nav` 字段,将新文档添加到正确位置。
参考 `<skill-dir>/references/mkdocs-nav.md` 了解当前导航结构。
### 7. 提交并推送
```bash
cd "$TMP_DIR"
git add .
git commit -m "docs: 添加/更新 <文档标题>"
git push origin main
```
### 8. 清理
```bash
rm -rf "$TMP_DIR"
```
告知用户文档已推送,CI/CD 通常 1-2 分钟自动部署。
## 交互原则
- **章节不确定时必须询问**:不要擅自决定文档位置
- **内容不明确时必须询问**:不要编造技术内容
- **确认用户意图**:生成大量内容前,先确认主题和范围
- **保持一致性**:新文档风格与现有文档一致
- **新建目录时**:同时创建该目录的 `index.md`