--- 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` 后缀)。 后续步骤中用 `` 代指该路径。 ### 2. SSH 连通性检查 ```bash bash /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 — 提供内容**:用户粘贴了一段文档或笔记 - 分析内容主题,判断合适章节 - 整理成标准格式(参考 `/references/article-template.md`) - 内容不完整时询问用户补充 **场景 C — 更新现有文档**:用户说"更新 XXX 文章" - 在仓库中找到对应文件 - 根据用户要求更新内容 **场景 D — 章节不明确**: - 先查看仓库目录结构:`ls $TMP_DIR/` - 列出当前章节供用户选择 - 询问是否需要新建章节 ### 5. 生成/更新文档 遵循 `/references/article-template.md` 中的标准格式: - 使用中文撰写 - 代码示例以 Go 为主 - 包含 mermaid 图表辅助说明 - 包含常见陷阱和练习题 - 文件名使用 kebab-case ### 6. 更新导航 修改 `$TMP_DIR/mkdocs.yml` 的 `nav` 字段,将新文档添加到正确位置。 参考 `/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`